From 621a2505bd55db0f8295e5379638d7b1c7523620 Mon Sep 17 00:00:00 2001 From: Dobromir Popov Date: Mon, 10 Mar 2025 16:42:49 +0200 Subject: [PATCH] models --- .gitignore | 2 +- crypto/gogo2/checkpoints/best_metrics.json | 2 +- ...s.out.tfevents.1741602105.GW-DOBRI.27544.0 | Bin 0 -> 846455 bytes ...s.out.tfevents.1741602105.GW-DOBRI.27544.0 | Bin 375601 -> 0 bytes ....out.tfevents.1741616740.GW-DOBRI.140636.0 | Bin 0 -> 88 bytes crypto/gogo2/trading_bot.log | 174558 +++++++++++++++ crypto/gogo2/training_results.png | Bin 61691 -> 191358 bytes .../visualizations/training_episode_30.png | Bin 0 -> 84555 bytes 8 files changed, 174560 insertions(+), 2 deletions(-) create mode 100644 crypto/gogo2/runs/Mar10_12-21-45_GW-DOBRI-baseline/events.out.tfevents.1741602105.GW-DOBRI.27544.0 delete mode 100644 crypto/gogo2/runs/Mar10_12-21-45_GW-DOBRI/events.out.tfevents.1741602105.GW-DOBRI.27544.0 create mode 100644 crypto/gogo2/runs/trading_agent_20250310_162540/events.out.tfevents.1741616740.GW-DOBRI.140636.0 create mode 100644 crypto/gogo2/visualizations/training_episode_30.png diff --git a/.gitignore b/.gitignore index 07b353e..5937e74 100644 --- a/.gitignore +++ b/.gitignore @@ -32,6 +32,6 @@ crypto/sol/.vs/* crypto/brian/models/best/* crypto/brian/models/last/* crypto/brian/live_chart.html -crypto/gogo2/models/* crypto/gogo2/trading_bot.log *.log +crypto/gogo2/checkpoints/trading_agent_episode_30.pt diff --git a/crypto/gogo2/checkpoints/best_metrics.json b/crypto/gogo2/checkpoints/best_metrics.json index 2656a75..5d82d0b 100644 --- a/crypto/gogo2/checkpoints/best_metrics.json +++ b/crypto/gogo2/checkpoints/best_metrics.json @@ -1 +1 @@ -{"best_reward": 202.7441047517104, "best_pnl": 0.25999080227362914, "best_win_rate": 44.44444444444444, "last_episode": 0, "timestamp": "2025-03-10T14:42:11.838854"} \ No newline at end of file +{"best_reward": 202.7441047517104, "best_pnl": 9.19044876852315, "best_win_rate": 73.33333333333333, "last_episode": 30, "timestamp": "2025-03-10T16:25:14.651996"} \ No newline at end of file diff --git a/crypto/gogo2/runs/Mar10_12-21-45_GW-DOBRI-baseline/events.out.tfevents.1741602105.GW-DOBRI.27544.0 b/crypto/gogo2/runs/Mar10_12-21-45_GW-DOBRI-baseline/events.out.tfevents.1741602105.GW-DOBRI.27544.0 new file mode 100644 index 0000000000000000000000000000000000000000..80e3de8a37cb696e4160ba33e209914343295095 GIT binary patch literal 846455 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

&3M3BHi)<;cvx!#kmP}X!?B1q%_LWDtb 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

C5TLCDe zK=-HsxBhOQfxvcYTL2XlT;i`-ZBXn$1ZtJ80;rNV8PyQR<07Hj1tC;^#IU7!QkkxtUx>P zB?3R5-v-b~!N?0TeEKsDT$Vi-@(0jNLE|+&UUj8L6eZXP1p;WHV2xxX+j1##9Rkjl z_W`t0@MUl!`>^ajo}3K276PD+f;9CymO1b7dX%7e;Sqp#3f`Mlv*ni*@V%s|_XI!( z1-gQUe})7@G!F^J_bM!1+m9}vI}BfcxGI)IRQW)1;-l1 z`1M&@_&FUrDhYt)7E(W~I3>&_hfa+}eW*)M0boUeQkw=J9z8xDf!niQ1F)uGUb7~z zx_sv>0>`#z0d1F#Y6BcE~BK4kd^#t_0vlL6f!sug@HWhnYuKH2~Zx$dHxg4NlQ`Agc$P z;Iw8IwnqW4=-#Pq0N_o5dtW`v)NV>feK^wI1i*)a&T=g-D1RPrnRn0q0l=4nZCgh1 zGZ%i#poCR7e**BQz~VpwYy9GfU*!?H@*6+^1$O%{v79+uTTsGS^=<$`6vUR-up6T+ z@am8KpgsV>6htnZ#TQ)i+lUf=UKeuyyB2*w!LP}xTvG5x90KR$`vVA}VDX9=Hn7Uv z41p~Lg8+n4pnD^OO&hc383N*m#Q}sX}ws8cKly?KDqF~=}O`ho{YK?%(seJ%yC98Is=q2Z?Xk| zMhfOnoW<`r@5DFX$nmEEG*j>*<~6YJTBew#laVEn@dKsyEI*?lZh=@%~X%m2Cxpo4L}|u%f^tOPog~8~GrxY|kA4))erUf$W~nXS|4D z7VZzgmI76~Sk}?}W&uhF9Ulb1o`R}~RJN~cS3UwNNA3e~pg>bimG6v9zl*@dmmvTg zDd-%}c=yaXD-j5o84kdSf?o$U_}2T)6A=*hcmlwMf_sbXSaO;>UXWVS9RyjrvdPxV5D{uOB--p0Ri{)3;@0qsNFAMzMoz3^I^cw zECBu#JZav|wf6oBKnZR3IRFAExbWi<)6vMmU(qz9d;mcdyj|VMKKYd5*YivR3jqXE zAinGw3vzi^jGDB+tQf!p3PclsF%x;`NCf7{eg+Ui!KKsze7W5{JR@t}Pyrx}f~R-& z_@$CG-08gz)d0dN*zPOC2gJ*4Kus#2PzNA_f@O+QyeMnwBm_*H8URF6P}0iJ|5iZ{2vK#@Q*&+avDfm#=%^q3r>xV$G!XN;t6jVR{#pL!Z#`Sc?mB9egDHz`^ z$8}^T;zhL$mXZK6DDV@nV{3I%@1Z6c=g9!bq`-cT8gDMyidP-FM#}@pqF|+QB6B^s z2(O&{Iq?ucHU+cxjprMEH1JdOPO>V1TnerP%kmjtd-_lxytRh`$fLk;&`*|}UVy(q z>zNjS0tyV))UkU(bvIGMiYM9t3MtT?!uXw~+wn7QXu%i&MHKwDk7w5J>Qu7ddh>M0oc>M@h|UVztIZ^{_}XrMrT>p;HuO!-pOq^G}@0BEG(n4}ahJoIcd z0>>0q0BEK_pd^zu57NDbfSKYd04)^Utq|aSDl;_^P&~92Kr02sD;Dyxg$MB-%G&-L z0JKqH_viKP{oxv6C_!ttF@Saoif#z=6x*Mf2#BR`1<*l3r;q~Qb~6Qk4xi$80O+DX zVw?vv8l!&w>aA}q% zZ?Ln&n_ttL0s#b2aQJ%*ySynFe}TmG?gI#-pt@C?uQ6&_gg&^Dwjlt5DfqNeosW)O zf=kP>s~!P(KtcG{0w(=M8b7BEZbbkHq2S{8dbaYB&Ir_`riD=e!YFW66Xg5)i8LYb z)#f>Xa0(Ws#k02|o>>SCNs0pyLBUV`US^_RVuXOy^h5xW6x_d^!Mui=Z$aR7`YQlY z6c`NG<1rcTctiV2eky=y3eK+VV&%qCPf&urQU-t+3UU=n*zub`4j~}E`YnJs3TEAM zV&*BP0}vQ#m<=F-f+^iStkq;3p2F!Xya$j-LFSaN?1kXeWRx(wHy=O}1+QUK``#Eh+EIm$(NCeWu? z0U(0{3mpkQV%VH0l(2tFHGoVC_U>t8G7AJgB5=y47C;sS_oI@So#|1$O!2h+D}ZbY z9+pn#??MgbQG#}SBY<2AEZ3^?z9oh^2#grg0w9lqfQ2KtfRdg80{cvV0w|#1Yxr$u z9%_l}xWy;i0Tfc;yiJaqxG3U;c%M!HMHF~nFJw~kGI)}BAf^XE2?b?iUoyGpN`j~l zn+pYQ{9WyqQc&I4%bwRx+Jk_}C}99)6dap4l8=wg*^Yp!;Q#;?6nNT5aJJ5(9D%*d z#Q;=M&~Q(h+hm&wqcgU5nEyX8_+QT0E@aE+7gqaUMF(d8m-v@6wx_B4&b!^7yYzn& ze8#rI)&=thJhAwJI`UsBTgwNRC_G;j)H{I2B=#1_EO8URf*ghSQJ};=LKOUnkuWG~RSwlb1 z3GL!MAysH3x^A~d=>Vvu;7~*la}u9{N1x4dx&Z1a@M$h(ZaG&HP=b}%L;wvGjBxK^ z2I04dA|RnN89*ZiHrF+|>bpI!5UB5+3ZR(+y-gx~X&_jX5)(W=1{D3w}DEhn_KpzDo z5;*_ia~YSY%dV~iV7Z-?cjNE2v*AH)gHVD-{YC&*6g-tutJl_#3BEY68HX0{vU__>{pLj-UkV33~uIP_RcSi#)o zfwAm3KIVDYQ3M)JSOV~-p#SH1W^I>+ztf|iT>;=jL2Feb>$H5c8YP%cvIF2tLEwFV zHqc382Lc7Q4gmZqSfQZA3v5@-N8tMB>i_~Mc&{(X&%fP*U$-2!>;`}!3esMV;6q`9i%cf7{)#rQse zND3}ZROUkWR`#NVJ=!4vq9_PT`NUlIpUFbN^~ECq(G(1_Rp*W`7vl+0tIiVuF%&Er zFT-c5rQqlEOVKC*aTJU?D$Hd)>daA-oXnpCNT4A4Mfjf4Zb!TTkVJt}{|dHw{w4f;n39tOAen-kd>Ov+>4_rLhjoin0i;s!)@?99{50@6 z0_IJx0i;vl`L!RvJ>K^*0y6q<0c23X-@RvVuIc0T5!Zxl0GSkwS}D!lQY^4D<@+|=~}KsE&exguO-y#&6!Uq3DekV`>9P!Tg*rtFNGbo5OrfIJEY zRraxm?lXTQa9y+lKmi4l%MP$kp#&EM;`&zuD5PM{y6JpfU?(1zDtf;FD5Bt-jRBXw zHQoXx%>P*rpoD^%{&no*iM#mLh#A!gpp=4?t0VdKIg$9)tjty40hCd2XL&G-tCz%E zE2EaR0;r(i$)PFy=GbIh1h3Nh1)z$8LUTQSJ@?5})afGD0icEg;j_w|Eq{FufrIs3 z0BR|a(JN%XKKd*`V7qi5fO-lRRs^xvlZFgIU~8tJ>)%y#0|nogY4W_&8ovJkKUR}BQvOu^F`i}-*!b&UwjwHE`>Lcyv0PS*QlN)G~0lOzDNQgCOU zB(K=+gIDOAE2IImQQ$dGo_lQ?vK}Q&>Nf;HI|ZS36ZlXe1HAQ~*QN-dgM!QDdVEW# zC7!~Wk5mEBMM2S_k8JY#iQiF^@;9mj=%L_FKqu>1`o;u-qb0)u^ii<={BL&p_Dp{=h#PAbn>jonLJ`@yO=wzGPK8m6y^DEg6j*)~;cCqjBT>TYV}}5QQIKg- z!fN-%8Y0j$@F;+A3dS$2XOfkr_;UzabR0kg1@V`3xOJ0j4oY|&aS}iz1=B7|@B><_ zas5!MbQVAq1+i_nnfI!8ywp;4>;iyj3c5S*GIMw9g{VojBQFDpp}-`wm(}fDCXB$f zUDg2NDDYig&1{`7KSLmr*#k(RV1n2$cBt$v9`28qUjvXx!43cZ+_gmTADd{KodG0K za4$fK+xQ7|qbA*5e-l751=Smy*@&YZc-ijzV|M_l6li@`<_U!lQ&2)-s~3QD3T|sZ zW9t_i;_1(sr*{BkQ1HH1ooj9Sg7=8G_4)(Iq~JnOJQJ$f`xP}wYI_iXEDBr?kLJN* z!c!2qyz@SQYzjUNSjg`lXZVwLvkd`|OTm#T!rZgdE*d3lQwax@$F73PMhnvPG&LW~dJzK9>V%q2TdzX@0#|>H-2EwW#Wnnx5m(g-vM+{@Zga? zck9ic~z! zkZm3&3BZYhI)f){`?DMP)`-%V0pLQx%-S!k%W(Zv)Q5`&!Vq{~t_{GKg10yS{L|eu4ZMdkPfZ7aKLrXY z`OIc^aS=*bVWtZpfPw?lRe0#nZb<~n!X^R;qM$L$kJawX$3@f3-;)6ZQxNDX%PsUq z;*oEa_A~$wC@>HYWC5=vYEhGlO=kiKp@2Eaa&-X{yi1ee$N_{=@FZd>ubn*wKTvvd z<^l+(z)&HZU3OYyhnh6~;{pH?6eOq*<|+o$@%LfN)WrZIDJZ+zkC$BCf>#|T<}L#e zMZpY%FU%|NA4@H6g@yp4DY)k$!=Ge2;TJkXey#=(L&4zoCA_U~8ov3K+O7i-M?vyl z0j@KxQ3zcnpU#Z{5-3=@&x;-FzrYQFL0Ve?BvKHpDZ!lr4bLDj!*x4=Bnm|Ry4kD# z3V4mo(BA|=G6h>sC$S?zAMq|txyNn*sT54EjA4sE7ve!6`Tafs=@iUa^MZ-T>&0RMDR8Vl#`y11EZHH&Z z{Xe(?sG?we_FQhLrx=G4o?q|;P(y*kN=a@Ka2vm*a&WW{fLaQ|jwZ6g+pF-ba@8ka z0QD5y*{sN=&z{2*tSt%w02(NGwQUvOWhxkg`p|yx9)Ly)W=g$an06;SZ z`?Xt{+@e>(D1rHf0%)N?=Y=||@5Qm<09q+HW+BgC1v=xcsip6p0BEBibi5k3 zVo&gUWMN{@0JKvO^Q#{pK0ECZ>cg9i=Kwk=aMpUn%>McdFU1=R!~^J}VC2kxJZz~0 ze(dIrNd(YC!6&2V?A_io%TbfsC%*#FM}bh;5U!^gIURv7n^FN-nvnWIU%Vebwm$SM z0{6UM1F)hXYUmigMP~(GWZv1H3BZ~HO}l$cQ-3zDcDE~L1F)qa@HyvO0-cVaCQaY? z9)LXs^7c=eK&8nW1TGEy0KkEQ5eeel=A-aB1Re$!0dS;1XPPqq@odR#1mx^K0dS%~ z(4mIiT6*mx0{QV}09+_Itn-ttTp09+~9Z6wMct?j~3QIp#>0Nf~;HSRex zdi#&x!zVwh1K>`fVOE2#il}0^m(S#HuFdnW}gP zfxi1K0DLGo+&r3F)GRrTK&wz20AC7ThA-rM(}s#6FsZX0fIkH*J;eAK#YqDY7%tKU zAb^7JI<;(meQZ4fHe-7M1W~YgUkt1I)P#4MHg^lS{asH7Qy{f!A@}Mv#AB<(Bw+v# zD6oAl!WYkQ!A%+)JODrl1)Y;cd5-4}1=I&+aWMd46l5Aq;&p-dH4r#CN&-MQ1zRHJ zc~Zv-96%NY8P>m8^Mi1_X1q&gE`V$bmQ?gH@y#Q~ zpeAity#PQi1@aGmu!SFM@FT1BfdPO#3POG<^7g3XyHLWf=A{4%DDY5eVF{OibRZBg z&JaK$1?nHaGtb8KIt0GlSq-3w0*lMP*_DOomLYIQV;z7J3X(Ddm`QcTWdzo&*a)DM z0_pQTOsgkhAOh8?n*o$j@Nr@SyQj7SS17Mbw*jc2V3o{l9@-Xg0wp|JW&)s!f|r$o z{JPg;JkcGfw;MnW1!w=9I%Z(J*bgPNZr=x>mI7h_IOY)k?JfdazaIclPl4p0ziF4h zZuJF$P^}{X8Yq}2r^WY$Ki`gk(Dq{h8Yw6a|I9X<&k99g&$AN%nkncv$BPN&GQ7GM+9*g&lH-oUW*Vb}{4y&5 z?Gy~MdC9^rrEWpsgP|>e4hll^zp#GSBr#ZNc@;nx1y%1$S!TV(29zK!d>ud!1>H*3 zZ0Q(#JQ#ob;S8XUf*}^l{P?Z2PAEZL_a*?#U8H{aofyMjE?$$0K&`Jk04oZTB0jN8 zuYB=3-(God0M-=jDC%MM?GhO%p={_K0Janqn)R`kU$rF&oGkMLU{8UDU@_}z)vZBb zR(k*d2MU&tGviU7JMag$ULzQQBL%`^e=r@tp%lCue zt-s6TR0^)^DD$5qRozj-x*;L}(kVEVGnkhK{bOcaH(?-v3<{F3Twy~!$5*3-!R}%J zGAW47tzzwKOYt(ru|f#|Srn`|^pnj@UvUj3Y*3K_kWInB87VCLRQ+oN3KNC^$fe+i z*Kf8WZUO!Ro$?q8AdiB{0fFq+f&QVkQ#B+q(SA{07@t*?*7hB<>YiCAnmCGpp*i05p}-l{80SC zjd?L1Kp6!$mo+o*WBXU2gp9UH04gXD2tLQo{wm#pz&i(h096#oEgZ}{D?^4LU_W9e zfEo&{SFGn-n$O@qL`84_wG`}1tYfM2>3t}{{oPyu^%NLK%kj`p=kUna<+u<)0|o9C zN_^nMi8?6Z$hai{8Yzg38ObLMUx;7ob;?@~pqT0;)&FAsP6j>RefEfmaj72%(n zQ}OM6LEQ*ID+QO8+SsA7UvP?yF=F_e4HvG|05bJsZl4iwZi zC9xIXn}#D0;(rN%BLx<_1-SDC18oFkZLa`uqM)#2EU&a!hvyoO?Y011D45wfm@6gZ z;afx9$pL^X1t~l8nML^Uo2W^JP1gaqQLsqiH+yj2e;fj_i*5jLr$F%jJEm40Q@OshEApn9X zP*?D0&3E!-QG#auBLKk^obYR9x6g&)_0}^lA^<#~z(-&zKknvm6(zVQJ_Qg$!T0sj z{N5Ce)d+YfJ_is+!SXKyc=N5+CkWWe#Q_MXK)$Pq+3guDkHFFcF91YP@OiPopZ|v8 zFA&%#@d`jB1>H9N_)vkjqY+R#o(dp}f+iseo_fg~kF7WBUIU1x;Pz-WKH=A~N|a!> z>Mej63f#pM_`Iw>7X+R}WCMt!K<1nrf7D-90s;N0c>oe9IPUR*C2j3oh(Nt;A%H{* z#tvy_Hp8dOAW%B21V9o6x0J>C?l+^BAfRUX89*`x=J}tQ&MtF&l|Cw00!XDm>x3xZ ze#i$`>}{nr0MaS&@@r?owBJk``D}ZbYLLUz2J6lfSpLDNv`UN1Df@j%Y%&z}}WhlY* zc?Wz`U%>tE!mp5m+DGYZxp4Rb1Sa@jj zOvrO%3t}$aLw#6iCJms1g0x*?+`&Z?&t_tLK;?OP{M-X z@c>#WP%s(9+b1RDAz+oR2cV6D$0O2No%^zj2zbq$3ZR{W1;Z4$hT(7g3dv@#=>R$? zh{{*zO-*4PC?WmQEC5{;Snip`^(@8lT*Ln1YydqJm|T6qt~A|vixPHznFpYcf>k?o z`2jz9JpGAbivU>eCiO#bjz0e|O~DK$q*yEgU`4^gFmax={`3a~Ld};0u%=+wRzWTh z{EydFqia?Iu%%#QY6g3!P>h#aOt-EDU{AqV3nf047feS@64Fuak*9vLr{>mpcR;#%I{+67?sw#|gOTG!QNmx{ zCIDP1_^qnQjUMLXk4 zZ4-$=3Go7_0r*oeTXX;y2z_IOz}?g500dAlz$fkVJv!3}Gy)x?hXUxKVE9~l{xGBN76J*CDggQ@$n$bz9%sknO~@aEH2_%d zA@##2_cqqP=({ya7^$KOz>0!LzayBD?~9!Xj9okufHej0rgkzN;W2noZRMrW0Bk9k ztQO5OOC#{|=_co~0PHE)ysU%if7v+~HK{9PJOBp@_9*;fMsp2^ArP9T2f&en`(sWr z8FjlTbjG%M?f(Pf|8mB*Tke|qb~VC==)mm%6900>w&{$Jd9%K3ANoHDK4W|9+~xB& z&F;N|I`UsB;__s5*#|tGVH%a@PMrUmQm-+WIw&%x~%@x&X z>p@8c?f?HJgCu;$cGGu(S-1DgzCveg|Cjl{&e+aONuM`h;LtDVG7PR*51*$K{XCU| zrT9^S$h!!L95n{uLcw9zM0VxqF06`QyUJ=iF)`#^Xu+Q-i{At=-%GLPE`(UK?(C0-T)9q!G&l6E*Z2L zH|buA8-QpE-utTY$kme{poFpQo&aJf5Rj^8FPcj5@?X834}drdiXxQxZu2#GO5SYY z4?sJ` z{w4yTg#z8(>1;yR3jCZloID6XD+PB>*RpG!s<^B$iW&@{jRGm7M5aAt_#D)vq#u$1 z+9~jAu3+=$tFJ@gld>#;4hl{N=dwwaN74}p$dCunMS-Jk0DIbU=>h^CQ5&TNfY`I|oEccS~P9o{gpDBjE5JXM7EvW^-ih{dE z^8Eh$fBecpB0w8}H3jJ%POQCA5U;>YDH;R7mI4_WLEd<-3qOI(&glZMr{MH4DZb{r z&tcSuh_4d?I8czcxtQJi9DNjl$9tv#aHPQgk}lu&J_gS)tij8G1kK`Am^C(Et`frO&v0K6% z-h5pMzdo>d>{b9l6!Z-g;=78b=%ECk={o=fQ*d8Klkagdz%N-C>h1#YfP%Ol6@Fvm zGdyZ2eb@~kgo0@r{rDJD$Cs!{;~e$@2&3SKvo2q`mggfdW9b0^;S{uXHZ$36c_R_f z7;_jv1O+2*wy`|rbW;SLY90j;Nr9Q7AYW^2i$}iA>c;^@QSkYEKFi($5cH97vLBZY;1Ne}^(e(%@ zX1W2$q<}4zDI&UKS3(oi36`2_&Tqd;lF2R72X1(!5wDfa*rP>^qXCpru&s$$Dqjqz1FuHFp5av!N5_^TE+)Pjvi2@7I>0I;H9^2m?O?~WWUUgz)n z1;Cnu`wCesMqm^}38K6cfGq`f2EA-~M@Iny{)s&R>?v6LXRdMN;J}p#Y}69;`n%e7 zpy2wS_cL|7J@91R^R6%eM+%1g%wWBDo%W&x2ibuDoG2LTA=_ zl&~0oH@v=d`u1)B=@g`2jbpVn%T!Q;b=5uq85E2Y8^k-+#qroGF!msTObV1NYnZzK znb9brul)#sEDAhz#kuigCA<)_X~|yzvMIQBN`hNi`r+@xTal9haw!nK@s-_*_#lp& zlwo}aKpq9TW$Ii%V=$i0#4Wo3pn!tjV=tMeQ{pp}uu1+hfIUM^44BP z@c;33=l@uC-T(NJIc2Iyr9x3EnkRcF&BLYAJV}GnEQ$sVk|ZHXk`OW_DUvxP$($)u z5<(J^DM`LPuJ!rhUiZ4c??2%Ac5I@}SFM@#jp-=#= z6m*DvVoruVl?dz>2?x+d!Kb8BrhF|1KOAAUJOV&F1-ExRVV4uyzN3Wg!Y=@HQt(bw zjc?m}b2|cBp|JqEDVTlJnvH(~gB=v)Xi78vN`7^%9 zSscp)U_-&0%N1;8#&28>y!urDz?OnBE5lidajq8{Qi|Yv0Cp7QZO>zYZ+_tW!%vqo z0QMAYh!y3bH`i@L37Xv>060)!FRsiZrf$LUVe|V2)AQKU;48S9 zv&Z!p051xJX5_H>U*1Ne1gr8s06rA>3T3ig(T{H;V3r{0`EP0IOF{3TezsasR}_KF z^&$ZLDX{BJWY2yq!fOq;=i&eYDCn@YV8Krx;Dc|Si4=e!3W}zev!d(<{Jcg|jx>M} z3Y311;1|az;m0rXL*)U4QXr}_mS@J88lXvwZC3ygMuCmG1P=+D8-zfeixPlv3Kpv8 zuq8%s@Zw}|y%0@TDezSPG^^kKlvkKH;Nv=PWG%@f7?sNSu3aRrNs$ zZWYr2BvNo?k1!98-n$tAg=ez>BvGJSHlA<2F`xv20f*-SNTI+yO^El&=L|vMRwVhg`78oGV-^BPqhRVS8`k^MZ!H2v+ZF>zr=ZWoj@8Nr;sw@8z2yKhC|Gje zg`L`Dj(3l9t5yNXqF`N66|0<_hwJGd&T9bVP~h-Ult*9sB97*;Y2$hTc@&67d|>HA zRGko*lD7#!J_SDQ*{osyoN@#L&Tj)yNP$t*NdC1XyaR#c0fqpIDYz;-l;0cqau)*6 z<97onp}=5hJCkVD#Mjo&e~bZ?Q6PJ}gE@FV!TZzZu_gd2D5%?7%8u)vIf;gppnn8F zB?W_*sPGGKH!C1e@%=b}Dhg&COJ<7{cHz~1=L~ZI)fAYH6z1FHh3B9IvuhRrYAF~k zEWx+$`>)>pGJY079R>1T-Av+>DO2xFeb=+uWB3JWsm~pp$~jO7cAE{#kroI;naW zKsN=a;|6fo{-3@m;p$vZ06i2)ZB*eo?df$0T)ONHpqGNg=dDaJiNpm}P=sHTc{yqqR^&wI}>hfI9`# z%VSvT>;HNgw6bD801pb*bm(%AdJkOqi5)Bg;7P$mn`D-IKJpzJ(wXEE0A3VGw*CEi znzX(ET) z6x(I$00dAl@T4#=IPoh14Jmiy7XU#Nyj4)(uA#ZH2u$j00uVyMb(2i?xNP|i1X^@j z0fbUe|9cwu*%iJQfxss}0EAJ{HbR0|E(^z9>3`;S0SKocK`WUJd1*TpCCGX70C+~h z^S^EEb*E~+BCubf4?rXZeeeIiiG1slod^h82;Bd-QjDVD+m10j@aO1g1l|`601!=q zz^+kT%DEXYLw8t;0f?obO;wPa{1C${GKFqQ0Pz(38uf?0otkZghIBw|Fn~k~?5_R8 zABtlJ*L`$1nacbpmrO$+Yr?Os02(ML@D$;#xhn4wcvZU-KqCcvOcwABjd2JU zrm`E&VU^c$0PPf~#WQ zOTqK$zu9@kWZVeJ8F34M9R)Evg!!h8_wJ&Ez!7%<*i+E@aTH(iTg?T53F#gH94KhC zabRtA&0Pp&`gj3wq@YXVEvw4b#7l?EV!i;JDOi<}#^j}<@1q3oyoUf>C^#Dw#hy6C zi6YQECm4V$1x>b-`Ahv>vk*{E2?gLrLE#)R?yqs_3<8&qg#&P>;M%)StTON6 z_9ac^>vJRUzUZ&`W&rUN$hnQ@Eu|ZAX*u{%8-PR#<{W#@W||dMp&`Y*>j02Mf#A-; z+#r|@MqrfgPXH+tl-$f`UOBPf5iktu1&~TXj94rCXXue%2sp^}14yGl=V&xLS8{v? z0{g>-y#6ix(ka;YI)jZIss0ZF!_`CqWKb}vLxB5jS%9BZGkqcfAd7;Hn*{ljuJU^* z;oibQ0CFhUsV>L=$(lFs6rV8_4MZGf-u#lMmppt?wBH3)`*!g&|&UQ=!P({JZZN4l= zX?+ArF#f0opqhe`>GJ$ghtWI)rfWxIcP)C7n)&TzX_rY~2 zVORBB01Xs8{hGzD4o=3UW#l>rppgQFA2a!3)2fdsK`lfVKobQ^cOWAxowQRo816-Cxq#pucL%~w-ZWiH^IuRwz={pL*mICp6FPXHn6h4+# zEj$6hj)J5u;(SO@A71{f^E(N^o`RR9C2Yq2*?8S5qj(yC0|hhx?)aspUgBsDHM7nE zaHQZ*<^}fg{2P4blbv({fHMW-r!=u|-mN%c>}hKNE)*pCKV^5d%1hCZZbV)I;7Wm3 zg(9Emx(Q!3xY#uSZWNe?%5Y<8f7~BfBkz7!~aOkz2+AK@YGb@Kt>Pr>bXLCkQl9&UsjnC=fCfPx`+6u9p2i;idxYxf5N z2%;dl{uR?KakNBWerE`P5DE&e58+n%tMIXuC>91FlmgAbNG7%QAAI$8-u4tg7zHZX ziu`zW-)c0ZgXbavgj0~C(89W=ZTyBng;q3xXB3QZNn(}_QFw3H;94AjNDAgWyUI3S z+gghfJ{(O15JiFOy$`Gu)Cmh^AoXroH^Tp%H!xc!At&0I?K&G9Sf{YUZS& zgv%c30OBb)IZ&8KoxFv=>B53c0ErY-yzFN~6}R6)3Bz=A0VGl2JyV)HC5+HPAb(sw zfD{U}uEnt*Cr9A|{G?DZfK&>sN+)q`3(a1X@Zne~fHVr6_6qV7i)Lpa(AiP}Af1BO zt5kVRQVxFn;+TFFfD8&MHYGBJar)sX!7Zl-Ko$jWz6RZLi5si^Z)#Lo)gxr+5j5}WkT5Zwxroie--Fea%>W!JI2~BWcI7w9 zq9G~F*bcy%f+2tZ*(>{PLI?t7XAJ?kP%!QNDE_wkZ5RS|v-bdSrC|K@SY|x!JHE&D z#To-}qrfaLpRF=C-GLIyt{w#7PJvY7J~q|t(nACa<&FaIpde(77qiJ5i=V*~KW+-Z zlY%FO^=zu%3JsJ{zTO;w7X|&d>e!ym&oU7Ze_;W@hXS3gFIl_oHGE^AH{>h;UkV&m z-?G@cW_+I>w){K*e+vBGHnCd6dx>aB`puUB1W<5bWj|Z6#qa?F3UjXj2%@0JzmJV6 z*j$FdOZjU6LMSjjGnSw2euQ_LR2v)sgi^5dXfQkW?!VroQai*MKo|v8kAAViXXMS$ zkOpYp0uW9?+>-BXokdX>0-r+M06e4Mg2Etf^Y*I<0=pM^0EndE^nDTj53>+PKqKuw zfG7&u=6+%md|u$~goFtX07O&Z*Li}aygI)fy<^+S;QxWa|KlCoB2jA=jdFW?1idi( zKg9od$M)p10KG;pnbZF#!SC4CPnoZmSD}j+9RHC*-mzT~RFEuGBVLH!eElEbf4yV- zvqM(u@-?$^&^xyO!~E}eZ2P`-SvW;~_?rJa3BO~zs9f?4;%PRnh6c{g& z=Ch2uaKcjQHvp0-*bq3L&oJ?}K?y!DGXSJe@HRq$tI9YRB2c+62S6$XD_tbGrI{fv zQB8lo1CU06u!Is%RoiKZ68sa30Hjl3sVU44sgzzpK*O{YKn4X{ggw}a0>9Y^j47-D zkVV1W+okM7+fRJv3K&-b$f00wfjoB_Iw%4qL@Ct*$fF==%xJ#!!-66Nj``OE$frPb zUIjDExf6+i)2l`Rg%nI1_nw_!zse4Q%gx^a6jNY-CXLPC*r|m;+J)}`N+|e#DvzC? zA&l>p{CzusG798=xUo}*&qSew1q-?XR8X+)@+59Gy$x@@KWq2}ppt_9Cm*x4M!Tyh zVV&I{096$1*_^_>J%v>eSluM(^KSuJO~Dw6KkQ;(72Y07TrC2imI7wf$TX!-;Qo1r zv;=@U3iJ~`v(1lfaHV5%Pzpc;1(V%s*(C8x1JN9O1!Mp;QjnQf$aXwGg4<4U`{e;N zQQ&yfk2wW@lST|@1Feqm*jxC!*Su_czzxL8wx~!%-}MAO7X^r z?llI$mVyM~DCWMP1~=Tx>~#UyQJ{5b1h@Jj_!CX~+{Z-#>?zP!sb__I58_sVR{NHv*ZCUMM~v{P%AM;7&pOJ3)Tr z;T`XuM{U(fgkuaJt$UfENW0YhN&-LxH%Z zA3WnA03Qm>%*xn`M*krw;Y7m`0KOE+oD=1X>qGU!BQPmL2s)z;V`D03j3N|80-&0L6OVte{ie27Xb##&6#!}}7`)~KJK5@pFZW3S9|6=+;KOzJ zvekz8mrJRY)c_hOczsQfTgB?*;`P$HIslCn1nBlMou%2hBY8XT3xFmH>f<%|QH6x@ zXwm@}z5!^apzpRP(^@T#FO^Goeh1J>!TQvntX1O$K9+W$Z3oasLA99xUn2CR4Grmi zK^K5_3PQhjvFExAalvu!pI-nvDTteHz)f|#ucHJDp+5k+DQF9o=8|lRD*|Gh1t0ud zi}q0P;MixjJSZL?d~bwB0Q6Gut2~)qc(ehpm+pFq1L&hb#G{Bg1_P$06jnRPxnu8zQ$5efioDJX4| za<5aC1_UY;OxuS2^(2z>?Rs!&+KzURe+cr8$2Z39${{RS}AZEiOcJ}0Z zd;$q8tOF24!G^>jW`4d2f2^Wm8vuk*kiGgPdzayg&p7Q9TL6SokXJE)udH*#TaD?T zwgU*GKw)q%`#RcH5ly;Ldl!Ik3d-NVWgdxgmI%Cx+ymel1*aut`Tl*zXAy`M-VY#> zg0cl!tYv?eH3FWu4+4myU}w7+f82Yo8G)>gM*&1r;E_LwKUMR^r>IA=DS%iC7M2O| zb012NcX|E(1uVpvpLg?KZgc0VV8TdKEw#1x*JB@<%qe1rg{G zyAB|og2EUvuI^xt&$x=^jsP+!kUIOfQq{!v;69^15b_bA0fk|vNYuDKJ3xN}&o&fSGxY-oLp2*hYW$2tRZvcf9WR^?v z=`SVmBGEwJ4?r;md`bmN_??IMfn2q|04gYO**~2RoOSsJ`jkc&hXbgj;K-DFEH0-BuLP7IM*ygzK-5Z?XNd0=K?$y- zUjV44;P>JtrnlWD8iDc?u>fi*m~N=dFYlEfih$Cl1ORmuSjCjGcT1MaA~3Z#2|xn{ zdD0y$=zMGp0-nmL02(QX6Zyb&!%yPX%wW$q0GcRp=@jHX{i%3!|B-wqfMyEry2){| z_!~)RND4c10JKuDFLeOluGo7Tfzj{Z0cfM3z)g}TjS9sVvK1yp0NN>dwCWyvIWJ{9 zO87p$6hJ2h0p}$6#QXyMtI)dp6#%*^82oAyR}mXF7$pSueFV@$L4o!&_SX6$UVCeK z*8u3H;L<}WKF2osDoPmESqGqxf`gNV`1Snk5(MT>Xavwt!Mm?=Tw>->yu%SN{Tl#l zQ&K;Oxc_83A7@me1V5)%05%k)WeW4g$%?oUQuXl%09y+7|A=9??Q8I%VbRzLz>b2j zX9~skHg?f5w; z@2SH8cv2uSFp_=u8d8IXbl-e9051xbC;VpiuLN+bWv};006r9aOH<~aW=RiGLgeHz z0DLKMYU*LZH+Sts;L96T0R9w=ocN86Zw|;oz-GHTfB*_kNF}i3$u6-7^oVK#2%^AU zP=Px+D0L&yduIxO5DHGjW-#Xly9NZReoqAuNv6Sgs@Gk`3pSTX7l7dw-!rWwE_X?D7Y@ri?DhhPocCxiD?{Hc6Xp0MgY6`k_ zzq8jmAMwi=%5L8VP)mX2joEy;lv*4b(w2R90n||tGBuhd@A{;VKzy(#fCdV3Pf79C zZ71<#Vb(1^02(QHJj0dA1uYan37#kY0W?uCBk%8916B^fMN>so5P)V1^b<$%DQ?LJ zQNqNdp#WMb_}$RL^4slhAaFu996%cd*Vak#i^>A{B2fM;0zf+j$GS6_-Y28ODB&_1V94P3YHGqdmf5D3r@!wSd94WBh_Lluh{f;{) z87FE1I8(5;ErnIdcH#$~7G~E2aG}7%OrCELuvI~GXuAIufGY)kY!ZJHBmEYE7q%?` z+$fODlHm3^NqPv>3H<=zPJz$&A8hM}wYYfw__h;(2L(?)KV{SYNpM05<(fSJJSj;1 z)xv(RR>MtZhmhX@yeKG;%4C~G2jM$V?nwc^f9p6O3a)&rWs)7Xcsrqau`mE%3Jz$T zWjV_);c7SXrx*Z#3bds9*@O-qy!=^qVjzG33WNeSvLON4xQ=Vmk_He&L1OwZ=KWTD z9{N~E=g9#Gp`bV`(>}PQly-lX&m$yI&B9s~ij983m=@L%EsJTKu%#*3shtL{cD^TE)yp9m4mxt{4pf zQ52Z`dBYZ%)XJbCttrz45KX~WOKHAYsKyEhUt2!D%LdL<(Aed$auRAlyF9EuI4)i2}g}MQ)dFH5(;(&DQ~tLcz-!iu|0z z0Nl)RxVZp8Dg|9b>)8EWHAX1Gb>bobX%wUlu4e_Zb$Deg8@LoeIt7cGg!sYFriCbB z%KnuAGAQUc*1?AU?k+<>N+Y-5+MjI&pH60i~?1w;at6Cx(fm;st*CEpdj?(7iOrZ zf}5L`t;YaVQXnPtoC!Ws!v*;FKV|@`D9{lZ%^RAYSD+#3R$2h4reKlfG`?VMFuw9B zY(5L1mV*3cqMWZzFhB{fea{1^qhQkjNj_`G=B)@sPqhZnK*4;+7wp3~9bp7AGOhq< zq~Or*PBtL-=sg7V8?FIpqQLZn1W#Mql8u07n-hR$3PQSGvxO`EYkxZM@@)XE6l@t+ z%f1#DdMMER^Nxk83E*St?=~ZVUJ8t7_%gxYCsI(t z8>0vSeH2{i73FPaQ*nQ3n&S%q{S>_Vqsp`0oP1Hjx!O1Y)@G!B7&kAI^%!YSM_{r+ z5&#o5 z__OQ_`*>>1A_S7<^8h$daO`3Q8}B{~AFVe73II4#F!XH(QyTC9e{oYh-UD!^VCMT^ zCgpPL2pW>dlX3tq6dXzpWf?ELJP|PU`3S(3g7tX{TuRsUA_9WjYXG=WkRv6^*-mYI znK3D?1K>`9-{h%0Fn1E}!kJ8O1mHozt)*Ak{w5QAK3Hdc1K>%4dBope;DveMeV|#* ztpL0zsA$P%{qII?Mw7n!;RgU83S7cV*-MWE{Df3RTPFZt3TFTPr;40vLwS^7)6@gN zpMnBqPxj4e<~syd{rn9efCAm2#jGUydm{otF9iJmt$~6lNbJ|*+e9)pAh1zV7(fUG zrb82%{MHNY2qZlc0}x8V+w^wURV<7*gI_Km2q27to|Oe`tc>{tl<@M$U;yD1tZClO zq`$4fH^n`=asZxDaHaVt+p#x49wpRG7zQAc0$bTUHr~>x27w#SN&uoLP&=l?V|42A zPE)$9GJt3ba-?h6w6_c&8Xs!M0*IwxX4FfzEpe|Y8dCheaRA~e2p;CoM4l@iML-mE#m>W#E+4f4jyXF9ZDhm2dg!%ItUwlqa8g>{!H3bhshw&`=X<}$d&Wnx%sHMPr?t8Xw z?433QMwXfZsH5QC)i_o&YA&vUlula!XrMrLaXwp@xyAt{{F-tWKqCb$TRfS;?onL` zER?tapoxO~0}1Scu9GMNK?&9Xnkm>BUBQa4w-zJtdYdhPRtnZ!|G_K;&*B838TJ6$ zC}@e6;Ov?vUh{o4zX70~f~ytT?7_U}x6qIVPreDDlY(@!}!iE2KYgnJS`speH6Su*Tae{ zXXE~oVX+^8ehQv;JZ4U>FXCHPeRv=MYx9ZnlCqMLtB;$TYn?RPeel@O{g1L)_cf~( z=wtP8c?7_Q0%!SfrdSc$>u(8tMzdA)t5ZLdR0Kk!g+Uzgv`u>wRp{FScfHMWZ zRmHfbMO-OLP~M#iz=eX(%l^KU+uLXf0!yc*18}84p^fvL4I{rJP|%PGz>R_-kyv*;W2KM^L-rvLMb?8@5lJek+|>ODe@CQ7zMLzn%LgPNgZfNhj}l6a0=v3=Cd~T z51w@7aZ*(_8EI41qmY1_6krV9vq6fA2T=b|?b5qOt(uDNsyT;wKa9aQA1g z!4Lq66pWjv&38v{FG2}7dK3U8QE)9_0N?680AKlX97h01q2Q@}4m+JY5O;s%Y)1n~ zrC_6GI9u~NW(^wB%M+>q(kO5b$o=~-q5^pHYuh4q0O=G&#CEXbB_`b{Vf>DX05T|e zdSNU6$0y7591dvBT*NSd7 zO}_gD0>=)`0gz9De}gigv-u~kvVu?Q04Sv3%i_N;2K**92PFhs=mIFFAZX+#7UH7i zjDYjb#Q;huPg} zwE!w9aLf73K4x32Mnkgj-2kA9f+_{!H)y9+=a1rKgCGC{w(!DtQ@xAy{Qpuoy9gWdk~6Cd6q&K&^INI`wZ z3pR73Jiaa|G#moZL_usr8B_7qjzvSV%sK|3nSwPA;ygS1UOxhTNoD|ADah7V;Bu35 z@gpP_hb#cJQSdrhoGf3`!6ceF(Iz_6J~3!Q-(r zc&<}k2?D-iK>!>mka_)%S*<>whd|2FM*titsM3AS3ipVdMqt;kFaXXJtXSQ{mZ&_% zJFkaMJ_F!FLF>mF78`d0SL}`gQ2<;iFnfBNSy*0kLqqbt5d*-D0wq~L7M#55B?1H1 zCjfA#V1>34_mS@{K;XxhBmf>1G#rR#sn;Cws?wk&6@VuN#q&hD(SxC$_mLAm2#AJd0`Q?=!s8aUsQtwW1oZoI0QgdH_}N%~)c*ND2nP^03_uVCMo)+FZwD)S(2%mKJ^%=zV6&wFS3WGY z83EynPXIzGkV$Q4K8F2`2n3mb1`tNUf-%?GpGAXkNB70lF95a*EL#*+Q9{Da zCIHVU=zQ{-9e>`AZ@ahZTL45-aKd6Be{XRDAFUH-{{Rq0K}*3q_9b)9Xf&iK`%VDS z6kM_z!Oh)s@sB?A=Jo)HrJ#8DEI#>Ja1%;6r`-o2o`OqHzp<3V`m+$27AFw!Z_$)U z!CH$hCb6~P2?D!M3j;`^V1Ld8zNJTH3j!{W!~mpF(4Y30={mK~MZhCN51 z42v*FU`x_q0BICFs%U3|-jngu6rMNa0HjmkqBey0O!|h8CEpdp0Ax_$yHkRfK8#C4 zL%J!W1R#q7yY)|4OVxK=u@5_=3?PSsrFy2!^y;#Fl(0%i1wbAJ5t(BA*|4T^1jbDt z2OytFegCgRYtg8`=)FjwJ9=UEe~AC_j_r+C0`zp2jsCw0e#iF4jR*Bq=M5c*X8s>3 z|tm~!v-A%&_u!O zb>jTapHD{+@Ht`%pqT=-#ZTF)S%D`J2+}+Wpp}B}1G`ywJ-4x+(bedla8{`HDIM zcWzt-&_lto3*-4=ol=It>|NIZ^it69_pf{Gr)<23Ku&-YfIbSMp69Vpqa?iLJ3Q|e zfPMyIa_7tq#P|s?27FeMKftpYN4iso# zk>cNO4SR#Yf$*mQ94UAn5X&l)yloNa6N>`iOhJOlQ2usquOI?lgJJ==P#`oyn;YFp z#rvxv`w{`TQn1@dlfQhr67O?seMtu3MnUYU@m#^t4X=vIcBBDtryyWpIde}NnuX>t zdrt-c4+;+59nKZg{iP5%Zj=MSlY-pQg8WkWE8GsRFv|zvMZx=nuUYjM(G4g;z_1vA z4+ZTdxlAncS1$s}ie&(NDOi1H9)IsU6Q9%PZ+-yaPr*!WG5+ma@g9`Wr1J?t00pyE zL)qae5Abuc$6nL|2%^B>@E2?n~?|{6X^vIMZrnmo2+{G1KjAXS^Eb-GzED<(JanG53hgw-wFo) zTYSY*AdxqeyIO=#MnlpYAp#(tg4bSy_!PrDyb|z#E)F1(f=LZMtUR+5mlZqLN&!fs z;DGsK*4OYIU%g*Hkp_@Lfx&EXZrJXkjONglE(ai$f{uuKb~kDb?!f3g90nkbf?Q=s zR@5~KH>;VY5`c6Ho($+>6XW(jMMLruRtAtk!5F5-m)*FCchU_E#{$TrV5hMSbI**$ z?LWOrH2^sj$Pc>0rtVLBfrfO^NdrJ01tSa|u=ru4yAT*SZW4fe3Y>iYmZ)jR9wT6O zNDDwA1p>8H;{)MnFY^0jQurxm=k4qw0(=_fxm)0;r_mq{c}8CelO&C4{Lj22e%8?uPHo zyQ$~~0#|P?15izYiup(8J8C0-d>~q86@Xd_`o6j`jefaQl+bIg51@{MT{0caA@Is) z1a3?+0MI~z=fPBVreiSPym>Qp6M#kvTII!fjO@)Ql&~viD}W{nqOA+q>Ao<0PWz

-Po3Ab{oF@QD-PUueMALeaXhUSoAXab;} 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%0AE4j))(1~fBr&4=NCk|XT}FGaI@Vq&k{K~M+Z$Ts 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

&3M3BHi)<;cvx!#kmP}X!?B1q%_LWDtb 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

C5TLCDe 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 diff --git a/crypto/gogo2/runs/trading_agent_20250310_162540/events.out.tfevents.1741616740.GW-DOBRI.140636.0 b/crypto/gogo2/runs/trading_agent_20250310_162540/events.out.tfevents.1741616740.GW-DOBRI.140636.0 new file mode 100644 index 0000000000000000000000000000000000000000..68496f45501e334f706e9acee07b5b268b81e9bb GIT binary patch literal 88 zcmeZZfPjCKJmzvr?XsG=_w!9hDc+=_#LPTB*Rs^S5-X!1JuaP+)V$*SqNM!9q7=R2 h(%js{qDsB;qRf)iBE3|Qs`#|boYZ)T$XRx6BLF(^AL9T3 literal 0 HcmV?d00001 diff --git a/crypto/gogo2/trading_bot.log b/crypto/gogo2/trading_bot.log index 3692a42..3382a3e 100644 --- a/crypto/gogo2/trading_bot.log +++ b/crypto/gogo2/trading_bot.log @@ -33910,3 +33910,174561 @@ UnboundLocalError: cannot access local variable 'target_q_values' where it is no 2025-03-10 12:27:37,285 - INFO - OPENED SHORT at 2057.01 | Stop loss: 2067.29505 | Take profit: 2026.1548500000001 2025-03-10 12:27:37,526 - INFO - CLOSED short at 2059.7 | PnL: -0.13% | $-0.93 2025-03-10 12:27:37,679 - INFO - OPENED SHORT at 2064.61 | Stop loss: 2074.93305 | Take profit: 2033.64085 +2025-03-10 12:27:38,607 - INFO - CLOSED short at 2061.18 | PnL: 0.17% | $0.26 +2025-03-10 12:27:38,607 - INFO - OPENED LONG at 2061.18 | Stop loss: 2050.8741 | Take profit: 2092.0977 +2025-03-10 12:27:39,447 - INFO - CLOSED long at 2073.73 | PnL: 0.61% | $2.03 +2025-03-10 12:27:39,619 - INFO - OPENED SHORT at 2072.33 | Stop loss: 2082.6916499999998 | Take profit: 2041.24505 +2025-03-10 12:27:40,351 - INFO - CLOSED short at 2069.34 | PnL: 0.14% | $0.18 +2025-03-10 12:27:40,406 - INFO - OPENED LONG at 2069.19 | Stop loss: 2058.84405 | Take profit: 2100.2278499999998 +2025-03-10 12:27:40,718 - INFO - CLOSED long at 2065.99 | PnL: -0.15% | $-1.04 +2025-03-10 12:27:41,033 - INFO - OPENED LONG at 2068.9 | Stop loss: 2058.5555 | Take profit: 2099.9335 +2025-03-10 12:27:41,231 - INFO - CLOSED long at 2070.4 | PnL: 0.07% | $-0.11 +2025-03-10 12:27:41,232 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.752 | Take profit: 2039.344 +2025-03-10 12:27:41,916 - INFO - CLOSED short at 2071.11 | PnL: -0.03% | $-0.54 +2025-03-10 12:27:42,234 - INFO - OPENED SHORT at 2067.46 | Stop loss: 2077.7972999999997 | Take profit: 2036.4481 +2025-03-10 12:27:42,398 - INFO - CLOSED short at 2063.61 | PnL: 0.19% | $0.35 +2025-03-10 12:27:43,213 - INFO - OPENED LONG at 2070.73 | Stop loss: 2060.37635 | Take profit: 2101.7909499999996 +2025-03-10 12:27:43,329 - INFO - CLOSED long at 2068.69 | PnL: -0.10% | $-0.80 +2025-03-10 12:27:43,330 - INFO - OPENED SHORT at 2068.69 | Stop loss: 2079.03345 | Take profit: 2037.65965 +2025-03-10 12:27:43,388 - INFO - CLOSED short at 2067.84 | PnL: 0.04% | $-0.24 +2025-03-10 12:27:43,988 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.01845 | Take profit: 2034.7046500000001 +2025-03-10 12:27:44,266 - INFO - CLOSED short at 2065.26 | PnL: 0.02% | $-0.32 +2025-03-10 12:27:44,267 - INFO - OPENED LONG at 2065.26 | Stop loss: 2054.9337 | Take profit: 2096.2389 +2025-03-10 12:27:44,314 - INFO - CLOSED long at 2062.89 | PnL: -0.11% | $-0.85 +2025-03-10 12:27:44,315 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.2044499999997 | Take profit: 2031.9466499999999 +2025-03-10 12:27:44,699 - INFO - CLOSED short at 2066.24 | PnL: -0.16% | $-1.03 +2025-03-10 12:27:44,744 - INFO - OPENED SHORT at 2067.1 | Stop loss: 2077.4354999999996 | Take profit: 2036.0935 +2025-03-10 12:27:44,896 - INFO - CLOSED short at 2064.45 | PnL: 0.13% | $0.11 +2025-03-10 12:27:44,897 - INFO - OPENED LONG at 2064.45 | Stop loss: 2054.1277499999997 | Take profit: 2095.4167499999994 +2025-03-10 12:27:45,590 - INFO - CLOSED long at 2061.8 | PnL: -0.13% | $-0.89 +2025-03-10 12:27:45,646 - INFO - OPENED SHORT at 2064.7 | Stop loss: 2075.0235 | Take profit: 2033.7294999999997 +2025-03-10 12:27:46,027 - INFO - CLOSED short at 2065.36 | PnL: -0.03% | $-0.51 +2025-03-10 12:27:46,028 - INFO - OPENED LONG at 2065.36 | Stop loss: 2055.0332000000003 | Take profit: 2096.3404 +2025-03-10 12:27:46,363 - INFO - CLOSED long at 2063.0 | PnL: -0.11% | $-0.82 +2025-03-10 12:27:46,416 - INFO - OPENED LONG at 2062.6 | Stop loss: 2052.287 | Take profit: 2093.5389999999998 +2025-03-10 12:27:46,937 - INFO - CLOSED long at 2059.46 | PnL: -0.15% | $-0.96 +2025-03-10 12:27:48,442 - INFO - OPENED SHORT at 2067.01 | Stop loss: 2077.34505 | Take profit: 2036.0048500000003 +2025-03-10 12:27:48,773 - INFO - STOP LOSS hit for short at 2077.34505 | PnL: -0.50% | $-2.26 +2025-03-10 12:27:49,175 - INFO - OPENED LONG at 2070.0 | Stop loss: 2059.65 | Take profit: 2101.0499999999997 +2025-03-10 12:27:50,299 - INFO - CLOSED long at 2065.5 | PnL: -0.22% | $-1.17 +2025-03-10 12:27:50,570 - INFO - OPENED LONG at 2066.5 | Stop loss: 2056.1675 | Take profit: 2097.4975 +2025-03-10 12:27:50,782 - INFO - CLOSED long at 2071.35 | PnL: 0.23% | $0.49 +2025-03-10 12:27:50,782 - INFO - OPENED SHORT at 2071.35 | Stop loss: 2081.70675 | Take profit: 2040.27975 +2025-03-10 12:27:50,946 - INFO - CLOSED short at 2070.7 | PnL: 0.03% | $-0.25 +2025-03-10 12:27:51,637 - INFO - OPENED SHORT at 2073.27 | Stop loss: 2083.6363499999998 | Take profit: 2042.17095 +2025-03-10 12:27:52,045 - INFO - CLOSED short at 2069.97 | PnL: 0.16% | $0.22 +2025-03-10 12:27:52,616 - INFO - OPENED SHORT at 2070.1 | Stop loss: 2080.4504999999995 | Take profit: 2039.0484999999999 +2025-03-10 12:27:53,262 - INFO - CLOSED short at 2064.11 | PnL: 0.29% | $0.69 +2025-03-10 12:27:53,485 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.0035 | Take profit: 2029.7894999999999 +2025-03-10 12:27:54,300 - INFO - CLOSED short at 2063.9 | PnL: -0.16% | $-0.94 +2025-03-10 12:27:54,301 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.5805 | Take profit: 2094.8585 +2025-03-10 12:27:54,897 - INFO - CLOSED long at 2060.7 | PnL: -0.16% | $-0.93 +2025-03-10 12:27:54,898 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.0035 | Take profit: 2029.7894999999999 +2025-03-10 12:27:54,951 - INFO - CLOSED short at 2061.84 | PnL: -0.06% | $-0.56 +2025-03-10 12:27:54,952 - INFO - OPENED LONG at 2061.84 | Stop loss: 2051.5308 | Take profit: 2092.7676 +2025-03-10 12:27:55,729 - INFO - CLOSED long at 2076.08 | PnL: 0.69% | $2.12 +2025-03-10 12:27:56,516 - INFO - OPENED SHORT at 2134.78 | Stop loss: 2145.4539 | Take profit: 2102.7583 +2025-03-10 12:27:57,194 - INFO - CLOSED short at 2119.14 | PnL: 0.73% | $2.32 +2025-03-10 12:27:57,194 - INFO - OPENED LONG at 2119.14 | Stop loss: 2108.5443 | Take profit: 2150.9271 +2025-03-10 12:27:57,379 - INFO - STOP LOSS hit for long at 2108.5443 | PnL: -0.50% | $-2.26 +2025-03-10 12:27:57,869 - INFO - OPENED LONG at 2120.81 | Stop loss: 2110.20595 | Take profit: 2152.6221499999997 +2025-03-10 12:27:58,119 - INFO - STOP LOSS hit for long at 2110.20595 | PnL: -0.50% | $-2.20 +2025-03-10 12:27:58,348 - INFO - OPENED SHORT at 2100.5 | Stop loss: 2111.0024999999996 | Take profit: 2068.9925 +2025-03-10 12:27:58,776 - INFO - CLOSED short at 2100.69 | PnL: -0.01% | $-0.39 +2025-03-10 12:27:59,041 - INFO - OPENED LONG at 2104.68 | Stop loss: 2094.1566 | Take profit: 2136.2501999999995 +2025-03-10 12:27:59,376 - INFO - STOP LOSS hit for long at 2094.1566 | PnL: -0.50% | $-2.14 +2025-03-10 12:27:59,759 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 27.3% in downtrends | Avg Win=$0.87, Avg Loss=$-0.87 +2025-03-10 12:27:59,760 - INFO - Episode 16: Reward=214.64, Balance=$87.04, Win Rate=48.7%, Trades=39, Episode PnL=$-11.58, Total PnL=$-437.30, Max Drawdown=14.6%, Pred Accuracy=99.9% +2025-03-10 12:27:59,926 - INFO - Model saved to models/trading_agent_best_reward.pt +2025-03-10 12:27:59,965 - INFO - Identified 25 optimal buy points and 28 optimal sell points +2025-03-10 12:28:00,290 - INFO - OPENED SHORT at 2056.0 | Stop loss: 2066.2799999999997 | Take profit: 2025.16 +2025-03-10 12:28:00,394 - INFO - CLOSED short at 2059.23 | PnL: -0.16% | $-1.03 +2025-03-10 12:28:00,395 - INFO - OPENED LONG at 2059.23 | Stop loss: 2048.93385 | Take profit: 2090.11845 +2025-03-10 12:28:00,449 - INFO - CLOSED long at 2062.9 | PnL: 0.18% | $0.31 +2025-03-10 12:28:00,606 - INFO - OPENED LONG at 2065.64 | Stop loss: 2055.3118 | Take profit: 2096.6245999999996 +2025-03-10 12:28:00,914 - INFO - CLOSED long at 2061.01 | PnL: -0.22% | $-1.29 +2025-03-10 12:28:00,915 - INFO - OPENED SHORT at 2061.01 | Stop loss: 2071.31505 | Take profit: 2030.0948500000002 +2025-03-10 12:28:01,107 - INFO - CLOSED short at 2062.28 | PnL: -0.06% | $-0.63 +2025-03-10 12:28:01,156 - INFO - OPENED LONG at 2062.5 | Stop loss: 2052.1875 | Take profit: 2093.4375 +2025-03-10 12:28:01,937 - INFO - CLOSED long at 2056.4 | PnL: -0.30% | $-1.54 +2025-03-10 12:28:01,938 - INFO - OPENED SHORT at 2056.4 | Stop loss: 2066.682 | Take profit: 2025.554 +2025-03-10 12:28:01,987 - INFO - CLOSED short at 2055.39 | PnL: 0.05% | $-0.20 +2025-03-10 12:28:01,988 - INFO - OPENED LONG at 2055.39 | Stop loss: 2045.11305 | Take profit: 2086.2208499999997 +2025-03-10 12:28:02,506 - INFO - CLOSED long at 2050.2 | PnL: -0.25% | $-1.35 +2025-03-10 12:28:02,506 - INFO - OPENED SHORT at 2050.2 | Stop loss: 2060.4509999999996 | Take profit: 2019.447 +2025-03-10 12:28:02,647 - INFO - CLOSED short at 2049.61 | PnL: 0.03% | $-0.27 +2025-03-10 12:28:03,032 - INFO - OPENED LONG at 2045.99 | Stop loss: 2035.76005 | Take profit: 2076.67985 +2025-03-10 12:28:03,448 - INFO - CLOSED long at 2051.11 | PnL: 0.25% | $0.56 +2025-03-10 12:28:04,664 - INFO - OPENED LONG at 2057.8 | Stop loss: 2047.5110000000002 | Take profit: 2088.667 +2025-03-10 12:28:04,924 - INFO - CLOSED long at 2061.18 | PnL: 0.16% | $0.24 +2025-03-10 12:28:05,458 - INFO - OPENED LONG at 2068.65 | Stop loss: 2058.30675 | Take profit: 2099.67975 +2025-03-10 12:28:05,667 - INFO - CLOSED long at 2070.26 | PnL: 0.08% | $-0.08 +2025-03-10 12:28:05,668 - INFO - OPENED SHORT at 2070.26 | Stop loss: 2080.6113 | Take profit: 2039.2061 +2025-03-10 12:28:06,275 - INFO - CLOSED short at 2070.28 | PnL: -0.00% | $-0.38 +2025-03-10 12:28:06,276 - INFO - OPENED LONG at 2070.28 | Stop loss: 2059.9286 | Take profit: 2101.3342 +2025-03-10 12:28:06,641 - INFO - CLOSED long at 2069.19 | PnL: -0.05% | $-0.58 +2025-03-10 12:28:07,269 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.2445 | Take profit: 2037.8665 +2025-03-10 12:28:07,363 - INFO - CLOSED short at 2068.59 | PnL: 0.01% | $-0.32 +2025-03-10 12:28:07,364 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.24705 | Take profit: 2099.61885 +2025-03-10 12:28:07,518 - INFO - CLOSED long at 2069.96 | PnL: 0.07% | $-0.13 +2025-03-10 12:28:07,518 - INFO - OPENED SHORT at 2069.96 | Stop loss: 2080.3098 | Take profit: 2038.9106 +2025-03-10 12:28:07,565 - INFO - CLOSED short at 2071.4 | PnL: -0.07% | $-0.63 +2025-03-10 12:28:07,961 - INFO - OPENED SHORT at 2073.9 | Stop loss: 2084.2695 | Take profit: 2042.7915 +2025-03-10 12:28:08,737 - INFO - CLOSED short at 2067.89 | PnL: 0.29% | $0.70 +2025-03-10 12:28:08,890 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.9933 | Take profit: 2100.3801 +2025-03-10 12:28:09,171 - INFO - CLOSED long at 2071.59 | PnL: 0.11% | $0.03 +2025-03-10 12:28:09,264 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.0480000000002 | Take profit: 2101.4559999999997 +2025-03-10 12:28:09,412 - INFO - CLOSED long at 2068.69 | PnL: -0.08% | $-0.68 +2025-03-10 12:28:09,562 - INFO - OPENED SHORT at 2067.86 | Stop loss: 2078.1992999999998 | Take profit: 2036.8421 +2025-03-10 12:28:10,193 - INFO - CLOSED short at 2066.15 | PnL: 0.08% | $-0.06 +2025-03-10 12:28:10,193 - INFO - OPENED LONG at 2066.15 | Stop loss: 2055.81925 | Take profit: 2097.14225 +2025-03-10 12:28:10,818 - INFO - CLOSED long at 2066.09 | PnL: -0.00% | $-0.38 +2025-03-10 12:28:10,819 - INFO - OPENED SHORT at 2066.09 | Stop loss: 2076.42045 | Take profit: 2035.0986500000001 +2025-03-10 12:28:12,138 - INFO - CLOSED short at 2063.53 | PnL: 0.12% | $0.09 +2025-03-10 12:28:12,138 - INFO - OPENED LONG at 2063.53 | Stop loss: 2053.2123500000002 | Take profit: 2094.48295 +2025-03-10 12:28:13,156 - INFO - CLOSED long at 2059.8 | PnL: -0.18% | $-1.04 +2025-03-10 12:28:13,157 - INFO - OPENED SHORT at 2059.8 | Stop loss: 2070.099 | Take profit: 2028.9030000000002 +2025-03-10 12:28:13,454 - INFO - CLOSED short at 2063.4 | PnL: -0.17% | $-1.00 +2025-03-10 12:28:13,455 - INFO - OPENED LONG at 2063.4 | Stop loss: 2053.083 | Take profit: 2094.351 +2025-03-10 12:28:13,661 - INFO - CLOSED long at 2064.49 | PnL: 0.05% | $-0.17 +2025-03-10 12:28:13,860 - INFO - OPENED SHORT at 2067.33 | Stop loss: 2077.6666499999997 | Take profit: 2036.3200499999998 +2025-03-10 12:28:14,051 - INFO - CLOSED short at 2072.0 | PnL: -0.23% | $-1.18 +2025-03-10 12:28:14,448 - INFO - OPENED SHORT at 2073.23 | Stop loss: 2083.59615 | Take profit: 2042.13155 +2025-03-10 12:28:14,845 - INFO - CLOSED short at 2072.99 | PnL: 0.01% | $-0.31 +2025-03-10 12:28:14,845 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6250499999996 | Take profit: 2104.0848499999997 +2025-03-10 12:28:15,138 - INFO - CLOSED long at 2065.66 | PnL: -0.35% | $-1.61 +2025-03-10 12:28:15,139 - INFO - OPENED SHORT at 2065.66 | Stop loss: 2075.9882999999995 | Take profit: 2034.6751 +2025-03-10 12:28:15,185 - INFO - CLOSED short at 2063.95 | PnL: 0.08% | $-0.06 +2025-03-10 12:28:15,187 - INFO - OPENED LONG at 2063.95 | Stop loss: 2053.6302499999997 | Take profit: 2094.9092499999997 +2025-03-10 12:28:15,342 - INFO - CLOSED long at 2065.3 | PnL: 0.07% | $-0.12 +2025-03-10 12:28:15,342 - INFO - OPENED SHORT at 2065.3 | Stop loss: 2075.6265 | Take profit: 2034.3205 +2025-03-10 12:28:15,714 - INFO - CLOSED short at 2066.8 | PnL: -0.07% | $-0.60 +2025-03-10 12:28:16,184 - INFO - OPENED SHORT at 2070.8 | Stop loss: 2081.154 | Take profit: 2039.738 +2025-03-10 12:28:16,695 - INFO - CLOSED short at 2075.07 | PnL: -0.21% | $-1.06 +2025-03-10 12:28:17,150 - INFO - OPENED LONG at 2072.09 | Stop loss: 2061.72955 | Take profit: 2103.17135 +2025-03-10 12:28:17,680 - INFO - CLOSED long at 2069.0 | PnL: -0.15% | $-0.85 +2025-03-10 12:28:17,729 - INFO - OPENED LONG at 2070.19 | Stop loss: 2059.83905 | Take profit: 2101.2428499999996 +2025-03-10 12:28:18,131 - INFO - CLOSED long at 2063.39 | PnL: -0.33% | $-1.45 +2025-03-10 12:28:18,748 - INFO - OPENED LONG at 2058.09 | Stop loss: 2047.7995500000002 | Take profit: 2088.96135 +2025-03-10 12:28:18,892 - INFO - CLOSED long at 2053.01 | PnL: -0.25% | $-1.15 +2025-03-10 12:28:18,892 - INFO - OPENED SHORT at 2053.01 | Stop loss: 2063.27505 | Take profit: 2022.2148500000003 +2025-03-10 12:28:19,352 - INFO - STOP LOSS hit for short at 2063.27505 | PnL: -0.50% | $-1.96 +2025-03-10 12:28:20,066 - INFO - OPENED LONG at 2065.72 | Stop loss: 2055.3914 | Take profit: 2096.7057999999997 +2025-03-10 12:28:20,881 - INFO - TAKE PROFIT hit for long at 2096.7057999999997 | PnL: 1.50% | $4.47 +2025-03-10 12:28:21,213 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.0065 | Take profit: 2109.1805 +2025-03-10 12:28:21,415 - INFO - CLOSED short at 2126.99 | PnL: 0.67% | $1.92 +2025-03-10 12:28:21,415 - INFO - OPENED LONG at 2126.99 | Stop loss: 2116.3550499999997 | Take profit: 2158.8948499999997 +2025-03-10 12:28:21,675 - INFO - CLOSED long at 2117.24 | PnL: -0.46% | $-1.93 +2025-03-10 12:28:21,675 - INFO - OPENED SHORT at 2117.24 | Stop loss: 2127.8261999999995 | Take profit: 2085.4813999999997 +2025-03-10 12:28:22,303 - INFO - CLOSED short at 2112.46 | PnL: 0.23% | $0.42 +2025-03-10 12:28:22,304 - INFO - OPENED LONG at 2112.46 | Stop loss: 2101.8977 | Take profit: 2144.1468999999997 +2025-03-10 12:28:22,902 - INFO - STOP LOSS hit for long at 2101.8977 | PnL: -0.50% | $-2.03 +2025-03-10 12:28:23,467 - INFO - OPENED SHORT at 2100.74 | Stop loss: 2111.2436999999995 | Take profit: 2069.2288999999996 +2025-03-10 12:28:23,616 - INFO - CLOSED short at 2101.51 | PnL: -0.04% | $-0.45 +2025-03-10 12:28:23,665 - INFO - OPENED SHORT at 2099.59 | Stop loss: 2110.08795 | Take profit: 2068.0961500000003 +2025-03-10 12:28:23,713 - INFO - CLOSED short at 2100.02 | PnL: -0.02% | $-0.40 +2025-03-10 12:28:24,225 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 28.6% in downtrends | Avg Win=$0.97, Avg Loss=$-0.79 +2025-03-10 12:28:24,225 - INFO - Episode 17: Reward=198.38, Balance=$81.84, Win Rate=44.2%, Trades=43, Episode PnL=$-6.61, Total PnL=$-455.46, Max Drawdown=20.2%, Pred Accuracy=99.8% +2025-03-10 12:28:24,261 - INFO - Identified 25 optimal buy points and 28 optimal sell points +2025-03-10 12:28:24,576 - INFO - OPENED SHORT at 2056.0 | Stop loss: 2066.2799999999997 | Take profit: 2025.16 +2025-03-10 12:28:24,626 - INFO - CLOSED short at 2055.31 | PnL: 0.03% | $-0.27 +2025-03-10 12:28:24,627 - INFO - OPENED LONG at 2055.31 | Stop loss: 2045.03345 | Take profit: 2086.1396499999996 +2025-03-10 12:28:25,548 - INFO - CLOSED long at 2059.03 | PnL: 0.18% | $0.32 +2025-03-10 12:28:25,967 - INFO - OPENED SHORT at 2057.99 | Stop loss: 2068.2799499999996 | Take profit: 2027.1201499999997 +2025-03-10 12:28:26,484 - INFO - CLOSED short at 2053.1 | PnL: 0.24% | $0.55 +2025-03-10 12:28:26,485 - INFO - OPENED LONG at 2053.1 | Stop loss: 2042.8345 | Take profit: 2083.8965 +2025-03-10 12:28:27,119 - INFO - CLOSED long at 2047.4 | PnL: -0.28% | $-1.52 +2025-03-10 12:28:27,323 - INFO - OPENED SHORT at 2045.79 | Stop loss: 2056.0189499999997 | Take profit: 2015.10315 +2025-03-10 12:28:27,529 - INFO - CLOSED short at 2050.0 | PnL: -0.21% | $-1.21 +2025-03-10 12:28:27,680 - INFO - OPENED LONG at 2051.11 | Stop loss: 2040.85445 | Take profit: 2081.87665 +2025-03-10 12:28:28,067 - INFO - CLOSED long at 2060.13 | PnL: 0.44% | $1.33 +2025-03-10 12:28:28,381 - INFO - OPENED SHORT at 2061.61 | Stop loss: 2071.9180499999998 | Take profit: 2030.68585 +2025-03-10 12:28:29,138 - INFO - CLOSED short at 2061.18 | PnL: 0.02% | $-0.31 +2025-03-10 12:28:29,139 - INFO - OPENED LONG at 2061.18 | Stop loss: 2050.8741 | Take profit: 2092.0977 +2025-03-10 12:28:29,287 - INFO - CLOSED long at 2070.58 | PnL: 0.46% | $1.41 +2025-03-10 12:28:29,988 - INFO - OPENED SHORT at 2072.91 | Stop loss: 2083.2745499999996 | Take profit: 2041.8163499999998 +2025-03-10 12:28:30,038 - INFO - CLOSED short at 2072.33 | PnL: 0.03% | $-0.29 +2025-03-10 12:28:30,039 - INFO - OPENED LONG at 2072.33 | Stop loss: 2061.96835 | Take profit: 2103.41495 +2025-03-10 12:28:30,900 - INFO - CLOSED long at 2067.51 | PnL: -0.23% | $-1.33 +2025-03-10 12:28:31,150 - INFO - OPENED LONG at 2066.29 | Stop loss: 2055.95855 | Take profit: 2097.28435 +2025-03-10 12:28:32,146 - INFO - CLOSED long at 2070.4 | PnL: 0.20% | $0.39 +2025-03-10 12:28:32,147 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.752 | Take profit: 2039.344 +2025-03-10 12:28:32,194 - INFO - CLOSED short at 2071.11 | PnL: -0.03% | $-0.53 +2025-03-10 12:28:32,195 - INFO - OPENED LONG at 2071.11 | Stop loss: 2060.75445 | Take profit: 2102.17665 +2025-03-10 12:28:32,339 - INFO - CLOSED long at 2068.32 | PnL: -0.13% | $-0.93 +2025-03-10 12:28:32,339 - INFO - OPENED SHORT at 2068.32 | Stop loss: 2078.6616 | Take profit: 2037.2952 +2025-03-10 12:28:33,536 - INFO - CLOSED short at 2067.86 | PnL: 0.02% | $-0.30 +2025-03-10 12:28:33,741 - INFO - OPENED LONG at 2066.39 | Stop loss: 2056.0580499999996 | Take profit: 2097.3858499999997 +2025-03-10 12:28:33,981 - INFO - CLOSED long at 2065.69 | PnL: -0.03% | $-0.52 +2025-03-10 12:28:34,512 - INFO - OPENED LONG at 2061.3 | Stop loss: 2050.9935 | Take profit: 2092.2195 +2025-03-10 12:28:35,167 - INFO - CLOSED long at 2063.5 | PnL: 0.11% | $0.03 +2025-03-10 12:28:35,167 - INFO - OPENED SHORT at 2063.5 | Stop loss: 2073.8174999999997 | Take profit: 2032.5475 +2025-03-10 12:28:35,877 - INFO - CLOSED short at 2064.1 | PnL: -0.03% | $-0.50 +2025-03-10 12:28:35,878 - INFO - OPENED LONG at 2064.1 | Stop loss: 2053.7795 | Take profit: 2095.0615 +2025-03-10 12:28:35,976 - INFO - CLOSED long at 2064.33 | PnL: 0.01% | $-0.34 +2025-03-10 12:28:35,976 - INFO - OPENED SHORT at 2064.33 | Stop loss: 2074.65165 | Take profit: 2033.3650499999999 +2025-03-10 12:28:36,627 - INFO - CLOSED short at 2059.02 | PnL: 0.26% | $0.60 +2025-03-10 12:28:36,681 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.1844499999997 | Take profit: 2028.0066499999998 +2025-03-10 12:28:36,727 - INFO - CLOSED short at 2059.96 | PnL: -0.05% | $-0.59 +2025-03-10 12:28:36,823 - INFO - OPENED SHORT at 2057.4 | Stop loss: 2067.687 | Take profit: 2026.539 +2025-03-10 12:28:36,970 - INFO - CLOSED short at 2055.6 | PnL: 0.09% | $-0.05 +2025-03-10 12:28:37,071 - INFO - OPENED LONG at 2054.83 | Stop loss: 2044.55585 | Take profit: 2085.6524499999996 +2025-03-10 12:28:37,178 - INFO - CLOSED long at 2058.15 | PnL: 0.16% | $0.24 +2025-03-10 12:28:37,178 - INFO - OPENED SHORT at 2058.15 | Stop loss: 2068.4407499999998 | Take profit: 2027.27775 +2025-03-10 12:28:37,537 - INFO - CLOSED short at 2063.4 | PnL: -0.26% | $-1.37 +2025-03-10 12:28:38,107 - INFO - OPENED LONG at 2069.79 | Stop loss: 2059.44105 | Take profit: 2100.8368499999997 +2025-03-10 12:28:38,260 - INFO - CLOSED long at 2078.01 | PnL: 0.40% | $1.13 +2025-03-10 12:28:38,624 - INFO - OPENED LONG at 2070.0 | Stop loss: 2059.65 | Take profit: 2101.0499999999997 +2025-03-10 12:28:39,832 - INFO - CLOSED long at 2066.5 | PnL: -0.17% | $-1.03 +2025-03-10 12:28:39,832 - INFO - OPENED SHORT at 2066.5 | Stop loss: 2076.8325 | Take profit: 2035.5025 +2025-03-10 12:28:40,712 - INFO - CLOSED short at 2074.37 | PnL: -0.38% | $-1.83 +2025-03-10 12:28:42,683 - INFO - OPENED SHORT at 2060.2 | Stop loss: 2070.5009999999997 | Take profit: 2029.2969999999998 +2025-03-10 12:28:43,576 - INFO - CLOSED short at 2065.12 | PnL: -0.24% | $-1.26 +2025-03-10 12:28:43,577 - INFO - OPENED LONG at 2065.12 | Stop loss: 2054.7943999999998 | Take profit: 2096.0968 +2025-03-10 12:28:44,839 - INFO - CLOSED long at 2103.02 | PnL: 1.84% | $6.37 +2025-03-10 12:28:44,840 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.5350999999996 | Take profit: 2071.4746999999998 +2025-03-10 12:28:44,889 - INFO - STOP LOSS hit for short at 2113.5350999999996 | PnL: -0.50% | $-2.36 +2025-03-10 12:28:45,077 - INFO - OPENED SHORT at 2137.59 | Stop loss: 2148.2779499999997 | Take profit: 2105.52615 +2025-03-10 12:28:45,328 - INFO - CLOSED short at 2134.78 | PnL: 0.13% | $0.12 +2025-03-10 12:28:45,329 - INFO - OPENED LONG at 2134.78 | Stop loss: 2124.1061 | Take profit: 2166.8017 +2025-03-10 12:28:45,545 - INFO - STOP LOSS hit for long at 2124.1061 | PnL: -0.50% | $-2.30 +2025-03-10 12:28:46,141 - INFO - OPENED LONG at 2112.95 | Stop loss: 2102.38525 | Take profit: 2144.64425 +2025-03-10 12:28:46,708 - INFO - STOP LOSS hit for long at 2102.38525 | PnL: -0.50% | $-2.25 +2025-03-10 12:28:47,256 - INFO - OPENED SHORT at 2100.74 | Stop loss: 2111.2436999999995 | Take profit: 2069.2288999999996 +2025-03-10 12:28:47,691 - INFO - CLOSED short at 2093.46 | PnL: 0.35% | $0.90 +2025-03-10 12:28:47,855 - INFO - OPENED SHORT at 2091.1 | Stop loss: 2101.5554999999995 | Take profit: 2059.7335 +2025-03-10 12:28:47,903 - INFO - CLOSED short at 2094.72 | PnL: -0.17% | $-1.01 +2025-03-10 12:28:47,904 - INFO - OPENED LONG at 2094.72 | Stop loss: 2084.2464 | Take profit: 2126.1407999999997 +2025-03-10 12:28:48,060 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 16.7% in downtrends | Avg Win=$1.12, Avg Loss=$-1.00 +2025-03-10 12:28:48,062 - INFO - Episode 18: Reward=218.68, Balance=$91.30, Win Rate=52.9%, Trades=34, Episode PnL=$-9.93, Total PnL=$-464.16, Max Drawdown=8.9%, Pred Accuracy=99.9% +2025-03-10 12:28:48,221 - INFO - Model saved to models/trading_agent_best_reward.pt +2025-03-10 12:28:48,254 - INFO - Identified 25 optimal buy points and 28 optimal sell points +2025-03-10 12:28:49,340 - INFO - OPENED LONG at 2062.75 | Stop loss: 2052.43625 | Take profit: 2093.69125 +2025-03-10 12:28:49,844 - INFO - CLOSED long at 2060.1 | PnL: -0.13% | $-0.91 +2025-03-10 12:28:50,260 - INFO - OPENED LONG at 2058.51 | Stop loss: 2048.21745 | Take profit: 2089.38765 +2025-03-10 12:28:51,353 - INFO - STOP LOSS hit for long at 2048.21745 | PnL: -0.50% | $-2.38 +2025-03-10 12:28:53,205 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.2044499999997 | Take profit: 2031.9466499999999 +2025-03-10 12:28:53,694 - INFO - CLOSED short at 2064.32 | PnL: -0.07% | $-0.65 +2025-03-10 12:28:53,913 - INFO - OPENED LONG at 2068.29 | Stop loss: 2057.94855 | Take profit: 2099.3143499999996 +2025-03-10 12:28:54,258 - INFO - CLOSED long at 2068.99 | PnL: 0.03% | $-0.25 +2025-03-10 12:28:54,485 - INFO - OPENED SHORT at 2071.44 | Stop loss: 2081.7972 | Take profit: 2040.3684 +2025-03-10 12:28:54,643 - INFO - CLOSED short at 2072.91 | PnL: -0.07% | $-0.66 +2025-03-10 12:28:54,644 - INFO - OPENED LONG at 2072.91 | Stop loss: 2062.5454499999996 | Take profit: 2104.0036499999997 +2025-03-10 12:28:55,673 - INFO - CLOSED long at 2066.39 | PnL: -0.31% | $-1.58 +2025-03-10 12:28:55,822 - INFO - OPENED SHORT at 2066.29 | Stop loss: 2076.6214499999996 | Take profit: 2035.29565 +2025-03-10 12:28:56,069 - INFO - CLOSED short at 2068.51 | PnL: -0.11% | $-0.78 +2025-03-10 12:28:56,070 - INFO - OPENED LONG at 2068.51 | Stop loss: 2058.1674500000004 | Take profit: 2099.53765 +2025-03-10 12:28:56,275 - INFO - CLOSED long at 2069.96 | PnL: 0.07% | $-0.11 +2025-03-10 12:28:56,275 - INFO - OPENED SHORT at 2069.96 | Stop loss: 2080.3098 | Take profit: 2038.9106 +2025-03-10 12:28:56,994 - INFO - CLOSED short at 2069.35 | PnL: 0.03% | $-0.26 +2025-03-10 12:28:56,995 - INFO - OPENED LONG at 2069.35 | Stop loss: 2059.0032499999998 | Take profit: 2100.39025 +2025-03-10 12:28:59,027 - INFO - CLOSED long at 2066.15 | PnL: -0.15% | $-0.94 +2025-03-10 12:28:59,027 - INFO - OPENED SHORT at 2066.15 | Stop loss: 2076.4807499999997 | Take profit: 2035.15775 +2025-03-10 12:28:59,294 - INFO - CLOSED short at 2059.59 | PnL: 0.32% | $0.80 +2025-03-10 12:28:59,565 - INFO - OPENED LONG at 2067.1 | Stop loss: 2056.7644999999998 | Take profit: 2098.1065 +2025-03-10 12:29:00,022 - INFO - CLOSED long at 2061.6 | PnL: -0.27% | $-1.35 +2025-03-10 12:29:00,023 - INFO - OPENED SHORT at 2061.6 | Stop loss: 2071.908 | Take profit: 2030.676 +2025-03-10 12:29:01,765 - INFO - CLOSED short at 2059.96 | PnL: 0.08% | $-0.07 +2025-03-10 12:29:01,766 - INFO - OPENED LONG at 2059.96 | Stop loss: 2049.6602 | Take profit: 2090.8594 +2025-03-10 12:29:02,207 - INFO - CLOSED long at 2056.71 | PnL: -0.16% | $-0.94 +2025-03-10 12:29:02,208 - INFO - OPENED SHORT at 2056.71 | Stop loss: 2066.9935499999997 | Take profit: 2025.85935 +2025-03-10 12:29:02,374 - INFO - CLOSED short at 2061.66 | PnL: -0.24% | $-1.23 +2025-03-10 12:29:02,533 - INFO - OPENED LONG at 2061.3 | Stop loss: 2050.9935 | Take profit: 2092.2195 +2025-03-10 12:29:03,553 - INFO - CLOSED long at 2078.01 | PnL: 0.81% | $2.52 +2025-03-10 12:29:03,554 - INFO - OPENED SHORT at 2078.01 | Stop loss: 2088.40005 | Take profit: 2046.8398500000003 +2025-03-10 12:29:03,646 - INFO - CLOSED short at 2072.6 | PnL: 0.26% | $0.58 +2025-03-10 12:29:03,835 - INFO - OPENED SHORT at 2073.23 | Stop loss: 2083.59615 | Take profit: 2042.13155 +2025-03-10 12:29:04,312 - INFO - CLOSED short at 2069.87 | PnL: 0.16% | $0.23 +2025-03-10 12:29:04,318 - INFO - OPENED LONG at 2069.87 | Stop loss: 2059.52065 | Take profit: 2100.9180499999998 +2025-03-10 12:29:05,726 - INFO - CLOSED long at 2071.99 | PnL: 0.10% | $0.01 +2025-03-10 12:29:05,727 - INFO - OPENED SHORT at 2071.99 | Stop loss: 2082.3499499999994 | Take profit: 2040.9101499999997 +2025-03-10 12:29:07,307 - INFO - CLOSED short at 2065.7 | PnL: 0.30% | $0.75 +2025-03-10 12:29:07,309 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.3714999999997 | Take profit: 2096.6854999999996 +2025-03-10 12:29:07,411 - INFO - CLOSED long at 2065.07 | PnL: -0.03% | $-0.48 +2025-03-10 12:29:07,411 - INFO - OPENED SHORT at 2065.07 | Stop loss: 2075.39535 | Take profit: 2034.0939500000002 +2025-03-10 12:29:07,636 - INFO - CLOSED short at 2063.98 | PnL: 0.05% | $-0.17 +2025-03-10 12:29:08,790 - INFO - OPENED SHORT at 2062.83 | Stop loss: 2073.1441499999996 | Take profit: 2031.88755 +2025-03-10 12:29:08,832 - INFO - CLOSED short at 2063.9 | PnL: -0.05% | $-0.56 +2025-03-10 12:29:08,832 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.5805 | Take profit: 2094.8585 +2025-03-10 12:29:09,063 - INFO - CLOSED long at 2068.33 | PnL: 0.21% | $0.42 +2025-03-10 12:29:09,064 - INFO - OPENED SHORT at 2068.33 | Stop loss: 2078.6716499999998 | Take profit: 2037.30505 +2025-03-10 12:29:09,506 - INFO - CLOSED short at 2065.72 | PnL: 0.13% | $0.10 +2025-03-10 12:29:09,508 - INFO - OPENED LONG at 2065.72 | Stop loss: 2055.3914 | Take profit: 2096.7057999999997 +2025-03-10 12:29:10,310 - INFO - TAKE PROFIT hit for long at 2096.7057999999997 | PnL: 1.50% | $5.16 +2025-03-10 12:29:10,995 - INFO - OPENED SHORT at 2121.09 | Stop loss: 2131.6954499999997 | Take profit: 2089.27365 +2025-03-10 12:29:11,145 - INFO - CLOSED short at 2119.93 | PnL: 0.05% | $-0.18 +2025-03-10 12:29:11,146 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.3303499999997 | Take profit: 2151.7289499999997 +2025-03-10 12:29:11,469 - INFO - STOP LOSS hit for long at 2109.3303499999997 | PnL: -0.50% | $-2.33 +2025-03-10 12:29:11,965 - INFO - OPENED SHORT at 2114.8 | Stop loss: 2125.374 | Take profit: 2083.078 +2025-03-10 12:29:12,908 - INFO - CLOSED short at 2104.68 | PnL: 0.48% | $1.43 +2025-03-10 12:29:12,909 - INFO - OPENED LONG at 2104.68 | Stop loss: 2094.1566 | Take profit: 2136.2501999999995 +2025-03-10 12:29:13,173 - INFO - CLOSED long at 2095.29 | PnL: -0.45% | $-2.10 +2025-03-10 12:29:13,602 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 38.5% in downtrends | Avg Win=$1.20, Avg Loss=$-0.90 +2025-03-10 12:29:13,603 - INFO - Episode 19: Reward=217.85, Balance=$94.06, Win Rate=53.3%, Trades=30, Episode PnL=$-5.07, Total PnL=$-470.10, Max Drawdown=11.3%, Pred Accuracy=99.9% +2025-03-10 12:29:13,762 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 12:29:13,800 - INFO - Identified 25 optimal buy points and 28 optimal sell points +2025-03-10 12:29:15,241 - INFO - OPENED LONG at 2057.59 | Stop loss: 2047.3020500000002 | Take profit: 2088.45385 +2025-03-10 12:29:15,491 - INFO - CLOSED long at 2060.51 | PnL: 0.14% | $0.17 +2025-03-10 12:29:16,036 - INFO - OPENED SHORT at 2055.39 | Stop loss: 2065.66695 | Take profit: 2024.5591499999998 +2025-03-10 12:29:16,086 - INFO - CLOSED short at 2053.56 | PnL: 0.09% | $-0.04 +2025-03-10 12:29:16,086 - INFO - OPENED LONG at 2053.56 | Stop loss: 2043.2921999999999 | Take profit: 2084.3633999999997 +2025-03-10 12:29:16,905 - INFO - CLOSED long at 2047.39 | PnL: -0.30% | $-1.60 +2025-03-10 12:29:17,202 - INFO - OPENED SHORT at 2045.99 | Stop loss: 2056.2199499999997 | Take profit: 2015.30015 +2025-03-10 12:29:17,943 - INFO - STOP LOSS hit for short at 2056.2199499999997 | PnL: -0.50% | $-2.36 +2025-03-10 12:29:19,233 - INFO - OPENED SHORT at 2064.32 | Stop loss: 2074.6416 | Take profit: 2033.3552000000002 +2025-03-10 12:29:19,581 - INFO - CLOSED short at 2070.99 | PnL: -0.32% | $-1.63 +2025-03-10 12:29:19,726 - INFO - OPENED LONG at 2068.99 | Stop loss: 2058.6450499999996 | Take profit: 2100.02485 +2025-03-10 12:29:19,968 - INFO - CLOSED long at 2073.73 | PnL: 0.23% | $0.49 +2025-03-10 12:29:20,525 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.3601 | Take profit: 2036.9996999999998 +2025-03-10 12:29:20,573 - INFO - CLOSED short at 2067.2 | PnL: 0.04% | $-0.23 +2025-03-10 12:29:20,573 - INFO - OPENED LONG at 2067.2 | Stop loss: 2056.864 | Take profit: 2098.2079999999996 +2025-03-10 12:29:20,770 - INFO - CLOSED long at 2069.34 | PnL: 0.10% | $0.01 +2025-03-10 12:29:20,771 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.6866999999997 | Take profit: 2038.2999000000002 +2025-03-10 12:29:20,917 - INFO - CLOSED short at 2067.6 | PnL: 0.08% | $-0.06 +2025-03-10 12:29:21,763 - INFO - OPENED SHORT at 2071.39 | Stop loss: 2081.7469499999997 | Take profit: 2040.3191499999998 +2025-03-10 12:29:21,963 - INFO - CLOSED short at 2072.7 | PnL: -0.06% | $-0.62 +2025-03-10 12:29:22,501 - INFO - OPENED LONG at 2067.0 | Stop loss: 2056.665 | Take profit: 2098.0049999999997 +2025-03-10 12:29:22,823 - INFO - CLOSED long at 2065.26 | PnL: -0.08% | $-0.69 +2025-03-10 12:29:22,824 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.5863 | Take profit: 2034.2811000000002 +2025-03-10 12:29:24,034 - INFO - CLOSED short at 2070.04 | PnL: -0.23% | $-1.24 +2025-03-10 12:29:24,821 - INFO - OPENED SHORT at 2066.24 | Stop loss: 2076.5711999999994 | Take profit: 2035.2463999999998 +2025-03-10 12:29:25,114 - INFO - CLOSED short at 2062.71 | PnL: 0.17% | $0.26 +2025-03-10 12:29:26,991 - INFO - OPENED SHORT at 2058.28 | Stop loss: 2068.5714 | Take profit: 2027.4058000000002 +2025-03-10 12:29:27,368 - INFO - CLOSED short at 2061.66 | PnL: -0.16% | $-0.98 +2025-03-10 12:29:27,369 - INFO - OPENED LONG at 2061.66 | Stop loss: 2051.3516999999997 | Take profit: 2092.5849 +2025-03-10 12:29:28,237 - INFO - CLOSED long at 2072.0 | PnL: 0.50% | $1.47 +2025-03-10 12:29:28,238 - INFO - OPENED SHORT at 2072.0 | Stop loss: 2082.3599999999997 | Take profit: 2040.92 +2025-03-10 12:29:29,638 - INFO - CLOSED short at 2064.4 | PnL: 0.37% | $0.99 +2025-03-10 12:29:29,639 - INFO - OPENED LONG at 2064.4 | Stop loss: 2054.078 | Take profit: 2095.366 +2025-03-10 12:29:30,133 - INFO - CLOSED long at 2070.2 | PnL: 0.28% | $0.68 +2025-03-10 12:29:30,340 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3464999999997 | Take profit: 2101.7604999999994 +2025-03-10 12:29:31,436 - INFO - CLOSED long at 2067.7 | PnL: -0.14% | $-0.93 +2025-03-10 12:29:31,437 - INFO - OPENED SHORT at 2067.7 | Stop loss: 2078.0384999999997 | Take profit: 2036.6844999999998 +2025-03-10 12:29:31,976 - INFO - CLOSED short at 2070.1 | PnL: -0.12% | $-0.81 +2025-03-10 12:29:31,977 - INFO - OPENED LONG at 2070.1 | Stop loss: 2059.7495 | Take profit: 2101.1514999999995 +2025-03-10 12:29:32,277 - INFO - CLOSED long at 2066.09 | PnL: -0.19% | $-1.09 +2025-03-10 12:29:32,278 - INFO - OPENED SHORT at 2066.09 | Stop loss: 2076.42045 | Take profit: 2035.0986500000001 +2025-03-10 12:29:32,827 - INFO - CLOSED short at 2060.2 | PnL: 0.29% | $0.68 +2025-03-10 12:29:33,615 - INFO - OPENED SHORT at 2062.43 | Stop loss: 2072.7421499999996 | Take profit: 2031.49355 +2025-03-10 12:29:33,923 - INFO - CLOSED short at 2064.08 | PnL: -0.08% | $-0.67 +2025-03-10 12:29:34,379 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.9933 | Take profit: 2100.3801 +2025-03-10 12:29:34,585 - INFO - CLOSED long at 2074.05 | PnL: 0.23% | $0.47 +2025-03-10 12:29:34,585 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.42025 | Take profit: 2042.9392500000001 +2025-03-10 12:29:34,791 - INFO - CLOSED short at 2074.9 | PnL: -0.04% | $-0.52 +2025-03-10 12:29:35,189 - INFO - OPENED LONG at 2131.78 | Stop loss: 2121.1211000000003 | Take profit: 2163.7567 +2025-03-10 12:29:35,234 - INFO - CLOSED long at 2133.95 | PnL: 0.10% | $0.01 +2025-03-10 12:29:35,771 - INFO - OPENED LONG at 2121.09 | Stop loss: 2110.48455 | Take profit: 2152.9063499999997 +2025-03-10 12:29:35,984 - INFO - CLOSED long at 2121.4 | PnL: 0.01% | $-0.31 +2025-03-10 12:29:36,654 - INFO - OPENED LONG at 2120.81 | Stop loss: 2110.20595 | Take profit: 2152.6221499999997 +2025-03-10 12:29:36,864 - INFO - STOP LOSS hit for long at 2110.20595 | PnL: -0.50% | $-2.19 +2025-03-10 12:29:37,347 - INFO - OPENED LONG at 2099.25 | Stop loss: 2088.75375 | Take profit: 2130.73875 +2025-03-10 12:29:38,306 - INFO - STOP LOSS hit for long at 2088.75375 | PnL: -0.50% | $-2.14 +2025-03-10 12:29:38,362 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 12.5% in downtrends | Avg Win=$0.52, Avg Loss=$-1.01 +2025-03-10 12:29:38,363 - INFO - Episode 20: Reward=220.91, Balance=$87.11, Win Rate=50.0%, Trades=28, Episode PnL=$-11.07, Total PnL=$-483.00, Max Drawdown=13.0%, Pred Accuracy=99.9% +2025-03-10 12:29:38,525 - INFO - Model saved to models/trading_agent_best_reward.pt +2025-03-10 12:29:38,660 - INFO - Model saved to models/trading_agent_episode_20.pt +2025-03-10 12:29:38,684 - INFO - Identified 25 optimal buy points and 28 optimal sell points +2025-03-10 12:29:39,186 - INFO - OPENED SHORT at 2060.94 | Stop loss: 2071.2446999999997 | Take profit: 2030.0259 +2025-03-10 12:29:41,712 - INFO - CLOSED short at 2047.2 | PnL: 0.67% | $2.27 +2025-03-10 12:29:41,712 - INFO - OPENED LONG at 2047.2 | Stop loss: 2036.964 | Take profit: 2077.908 +2025-03-10 12:29:42,022 - INFO - CLOSED long at 2048.51 | PnL: 0.06% | $-0.15 +2025-03-10 12:29:42,023 - INFO - OPENED SHORT at 2048.51 | Stop loss: 2058.75255 | Take profit: 2017.7823500000002 +2025-03-10 12:29:42,627 - INFO - CLOSED short at 2060.13 | PnL: -0.57% | $-2.73 +2025-03-10 12:29:42,629 - INFO - OPENED LONG at 2060.13 | Stop loss: 2049.82935 | Take profit: 2091.03195 +2025-03-10 12:29:43,393 - INFO - CLOSED long at 2059.49 | PnL: -0.03% | $-0.52 +2025-03-10 12:29:43,394 - INFO - OPENED SHORT at 2059.49 | Stop loss: 2069.7874499999994 | Take profit: 2028.5976499999997 +2025-03-10 12:29:43,869 - INFO - STOP LOSS hit for short at 2069.7874499999994 | PnL: -0.50% | $-2.37 +2025-03-10 12:29:43,918 - INFO - OPENED LONG at 2068.11 | Stop loss: 2057.7694500000002 | Take profit: 2099.13165 +2025-03-10 12:29:44,174 - INFO - CLOSED long at 2069.6 | PnL: 0.07% | $-0.11 +2025-03-10 12:29:44,175 - INFO - OPENED SHORT at 2069.6 | Stop loss: 2079.948 | Take profit: 2038.5559999999998 +2025-03-10 12:29:44,673 - INFO - CLOSED short at 2072.33 | PnL: -0.13% | $-0.89 +2025-03-10 12:29:44,864 - INFO - OPENED LONG at 2070.9 | Stop loss: 2060.5455 | Take profit: 2101.9635 +2025-03-10 12:29:45,966 - INFO - CLOSED long at 2068.9 | PnL: -0.10% | $-0.75 +2025-03-10 12:29:45,966 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.2445 | Take profit: 2037.8665 +2025-03-10 12:29:46,012 - INFO - CLOSED short at 2068.51 | PnL: 0.02% | $-0.31 +2025-03-10 12:29:46,013 - INFO - OPENED LONG at 2068.51 | Stop loss: 2058.1674500000004 | Take profit: 2099.53765 +2025-03-10 12:29:46,167 - INFO - CLOSED long at 2070.4 | PnL: 0.09% | $-0.03 +2025-03-10 12:29:47,872 - INFO - OPENED SHORT at 2071.59 | Stop loss: 2081.9479499999998 | Take profit: 2040.5161500000002 +2025-03-10 12:29:48,248 - INFO - CLOSED short at 2067.11 | PnL: 0.22% | $0.44 +2025-03-10 12:29:48,250 - INFO - OPENED LONG at 2067.11 | Stop loss: 2056.7744500000003 | Take profit: 2098.11665 +2025-03-10 12:29:48,926 - INFO - CLOSED long at 2065.83 | PnL: -0.06% | $-0.61 +2025-03-10 12:29:48,927 - INFO - OPENED SHORT at 2065.83 | Stop loss: 2076.1591499999995 | Take profit: 2034.8425499999998 +2025-03-10 12:29:49,078 - INFO - CLOSED short at 2062.89 | PnL: 0.14% | $0.16 +2025-03-10 12:29:49,509 - INFO - OPENED LONG at 2067.1 | Stop loss: 2056.7644999999998 | Take profit: 2098.1065 +2025-03-10 12:29:50,329 - INFO - CLOSED long at 2064.7 | PnL: -0.12% | $-0.82 +2025-03-10 12:29:51,316 - INFO - OPENED SHORT at 2059.61 | Stop loss: 2069.90805 | Take profit: 2028.71585 +2025-03-10 12:29:51,943 - INFO - CLOSED short at 2056.71 | PnL: 0.14% | $0.15 +2025-03-10 12:29:52,423 - INFO - OPENED SHORT at 2066.01 | Stop loss: 2076.34005 | Take profit: 2035.0198500000001 +2025-03-10 12:29:53,029 - INFO - STOP LOSS hit for short at 2076.34005 | PnL: -0.50% | $-2.25 +2025-03-10 12:29:55,750 - INFO - OPENED LONG at 2075.29 | Stop loss: 2064.9135499999998 | Take profit: 2106.4193499999997 +2025-03-10 12:29:55,845 - INFO - CLOSED long at 2075.61 | PnL: 0.02% | $-0.31 +2025-03-10 12:29:55,992 - INFO - OPENED LONG at 2069.97 | Stop loss: 2059.6201499999997 | Take profit: 2101.0195499999995 +2025-03-10 12:29:56,531 - INFO - CLOSED long at 2070.1 | PnL: 0.01% | $-0.34 +2025-03-10 12:29:56,532 - INFO - OPENED SHORT at 2070.1 | Stop loss: 2080.4504999999995 | Take profit: 2039.0484999999999 +2025-03-10 12:29:56,581 - INFO - CLOSED short at 2067.19 | PnL: 0.14% | $0.15 +2025-03-10 12:29:57,395 - INFO - OPENED LONG at 2060.2 | Stop loss: 2049.899 | Take profit: 2091.1029999999996 +2025-03-10 12:29:57,685 - INFO - STOP LOSS hit for long at 2049.899 | PnL: -0.50% | $-2.18 +2025-03-10 12:29:57,731 - INFO - OPENED SHORT at 2049.5 | Stop loss: 2059.7475 | Take profit: 2018.7575 +2025-03-10 12:29:58,046 - INFO - STOP LOSS hit for short at 2059.7475 | PnL: -0.50% | $-2.13 +2025-03-10 12:29:58,520 - INFO - OPENED SHORT at 2064.08 | Stop loss: 2074.4003999999995 | Take profit: 2033.1188 +2025-03-10 12:29:59,380 - INFO - STOP LOSS hit for short at 2074.4003999999995 | PnL: -0.50% | $-2.08 +2025-03-10 12:29:59,486 - INFO - OPENED LONG at 2077.61 | Stop loss: 2067.22195 | Take profit: 2108.7741499999997 +2025-03-10 12:29:59,638 - INFO - CLOSED long at 2103.02 | PnL: 1.22% | $3.80 +2025-03-10 12:29:59,639 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.5350999999996 | Take profit: 2071.4746999999998 +2025-03-10 12:29:59,693 - INFO - STOP LOSS hit for short at 2113.5350999999996 | PnL: -0.50% | $-2.12 +2025-03-10 12:30:00,296 - INFO - OPENED LONG at 2128.69 | Stop loss: 2118.04655 | Take profit: 2160.6203499999997 +2025-03-10 12:30:00,450 - INFO - STOP LOSS hit for long at 2118.04655 | PnL: -0.50% | $-2.07 +2025-03-10 12:30:00,659 - INFO - OPENED SHORT at 2119.14 | Stop loss: 2129.7356999999997 | Take profit: 2087.3529 +2025-03-10 12:30:01,542 - INFO - CLOSED short at 2103.33 | PnL: 0.75% | $2.18 +2025-03-10 12:30:01,907 - INFO - OPENED SHORT at 2099.25 | Stop loss: 2109.7462499999997 | Take profit: 2067.76125 +2025-03-10 12:30:01,956 - INFO - CLOSED short at 2098.9 | PnL: 0.02% | $-0.29 +2025-03-10 12:30:02,919 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 18.2% in downtrends | Avg Win=$1.31, Avg Loss=$-1.15 +2025-03-10 12:30:02,920 - INFO - Episode 21: Reward=220.94, Balance=$86.08, Win Rate=51.9%, Trades=27, Episode PnL=$-14.91, Total PnL=$-496.92, Max Drawdown=15.8%, Pred Accuracy=99.9% +2025-03-10 12:30:03,075 - INFO - Model saved to models/trading_agent_best_reward.pt +2025-03-10 12:30:03,110 - INFO - Identified 25 optimal buy points and 28 optimal sell points +2025-03-10 12:30:04,391 - INFO - OPENED SHORT at 2057.59 | Stop loss: 2067.87795 | Take profit: 2026.7261500000002 +2025-03-10 12:30:04,443 - INFO - CLOSED short at 2059.03 | PnL: -0.07% | $-0.68 +2025-03-10 12:30:04,549 - INFO - OPENED SHORT at 2060.1 | Stop loss: 2070.4004999999997 | Take profit: 2029.1985 +2025-03-10 12:30:06,389 - INFO - CLOSED short at 2048.51 | PnL: 0.56% | $1.84 +2025-03-10 12:30:06,727 - INFO - OPENED SHORT at 2052.3 | Stop loss: 2062.5615 | Take profit: 2021.5155000000002 +2025-03-10 12:30:06,823 - INFO - CLOSED short at 2057.01 | PnL: -0.23% | $-1.33 +2025-03-10 12:30:06,825 - INFO - OPENED LONG at 2057.01 | Stop loss: 2046.7249500000003 | Take profit: 2087.86515 +2025-03-10 12:30:07,027 - INFO - CLOSED long at 2059.7 | PnL: 0.13% | $0.12 +2025-03-10 12:30:07,028 - INFO - OPENED SHORT at 2059.7 | Stop loss: 2069.9984999999997 | Take profit: 2028.8044999999997 +2025-03-10 12:30:08,188 - INFO - STOP LOSS hit for short at 2069.9984999999997 | PnL: -0.50% | $-2.40 +2025-03-10 12:30:08,549 - INFO - OPENED SHORT at 2068.65 | Stop loss: 2078.99325 | Take profit: 2037.6202500000002 +2025-03-10 12:30:08,597 - INFO - CLOSED short at 2068.99 | PnL: -0.02% | $-0.45 +2025-03-10 12:30:08,598 - INFO - OPENED LONG at 2068.99 | Stop loss: 2058.6450499999996 | Take profit: 2100.02485 +2025-03-10 12:30:10,664 - INFO - CLOSED long at 2071.4 | PnL: 0.12% | $0.06 +2025-03-10 12:30:11,377 - INFO - OPENED LONG at 2068.32 | Stop loss: 2057.9784 | Take profit: 2099.3448 +2025-03-10 12:30:11,479 - INFO - CLOSED long at 2067.79 | PnL: -0.03% | $-0.49 +2025-03-10 12:30:11,479 - INFO - OPENED SHORT at 2067.79 | Stop loss: 2078.12895 | Take profit: 2036.77315 +2025-03-10 12:30:12,903 - INFO - CLOSED short at 2070.04 | PnL: -0.11% | $-0.81 +2025-03-10 12:30:13,719 - INFO - OPENED SHORT at 2066.24 | Stop loss: 2076.5711999999994 | Take profit: 2035.2463999999998 +2025-03-10 12:30:13,913 - INFO - CLOSED short at 2064.45 | PnL: 0.09% | $-0.05 +2025-03-10 12:30:13,914 - INFO - OPENED LONG at 2064.45 | Stop loss: 2054.1277499999997 | Take profit: 2095.4167499999994 +2025-03-10 12:30:14,226 - INFO - CLOSED long at 2061.6 | PnL: -0.14% | $-0.91 +2025-03-10 12:30:14,227 - INFO - OPENED SHORT at 2061.6 | Stop loss: 2071.908 | Take profit: 2030.676 +2025-03-10 12:30:15,785 - INFO - CLOSED short at 2059.96 | PnL: 0.08% | $-0.08 +2025-03-10 12:30:15,786 - INFO - OPENED LONG at 2059.96 | Stop loss: 2049.6602 | Take profit: 2090.8594 +2025-03-10 12:30:17,715 - INFO - CLOSED long at 2070.0 | PnL: 0.49% | $1.47 +2025-03-10 12:30:17,716 - INFO - OPENED SHORT at 2070.0 | Stop loss: 2080.35 | Take profit: 2038.95 +2025-03-10 12:30:18,516 - INFO - CLOSED short at 2063.97 | PnL: 0.29% | $0.74 +2025-03-10 12:30:18,517 - INFO - OPENED LONG at 2063.97 | Stop loss: 2053.65015 | Take profit: 2094.9295499999994 +2025-03-10 12:30:18,768 - INFO - CLOSED long at 2065.5 | PnL: 0.07% | $-0.10 +2025-03-10 12:30:19,050 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.24705 | Take profit: 2099.61885 +2025-03-10 12:30:19,975 - INFO - CLOSED long at 2074.35 | PnL: 0.28% | $0.69 +2025-03-10 12:30:21,001 - INFO - OPENED LONG at 2070.19 | Stop loss: 2059.83905 | Take profit: 2101.2428499999996 +2025-03-10 12:30:22,003 - INFO - STOP LOSS hit for long at 2059.83905 | PnL: -0.50% | $-2.34 +2025-03-10 12:30:22,199 - INFO - OPENED SHORT at 2053.01 | Stop loss: 2063.27505 | Take profit: 2022.2148500000003 +2025-03-10 12:30:22,677 - INFO - STOP LOSS hit for short at 2063.27505 | PnL: -0.50% | $-2.29 +2025-03-10 12:30:23,034 - INFO - OPENED LONG at 2066.59 | Stop loss: 2056.25705 | Take profit: 2097.58885 +2025-03-10 12:30:24,323 - INFO - TAKE PROFIT hit for long at 2097.58885 | PnL: 1.50% | $5.21 +2025-03-10 12:30:25,357 - INFO - OPENED SHORT at 2119.07 | Stop loss: 2129.6653499999998 | Take profit: 2087.28395 +2025-03-10 12:30:25,406 - INFO - CLOSED short at 2115.28 | PnL: 0.18% | $0.31 +2025-03-10 12:30:25,920 - INFO - OPENED LONG at 2116.48 | Stop loss: 2105.8976 | Take profit: 2148.2272 +2025-03-10 12:30:26,218 - INFO - STOP LOSS hit for long at 2105.8976 | PnL: -0.50% | $-2.36 +2025-03-10 12:30:26,310 - INFO - OPENED LONG at 2090.0 | Stop loss: 2079.55 | Take profit: 2121.35 +2025-03-10 12:30:27,247 - INFO - CLOSED long at 2093.46 | PnL: 0.17% | $0.25 +2025-03-10 12:30:27,610 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 20.0% in downtrends | Avg Win=$1.19, Avg Loss=$-1.10 +2025-03-10 12:30:27,612 - INFO - Episode 22: Reward=226.19, Balance=$96.39, Win Rate=54.5%, Trades=22, Episode PnL=$-2.62, Total PnL=$-500.53, Max Drawdown=8.1%, Pred Accuracy=99.9% +2025-03-10 12:30:27,768 - INFO - Model saved to models/trading_agent_best_reward.pt +2025-03-10 12:30:27,906 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 12:30:27,929 - INFO - Identified 25 optimal buy points and 28 optimal sell points +2025-03-10 12:30:28,492 - INFO - OPENED SHORT at 2062.5 | Stop loss: 2072.8125 | Take profit: 2031.5625 +2025-03-10 12:30:30,179 - INFO - CLOSED short at 2053.1 | PnL: 0.46% | $1.42 +2025-03-10 12:30:30,274 - INFO - OPENED SHORT at 2050.71 | Stop loss: 2060.96355 | Take profit: 2019.94935 +2025-03-10 12:30:30,941 - INFO - CLOSED short at 2045.99 | PnL: 0.23% | $0.53 +2025-03-10 12:30:31,283 - INFO - OPENED SHORT at 2050.24 | Stop loss: 2060.4911999999995 | Take profit: 2019.4863999999998 +2025-03-10 12:30:31,473 - INFO - CLOSED short at 2051.89 | PnL: -0.08% | $-0.74 +2025-03-10 12:30:31,672 - INFO - OPENED SHORT at 2056.89 | Stop loss: 2067.1744499999995 | Take profit: 2026.0366499999998 +2025-03-10 12:30:31,934 - INFO - CLOSED short at 2063.29 | PnL: -0.31% | $-1.66 +2025-03-10 12:30:31,984 - INFO - OPENED LONG at 2064.61 | Stop loss: 2054.28695 | Take profit: 2095.57915 +2025-03-10 12:30:33,180 - INFO - CLOSED long at 2067.89 | PnL: 0.16% | $0.23 +2025-03-10 12:30:33,181 - INFO - OPENED SHORT at 2067.89 | Stop loss: 2078.22945 | Take profit: 2036.8716499999998 +2025-03-10 12:30:33,522 - INFO - CLOSED short at 2067.69 | PnL: 0.01% | $-0.36 +2025-03-10 12:30:33,523 - INFO - OPENED LONG at 2067.69 | Stop loss: 2057.35155 | Take profit: 2098.7053499999997 +2025-03-10 12:30:34,084 - INFO - CLOSED long at 2072.8 | PnL: 0.25% | $0.59 +2025-03-10 12:30:34,085 - INFO - OPENED SHORT at 2072.8 | Stop loss: 2083.1639999999998 | Take profit: 2041.708 +2025-03-10 12:30:34,652 - INFO - CLOSED short at 2067.6 | PnL: 0.25% | $0.60 +2025-03-10 12:30:34,653 - INFO - OPENED LONG at 2067.6 | Stop loss: 2057.2619999999997 | Take profit: 2098.6139999999996 +2025-03-10 12:30:35,348 - INFO - CLOSED long at 2070.4 | PnL: 0.14% | $0.14 +2025-03-10 12:30:38,446 - INFO - OPENED LONG at 2064.96 | Stop loss: 2054.6352 | Take profit: 2095.9343999999996 +2025-03-10 12:30:39,024 - INFO - CLOSED long at 2060.9 | PnL: -0.20% | $-1.20 +2025-03-10 12:30:39,025 - INFO - OPENED SHORT at 2060.9 | Stop loss: 2071.2045 | Take profit: 2029.9865 +2025-03-10 12:30:39,857 - INFO - CLOSED short at 2065.89 | PnL: -0.24% | $-1.36 +2025-03-10 12:30:39,858 - INFO - OPENED LONG at 2065.89 | Stop loss: 2055.5605499999997 | Take profit: 2096.8783499999995 +2025-03-10 12:30:39,958 - INFO - CLOSED long at 2063.0 | PnL: -0.14% | $-0.94 +2025-03-10 12:30:42,371 - INFO - OPENED SHORT at 2068.15 | Stop loss: 2078.49075 | Take profit: 2037.12775 +2025-03-10 12:30:42,523 - INFO - CLOSED short at 2069.03 | PnL: -0.04% | $-0.55 +2025-03-10 12:30:42,524 - INFO - OPENED LONG at 2069.03 | Stop loss: 2058.68485 | Take profit: 2100.06545 +2025-03-10 12:30:43,166 - INFO - CLOSED long at 2065.3 | PnL: -0.18% | $-1.08 +2025-03-10 12:30:43,166 - INFO - OPENED SHORT at 2065.3 | Stop loss: 2075.6265 | Take profit: 2034.3205 +2025-03-10 12:30:43,413 - INFO - CLOSED short at 2065.29 | PnL: 0.00% | $-0.38 +2025-03-10 12:30:43,414 - INFO - OPENED LONG at 2065.29 | Stop loss: 2054.96355 | Take profit: 2096.2693499999996 +2025-03-10 12:30:43,773 - INFO - CLOSED long at 2071.35 | PnL: 0.29% | $0.74 +2025-03-10 12:30:43,774 - INFO - OPENED SHORT at 2071.35 | Stop loss: 2081.70675 | Take profit: 2040.27975 +2025-03-10 12:30:43,873 - INFO - CLOSED short at 2069.69 | PnL: 0.08% | $-0.08 +2025-03-10 12:30:44,121 - INFO - OPENED LONG at 2071.99 | Stop loss: 2061.6300499999998 | Take profit: 2103.0698499999994 +2025-03-10 12:30:45,059 - INFO - CLOSED long at 2067.0 | PnL: -0.24% | $-1.31 +2025-03-10 12:30:45,060 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.3349999999996 | Take profit: 2035.995 +2025-03-10 12:30:45,211 - INFO - CLOSED short at 2066.89 | PnL: 0.01% | $-0.36 +2025-03-10 12:30:45,212 - INFO - OPENED LONG at 2066.89 | Stop loss: 2056.55555 | Take profit: 2097.89335 +2025-03-10 12:30:46,170 - INFO - CLOSED long at 2064.5 | PnL: -0.12% | $-0.81 +2025-03-10 12:30:46,873 - INFO - OPENED SHORT at 2056.85 | Stop loss: 2067.1342499999996 | Take profit: 2025.99725 +2025-03-10 12:30:47,141 - INFO - CLOSED short at 2065.1 | PnL: -0.40% | $-1.87 +2025-03-10 12:30:47,189 - INFO - OPENED SHORT at 2062.43 | Stop loss: 2072.7421499999996 | Take profit: 2031.49355 +2025-03-10 12:30:47,658 - INFO - CLOSED short at 2060.7 | PnL: 0.08% | $-0.06 +2025-03-10 12:30:47,659 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3965 | Take profit: 2091.6105 +2025-03-10 12:30:48,650 - INFO - TAKE PROFIT hit for long at 2091.6105 | PnL: 1.50% | $5.12 +2025-03-10 12:30:49,312 - INFO - OPENED LONG at 2128.69 | Stop loss: 2118.04655 | Take profit: 2160.6203499999997 +2025-03-10 12:30:49,416 - INFO - CLOSED long at 2120.15 | PnL: -0.40% | $-1.94 +2025-03-10 12:30:51,353 - INFO - OPENED LONG at 2101.51 | Stop loss: 2091.0024500000004 | Take profit: 2133.03265 +2025-03-10 12:30:51,811 - INFO - CLOSED long at 2094.72 | PnL: -0.32% | $-1.60 +2025-03-10 12:30:51,911 - INFO - OPENED SHORT at 2088.35 | Stop loss: 2098.79175 | Take profit: 2057.02475 +2025-03-10 12:30:51,958 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 25.0% in downtrends | Avg Win=$1.17, Avg Loss=$-0.96 +2025-03-10 12:30:51,959 - INFO - Episode 23: Reward=215.97, Balance=$93.07, Win Rate=52.0%, Trades=25, Episode PnL=$-2.43, Total PnL=$-507.45, Max Drawdown=10.2%, Pred Accuracy=99.9% +2025-03-10 12:30:52,105 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 12:30:52,140 - INFO - Identified 25 optimal buy points and 28 optimal sell points +2025-03-10 12:30:52,735 - INFO - OPENED SHORT at 2065.64 | Stop loss: 2075.9682 | Take profit: 2034.6553999999999 +2025-03-10 12:30:52,777 - INFO - CLOSED short at 2064.51 | PnL: 0.05% | $-0.18 +2025-03-10 12:30:53,500 - INFO - OPENED SHORT at 2060.1 | Stop loss: 2070.4004999999997 | Take profit: 2029.1985 +2025-03-10 12:30:55,042 - INFO - CLOSED short at 2045.99 | PnL: 0.68% | $2.34 +2025-03-10 12:30:55,193 - INFO - OPENED SHORT at 2048.13 | Stop loss: 2058.37065 | Take profit: 2017.40805 +2025-03-10 12:30:55,874 - INFO - STOP LOSS hit for short at 2058.37065 | PnL: -0.50% | $-2.45 +2025-03-10 12:30:56,719 - INFO - OPENED SHORT at 2057.8 | Stop loss: 2068.089 | Take profit: 2026.9330000000002 +2025-03-10 12:30:57,109 - INFO - STOP LOSS hit for short at 2068.089 | PnL: -0.50% | $-2.39 +2025-03-10 12:30:57,203 - INFO - OPENED LONG at 2068.29 | Stop loss: 2057.94855 | Take profit: 2099.3143499999996 +2025-03-10 12:30:58,138 - INFO - CLOSED long at 2070.9 | PnL: 0.13% | $0.10 +2025-03-10 12:30:58,386 - INFO - OPENED LONG at 2067.2 | Stop loss: 2056.864 | Take profit: 2098.2079999999996 +2025-03-10 12:30:58,824 - INFO - CLOSED long at 2069.01 | PnL: 0.09% | $-0.05 +2025-03-10 12:30:59,501 - INFO - OPENED SHORT at 2069.96 | Stop loss: 2080.3098 | Take profit: 2038.9106 +2025-03-10 12:31:01,164 - INFO - CLOSED short at 2070.4 | PnL: -0.02% | $-0.47 +2025-03-10 12:31:01,164 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.0480000000002 | Take profit: 2101.4559999999997 +2025-03-10 12:31:01,352 - INFO - CLOSED long at 2067.84 | PnL: -0.12% | $-0.87 +2025-03-10 12:31:02,209 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.2044499999997 | Take profit: 2031.9466499999999 +2025-03-10 12:31:02,512 - INFO - CLOSED short at 2064.96 | PnL: -0.10% | $-0.77 +2025-03-10 12:31:03,051 - INFO - OPENED LONG at 2063.5 | Stop loss: 2053.1825 | Take profit: 2094.4525 +2025-03-10 12:31:03,309 - INFO - CLOSED long at 2059.3 | PnL: -0.20% | $-1.16 +2025-03-10 12:31:03,310 - INFO - OPENED SHORT at 2059.3 | Stop loss: 2069.5965 | Take profit: 2028.4105000000002 +2025-03-10 12:31:03,931 - INFO - CLOSED short at 2064.79 | PnL: -0.27% | $-1.38 +2025-03-10 12:31:05,480 - INFO - OPENED LONG at 2066.01 | Stop loss: 2055.67995 | Take profit: 2097.00015 +2025-03-10 12:31:05,899 - INFO - CLOSED long at 2065.69 | PnL: -0.02% | $-0.43 +2025-03-10 12:31:06,458 - INFO - OPENED SHORT at 2070.0 | Stop loss: 2080.35 | Take profit: 2038.95 +2025-03-10 12:31:06,561 - INFO - CLOSED short at 2068.39 | PnL: 0.08% | $-0.08 +2025-03-10 12:31:06,561 - INFO - OPENED LONG at 2068.39 | Stop loss: 2058.04805 | Take profit: 2099.41585 +2025-03-10 12:31:08,964 - INFO - CLOSED long at 2074.0 | PnL: 0.27% | $0.63 +2025-03-10 12:31:08,965 - INFO - OPENED SHORT at 2074.0 | Stop loss: 2084.37 | Take profit: 2042.8899999999999 +2025-03-10 12:31:09,058 - INFO - CLOSED short at 2069.97 | PnL: 0.19% | $0.35 +2025-03-10 12:31:09,059 - INFO - OPENED LONG at 2069.97 | Stop loss: 2059.6201499999997 | Take profit: 2101.0195499999995 +2025-03-10 12:31:09,196 - INFO - CLOSED long at 2067.9 | PnL: -0.10% | $-0.75 +2025-03-10 12:31:09,197 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.2394999999997 | Take profit: 2036.8815 +2025-03-10 12:31:09,584 - INFO - CLOSED short at 2070.1 | PnL: -0.11% | $-0.76 +2025-03-10 12:31:10,461 - INFO - OPENED LONG at 2059.2 | Stop loss: 2048.904 | Take profit: 2090.0879999999997 +2025-03-10 12:31:11,444 - INFO - CLOSED long at 2066.59 | PnL: 0.36% | $0.95 +2025-03-10 12:31:13,224 - INFO - OPENED LONG at 2121.09 | Stop loss: 2110.48455 | Take profit: 2152.9063499999997 +2025-03-10 12:31:13,652 - INFO - STOP LOSS hit for long at 2110.48455 | PnL: -0.50% | $-2.22 +2025-03-10 12:31:14,331 - INFO - OPENED SHORT at 2108.06 | Stop loss: 2118.6002999999996 | Take profit: 2076.4391 +2025-03-10 12:31:14,470 - INFO - CLOSED short at 2090.0 | PnL: 0.86% | $2.74 +2025-03-10 12:31:14,471 - INFO - OPENED LONG at 2090.0 | Stop loss: 2079.55 | Take profit: 2121.35 +2025-03-10 12:31:14,806 - INFO - CLOSED long at 2100.69 | PnL: 0.51% | $1.53 +2025-03-10 12:31:14,807 - INFO - OPENED SHORT at 2100.69 | Stop loss: 2111.1934499999998 | Take profit: 2069.17965 +2025-03-10 12:31:15,243 - INFO - CLOSED short at 2098.39 | PnL: 0.11% | $0.04 +2025-03-10 12:31:15,668 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 28.6% in downtrends | Avg Win=$1.08, Avg Loss=$-1.00 +2025-03-10 12:31:15,669 - INFO - Episode 24: Reward=225.39, Balance=$94.71, Win Rate=50.0%, Trades=22, Episode PnL=$-8.08, Total PnL=$-512.74, Max Drawdown=11.5%, Pred Accuracy=99.9% +2025-03-10 12:31:15,703 - INFO - Identified 25 optimal buy points and 28 optimal sell points +2025-03-10 12:31:16,430 - INFO - OPENED SHORT at 2066.35 | Stop loss: 2076.6817499999997 | Take profit: 2035.35475 +2025-03-10 12:31:17,161 - INFO - CLOSED short at 2057.52 | PnL: 0.43% | $1.31 +2025-03-10 12:31:17,162 - INFO - OPENED LONG at 2057.52 | Stop loss: 2047.2323999999999 | Take profit: 2088.3828 +2025-03-10 12:31:17,417 - INFO - CLOSED long at 2058.51 | PnL: 0.05% | $-0.21 +2025-03-10 12:31:17,418 - INFO - OPENED SHORT at 2058.51 | Stop loss: 2068.80255 | Take profit: 2027.63235 +2025-03-10 12:31:17,625 - INFO - CLOSED short at 2055.39 | PnL: 0.15% | $0.21 +2025-03-10 12:31:18,269 - INFO - OPENED SHORT at 2049.61 | Stop loss: 2059.85805 | Take profit: 2018.8658500000001 +2025-03-10 12:31:19,033 - INFO - CLOSED short at 2051.11 | PnL: -0.07% | $-0.70 +2025-03-10 12:31:19,034 - INFO - OPENED LONG at 2051.11 | Stop loss: 2040.85445 | Take profit: 2081.87665 +2025-03-10 12:31:19,370 - INFO - CLOSED long at 2058.39 | PnL: 0.35% | $1.03 +2025-03-10 12:31:19,951 - INFO - OPENED SHORT at 2060.0 | Stop loss: 2070.2999999999997 | Take profit: 2029.1 +2025-03-10 12:31:20,385 - INFO - CLOSED short at 2061.79 | PnL: -0.09% | $-0.76 +2025-03-10 12:31:21,439 - INFO - OPENED LONG at 2071.38 | Stop loss: 2061.0231 | Take profit: 2102.4507 +2025-03-10 12:31:22,481 - INFO - CLOSED long at 2066.19 | PnL: -0.25% | $-1.41 +2025-03-10 12:31:22,483 - INFO - OPENED SHORT at 2066.19 | Stop loss: 2076.5209499999996 | Take profit: 2035.19715 +2025-03-10 12:31:25,096 - INFO - CLOSED short at 2066.39 | PnL: -0.01% | $-0.44 +2025-03-10 12:31:25,097 - INFO - OPENED LONG at 2066.39 | Stop loss: 2056.0580499999996 | Take profit: 2097.3858499999997 +2025-03-10 12:31:25,955 - INFO - CLOSED long at 2066.24 | PnL: -0.01% | $-0.42 +2025-03-10 12:31:26,049 - INFO - OPENED SHORT at 2065.54 | Stop loss: 2075.8677 | Take profit: 2034.5569 +2025-03-10 12:31:27,390 - INFO - CLOSED short at 2063.0 | PnL: 0.12% | $0.09 +2025-03-10 12:31:27,578 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3965 | Take profit: 2091.6105 +2025-03-10 12:31:28,248 - INFO - CLOSED long at 2056.71 | PnL: -0.19% | $-1.16 +2025-03-10 12:31:29,511 - INFO - OPENED SHORT at 2070.01 | Stop loss: 2080.36005 | Take profit: 2038.9598500000002 +2025-03-10 12:31:29,653 - INFO - CLOSED short at 2070.0 | PnL: 0.00% | $-0.39 +2025-03-10 12:31:29,654 - INFO - OPENED LONG at 2070.0 | Stop loss: 2059.65 | Take profit: 2101.0499999999997 +2025-03-10 12:31:30,560 - INFO - CLOSED long at 2064.31 | PnL: -0.27% | $-1.46 +2025-03-10 12:31:30,561 - INFO - OPENED SHORT at 2064.31 | Stop loss: 2074.6315499999996 | Take profit: 2033.3453499999998 +2025-03-10 12:31:30,890 - INFO - CLOSED short at 2068.59 | PnL: -0.21% | $-1.18 +2025-03-10 12:31:30,891 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.24705 | Take profit: 2099.61885 +2025-03-10 12:31:31,559 - INFO - CLOSED long at 2069.78 | PnL: 0.06% | $-0.16 +2025-03-10 12:31:32,439 - INFO - OPENED SHORT at 2066.89 | Stop loss: 2077.2244499999997 | Take profit: 2035.88665 +2025-03-10 12:31:32,680 - INFO - CLOSED short at 2070.19 | PnL: -0.16% | $-0.98 +2025-03-10 12:31:32,724 - INFO - OPENED LONG at 2070.1 | Stop loss: 2059.7495 | Take profit: 2101.1514999999995 +2025-03-10 12:31:32,960 - INFO - CLOSED long at 2065.07 | PnL: -0.24% | $-1.28 +2025-03-10 12:31:32,961 - INFO - OPENED SHORT at 2065.07 | Stop loss: 2075.39535 | Take profit: 2034.0939500000002 +2025-03-10 12:31:33,192 - INFO - CLOSED short at 2066.1 | PnL: -0.05% | $-0.55 +2025-03-10 12:31:33,192 - INFO - OPENED LONG at 2066.1 | Stop loss: 2055.7695 | Take profit: 2097.0914999999995 +2025-03-10 12:31:33,758 - INFO - STOP LOSS hit for long at 2055.7695 | PnL: -0.50% | $-2.20 +2025-03-10 12:31:33,804 - INFO - OPENED SHORT at 2049.21 | Stop loss: 2059.45605 | Take profit: 2018.47185 +2025-03-10 12:31:34,142 - INFO - STOP LOSS hit for short at 2059.45605 | PnL: -0.50% | $-2.14 +2025-03-10 12:31:34,819 - INFO - OPENED LONG at 2062.54 | Stop loss: 2052.2273 | Take profit: 2093.4781 +2025-03-10 12:31:35,441 - INFO - CLOSED long at 2076.08 | PnL: 0.66% | $1.94 +2025-03-10 12:31:35,874 - INFO - OPENED LONG at 2137.59 | Stop loss: 2126.90205 | Take profit: 2169.65385 +2025-03-10 12:31:36,202 - INFO - CLOSED long at 2127.3 | PnL: -0.48% | $-2.07 +2025-03-10 12:31:36,574 - INFO - OPENED LONG at 2119.14 | Stop loss: 2108.5443 | Take profit: 2150.9271 +2025-03-10 12:31:36,617 - INFO - CLOSED long at 2119.07 | PnL: -0.00% | $-0.36 +2025-03-10 12:31:37,331 - INFO - OPENED LONG at 2106.49 | Stop loss: 2095.9575499999996 | Take profit: 2138.08735 +2025-03-10 12:31:37,427 - INFO - CLOSED long at 2103.33 | PnL: -0.15% | $-0.87 +2025-03-10 12:31:37,428 - INFO - OPENED SHORT at 2103.33 | Stop loss: 2113.8466499999995 | Take profit: 2071.78005 +2025-03-10 12:31:37,666 - INFO - CLOSED short at 2102.19 | PnL: 0.05% | $-0.16 +2025-03-10 12:31:37,667 - INFO - OPENED LONG at 2102.19 | Stop loss: 2091.67905 | Take profit: 2133.7228499999997 +2025-03-10 12:31:37,864 - INFO - CLOSED long at 2100.69 | PnL: -0.07% | $-0.59 +2025-03-10 12:31:37,865 - INFO - OPENED SHORT at 2100.69 | Stop loss: 2111.1934499999998 | Take profit: 2069.17965 +2025-03-10 12:31:38,352 - INFO - CLOSED short at 2095.29 | PnL: 0.26% | $0.53 +2025-03-10 12:31:38,353 - INFO - OPENED LONG at 2095.29 | Stop loss: 2084.81355 | Take profit: 2126.71935 +2025-03-10 12:31:38,741 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 20.0% in downtrends | Avg Win=$0.85, Avg Loss=$-0.93 +2025-03-10 12:31:38,742 - INFO - Episode 25: Reward=211.93, Balance=$85.62, Win Rate=37.0%, Trades=27, Episode PnL=$-6.99, Total PnL=$-527.12, Max Drawdown=14.7%, Pred Accuracy=99.9% +2025-03-10 12:31:38,779 - INFO - Identified 25 optimal buy points and 28 optimal sell points +2025-03-10 12:31:39,367 - INFO - OPENED SHORT at 2065.64 | Stop loss: 2075.9682 | Take profit: 2034.6553999999999 +2025-03-10 12:31:40,801 - INFO - CLOSED short at 2051.66 | PnL: 0.68% | $2.31 +2025-03-10 12:31:41,701 - INFO - OPENED SHORT at 2045.79 | Stop loss: 2056.0189499999997 | Take profit: 2015.10315 +2025-03-10 12:31:42,033 - INFO - CLOSED short at 2051.11 | PnL: -0.26% | $-1.47 +2025-03-10 12:31:42,279 - INFO - OPENED SHORT at 2057.01 | Stop loss: 2067.29505 | Take profit: 2026.1548500000001 +2025-03-10 12:31:42,520 - INFO - CLOSED short at 2061.49 | PnL: -0.22% | $-1.28 +2025-03-10 12:31:43,106 - INFO - OPENED LONG at 2060.31 | Stop loss: 2050.00845 | Take profit: 2091.21465 +2025-03-10 12:31:43,644 - INFO - CLOSED long at 2068.11 | PnL: 0.38% | $1.11 +2025-03-10 12:31:43,645 - INFO - OPENED SHORT at 2068.11 | Stop loss: 2078.45055 | Take profit: 2037.08835 +2025-03-10 12:31:44,172 - INFO - CLOSED short at 2071.44 | PnL: -0.16% | $-1.05 +2025-03-10 12:31:44,173 - INFO - OPENED LONG at 2071.44 | Stop loss: 2061.0828 | Take profit: 2102.5116 +2025-03-10 12:31:44,648 - INFO - CLOSED long at 2070.79 | PnL: -0.03% | $-0.52 +2025-03-10 12:31:45,020 - INFO - OPENED SHORT at 2069.19 | Stop loss: 2079.53595 | Take profit: 2038.1521500000001 +2025-03-10 12:31:45,747 - INFO - CLOSED short at 2069.7 | PnL: -0.02% | $-0.49 +2025-03-10 12:31:45,845 - INFO - OPENED LONG at 2069.96 | Stop loss: 2059.6102 | Take profit: 2101.0094 +2025-03-10 12:31:46,130 - INFO - CLOSED long at 2072.7 | PnL: 0.13% | $0.13 +2025-03-10 12:31:46,131 - INFO - OPENED SHORT at 2072.7 | Stop loss: 2083.0634999999997 | Take profit: 2041.6094999999998 +2025-03-10 12:31:46,618 - INFO - CLOSED short at 2067.0 | PnL: 0.28% | $0.69 +2025-03-10 12:31:47,351 - INFO - OPENED SHORT at 2071.59 | Stop loss: 2081.9479499999998 | Take profit: 2040.5161500000002 +2025-03-10 12:31:47,808 - INFO - CLOSED short at 2066.4 | PnL: 0.25% | $0.60 +2025-03-10 12:31:47,809 - INFO - OPENED LONG at 2066.4 | Stop loss: 2056.068 | Take profit: 2097.3959999999997 +2025-03-10 12:31:48,302 - INFO - CLOSED long at 2064.99 | PnL: -0.07% | $-0.67 +2025-03-10 12:31:48,302 - INFO - OPENED SHORT at 2064.99 | Stop loss: 2075.3149499999995 | Take profit: 2034.0151499999997 +2025-03-10 12:31:48,769 - INFO - CLOSED short at 2064.96 | PnL: 0.00% | $-0.39 +2025-03-10 12:31:48,769 - INFO - OPENED LONG at 2064.96 | Stop loss: 2054.6352 | Take profit: 2095.9343999999996 +2025-03-10 12:31:49,108 - INFO - CLOSED long at 2062.71 | PnL: -0.11% | $-0.83 +2025-03-10 12:31:49,109 - INFO - OPENED SHORT at 2062.71 | Stop loss: 2073.02355 | Take profit: 2031.76935 +2025-03-10 12:31:51,264 - INFO - CLOSED short at 2059.8 | PnL: 0.14% | $0.16 +2025-03-10 12:31:51,265 - INFO - OPENED LONG at 2059.8 | Stop loss: 2049.501 | Take profit: 2090.697 +2025-03-10 12:31:51,417 - INFO - CLOSED long at 2061.6 | PnL: 0.09% | $-0.05 +2025-03-10 12:31:52,064 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.01845 | Take profit: 2034.7046500000001 +2025-03-10 12:31:52,259 - INFO - CLOSED short at 2078.01 | PnL: -0.60% | $-2.74 +2025-03-10 12:31:52,994 - INFO - OPENED LONG at 2069.87 | Stop loss: 2059.52065 | Take profit: 2100.9180499999998 +2025-03-10 12:31:53,636 - INFO - CLOSED long at 2065.29 | PnL: -0.22% | $-1.23 +2025-03-10 12:31:53,637 - INFO - OPENED SHORT at 2065.29 | Stop loss: 2075.6164499999995 | Take profit: 2034.31065 +2025-03-10 12:31:54,803 - INFO - CLOSED short at 2074.35 | PnL: -0.44% | $-2.03 +2025-03-10 12:31:57,489 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.5805 | Take profit: 2094.8585 +2025-03-10 12:31:59,014 - INFO - TAKE PROFIT hit for long at 2094.8585 | PnL: 1.50% | $5.17 +2025-03-10 12:31:59,824 - INFO - OPENED SHORT at 2121.09 | Stop loss: 2131.6954499999997 | Take profit: 2089.27365 +2025-03-10 12:32:00,250 - INFO - CLOSED short at 2115.28 | PnL: 0.27% | $0.68 +2025-03-10 12:32:00,251 - INFO - OPENED LONG at 2115.28 | Stop loss: 2104.7036000000003 | Take profit: 2147.0092 +2025-03-10 12:32:00,357 - INFO - CLOSED long at 2110.6 | PnL: -0.22% | $-1.26 +2025-03-10 12:32:02,588 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$1.35, Avg Loss=$-1.08 +2025-03-10 12:32:02,589 - INFO - Episode 26: Reward=222.79, Balance=$96.82, Win Rate=47.6%, Trades=21, Episode PnL=$-1.69, Total PnL=$-530.30, Max Drawdown=9.8%, Pred Accuracy=99.9% +2025-03-10 12:32:02,745 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 12:32:02,780 - INFO - Identified 25 optimal buy points and 28 optimal sell points +2025-03-10 12:32:03,890 - INFO - OPENED SHORT at 2063.84 | Stop loss: 2074.1592 | Take profit: 2032.8824000000002 +2025-03-10 12:32:05,811 - INFO - CLOSED short at 2045.79 | PnL: 0.87% | $3.10 +2025-03-10 12:32:06,130 - INFO - OPENED LONG at 2051.11 | Stop loss: 2040.85445 | Take profit: 2081.87665 +2025-03-10 12:32:06,265 - INFO - CLOSED long at 2052.3 | PnL: 0.06% | $-0.17 +2025-03-10 12:32:06,504 - INFO - OPENED SHORT at 2060.13 | Stop loss: 2070.43065 | Take profit: 2029.2280500000002 +2025-03-10 12:32:06,886 - INFO - CLOSED short at 2063.01 | PnL: -0.14% | $-0.99 +2025-03-10 12:32:06,887 - INFO - OPENED LONG at 2063.01 | Stop loss: 2052.69495 | Take profit: 2093.9551500000002 +2025-03-10 12:32:07,910 - INFO - CLOSED long at 2069.6 | PnL: 0.32% | $0.89 +2025-03-10 12:32:08,136 - INFO - OPENED LONG at 2070.26 | Stop loss: 2059.9087000000004 | Take profit: 2101.3139 +2025-03-10 12:32:08,849 - INFO - CLOSED long at 2070.36 | PnL: 0.00% | $-0.39 +2025-03-10 12:32:08,850 - INFO - OPENED SHORT at 2070.36 | Stop loss: 2080.7118 | Take profit: 2039.3046000000002 +2025-03-10 12:32:09,222 - INFO - CLOSED short at 2069.01 | PnL: 0.07% | $-0.14 +2025-03-10 12:32:09,402 - INFO - OPENED LONG at 2066.29 | Stop loss: 2055.95855 | Take profit: 2097.28435 +2025-03-10 12:32:10,421 - INFO - CLOSED long at 2069.46 | PnL: 0.15% | $0.22 +2025-03-10 12:32:10,422 - INFO - OPENED SHORT at 2069.46 | Stop loss: 2079.8073 | Take profit: 2038.4181 +2025-03-10 12:32:11,898 - INFO - CLOSED short at 2070.04 | PnL: -0.03% | $-0.52 +2025-03-10 12:32:11,899 - INFO - OPENED LONG at 2070.04 | Stop loss: 2059.6898 | Take profit: 2101.0905999999995 +2025-03-10 12:32:12,474 - INFO - STOP LOSS hit for long at 2059.6898 | PnL: -0.50% | $-2.45 +2025-03-10 12:32:14,277 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.0035 | Take profit: 2029.7894999999999 +2025-03-10 12:32:14,973 - INFO - CLOSED short at 2058.15 | PnL: 0.12% | $0.09 +2025-03-10 12:32:14,974 - INFO - OPENED LONG at 2058.15 | Stop loss: 2047.85925 | Take profit: 2089.02225 +2025-03-10 12:32:15,768 - INFO - CLOSED long at 2065.69 | PnL: 0.37% | $1.06 +2025-03-10 12:32:15,857 - INFO - OPENED SHORT at 2072.0 | Stop loss: 2082.3599999999997 | Take profit: 2040.92 +2025-03-10 12:32:16,088 - INFO - CLOSED short at 2071.04 | PnL: 0.05% | $-0.22 +2025-03-10 12:32:16,089 - INFO - OPENED LONG at 2071.04 | Stop loss: 2060.6848 | Take profit: 2102.1056 +2025-03-10 12:32:17,381 - INFO - CLOSED long at 2065.29 | PnL: -0.28% | $-1.52 +2025-03-10 12:32:17,427 - INFO - OPENED LONG at 2065.31 | Stop loss: 2054.9834499999997 | Take profit: 2096.2896499999997 +2025-03-10 12:32:18,160 - INFO - CLOSED long at 2068.19 | PnL: 0.14% | $0.16 +2025-03-10 12:32:18,162 - INFO - OPENED SHORT at 2068.19 | Stop loss: 2078.53095 | Take profit: 2037.16715 +2025-03-10 12:32:18,557 - INFO - CLOSED short at 2073.27 | PnL: -0.25% | $-1.37 +2025-03-10 12:32:18,557 - INFO - OPENED LONG at 2073.27 | Stop loss: 2062.90365 | Take profit: 2104.36905 +2025-03-10 12:32:19,828 - INFO - STOP LOSS hit for long at 2062.90365 | PnL: -0.50% | $-2.35 +2025-03-10 12:32:21,670 - INFO - OPENED SHORT at 2059.9 | Stop loss: 2070.1994999999997 | Take profit: 2029.0015 +2025-03-10 12:32:21,953 - INFO - STOP LOSS hit for short at 2070.1994999999997 | PnL: -0.50% | $-2.29 +2025-03-10 12:32:22,404 - INFO - OPENED SHORT at 2071.8 | Stop loss: 2082.159 | Take profit: 2040.7230000000002 +2025-03-10 12:32:22,604 - INFO - STOP LOSS hit for short at 2082.159 | PnL: -0.50% | $-2.23 +2025-03-10 12:32:23,459 - INFO - OPENED LONG at 2134.78 | Stop loss: 2124.1061 | Take profit: 2166.8017 +2025-03-10 12:32:23,637 - INFO - CLOSED long at 2128.69 | PnL: -0.29% | $-1.40 +2025-03-10 12:32:24,045 - INFO - OPENED SHORT at 2119.14 | Stop loss: 2129.7356999999997 | Take profit: 2087.3529 +2025-03-10 12:32:24,333 - INFO - CLOSED short at 2109.05 | PnL: 0.48% | $1.35 +2025-03-10 12:32:24,589 - INFO - OPENED LONG at 2112.99 | Stop loss: 2102.42505 | Take profit: 2144.6848499999996 +2025-03-10 12:32:24,829 - INFO - CLOSED long at 2108.71 | PnL: -0.20% | $-1.10 +2025-03-10 12:32:25,469 - INFO - OPENED SHORT at 2104.83 | Stop loss: 2115.3541499999997 | Take profit: 2073.25755 +2025-03-10 12:32:25,930 - INFO - CLOSED short at 2095.29 | PnL: 0.45% | $1.27 +2025-03-10 12:32:25,931 - INFO - OPENED LONG at 2095.29 | Stop loss: 2084.81355 | Take profit: 2126.71935 +2025-03-10 12:32:26,326 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 20.0% in downtrends | Avg Win=$1.02, Avg Loss=$-1.22 +2025-03-10 12:32:26,328 - INFO - Episode 27: Reward=224.77, Balance=$91.00, Win Rate=54.5%, Trades=22, Episode PnL=$-7.25, Total PnL=$-539.30, Max Drawdown=13.2%, Pred Accuracy=99.9% +2025-03-10 12:32:26,360 - INFO - Identified 25 optimal buy points and 28 optimal sell points +2025-03-10 12:32:26,899 - INFO - OPENED LONG at 2060.94 | Stop loss: 2050.6353 | Take profit: 2091.8541 +2025-03-10 12:32:28,019 - INFO - CLOSED long at 2057.59 | PnL: -0.16% | $-1.05 +2025-03-10 12:32:28,020 - INFO - OPENED SHORT at 2057.59 | Stop loss: 2067.87795 | Take profit: 2026.7261500000002 +2025-03-10 12:32:28,390 - INFO - CLOSED short at 2055.39 | PnL: 0.11% | $0.03 +2025-03-10 12:32:28,435 - INFO - OPENED LONG at 2053.56 | Stop loss: 2043.2921999999999 | Take profit: 2084.3633999999997 +2025-03-10 12:32:28,736 - INFO - CLOSED long at 2050.71 | PnL: -0.14% | $-0.95 +2025-03-10 12:32:30,150 - INFO - OPENED LONG at 2058.39 | Stop loss: 2048.09805 | Take profit: 2089.26585 +2025-03-10 12:32:30,620 - INFO - CLOSED long at 2060.99 | PnL: 0.13% | $0.10 +2025-03-10 12:32:30,759 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.5805499999997 | Take profit: 2092.8183499999996 +2025-03-10 12:32:30,850 - INFO - CLOSED long at 2060.31 | PnL: -0.08% | $-0.69 +2025-03-10 12:32:31,300 - INFO - OPENED LONG at 2065.86 | Stop loss: 2055.5307000000003 | Take profit: 2096.8478999999998 +2025-03-10 12:32:32,498 - INFO - CLOSED long at 2070.28 | PnL: 0.21% | $0.44 +2025-03-10 12:32:33,507 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.24705 | Take profit: 2099.61885 +2025-03-10 12:32:33,824 - INFO - CLOSED long at 2071.36 | PnL: 0.13% | $0.13 +2025-03-10 12:32:33,825 - INFO - OPENED SHORT at 2071.36 | Stop loss: 2081.7167999999997 | Take profit: 2040.2896 +2025-03-10 12:32:34,521 - INFO - CLOSED short at 2067.79 | PnL: 0.17% | $0.28 +2025-03-10 12:32:35,581 - INFO - OPENED SHORT at 2067.11 | Stop loss: 2077.44555 | Take profit: 2036.10335 +2025-03-10 12:32:36,430 - INFO - CLOSED short at 2062.89 | PnL: 0.20% | $0.41 +2025-03-10 12:32:37,024 - INFO - OPENED LONG at 2064.08 | Stop loss: 2053.7596 | Take profit: 2095.0411999999997 +2025-03-10 12:32:37,277 - INFO - CLOSED long at 2061.6 | PnL: -0.12% | $-0.87 +2025-03-10 12:32:37,279 - INFO - OPENED SHORT at 2061.6 | Stop loss: 2071.908 | Take profit: 2030.676 +2025-03-10 12:32:37,580 - INFO - CLOSED short at 2061.8 | PnL: -0.01% | $-0.43 +2025-03-10 12:32:39,188 - INFO - OPENED LONG at 2058.15 | Stop loss: 2047.85925 | Take profit: 2089.02225 +2025-03-10 12:32:40,246 - INFO - CLOSED long at 2078.01 | PnL: 0.96% | $3.37 +2025-03-10 12:32:40,247 - INFO - OPENED SHORT at 2078.01 | Stop loss: 2088.40005 | Take profit: 2046.8398500000003 +2025-03-10 12:32:40,493 - INFO - CLOSED short at 2071.6 | PnL: 0.31% | $0.84 +2025-03-10 12:32:40,494 - INFO - OPENED LONG at 2071.6 | Stop loss: 2061.2419999999997 | Take profit: 2102.6739999999995 +2025-03-10 12:32:41,588 - INFO - CLOSED long at 2065.5 | PnL: -0.29% | $-1.60 +2025-03-10 12:32:41,589 - INFO - OPENED SHORT at 2065.5 | Stop loss: 2075.8275 | Take profit: 2034.5175 +2025-03-10 12:32:41,687 - INFO - CLOSED short at 2065.29 | PnL: 0.01% | $-0.36 +2025-03-10 12:32:42,344 - INFO - OPENED LONG at 2070.61 | Stop loss: 2060.25695 | Take profit: 2101.6691499999997 +2025-03-10 12:32:43,609 - INFO - CLOSED long at 2065.45 | PnL: -0.25% | $-1.39 +2025-03-10 12:32:43,609 - INFO - OPENED SHORT at 2065.45 | Stop loss: 2075.7772499999996 | Take profit: 2034.46825 +2025-03-10 12:32:44,052 - INFO - CLOSED short at 2065.8 | PnL: -0.02% | $-0.46 +2025-03-10 12:32:44,397 - INFO - OPENED SHORT at 2065.06 | Stop loss: 2075.3853 | Take profit: 2034.0840999999998 +2025-03-10 12:32:44,629 - INFO - CLOSED short at 2060.7 | PnL: 0.21% | $0.43 +2025-03-10 12:32:45,820 - INFO - OPENED SHORT at 2064.08 | Stop loss: 2074.4003999999995 | Take profit: 2033.1188 +2025-03-10 12:32:46,538 - INFO - CLOSED short at 2072.99 | PnL: -0.43% | $-2.09 +2025-03-10 12:32:46,539 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6250499999996 | Take profit: 2104.0848499999997 +2025-03-10 12:32:46,752 - INFO - CLOSED long at 2076.08 | PnL: 0.15% | $0.19 +2025-03-10 12:32:46,752 - INFO - OPENED SHORT at 2076.08 | Stop loss: 2086.4603999999995 | Take profit: 2044.9388 +2025-03-10 12:32:46,907 - INFO - STOP LOSS hit for short at 2086.4603999999995 | PnL: -0.50% | $-2.31 +2025-03-10 12:32:47,202 - INFO - OPENED SHORT at 2137.59 | Stop loss: 2148.2779499999997 | Take profit: 2105.52615 +2025-03-10 12:32:48,929 - INFO - TAKE PROFIT hit for short at 2105.52615 | PnL: 1.50% | $5.27 +2025-03-10 12:32:50,267 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$1.05, Avg Loss=$-1.11 +2025-03-10 12:32:50,268 - INFO - Episode 28: Reward=225.90, Balance=$99.30, Win Rate=54.5%, Trades=22, Episode PnL=$1.77, Total PnL=$-540.01, Max Drawdown=6.0%, Pred Accuracy=99.9% +2025-03-10 12:32:50,415 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 12:32:50,442 - INFO - Identified 25 optimal buy points and 28 optimal sell points +2025-03-10 12:32:50,811 - INFO - OPENED LONG at 2055.31 | Stop loss: 2045.03345 | Take profit: 2086.1396499999996 +2025-03-10 12:32:51,115 - INFO - CLOSED long at 2064.51 | PnL: 0.45% | $1.39 +2025-03-10 12:32:51,115 - INFO - OPENED SHORT at 2064.51 | Stop loss: 2074.83255 | Take profit: 2033.5423500000002 +2025-03-10 12:32:51,723 - INFO - CLOSED short at 2057.59 | PnL: 0.34% | $0.95 +2025-03-10 12:32:51,724 - INFO - OPENED LONG at 2057.59 | Stop loss: 2047.3020500000002 | Take profit: 2088.45385 +2025-03-10 12:32:52,962 - INFO - CLOSED long at 2050.2 | PnL: -0.36% | $-1.88 +2025-03-10 12:32:53,671 - INFO - OPENED LONG at 2047.59 | Stop loss: 2037.35205 | Take profit: 2078.30385 +2025-03-10 12:32:53,872 - INFO - CLOSED long at 2049.89 | PnL: 0.11% | $0.05 +2025-03-10 12:32:53,872 - INFO - OPENED SHORT at 2049.89 | Stop loss: 2060.1394499999997 | Take profit: 2019.1416499999998 +2025-03-10 12:32:54,434 - INFO - STOP LOSS hit for short at 2060.1394499999997 | PnL: -0.50% | $-2.41 +2025-03-10 12:32:55,836 - INFO - OPENED LONG at 2068.65 | Stop loss: 2058.30675 | Take profit: 2099.67975 +2025-03-10 12:32:58,086 - INFO - CLOSED long at 2072.75 | PnL: 0.20% | $0.39 +2025-03-10 12:32:58,588 - INFO - OPENED LONG at 2069.35 | Stop loss: 2059.0032499999998 | Take profit: 2100.39025 +2025-03-10 12:32:59,548 - INFO - CLOSED long at 2070.4 | PnL: 0.05% | $-0.19 +2025-03-10 12:33:01,519 - INFO - OPENED LONG at 2060.65 | Stop loss: 2050.34675 | Take profit: 2091.55975 +2025-03-10 12:33:03,066 - INFO - CLOSED long at 2058.28 | PnL: -0.12% | $-0.85 +2025-03-10 12:33:03,458 - INFO - OPENED SHORT at 2061.66 | Stop loss: 2071.9682999999995 | Take profit: 2030.7350999999999 +2025-03-10 12:33:04,075 - INFO - CLOSED short at 2066.79 | PnL: -0.25% | $-1.36 +2025-03-10 12:33:04,075 - INFO - OPENED LONG at 2066.79 | Stop loss: 2056.45605 | Take profit: 2097.7918499999996 +2025-03-10 12:33:05,692 - INFO - CLOSED long at 2065.3 | PnL: -0.07% | $-0.66 +2025-03-10 12:33:05,693 - INFO - OPENED SHORT at 2065.3 | Stop loss: 2075.6265 | Take profit: 2034.3205 +2025-03-10 12:33:07,150 - INFO - CLOSED short at 2073.99 | PnL: -0.42% | $-1.99 +2025-03-10 12:33:07,151 - INFO - OPENED LONG at 2073.99 | Stop loss: 2063.62005 | Take profit: 2105.0998499999996 +2025-03-10 12:33:08,006 - INFO - CLOSED long at 2070.19 | PnL: -0.18% | $-1.06 +2025-03-10 12:33:09,191 - INFO - OPENED SHORT at 2049.21 | Stop loss: 2059.45605 | Take profit: 2018.47185 +2025-03-10 12:33:09,529 - INFO - STOP LOSS hit for short at 2059.45605 | PnL: -0.50% | $-2.22 +2025-03-10 12:33:09,575 - INFO - OPENED SHORT at 2063.9 | Stop loss: 2074.2194999999997 | Take profit: 2032.9415000000001 +2025-03-10 12:33:10,481 - INFO - CLOSED short at 2069.81 | PnL: -0.29% | $-1.39 +2025-03-10 12:33:13,019 - INFO - OPENED SHORT at 2090.0 | Stop loss: 2100.45 | Take profit: 2058.65 +2025-03-10 12:33:13,170 - INFO - STOP LOSS hit for short at 2100.45 | PnL: -0.50% | $-2.13 +2025-03-10 12:33:13,265 - INFO - OPENED LONG at 2099.25 | Stop loss: 2088.75375 | Take profit: 2130.73875 +2025-03-10 12:33:13,309 - INFO - CLOSED long at 2098.9 | PnL: -0.02% | $-0.40 +2025-03-10 12:33:13,310 - INFO - OPENED SHORT at 2098.9 | Stop loss: 2109.3945 | Take profit: 2067.4165000000003 +2025-03-10 12:33:14,265 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 16.7% in downtrends | Avg Win=$0.69, Avg Loss=$-1.38 +2025-03-10 12:33:14,266 - INFO - Episode 29: Reward=221.80, Balance=$86.23, Win Rate=31.2%, Trades=16, Episode PnL=$-11.75, Total PnL=$-553.77, Max Drawdown=13.8%, Pred Accuracy=99.9% +2025-03-10 12:33:14,300 - INFO - Identified 25 optimal buy points and 28 optimal sell points +2025-03-10 12:33:15,007 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.3349999999996 | Take profit: 2035.995 +2025-03-10 12:33:16,712 - INFO - CLOSED short at 2049.49 | PnL: 0.85% | $2.99 +2025-03-10 12:33:17,855 - INFO - OPENED SHORT at 2051.89 | Stop loss: 2062.1494499999994 | Take profit: 2021.1116499999998 +2025-03-10 12:33:18,313 - INFO - STOP LOSS hit for short at 2062.1494499999994 | PnL: -0.50% | $-2.47 +2025-03-10 12:33:20,029 - INFO - OPENED LONG at 2073.73 | Stop loss: 2063.36135 | Take profit: 2104.8359499999997 +2025-03-10 12:33:20,131 - INFO - CLOSED long at 2072.91 | PnL: -0.04% | $-0.56 +2025-03-10 12:33:20,335 - INFO - OPENED LONG at 2069.37 | Stop loss: 2059.02315 | Take profit: 2100.4105499999996 +2025-03-10 12:33:20,599 - INFO - CLOSED long at 2068.02 | PnL: -0.07% | $-0.66 +2025-03-10 12:33:20,600 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.3601 | Take profit: 2036.9996999999998 +2025-03-10 12:33:20,889 - INFO - CLOSED short at 2069.19 | PnL: -0.06% | $-0.62 +2025-03-10 12:33:20,889 - INFO - OPENED LONG at 2069.19 | Stop loss: 2058.84405 | Take profit: 2100.2278499999998 +2025-03-10 12:33:21,193 - INFO - CLOSED long at 2065.99 | PnL: -0.15% | $-1.01 +2025-03-10 12:33:21,193 - INFO - OPENED SHORT at 2065.99 | Stop loss: 2076.3199499999996 | Take profit: 2035.0001499999998 +2025-03-10 12:33:21,983 - INFO - CLOSED short at 2073.11 | PnL: -0.34% | $-1.74 +2025-03-10 12:33:22,233 - INFO - OPENED SHORT at 2071.92 | Stop loss: 2082.2796 | Take profit: 2040.8412 +2025-03-10 12:33:22,665 - INFO - CLOSED short at 2066.8 | PnL: 0.25% | $0.56 +2025-03-10 12:33:23,743 - INFO - OPENED SHORT at 2066.1 | Stop loss: 2076.4304999999995 | Take profit: 2035.1084999999998 +2025-03-10 12:33:23,883 - INFO - CLOSED short at 2064.47 | PnL: 0.08% | $-0.08 +2025-03-10 12:33:26,473 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.5805499999997 | Take profit: 2092.8183499999996 +2025-03-10 12:33:26,767 - INFO - CLOSED long at 2059.02 | PnL: -0.14% | $-0.92 +2025-03-10 12:33:26,768 - INFO - OPENED SHORT at 2059.02 | Stop loss: 2069.3151 | Take profit: 2028.1347 +2025-03-10 12:33:27,213 - INFO - CLOSED short at 2054.83 | PnL: 0.20% | $0.40 +2025-03-10 12:33:27,213 - INFO - OPENED LONG at 2054.83 | Stop loss: 2044.55585 | Take profit: 2085.6524499999996 +2025-03-10 12:33:28,594 - INFO - CLOSED long at 2075.01 | PnL: 0.98% | $3.38 +2025-03-10 12:33:29,252 - INFO - OPENED SHORT at 2067.44 | Stop loss: 2077.7772 | Take profit: 2036.4284 +2025-03-10 12:33:29,657 - INFO - CLOSED short at 2065.7 | PnL: 0.08% | $-0.06 +2025-03-10 12:33:30,354 - INFO - OPENED LONG at 2066.8 | Stop loss: 2056.4660000000003 | Take profit: 2097.802 +2025-03-10 12:33:31,637 - INFO - CLOSED long at 2076.9 | PnL: 0.49% | $1.54 +2025-03-10 12:33:31,990 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.2394999999997 | Take profit: 2036.8815 +2025-03-10 12:33:33,450 - INFO - CLOSED short at 2056.77 | PnL: 0.54% | $1.77 +2025-03-10 12:33:33,451 - INFO - OPENED LONG at 2056.77 | Stop loss: 2046.48615 | Take profit: 2087.62155 +2025-03-10 12:33:33,703 - INFO - CLOSED long at 2058.3 | PnL: 0.07% | $-0.11 +2025-03-10 12:33:34,351 - INFO - OPENED SHORT at 2064.08 | Stop loss: 2074.4003999999995 | Take profit: 2033.1188 +2025-03-10 12:33:34,701 - INFO - CLOSED short at 2070.31 | PnL: -0.30% | $-1.65 +2025-03-10 12:33:35,055 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6250499999996 | Take profit: 2104.0848499999997 +2025-03-10 12:33:35,360 - INFO - CLOSED long at 2085.56 | PnL: 0.61% | $2.04 +2025-03-10 12:33:35,740 - INFO - OPENED SHORT at 2137.59 | Stop loss: 2148.2779499999997 | Take profit: 2105.52615 +2025-03-10 12:33:35,884 - INFO - CLOSED short at 2142.68 | PnL: -0.24% | $-1.39 +2025-03-10 12:33:37,337 - INFO - OPENED SHORT at 2108.06 | Stop loss: 2118.6002999999996 | Take profit: 2076.4391 +2025-03-10 12:33:38,471 - INFO - CLOSED short at 2093.33 | PnL: 0.70% | $2.43 +2025-03-10 12:33:38,472 - INFO - OPENED LONG at 2093.33 | Stop loss: 2082.86335 | Take profit: 2124.72995 +2025-03-10 12:33:38,689 - INFO - CLOSED long at 2094.08 | PnL: 0.04% | $-0.27 +2025-03-10 12:33:38,689 - INFO - OPENED SHORT at 2094.08 | Stop loss: 2104.5503999999996 | Take profit: 2062.6688 +2025-03-10 12:33:38,798 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 60.0% in downtrends | Avg Win=$1.89, Avg Loss=$-0.89 +2025-03-10 12:33:38,800 - INFO - Episode 30: Reward=226.15, Balance=$103.58, Win Rate=57.1%, Trades=21, Episode PnL=$2.46, Total PnL=$-550.20, Max Drawdown=6.9%, Pred Accuracy=99.8% +2025-03-10 12:33:38,962 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 12:33:39,092 - INFO - Model saved to models/trading_agent_episode_30.pt +2025-03-10 12:33:39,115 - INFO - Identified 25 optimal buy points and 28 optimal sell points +2025-03-10 12:33:39,580 - INFO - OPENED SHORT at 2059.23 | Stop loss: 2069.5261499999997 | Take profit: 2028.34155 +2025-03-10 12:33:39,742 - INFO - CLOSED short at 2062.5 | PnL: -0.16% | $-1.04 +2025-03-10 12:33:39,742 - INFO - OPENED LONG at 2062.5 | Stop loss: 2052.1875 | Take profit: 2093.4375 +2025-03-10 12:33:40,210 - INFO - CLOSED long at 2062.75 | PnL: 0.01% | $-0.35 +2025-03-10 12:33:40,367 - INFO - OPENED LONG at 2062.5 | Stop loss: 2052.1875 | Take profit: 2093.4375 +2025-03-10 12:33:41,122 - INFO - CLOSED long at 2056.4 | PnL: -0.30% | $-1.56 +2025-03-10 12:33:41,124 - INFO - OPENED SHORT at 2056.4 | Stop loss: 2066.682 | Take profit: 2025.554 +2025-03-10 12:33:42,410 - INFO - CLOSED short at 2050.0 | PnL: 0.31% | $0.82 +2025-03-10 12:33:42,411 - INFO - OPENED LONG at 2050.0 | Stop loss: 2039.75 | Take profit: 2080.75 +2025-03-10 12:33:43,128 - INFO - CLOSED long at 2064.61 | PnL: 0.71% | $2.40 +2025-03-10 12:33:43,129 - INFO - OPENED SHORT at 2064.61 | Stop loss: 2074.93305 | Take profit: 2033.64085 +2025-03-10 12:33:44,166 - INFO - CLOSED short at 2068.11 | PnL: -0.17% | $-1.08 +2025-03-10 12:33:44,167 - INFO - OPENED LONG at 2068.11 | Stop loss: 2057.7694500000002 | Take profit: 2099.13165 +2025-03-10 12:33:44,367 - INFO - CLOSED long at 2070.99 | PnL: 0.14% | $0.16 +2025-03-10 12:33:44,661 - INFO - OPENED SHORT at 2070.26 | Stop loss: 2080.6113 | Take profit: 2039.2061 +2025-03-10 12:33:44,705 - INFO - CLOSED short at 2071.44 | PnL: -0.06% | $-0.62 +2025-03-10 12:33:44,706 - INFO - OPENED LONG at 2071.44 | Stop loss: 2061.0828 | Take profit: 2102.5116 +2025-03-10 12:33:45,295 - INFO - CLOSED long at 2068.02 | PnL: -0.17% | $-1.05 +2025-03-10 12:33:45,504 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.0534999999995 | Take profit: 2039.6394999999998 +2025-03-10 12:33:46,460 - INFO - CLOSED short at 2069.96 | PnL: 0.04% | $-0.25 +2025-03-10 12:33:47,013 - INFO - OPENED SHORT at 2071.11 | Stop loss: 2081.46555 | Take profit: 2040.0433500000001 +2025-03-10 12:33:47,360 - INFO - CLOSED short at 2066.8 | PnL: 0.21% | $0.42 +2025-03-10 12:33:49,019 - INFO - OPENED LONG at 2066.15 | Stop loss: 2055.81925 | Take profit: 2097.14225 +2025-03-10 12:33:49,719 - INFO - CLOSED long at 2064.08 | PnL: -0.10% | $-0.78 +2025-03-10 12:33:53,195 - INFO - OPENED LONG at 2070.01 | Stop loss: 2059.65995 | Take profit: 2101.06015 +2025-03-10 12:33:53,240 - INFO - CLOSED long at 2071.6 | PnL: 0.08% | $-0.09 +2025-03-10 12:33:54,831 - INFO - OPENED SHORT at 2070.9 | Stop loss: 2081.2545 | Take profit: 2039.8365000000001 +2025-03-10 12:33:56,776 - INFO - CLOSED short at 2065.7 | PnL: 0.25% | $0.59 +2025-03-10 12:33:56,966 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.07305 | Take profit: 2094.3408499999996 +2025-03-10 12:33:57,062 - INFO - CLOSED long at 2063.98 | PnL: 0.03% | $-0.28 +2025-03-10 12:33:59,868 - INFO - OPENED LONG at 2141.3 | Stop loss: 2130.5935 | Take profit: 2173.4195 +2025-03-10 12:34:00,050 - INFO - STOP LOSS hit for long at 2130.5935 | PnL: -0.50% | $-2.33 +2025-03-10 12:34:01,127 - INFO - OPENED LONG at 2110.9 | Stop loss: 2100.3455 | Take profit: 2142.5634999999997 +2025-03-10 12:34:01,436 - INFO - STOP LOSS hit for long at 2100.3455 | PnL: -0.50% | $-2.28 +2025-03-10 12:34:01,531 - INFO - OPENED LONG at 2098.1 | Stop loss: 2087.6095 | Take profit: 2129.5714999999996 +2025-03-10 12:34:02,030 - INFO - CLOSED long at 2104.68 | PnL: 0.31% | $0.79 +2025-03-10 12:34:02,219 - INFO - OPENED LONG at 2098.39 | Stop loss: 2087.89805 | Take profit: 2129.8658499999997 +2025-03-10 12:34:02,661 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 16.7% in downtrends | Avg Win=$0.86, Avg Loss=$-0.98 +2025-03-10 12:34:02,662 - INFO - Episode 31: Reward=221.69, Balance=$93.46, Win Rate=55.6%, Trades=18, Episode PnL=$-5.46, Total PnL=$-556.73, Max Drawdown=7.3%, Pred Accuracy=99.9% +2025-03-10 12:34:02,696 - INFO - Identified 25 optimal buy points and 28 optimal sell points +2025-03-10 12:34:05,194 - INFO - OPENED SHORT at 2050.71 | Stop loss: 2060.96355 | Take profit: 2019.94935 +2025-03-10 12:34:05,918 - INFO - CLOSED short at 2045.99 | PnL: 0.23% | $0.52 +2025-03-10 12:34:07,572 - INFO - OPENED SHORT at 2057.89 | Stop loss: 2068.1794499999996 | Take profit: 2027.02165 +2025-03-10 12:34:07,914 - INFO - STOP LOSS hit for short at 2068.1794499999996 | PnL: -0.50% | $-2.41 +2025-03-10 12:34:08,152 - INFO - OPENED SHORT at 2070.99 | Stop loss: 2081.3449499999997 | Take profit: 2039.9251499999998 +2025-03-10 12:34:09,606 - INFO - CLOSED short at 2066.39 | PnL: 0.22% | $0.48 +2025-03-10 12:34:09,701 - INFO - OPENED LONG at 2066.19 | Stop loss: 2055.85905 | Take profit: 2097.1828499999997 +2025-03-10 12:34:10,427 - INFO - CLOSED long at 2073.11 | PnL: 0.33% | $0.93 +2025-03-10 12:34:11,716 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.0534999999995 | Take profit: 2039.6394999999998 +2025-03-10 12:34:14,907 - INFO - CLOSED short at 2059.16 | PnL: 0.56% | $1.82 +2025-03-10 12:34:14,908 - INFO - OPENED LONG at 2059.16 | Stop loss: 2048.8642 | Take profit: 2090.0473999999995 +2025-03-10 12:34:15,099 - INFO - CLOSED long at 2059.46 | PnL: 0.01% | $-0.35 +2025-03-10 12:34:15,781 - INFO - OPENED SHORT at 2062.69 | Stop loss: 2073.0034499999997 | Take profit: 2031.74965 +2025-03-10 12:34:16,483 - INFO - STOP LOSS hit for short at 2073.0034499999997 | PnL: -0.50% | $-2.42 +2025-03-10 12:34:16,573 - INFO - OPENED LONG at 2075.01 | Stop loss: 2064.63495 | Take profit: 2106.13515 +2025-03-10 12:34:17,061 - INFO - CLOSED long at 2069.03 | PnL: -0.29% | $-1.53 +2025-03-10 12:34:17,062 - INFO - OPENED SHORT at 2069.03 | Stop loss: 2079.37515 | Take profit: 2037.9945500000001 +2025-03-10 12:34:17,472 - INFO - CLOSED short at 2065.7 | PnL: 0.16% | $0.24 +2025-03-10 12:34:17,472 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.3714999999997 | Take profit: 2096.6854999999996 +2025-03-10 12:34:19,215 - INFO - CLOSED long at 2075.32 | PnL: 0.47% | $1.42 +2025-03-10 12:34:19,215 - INFO - OPENED SHORT at 2075.32 | Stop loss: 2085.6965999999998 | Take profit: 2044.1902000000002 +2025-03-10 12:34:20,095 - INFO - CLOSED short at 2067.19 | PnL: 0.39% | $1.15 +2025-03-10 12:34:20,296 - INFO - OPENED SHORT at 2065.07 | Stop loss: 2075.39535 | Take profit: 2034.0939500000002 +2025-03-10 12:34:20,508 - INFO - CLOSED short at 2063.98 | PnL: 0.05% | $-0.19 +2025-03-10 12:34:20,508 - INFO - OPENED LONG at 2063.98 | Stop loss: 2053.6601 | Take profit: 2094.9397 +2025-03-10 12:34:20,809 - INFO - CLOSED long at 2063.01 | PnL: -0.05% | $-0.59 +2025-03-10 12:34:21,780 - INFO - OPENED SHORT at 2065.12 | Stop loss: 2075.4455999999996 | Take profit: 2034.1431999999998 +2025-03-10 12:34:22,015 - INFO - CLOSED short at 2061.21 | PnL: 0.19% | $0.35 +2025-03-10 12:34:22,016 - INFO - OPENED LONG at 2061.21 | Stop loss: 2050.90395 | Take profit: 2092.12815 +2025-03-10 12:34:23,037 - INFO - TAKE PROFIT hit for long at 2092.12815 | PnL: 1.50% | $5.57 +2025-03-10 12:34:23,378 - INFO - OPENED LONG at 2141.3 | Stop loss: 2130.5935 | Take profit: 2173.4195 +2025-03-10 12:34:23,578 - INFO - STOP LOSS hit for long at 2130.5935 | PnL: -0.50% | $-2.52 +2025-03-10 12:34:23,865 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.3303499999997 | Take profit: 2151.7289499999997 +2025-03-10 12:34:24,006 - INFO - CLOSED long at 2119.14 | PnL: -0.04% | $-0.56 +2025-03-10 12:34:24,007 - INFO - OPENED SHORT at 2119.14 | Stop loss: 2129.7356999999997 | Take profit: 2087.3529 +2025-03-10 12:34:25,002 - INFO - CLOSED short at 2103.33 | PnL: 0.75% | $2.63 +2025-03-10 12:34:26,301 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$1.51, Avg Loss=$-1.32 +2025-03-10 12:34:26,302 - INFO - Episode 32: Reward=233.31, Balance=$104.54, Win Rate=66.7%, Trades=18, Episode PnL=$2.99, Total PnL=$-552.19, Max Drawdown=2.4%, Pred Accuracy=99.9% +2025-03-10 12:34:26,444 - INFO - Model saved to models/trading_agent_best_reward.pt +2025-03-10 12:34:26,576 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 12:34:26,598 - INFO - Identified 25 optimal buy points and 28 optimal sell points +2025-03-10 12:34:28,343 - INFO - OPENED SHORT at 2058.51 | Stop loss: 2068.80255 | Take profit: 2027.63235 +2025-03-10 12:34:29,287 - INFO - CLOSED short at 2048.48 | PnL: 0.49% | $1.55 +2025-03-10 12:34:29,288 - INFO - OPENED LONG at 2048.48 | Stop loss: 2038.2376 | Take profit: 2079.2072 +2025-03-10 12:34:30,155 - INFO - CLOSED long at 2055.69 | PnL: 0.35% | $1.02 +2025-03-10 12:34:31,266 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.40055 | Take profit: 2027.23835 +2025-03-10 12:34:31,522 - INFO - STOP LOSS hit for short at 2068.40055 | PnL: -0.50% | $-2.46 +2025-03-10 12:34:31,912 - INFO - OPENED SHORT at 2068.99 | Stop loss: 2079.3349499999995 | Take profit: 2037.9551499999998 +2025-03-10 12:34:32,293 - INFO - CLOSED short at 2072.33 | PnL: -0.16% | $-1.05 +2025-03-10 12:34:32,293 - INFO - OPENED LONG at 2072.33 | Stop loss: 2061.96835 | Take profit: 2103.41495 +2025-03-10 12:34:32,397 - INFO - CLOSED long at 2071.41 | PnL: -0.04% | $-0.57 +2025-03-10 12:34:32,398 - INFO - OPENED SHORT at 2071.41 | Stop loss: 2081.7670499999995 | Take profit: 2040.3388499999999 +2025-03-10 12:34:33,109 - INFO - CLOSED short at 2067.51 | PnL: 0.19% | $0.35 +2025-03-10 12:34:33,110 - INFO - OPENED LONG at 2067.51 | Stop loss: 2057.17245 | Take profit: 2098.52265 +2025-03-10 12:34:33,921 - INFO - CLOSED long at 2071.36 | PnL: 0.19% | $0.34 +2025-03-10 12:34:34,849 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.5863 | Take profit: 2034.2811000000002 +2025-03-10 12:34:40,114 - INFO - STOP LOSS hit for short at 2075.5863 | PnL: -0.50% | $-2.38 +2025-03-10 12:34:40,445 - INFO - OPENED LONG at 2070.0 | Stop loss: 2059.65 | Take profit: 2101.0499999999997 +2025-03-10 12:34:44,014 - INFO - CLOSED long at 2066.1 | PnL: -0.19% | $-1.12 +2025-03-10 12:34:44,693 - INFO - OPENED LONG at 2049.5 | Stop loss: 2039.2525 | Take profit: 2080.2425 +2025-03-10 12:34:46,379 - INFO - TAKE PROFIT hit for long at 2080.2425 | PnL: 1.50% | $5.36 +2025-03-10 12:34:46,520 - INFO - OPENED LONG at 2130.7 | Stop loss: 2120.0465 | Take profit: 2162.6604999999995 +2025-03-10 12:34:47,272 - INFO - STOP LOSS hit for long at 2120.0465 | PnL: -0.50% | $-2.42 +2025-03-10 12:34:47,579 - INFO - OPENED LONG at 2115.28 | Stop loss: 2104.7036000000003 | Take profit: 2147.0092 +2025-03-10 12:34:48,378 - INFO - STOP LOSS hit for long at 2104.7036000000003 | PnL: -0.50% | $-2.37 +2025-03-10 12:34:48,472 - INFO - OPENED SHORT at 2090.0 | Stop loss: 2100.45 | Take profit: 2058.65 +2025-03-10 12:34:48,635 - INFO - STOP LOSS hit for short at 2100.45 | PnL: -0.50% | $-2.31 +2025-03-10 12:34:49,900 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 33.3% in downtrends | Avg Win=$1.72, Avg Loss=$-1.83 +2025-03-10 12:34:49,901 - INFO - Episode 33: Reward=229.87, Balance=$93.94, Win Rate=38.5%, Trades=13, Episode PnL=$-6.34, Total PnL=$-558.25, Max Drawdown=8.4%, Pred Accuracy=99.9% +2025-03-10 12:34:49,945 - INFO - Identified 25 optimal buy points and 28 optimal sell points +2025-03-10 12:34:51,715 - INFO - OPENED SHORT at 2056.9 | Stop loss: 2067.1845 | Take profit: 2026.0465000000002 +2025-03-10 12:34:53,095 - INFO - CLOSED short at 2047.4 | PnL: 0.46% | $1.45 +2025-03-10 12:34:55,465 - INFO - OPENED SHORT at 2068.29 | Stop loss: 2078.63145 | Take profit: 2037.2656499999998 +2025-03-10 12:34:55,511 - INFO - CLOSED short at 2067.89 | PnL: 0.02% | $-0.33 +2025-03-10 12:34:55,512 - INFO - OPENED LONG at 2067.89 | Stop loss: 2057.55055 | Take profit: 2098.9083499999997 +2025-03-10 12:34:56,511 - INFO - CLOSED long at 2070.79 | PnL: 0.14% | $0.16 +2025-03-10 12:34:56,511 - INFO - OPENED SHORT at 2070.79 | Stop loss: 2081.1439499999997 | Take profit: 2039.72815 +2025-03-10 12:34:59,224 - INFO - CLOSED short at 2067.86 | PnL: 0.14% | $0.17 +2025-03-10 12:34:59,489 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.0534999999995 | Take profit: 2039.6394999999998 +2025-03-10 12:34:59,689 - INFO - CLOSED short at 2068.69 | PnL: 0.10% | $-0.01 +2025-03-10 12:35:00,491 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.5863 | Take profit: 2034.2811000000002 +2025-03-10 12:35:00,623 - INFO - CLOSED short at 2061.78 | PnL: 0.17% | $0.28 +2025-03-10 12:35:00,623 - INFO - OPENED LONG at 2061.78 | Stop loss: 2051.4711 | Take profit: 2092.7067 +2025-03-10 12:35:00,858 - INFO - CLOSED long at 2066.24 | PnL: 0.22% | $0.47 +2025-03-10 12:35:00,859 - INFO - OPENED SHORT at 2066.24 | Stop loss: 2076.5711999999994 | Take profit: 2035.2463999999998 +2025-03-10 12:35:02,123 - INFO - CLOSED short at 2063.39 | PnL: 0.14% | $0.16 +2025-03-10 12:35:02,171 - INFO - OPENED LONG at 2064.79 | Stop loss: 2054.46605 | Take profit: 2095.76185 +2025-03-10 12:35:02,607 - INFO - CLOSED long at 2061.09 | PnL: -0.18% | $-1.14 +2025-03-10 12:35:03,180 - INFO - OPENED LONG at 2055.6 | Stop loss: 2045.322 | Take profit: 2086.4339999999997 +2025-03-10 12:35:05,522 - INFO - CLOSED long at 2065.66 | PnL: 0.49% | $1.58 +2025-03-10 12:35:07,225 - INFO - OPENED LONG at 2075.29 | Stop loss: 2064.9135499999998 | Take profit: 2106.4193499999997 +2025-03-10 12:35:07,322 - INFO - CLOSED long at 2075.61 | PnL: 0.02% | $-0.35 +2025-03-10 12:35:07,323 - INFO - OPENED SHORT at 2075.61 | Stop loss: 2085.98805 | Take profit: 2044.47585 +2025-03-10 12:35:08,402 - INFO - CLOSED short at 2062.34 | PnL: 0.64% | $2.21 +2025-03-10 12:35:09,126 - INFO - OPENED SHORT at 2049.21 | Stop loss: 2059.45605 | Take profit: 2018.47185 +2025-03-10 12:35:09,489 - INFO - STOP LOSS hit for short at 2059.45605 | PnL: -0.50% | $-2.51 +2025-03-10 12:35:11,200 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.8423 | Take profit: 2171.6330999999996 +2025-03-10 12:35:11,667 - INFO - STOP LOSS hit for long at 2128.8423 | PnL: -0.50% | $-2.45 +2025-03-10 12:35:12,060 - INFO - OPENED LONG at 2118.52 | Stop loss: 2107.9274 | Take profit: 2150.2978 +2025-03-10 12:35:12,263 - INFO - STOP LOSS hit for long at 2107.9274 | PnL: -0.50% | $-2.39 +2025-03-10 12:35:13,215 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0323500000004 | Take profit: 2131.02295 +2025-03-10 12:35:13,424 - INFO - CLOSED long at 2099.25 | PnL: -0.01% | $-0.44 +2025-03-10 12:35:13,425 - INFO - OPENED SHORT at 2099.25 | Stop loss: 2109.7462499999997 | Take profit: 2067.76125 +2025-03-10 12:35:14,441 - INFO - CLOSED short at 2088.35 | PnL: 0.52% | $1.62 +2025-03-10 12:35:14,487 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 20.0% in downtrends | Avg Win=$0.90, Avg Loss=$-1.20 +2025-03-10 12:35:14,489 - INFO - Episode 34: Reward=232.41, Balance=$98.47, Win Rate=70.6%, Trades=17, Episode PnL=$-1.33, Total PnL=$-559.78, Max Drawdown=7.0%, Pred Accuracy=99.9% +2025-03-10 12:35:14,524 - INFO - Identified 25 optimal buy points and 28 optimal sell points +2025-03-10 12:35:15,941 - INFO - OPENED LONG at 2059.4 | Stop loss: 2049.103 | Take profit: 2090.2909999999997 +2025-03-10 12:35:16,960 - INFO - CLOSED long at 2050.44 | PnL: -0.44% | $-2.14 +2025-03-10 12:35:16,961 - INFO - OPENED SHORT at 2050.44 | Stop loss: 2060.6922 | Take profit: 2019.6834000000001 +2025-03-10 12:35:17,107 - INFO - CLOSED short at 2049.6 | PnL: 0.04% | $-0.23 +2025-03-10 12:35:17,108 - INFO - OPENED LONG at 2049.6 | Stop loss: 2039.3519999999999 | Take profit: 2080.3439999999996 +2025-03-10 12:35:17,161 - INFO - CLOSED long at 2051.99 | PnL: 0.12% | $0.06 +2025-03-10 12:35:17,162 - INFO - OPENED SHORT at 2051.99 | Stop loss: 2062.2499499999994 | Take profit: 2021.2101499999997 +2025-03-10 12:35:18,479 - INFO - CLOSED short at 2058.39 | PnL: -0.31% | $-1.61 +2025-03-10 12:35:20,332 - INFO - OPENED SHORT at 2075.1 | Stop loss: 2085.4754999999996 | Take profit: 2043.9734999999998 +2025-03-10 12:35:21,553 - INFO - CLOSED short at 2066.18 | PnL: 0.43% | $1.27 +2025-03-10 12:35:21,554 - INFO - OPENED LONG at 2066.18 | Stop loss: 2055.8491 | Take profit: 2097.1726999999996 +2025-03-10 12:35:22,202 - INFO - CLOSED long at 2072.15 | PnL: 0.29% | $0.74 +2025-03-10 12:35:22,991 - INFO - OPENED SHORT at 2067.89 | Stop loss: 2078.22945 | Take profit: 2036.8716499999998 +2025-03-10 12:35:23,084 - INFO - CLOSED short at 2068.8 | PnL: -0.04% | $-0.57 +2025-03-10 12:35:23,855 - INFO - OPENED LONG at 2066.1 | Stop loss: 2055.7695 | Take profit: 2097.0914999999995 +2025-03-10 12:35:23,950 - INFO - CLOSED long at 2066.39 | PnL: 0.01% | $-0.34 +2025-03-10 12:35:23,950 - INFO - OPENED SHORT at 2066.39 | Stop loss: 2076.7219499999997 | Take profit: 2035.3941499999999 +2025-03-10 12:35:26,166 - INFO - CLOSED short at 2063.39 | PnL: 0.15% | $0.18 +2025-03-10 12:35:26,356 - INFO - OPENED SHORT at 2063.0 | Stop loss: 2073.3149999999996 | Take profit: 2032.055 +2025-03-10 12:35:26,403 - INFO - CLOSED short at 2062.6 | PnL: 0.02% | $-0.31 +2025-03-10 12:35:26,543 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.0035 | Take profit: 2029.7894999999999 +2025-03-10 12:35:27,101 - INFO - CLOSED short at 2054.89 | PnL: 0.28% | $0.71 +2025-03-10 12:35:27,102 - INFO - OPENED LONG at 2054.89 | Stop loss: 2044.6155499999998 | Take profit: 2085.7133499999995 +2025-03-10 12:35:27,246 - INFO - CLOSED long at 2058.15 | PnL: 0.16% | $0.23 +2025-03-10 12:35:27,246 - INFO - OPENED SHORT at 2058.15 | Stop loss: 2068.4407499999998 | Take profit: 2027.27775 +2025-03-10 12:35:27,447 - INFO - CLOSED short at 2061.6 | PnL: -0.17% | $-1.05 +2025-03-10 12:35:27,448 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.292 | Take profit: 2092.524 +2025-03-10 12:35:28,431 - INFO - CLOSED long at 2071.04 | PnL: 0.46% | $1.39 +2025-03-10 12:35:28,830 - INFO - OPENED SHORT at 2069.03 | Stop loss: 2079.37515 | Take profit: 2037.9945500000001 +2025-03-10 12:35:29,176 - INFO - CLOSED short at 2066.38 | PnL: 0.13% | $0.11 +2025-03-10 12:35:29,177 - INFO - OPENED LONG at 2066.38 | Stop loss: 2056.0481 | Take profit: 2097.3757 +2025-03-10 12:35:29,426 - INFO - CLOSED long at 2064.5 | PnL: -0.09% | $-0.75 +2025-03-10 12:35:29,426 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.8224999999998 | Take profit: 2033.5325 +2025-03-10 12:35:30,417 - INFO - CLOSED short at 2071.99 | PnL: -0.36% | $-1.81 +2025-03-10 12:35:31,319 - INFO - OPENED LONG at 2067.0 | Stop loss: 2056.665 | Take profit: 2098.0049999999997 +2025-03-10 12:35:32,793 - INFO - STOP LOSS hit for long at 2056.665 | PnL: -0.50% | $-2.30 +2025-03-10 12:35:34,636 - INFO - OPENED LONG at 2090.49 | Stop loss: 2080.0375499999996 | Take profit: 2121.8473499999996 +2025-03-10 12:35:34,734 - INFO - TAKE PROFIT hit for long at 2121.8473499999996 | PnL: 1.50% | $5.24 +2025-03-10 12:35:35,105 - INFO - OPENED SHORT at 2140.01 | Stop loss: 2150.71005 | Take profit: 2107.90985 +2025-03-10 12:35:35,295 - INFO - CLOSED short at 2128.69 | PnL: 0.53% | $1.70 +2025-03-10 12:35:35,296 - INFO - OPENED LONG at 2128.69 | Stop loss: 2118.04655 | Take profit: 2160.6203499999997 +2025-03-10 12:35:35,395 - INFO - CLOSED long at 2120.15 | PnL: -0.40% | $-2.01 +2025-03-10 12:37:08,501 - INFO - GPU not available, using CPU +2025-03-10 12:37:08,522 - INFO - Exchange initialized with standard CCXT: mexc +2025-03-10 12:37:08,523 - INFO - Fetching initial data for ETH/USDT +2025-03-10 12:37:12,264 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 12:37:12,282 - INFO - Initialized environment with 500 candles +2025-03-10 12:37:14,639 - INFO - Starting training for 1000 episodes... +2025-03-10 12:37:14,639 - INFO - Starting training on device: cpu +2025-03-10 12:37:14,640 - INFO - Loading best model from models/trading_agent_best_pnl.pt to resume training +2025-03-10 12:37:14,774 - WARNING - Could not load best model: Weights only load failed. This file can still be loaded, to do so you have two options, do those steps only if you trust the source of the checkpoint. + (1) In PyTorch 2.6, we changed the default value of the `weights_only` argument in `torch.load` from `False` to `True`. Re-running `torch.load` with `weights_only` set to `False` will likely succeed, but it can result in arbitrary code execution. Do it only if you got the file from a trusted source. + (2) Alternatively, to load with `weights_only=True` please check the recommended steps in the following error message. + WeightsUnpickler error: Unsupported global: GLOBAL numpy._core.multiarray.scalar was not an allowed global by default. Please use `torch.serialization.add_safe_globals([scalar])` or the `torch.serialization.safe_globals([scalar])` context manager to allowlist this global if you trust this class/function. + +Check the documentation of torch.load to learn more about types accepted by default with weights_only https://pytorch.org/docs/stable/generated/torch.load.html. +2025-03-10 12:37:14,799 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 12:37:15,151 - INFO - OPENED SHORT at 2062.28 | Stop loss: 2072.5914 | Take profit: 2031.3458000000003 +2025-03-10 12:37:15,153 - INFO - CLOSED short at 2057.59 | PnL: 0.23% | $0.51 +2025-03-10 12:37:15,154 - INFO - OPENED SHORT at 2059.03 | Stop loss: 2069.32515 | Take profit: 2028.1445500000002 +2025-03-10 12:37:15,155 - INFO - CLOSED short at 2060.1 | PnL: -0.05% | $-0.61 +2025-03-10 12:37:15,155 - INFO - OPENED LONG at 2060.1 | Stop loss: 2049.7995 | Take profit: 2091.0015 +2025-03-10 12:37:15,157 - INFO - CLOSED long at 2056.9 | PnL: -0.16% | $-1.02 +2025-03-10 12:37:15,157 - INFO - OPENED SHORT at 2056.9 | Stop loss: 2067.1845 | Take profit: 2026.0465000000002 +2025-03-10 12:37:15,158 - INFO - CLOSED short at 2057.99 | PnL: -0.05% | $-0.61 +2025-03-10 12:37:15,159 - INFO - OPENED LONG at 2057.99 | Stop loss: 2047.7000499999997 | Take profit: 2088.8598499999994 +2025-03-10 12:37:15,160 - INFO - CLOSED long at 2058.51 | PnL: 0.03% | $-0.29 +2025-03-10 12:37:15,160 - INFO - OPENED SHORT at 2058.51 | Stop loss: 2068.80255 | Take profit: 2027.63235 +2025-03-10 12:37:15,161 - INFO - CLOSED short at 2055.2 | PnL: 0.16% | $0.24 +2025-03-10 12:37:15,162 - INFO - OPENED SHORT at 2056.4 | Stop loss: 2066.682 | Take profit: 2025.554 +2025-03-10 12:37:15,163 - INFO - CLOSED short at 2052.7 | PnL: 0.18% | $0.31 +2025-03-10 12:37:15,163 - INFO - OPENED LONG at 2052.7 | Stop loss: 2042.4364999999998 | Take profit: 2083.4904999999994 +2025-03-10 12:37:15,164 - INFO - CLOSED long at 2051.66 | PnL: -0.05% | $-0.59 +2025-03-10 12:37:15,165 - INFO - OPENED SHORT at 2052.16 | Stop loss: 2062.4207999999994 | Take profit: 2021.3775999999998 +2025-03-10 12:37:15,166 - INFO - CLOSED short at 2053.1 | PnL: -0.05% | $-0.57 +2025-03-10 12:37:15,166 - INFO - OPENED LONG at 2053.1 | Stop loss: 2042.8345 | Take profit: 2083.8965 +2025-03-10 12:37:15,167 - INFO - CLOSED long at 2050.44 | PnL: -0.13% | $-0.89 +2025-03-10 12:37:15,168 - INFO - OPENED SHORT at 2049.49 | Stop loss: 2059.7374499999996 | Take profit: 2018.7476499999998 +2025-03-10 12:37:15,169 - INFO - CLOSED short at 2050.2 | PnL: -0.03% | $-0.52 +2025-03-10 12:37:15,169 - INFO - OPENED SHORT at 2049.6 | Stop loss: 2059.8479999999995 | Take profit: 2018.856 +2025-03-10 12:37:15,170 - INFO - CLOSED short at 2051.99 | PnL: -0.12% | $-0.83 +2025-03-10 12:37:15,170 - INFO - OPENED LONG at 2051.99 | Stop loss: 2041.7300499999997 | Take profit: 2082.7698499999997 +2025-03-10 12:37:15,171 - INFO - CLOSED long at 2049.61 | PnL: -0.12% | $-0.82 +2025-03-10 12:37:15,172 - INFO - OPENED SHORT at 2047.4 | Stop loss: 2057.6369999999997 | Take profit: 2016.689 +2025-03-10 12:37:15,173 - INFO - CLOSED short at 2047.2 | PnL: 0.01% | $-0.34 +2025-03-10 12:37:15,173 - INFO - OPENED LONG at 2047.2 | Stop loss: 2036.964 | Take profit: 2077.908 +2025-03-10 12:37:15,174 - INFO - CLOSED long at 2045.99 | PnL: -0.06% | $-0.60 +2025-03-10 12:37:15,175 - INFO - OPENED SHORT at 2045.99 | Stop loss: 2056.2199499999997 | Take profit: 2015.30015 +2025-03-10 12:37:15,175 - INFO - CLOSED short at 2045.79 | PnL: 0.01% | $-0.34 +2025-03-10 12:37:15,177 - INFO - OPENED LONG at 2051.11 | Stop loss: 2040.85445 | Take profit: 2081.87665 +2025-03-10 12:37:15,178 - INFO - CLOSED long at 2051.89 | PnL: 0.04% | $-0.23 +2025-03-10 12:37:15,178 - INFO - OPENED SHORT at 2051.89 | Stop loss: 2062.1494499999994 | Take profit: 2021.1116499999998 +2025-03-10 12:37:15,179 - INFO - CLOSED short at 2055.69 | PnL: -0.19% | $-1.06 +2025-03-10 12:37:15,180 - INFO - OPENED LONG at 2055.69 | Stop loss: 2045.41155 | Take profit: 2086.52535 +2025-03-10 12:37:15,181 - INFO - CLOSED long at 2059.7 | PnL: 0.20% | $0.35 +2025-03-10 12:37:15,181 - INFO - OPENED LONG at 2061.49 | Stop loss: 2051.18255 | Take profit: 2092.4123499999996 +2025-03-10 12:37:15,183 - INFO - CLOSED long at 2063.29 | PnL: 0.09% | $-0.05 +2025-03-10 12:37:15,183 - INFO - OPENED SHORT at 2063.29 | Stop loss: 2073.6064499999998 | Take profit: 2032.3406499999999 +2025-03-10 12:37:15,184 - INFO - CLOSED short at 2063.59 | PnL: -0.01% | $-0.42 +2025-03-10 12:37:15,185 - INFO - OPENED SHORT at 2063.01 | Stop loss: 2073.32505 | Take profit: 2032.0648500000002 +2025-03-10 12:37:15,186 - INFO - CLOSED short at 2060.99 | PnL: 0.10% | $-0.01 +2025-03-10 12:37:15,186 - INFO - OPENED LONG at 2060.99 | Stop loss: 2050.6850499999996 | Take profit: 2091.9048499999994 +2025-03-10 12:37:15,247 - INFO - CLOSED long at 2058.3 | PnL: -0.13% | $-0.84 +2025-03-10 12:37:15,610 - INFO - OPENED LONG at 2057.94 | Stop loss: 2047.6503 | Take profit: 2088.8091 +2025-03-10 12:37:15,749 - INFO - CLOSED long at 2061.18 | PnL: 0.16% | $0.21 +2025-03-10 12:37:15,836 - INFO - OPENED SHORT at 2065.86 | Stop loss: 2076.1893 | Take profit: 2034.8721 +2025-03-10 12:37:15,883 - INFO - CLOSED short at 2070.58 | PnL: -0.23% | $-1.20 +2025-03-10 12:37:15,883 - INFO - OPENED LONG at 2070.58 | Stop loss: 2060.2271 | Take profit: 2101.6386999999995 +2025-03-10 12:37:15,973 - INFO - CLOSED long at 2068.29 | PnL: -0.11% | $-0.76 +2025-03-10 12:37:15,974 - INFO - OPENED SHORT at 2068.29 | Stop loss: 2078.63145 | Take profit: 2037.2656499999998 +2025-03-10 12:37:16,100 - INFO - CLOSED short at 2070.99 | PnL: -0.13% | $-0.82 +2025-03-10 12:37:16,186 - INFO - OPENED LONG at 2068.65 | Stop loss: 2058.30675 | Take profit: 2099.67975 +2025-03-10 12:37:16,276 - INFO - CLOSED long at 2067.9 | PnL: -0.04% | $-0.48 +2025-03-10 12:37:16,321 - INFO - OPENED LONG at 2067.69 | Stop loss: 2057.35155 | Take profit: 2098.7053499999997 +2025-03-10 12:37:16,368 - INFO - CLOSED long at 2070.26 | PnL: 0.12% | $0.09 +2025-03-10 12:37:16,369 - INFO - OPENED SHORT at 2070.26 | Stop loss: 2080.6113 | Take profit: 2039.2061 +2025-03-10 12:37:16,417 - INFO - CLOSED short at 2071.44 | PnL: -0.06% | $-0.55 +2025-03-10 12:37:16,552 - INFO - OPENED LONG at 2072.91 | Stop loss: 2062.5454499999996 | Take profit: 2104.0036499999997 +2025-03-10 12:37:16,602 - INFO - CLOSED long at 2072.33 | PnL: -0.03% | $-0.45 +2025-03-10 12:37:16,602 - INFO - OPENED SHORT at 2072.33 | Stop loss: 2082.6916499999998 | Take profit: 2041.24505 +2025-03-10 12:37:16,750 - INFO - CLOSED short at 2069.37 | PnL: 0.14% | $0.15 +2025-03-10 12:37:16,751 - INFO - OPENED LONG at 2069.37 | Stop loss: 2059.02315 | Take profit: 2100.4105499999996 +2025-03-10 12:37:16,846 - INFO - CLOSED long at 2072.8 | PnL: 0.17% | $0.23 +2025-03-10 12:37:17,084 - INFO - OPENED SHORT at 2070.36 | Stop loss: 2080.7118 | Take profit: 2039.3046000000002 +2025-03-10 12:37:17,227 - INFO - CLOSED short at 2069.34 | PnL: 0.05% | $-0.18 +2025-03-10 12:37:17,433 - INFO - OPENED LONG at 2067.51 | Stop loss: 2057.17245 | Take profit: 2098.52265 +2025-03-10 12:37:17,745 - INFO - CLOSED long at 2065.08 | PnL: -0.12% | $-0.76 +2025-03-10 12:37:17,792 - INFO - OPENED SHORT at 2066.18 | Stop loss: 2076.5108999999998 | Take profit: 2035.1872999999998 +2025-03-10 12:37:18,002 - INFO - CLOSED short at 2068.59 | PnL: -0.12% | $-0.75 +2025-03-10 12:37:18,003 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.24705 | Take profit: 2099.61885 +2025-03-10 12:37:18,052 - INFO - CLOSED long at 2069.7 | PnL: 0.05% | $-0.16 +2025-03-10 12:37:18,143 - INFO - OPENED SHORT at 2069.96 | Stop loss: 2080.3098 | Take profit: 2038.9106 +2025-03-10 12:37:18,189 - INFO - CLOSED short at 2071.4 | PnL: -0.07% | $-0.58 +2025-03-10 12:37:18,190 - INFO - OPENED LONG at 2071.4 | Stop loss: 2061.043 | Take profit: 2102.471 +2025-03-10 12:37:18,237 - INFO - CLOSED long at 2071.39 | PnL: -0.00% | $-0.34 +2025-03-10 12:37:18,285 - INFO - OPENED LONG at 2071.36 | Stop loss: 2061.0032 | Take profit: 2102.4303999999997 +2025-03-10 12:37:18,333 - INFO - CLOSED long at 2072.75 | PnL: 0.07% | $-0.11 +2025-03-10 12:37:18,334 - INFO - OPENED SHORT at 2072.75 | Stop loss: 2083.11375 | Take profit: 2041.65875 +2025-03-10 12:37:18,569 - INFO - CLOSED short at 2073.9 | PnL: -0.06% | $-0.52 +2025-03-10 12:37:18,669 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.752 | Take profit: 2039.344 +2025-03-10 12:37:18,718 - INFO - CLOSED short at 2071.11 | PnL: -0.03% | $-0.45 +2025-03-10 12:37:18,919 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.3349999999996 | Take profit: 2035.995 +2025-03-10 12:37:19,202 - INFO - CLOSED short at 2065.26 | PnL: 0.08% | $-0.05 +2025-03-10 12:37:19,251 - INFO - OPENED SHORT at 2067.89 | Stop loss: 2078.22945 | Take profit: 2036.8716499999998 +2025-03-10 12:37:19,345 - INFO - CLOSED short at 2068.8 | PnL: -0.04% | $-0.48 +2025-03-10 12:37:19,394 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.9933 | Take profit: 2100.3801 +2025-03-10 12:37:19,540 - INFO - CLOSED long at 2069.2 | PnL: -0.01% | $-0.35 +2025-03-10 12:37:19,541 - INFO - OPENED SHORT at 2069.2 | Stop loss: 2079.546 | Take profit: 2038.1619999999998 +2025-03-10 12:37:19,634 - INFO - CLOSED short at 2071.59 | PnL: -0.12% | $-0.71 +2025-03-10 12:37:19,682 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3464999999997 | Take profit: 2101.7604999999994 +2025-03-10 12:37:19,734 - INFO - CLOSED long at 2070.4 | PnL: -0.01% | $-0.37 +2025-03-10 12:37:19,735 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.752 | Take profit: 2039.344 +2025-03-10 12:37:19,784 - INFO - CLOSED short at 2070.73 | PnL: -0.02% | $-0.38 +2025-03-10 12:37:19,924 - INFO - OPENED SHORT at 2067.84 | Stop loss: 2078.1792 | Take profit: 2036.8224 +2025-03-10 12:37:20,187 - INFO - CLOSED short at 2066.39 | PnL: 0.07% | $-0.10 +2025-03-10 12:37:20,188 - INFO - OPENED LONG at 2066.39 | Stop loss: 2056.0580499999996 | Take profit: 2097.3858499999997 +2025-03-10 12:37:20,232 - INFO - CLOSED long at 2064.47 | PnL: -0.09% | $-0.62 +2025-03-10 12:37:20,327 - INFO - OPENED SHORT at 2067.8 | Stop loss: 2078.139 | Take profit: 2036.7830000000001 +2025-03-10 12:37:20,419 - INFO - CLOSED short at 2065.69 | PnL: 0.10% | $0.01 +2025-03-10 12:37:20,463 - INFO - OPENED LONG at 2067.88 | Stop loss: 2057.5406000000003 | Take profit: 2098.8982 +2025-03-10 12:37:20,505 - INFO - CLOSED long at 2064.99 | PnL: -0.14% | $-0.77 +2025-03-10 12:37:20,743 - INFO - OPENED SHORT at 2062.65 | Stop loss: 2072.96325 | Take profit: 2031.71025 +2025-03-10 12:37:20,792 - INFO - CLOSED short at 2061.78 | PnL: 0.04% | $-0.18 +2025-03-10 12:37:20,793 - INFO - OPENED LONG at 2061.78 | Stop loss: 2051.4711 | Take profit: 2092.7067 +2025-03-10 12:37:20,842 - INFO - CLOSED long at 2059.59 | PnL: -0.11% | $-0.65 +2025-03-10 12:37:20,842 - INFO - OPENED SHORT at 2059.59 | Stop loss: 2069.88795 | Take profit: 2028.6961500000002 +2025-03-10 12:37:20,888 - INFO - CLOSED short at 2061.3 | PnL: -0.08% | $-0.58 +2025-03-10 12:37:20,889 - INFO - OPENED LONG at 2061.3 | Stop loss: 2050.9935 | Take profit: 2092.2195 +2025-03-10 12:37:21,120 - INFO - CLOSED long at 2065.54 | PnL: 0.21% | $0.33 +2025-03-10 12:37:21,120 - INFO - OPENED SHORT at 2065.54 | Stop loss: 2075.8677 | Take profit: 2034.5569 +2025-03-10 12:37:21,407 - INFO - CLOSED short at 2064.5 | PnL: 0.05% | $-0.16 +2025-03-10 12:37:21,407 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.1775 | Take profit: 2095.4674999999997 +2025-03-10 12:37:21,555 - INFO - CLOSED long at 2060.9 | PnL: -0.17% | $-0.86 +2025-03-10 12:37:21,697 - INFO - OPENED SHORT at 2059.3 | Stop loss: 2069.5965 | Take profit: 2028.4105000000002 +2025-03-10 12:37:21,743 - INFO - CLOSED short at 2060.31 | PnL: -0.05% | $-0.46 +2025-03-10 12:37:21,743 - INFO - OPENED LONG at 2060.31 | Stop loss: 2050.00845 | Take profit: 2091.21465 +2025-03-10 12:37:21,838 - INFO - CLOSED long at 2064.7 | PnL: 0.21% | $0.35 +2025-03-10 12:37:21,936 - INFO - OPENED LONG at 2060.91 | Stop loss: 2050.60545 | Take profit: 2091.82365 +2025-03-10 12:37:22,031 - INFO - CLOSED long at 2061.13 | PnL: 0.01% | $-0.28 +2025-03-10 12:37:22,032 - INFO - OPENED SHORT at 2061.13 | Stop loss: 2071.43565 | Take profit: 2030.21305 +2025-03-10 12:37:22,220 - INFO - CLOSED short at 2064.33 | PnL: -0.16% | $-0.79 +2025-03-10 12:37:22,267 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.07305 | Take profit: 2094.3408499999996 +2025-03-10 12:37:22,315 - INFO - CLOSED long at 2064.79 | PnL: 0.07% | $-0.10 +2025-03-10 12:37:22,364 - INFO - OPENED LONG at 2065.89 | Stop loss: 2055.5605499999997 | Take profit: 2096.8783499999995 +2025-03-10 12:37:22,464 - INFO - CLOSED long at 2063.0 | PnL: -0.14% | $-0.73 +2025-03-10 12:37:22,518 - INFO - OPENED LONG at 2062.6 | Stop loss: 2052.287 | Take profit: 2093.5389999999998 +2025-03-10 12:37:22,664 - INFO - CLOSED long at 2060.7 | PnL: -0.09% | $-0.58 +2025-03-10 12:37:22,665 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.0035 | Take profit: 2029.7894999999999 +2025-03-10 12:37:22,758 - INFO - CLOSED short at 2059.61 | PnL: 0.05% | $-0.14 +2025-03-10 12:37:22,805 - INFO - OPENED LONG at 2059.16 | Stop loss: 2048.8642 | Take profit: 2090.0473999999995 +2025-03-10 12:37:22,851 - INFO - CLOSED long at 2059.02 | PnL: -0.01% | $-0.32 +2025-03-10 12:37:22,942 - INFO - OPENED LONG at 2059.96 | Stop loss: 2049.6602 | Take profit: 2090.8594 +2025-03-10 12:37:23,229 - INFO - CLOSED long at 2054.89 | PnL: -0.25% | $-1.03 +2025-03-10 12:37:23,323 - INFO - OPENED LONG at 2056.71 | Stop loss: 2046.42645 | Take profit: 2087.56065 +2025-03-10 12:37:23,368 - INFO - CLOSED long at 2058.15 | PnL: 0.07% | $-0.09 +2025-03-10 12:37:23,368 - INFO - OPENED SHORT at 2058.15 | Stop loss: 2068.4407499999998 | Take profit: 2027.27775 +2025-03-10 12:37:23,554 - INFO - CLOSED short at 2061.6 | PnL: -0.17% | $-0.78 +2025-03-10 12:37:23,603 - INFO - OPENED LONG at 2061.3 | Stop loss: 2050.9935 | Take profit: 2092.2195 +2025-03-10 12:37:23,648 - INFO - CLOSED long at 2062.69 | PnL: 0.07% | $-0.09 +2025-03-10 12:37:23,697 - INFO - OPENED SHORT at 2063.4 | Stop loss: 2073.717 | Take profit: 2032.449 +2025-03-10 12:37:23,745 - INFO - CLOSED short at 2066.36 | PnL: -0.14% | $-0.70 +2025-03-10 12:37:23,842 - INFO - OPENED SHORT at 2063.9 | Stop loss: 2074.2194999999997 | Take profit: 2032.9415000000001 +2025-03-10 12:37:24,126 - INFO - CLOSED short at 2067.01 | PnL: -0.15% | $-0.72 +2025-03-10 12:37:24,173 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.01845 | Take profit: 2034.7046500000001 +2025-03-10 12:37:24,220 - INFO - CLOSED short at 2069.79 | PnL: -0.20% | $-0.85 +2025-03-10 12:37:24,409 - INFO - OPENED LONG at 2075.01 | Stop loss: 2064.63495 | Take profit: 2106.13515 +2025-03-10 12:37:24,501 - INFO - CLOSED long at 2071.04 | PnL: -0.19% | $-0.82 +2025-03-10 12:37:24,507 - INFO - OPENED SHORT at 2071.04 | Stop loss: 2081.3952 | Take profit: 2039.9743999999998 +2025-03-10 12:37:24,556 - INFO - CLOSED short at 2070.01 | PnL: 0.05% | $-0.14 +2025-03-10 12:37:24,651 - INFO - OPENED LONG at 2073.23 | Stop loss: 2062.86385 | Take profit: 2104.32845 +2025-03-10 12:37:24,753 - INFO - CLOSED long at 2068.15 | PnL: -0.25% | $-0.95 +2025-03-10 12:37:24,801 - INFO - OPENED SHORT at 2068.39 | Stop loss: 2078.73195 | Take profit: 2037.3641499999999 +2025-03-10 12:37:24,944 - INFO - CLOSED short at 2067.44 | PnL: 0.05% | $-0.15 +2025-03-10 12:37:24,988 - INFO - OPENED LONG at 2068.79 | Stop loss: 2058.44605 | Take profit: 2099.82185 +2025-03-10 12:37:25,119 - INFO - CLOSED long at 2069.87 | PnL: 0.05% | $-0.13 +2025-03-10 12:37:25,166 - INFO - OPENED LONG at 2067.33 | Stop loss: 2056.9933499999997 | Take profit: 2098.3399499999996 +2025-03-10 12:37:25,298 - INFO - CLOSED long at 2065.66 | PnL: -0.08% | $-0.49 +2025-03-10 12:37:25,347 - INFO - OPENED SHORT at 2063.95 | Stop loss: 2074.2697499999995 | Take profit: 2032.9907499999997 +2025-03-10 12:37:25,436 - INFO - CLOSED short at 2064.5 | PnL: -0.03% | $-0.34 +2025-03-10 12:37:25,436 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.1775 | Take profit: 2095.4674999999997 +2025-03-10 12:37:25,484 - INFO - CLOSED long at 2065.3 | PnL: 0.04% | $-0.16 +2025-03-10 12:37:25,577 - INFO - OPENED LONG at 2064.31 | Stop loss: 2053.98845 | Take profit: 2095.27465 +2025-03-10 12:37:25,670 - INFO - CLOSED long at 2067.53 | PnL: 0.16% | $0.15 +2025-03-10 12:37:25,761 - INFO - OPENED SHORT at 2065.31 | Stop loss: 2075.6365499999997 | Take profit: 2034.33035 +2025-03-10 12:37:25,809 - INFO - CLOSED short at 2066.8 | PnL: -0.07% | $-0.46 +2025-03-10 12:37:25,809 - INFO - OPENED LONG at 2066.8 | Stop loss: 2056.4660000000003 | Take profit: 2097.802 +2025-03-10 12:37:25,861 - INFO - CLOSED long at 2066.5 | PnL: -0.01% | $-0.31 +2025-03-10 12:37:25,965 - INFO - OPENED SHORT at 2071.59 | Stop loss: 2081.9479499999998 | Take profit: 2040.5161500000002 +2025-03-10 12:37:26,017 - INFO - CLOSED short at 2070.2 | PnL: 0.07% | $-0.09 +2025-03-10 12:37:26,114 - INFO - OPENED SHORT at 2070.9 | Stop loss: 2081.2545 | Take profit: 2039.8365000000001 +2025-03-10 12:37:26,164 - INFO - CLOSED short at 2069.69 | PnL: 0.06% | $-0.11 +2025-03-10 12:37:26,212 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3464999999997 | Take profit: 2101.7604999999994 +2025-03-10 12:37:26,310 - INFO - CLOSED long at 2070.35 | PnL: -0.02% | $-0.31 +2025-03-10 12:37:26,311 - INFO - OPENED SHORT at 2070.35 | Stop loss: 2080.7017499999997 | Take profit: 2039.2947499999998 +2025-03-10 12:37:26,587 - INFO - CLOSED short at 2069.78 | PnL: 0.03% | $-0.19 +2025-03-10 12:37:26,633 - INFO - OPENED SHORT at 2071.61 | Stop loss: 2081.96805 | Take profit: 2040.5358500000002 +2025-03-10 12:37:26,682 - INFO - CLOSED short at 2074.37 | PnL: -0.13% | $-0.61 +2025-03-10 12:37:26,819 - INFO - OPENED SHORT at 2073.27 | Stop loss: 2083.6363499999998 | Take profit: 2042.17095 +2025-03-10 12:37:26,902 - INFO - CLOSED short at 2075.32 | PnL: -0.10% | $-0.52 +2025-03-10 12:37:27,037 - INFO - OPENED LONG at 2075.61 | Stop loss: 2065.2319500000003 | Take profit: 2106.74415 +2025-03-10 12:37:27,122 - INFO - CLOSED long at 2072.09 | PnL: -0.17% | $-0.70 +2025-03-10 12:37:27,207 - INFO - OPENED LONG at 2067.7 | Stop loss: 2057.3615 | Take profit: 2098.7155 +2025-03-10 12:37:27,251 - INFO - CLOSED long at 2067.0 | PnL: -0.03% | $-0.34 +2025-03-10 12:37:27,252 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.3349999999996 | Take profit: 2035.995 +2025-03-10 12:37:27,385 - INFO - CLOSED short at 2066.89 | PnL: 0.01% | $-0.24 +2025-03-10 12:37:27,524 - INFO - OPENED SHORT at 2068.1 | Stop loss: 2078.4404999999997 | Take profit: 2037.0784999999998 +2025-03-10 12:37:27,573 - INFO - CLOSED short at 2069.0 | PnL: -0.04% | $-0.36 +2025-03-10 12:37:27,573 - INFO - OPENED LONG at 2069.0 | Stop loss: 2058.655 | Take profit: 2100.035 +2025-03-10 12:37:27,624 - INFO - CLOSED long at 2070.19 | PnL: 0.06% | $-0.11 +2025-03-10 12:37:27,763 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.1725 | Take profit: 2096.4824999999996 +2025-03-10 12:37:27,816 - INFO - CLOSED long at 2065.7 | PnL: 0.01% | $-0.23 +2025-03-10 12:37:27,818 - INFO - OPENED SHORT at 2065.7 | Stop loss: 2076.0284999999994 | Take profit: 2034.7144999999998 +2025-03-10 12:37:27,962 - INFO - CLOSED short at 2066.09 | PnL: -0.02% | $-0.30 +2025-03-10 12:37:27,963 - INFO - OPENED LONG at 2066.09 | Stop loss: 2055.75955 | Take profit: 2097.08135 +2025-03-10 12:37:28,009 - INFO - CLOSED long at 2063.39 | PnL: -0.13% | $-0.57 +2025-03-10 12:37:28,009 - INFO - OPENED SHORT at 2063.39 | Stop loss: 2073.70695 | Take profit: 2032.43915 +2025-03-10 12:37:28,104 - INFO - CLOSED short at 2063.98 | PnL: -0.03% | $-0.32 +2025-03-10 12:37:28,147 - INFO - OPENED SHORT at 2066.1 | Stop loss: 2076.4304999999995 | Take profit: 2035.1084999999998 +2025-03-10 12:37:28,238 - INFO - CLOSED short at 2064.11 | PnL: 0.10% | $-0.01 +2025-03-10 12:37:28,376 - INFO - OPENED SHORT at 2063.01 | Stop loss: 2073.32505 | Take profit: 2032.0648500000002 +2025-03-10 12:37:28,419 - INFO - CLOSED short at 2060.7 | PnL: 0.11% | $0.03 +2025-03-10 12:37:28,420 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3965 | Take profit: 2091.6105 +2025-03-10 12:37:28,464 - INFO - CLOSED long at 2060.2 | PnL: -0.02% | $-0.30 +2025-03-10 12:37:28,465 - INFO - OPENED SHORT at 2060.2 | Stop loss: 2070.5009999999997 | Take profit: 2029.2969999999998 +2025-03-10 12:37:28,554 - INFO - CLOSED short at 2058.09 | PnL: 0.10% | $0.01 +2025-03-10 12:37:28,600 - INFO - OPENED LONG at 2058.65 | Stop loss: 2048.35675 | Take profit: 2089.5297499999997 +2025-03-10 12:37:28,694 - INFO - CLOSED long at 2053.01 | PnL: -0.27% | $-0.91 +2025-03-10 12:37:28,834 - INFO - OPENED SHORT at 2051.99 | Stop loss: 2062.2499499999994 | Take profit: 2021.2101499999997 +2025-03-10 12:37:28,878 - INFO - CLOSED short at 2058.3 | PnL: -0.31% | $-0.98 +2025-03-10 12:37:28,878 - INFO - OPENED LONG at 2058.3 | Stop loss: 2048.0085000000004 | Take profit: 2089.1745 +2025-03-10 12:37:28,928 - INFO - CLOSED long at 2056.85 | PnL: -0.07% | $-0.40 +2025-03-10 12:37:28,929 - INFO - OPENED SHORT at 2056.85 | Stop loss: 2067.1342499999996 | Take profit: 2025.99725 +2025-03-10 12:37:28,976 - INFO - CLOSED short at 2057.11 | PnL: -0.01% | $-0.26 +2025-03-10 12:37:29,024 - INFO - OPENED SHORT at 2057.89 | Stop loss: 2068.1794499999996 | Take profit: 2027.02165 +2025-03-10 12:37:29,342 - INFO - CLOSED short at 2068.33 | PnL: -0.51% | $-1.42 +2025-03-10 12:37:29,437 - INFO - OPENED LONG at 2066.59 | Stop loss: 2056.25705 | Take profit: 2097.58885 +2025-03-10 12:37:29,567 - INFO - CLOSED long at 2059.9 | PnL: -0.32% | $-0.97 +2025-03-10 12:37:29,567 - INFO - OPENED SHORT at 2059.9 | Stop loss: 2070.1994999999997 | Take profit: 2029.0015 +2025-03-10 12:37:29,661 - INFO - CLOSED short at 2061.84 | PnL: -0.09% | $-0.44 +2025-03-10 12:37:29,753 - INFO - OPENED LONG at 2065.72 | Stop loss: 2055.3914 | Take profit: 2096.7057999999997 +2025-03-10 12:37:29,841 - INFO - CLOSED long at 2070.24 | PnL: 0.22% | $0.26 +2025-03-10 12:37:29,842 - INFO - OPENED SHORT at 2070.24 | Stop loss: 2080.5911999999994 | Take profit: 2039.1863999999998 +2025-03-10 12:37:30,045 - INFO - CLOSED short at 2073.49 | PnL: -0.16% | $-0.57 +2025-03-10 12:37:30,046 - INFO - OPENED LONG at 2073.49 | Stop loss: 2063.1225499999996 | Take profit: 2104.5923499999994 +2025-03-10 12:37:30,282 - INFO - CLOSED long at 2074.9 | PnL: 0.07% | $-0.07 +2025-03-10 12:37:30,386 - INFO - OPENED SHORT at 2077.61 | Stop loss: 2087.9980499999997 | Take profit: 2046.44585 +2025-03-10 12:37:30,431 - INFO - CLOSED short at 2085.56 | PnL: -0.38% | $-1.07 +2025-03-10 12:37:30,431 - INFO - OPENED LONG at 2085.56 | Stop loss: 2075.1322 | Take profit: 2116.8433999999997 +2025-03-10 12:37:30,568 - INFO - TAKE PROFIT hit for long at 2116.8433999999997 | PnL: 1.50% | $3.04 +2025-03-10 12:37:30,714 - INFO - OPENED LONG at 2133.95 | Stop loss: 2123.28025 | Take profit: 2165.9592499999994 +2025-03-10 12:37:30,763 - INFO - CLOSED long at 2137.59 | PnL: 0.17% | $0.16 +2025-03-10 12:37:30,763 - INFO - OPENED SHORT at 2137.59 | Stop loss: 2148.2779499999997 | Take profit: 2105.52615 +2025-03-10 12:37:30,957 - INFO - CLOSED short at 2140.01 | PnL: -0.11% | $-0.49 +2025-03-10 12:37:31,200 - INFO - OPENED SHORT at 2121.09 | Stop loss: 2131.6954499999997 | Take profit: 2089.27365 +2025-03-10 12:37:31,340 - INFO - CLOSED short at 2119.93 | PnL: 0.05% | $-0.10 +2025-03-10 12:37:31,579 - INFO - OPENED LONG at 2115.28 | Stop loss: 2104.7036000000003 | Take profit: 2147.0092 +2025-03-10 12:37:31,625 - INFO - CLOSED long at 2107.43 | PnL: -0.37% | $-1.07 +2025-03-10 12:37:31,626 - INFO - OPENED SHORT at 2107.43 | Stop loss: 2117.9671499999995 | Take profit: 2075.81855 +2025-03-10 12:37:31,716 - INFO - CLOSED short at 2109.05 | PnL: -0.08% | $-0.39 +2025-03-10 12:37:31,775 - INFO - OPENED LONG at 2112.09 | Stop loss: 2101.52955 | Take profit: 2143.77135 +2025-03-10 12:37:31,824 - INFO - CLOSED long at 2112.95 | PnL: 0.04% | $-0.13 +2025-03-10 12:37:31,875 - INFO - OPENED SHORT at 2112.46 | Stop loss: 2123.0222999999996 | Take profit: 2080.7731 +2025-03-10 12:37:31,920 - INFO - CLOSED short at 2113.24 | PnL: -0.04% | $-0.30 +2025-03-10 12:37:31,968 - INFO - OPENED SHORT at 2112.99 | Stop loss: 2123.5549499999997 | Take profit: 2081.29515 +2025-03-10 12:37:32,014 - INFO - CLOSED short at 2120.81 | PnL: -0.37% | $-1.03 +2025-03-10 12:37:32,014 - INFO - OPENED LONG at 2120.81 | Stop loss: 2110.20595 | Take profit: 2152.6221499999997 +2025-03-10 12:37:32,116 - INFO - CLOSED long at 2114.8 | PnL: -0.28% | $-0.83 +2025-03-10 12:37:32,214 - INFO - OPENED SHORT at 2108.71 | Stop loss: 2119.25355 | Take profit: 2077.07935 +2025-03-10 12:37:32,259 - INFO - CLOSED short at 2106.49 | PnL: 0.11% | $0.01 +2025-03-10 12:37:32,260 - INFO - OPENED LONG at 2106.49 | Stop loss: 2095.9575499999996 | Take profit: 2138.08735 +2025-03-10 12:37:32,305 - INFO - CLOSED long at 2108.06 | PnL: 0.07% | $-0.05 +2025-03-10 12:37:32,444 - INFO - OPENED LONG at 2090.0 | Stop loss: 2079.55 | Take profit: 2121.35 +2025-03-10 12:37:32,488 - INFO - CLOSED long at 2099.53 | PnL: 0.46% | $0.75 +2025-03-10 12:37:32,488 - INFO - OPENED SHORT at 2099.53 | Stop loss: 2110.02765 | Take profit: 2068.0370500000004 +2025-03-10 12:37:32,584 - INFO - CLOSED short at 2102.19 | PnL: -0.13% | $-0.49 +2025-03-10 12:37:32,585 - INFO - OPENED LONG at 2102.19 | Stop loss: 2091.67905 | Take profit: 2133.7228499999997 +2025-03-10 12:37:32,677 - INFO - CLOSED long at 2099.25 | PnL: -0.14% | $-0.51 +2025-03-10 12:37:32,677 - INFO - OPENED SHORT at 2099.25 | Stop loss: 2109.7462499999997 | Take profit: 2067.76125 +2025-03-10 12:37:32,728 - INFO - CLOSED short at 2098.9 | PnL: 0.02% | $-0.18 +2025-03-10 12:37:32,728 - INFO - OPENED LONG at 2098.9 | Stop loss: 2088.4055000000003 | Take profit: 2130.3835 +2025-03-10 12:37:33,003 - INFO - CLOSED long at 2104.68 | PnL: 0.28% | $0.37 +2025-03-10 12:37:33,091 - INFO - OPENED SHORT at 2099.59 | Stop loss: 2110.08795 | Take profit: 2068.0961500000003 +2025-03-10 12:37:33,143 - INFO - CLOSED short at 2100.02 | PnL: -0.02% | $-0.26 +2025-03-10 12:37:33,143 - INFO - OPENED LONG at 2100.02 | Stop loss: 2089.5199 | Take profit: 2131.5202999999997 +2025-03-10 12:37:33,193 - INFO - CLOSED long at 2098.39 | PnL: -0.08% | $-0.37 +2025-03-10 12:37:33,193 - INFO - OPENED SHORT at 2098.39 | Stop loss: 2108.8819499999995 | Take profit: 2066.91415 +2025-03-10 12:37:33,239 - INFO - CLOSED short at 2095.29 | PnL: 0.15% | $0.10 +2025-03-10 12:37:33,240 - INFO - OPENED LONG at 2095.29 | Stop loss: 2084.81355 | Take profit: 2126.71935 +2025-03-10 12:37:33,426 - INFO - CLOSED long at 2091.1 | PnL: -0.20% | $-0.63 +2025-03-10 12:37:33,426 - INFO - OPENED SHORT at 2091.1 | Stop loss: 2101.5554999999995 | Take profit: 2059.7335 +2025-03-10 12:37:33,475 - INFO - CLOSED short at 2094.72 | PnL: -0.17% | $-0.57 +2025-03-10 12:37:33,475 - INFO - OPENED LONG at 2094.72 | Stop loss: 2084.2464 | Take profit: 2126.1407999999997 +2025-03-10 12:37:33,523 - INFO - CLOSED long at 2094.08 | PnL: -0.03% | $-0.27 +2025-03-10 12:37:33,524 - INFO - OPENED SHORT at 2094.08 | Stop loss: 2104.5503999999996 | Take profit: 2062.6688 +2025-03-10 12:37:33,794 - INFO - CLOSED short at 2082.44 | PnL: 0.56% | $0.93 +2025-03-10 12:37:33,932 - INFO - OPENED LONG at 2081.25 | Stop loss: 2070.84375 | Take profit: 2112.46875 +2025-03-10 12:37:33,979 - INFO - CLOSED long at 2083.41 | PnL: 0.10% | $0.01 +2025-03-10 12:37:34,174 - INFO - OPENED SHORT at 2085.8 | Stop loss: 2096.229 | Take profit: 2054.5130000000004 +2025-03-10 12:37:34,220 - INFO - CLOSED short at 2084.72 | PnL: 0.05% | $-0.10 +2025-03-10 12:37:34,221 - INFO - OPENED LONG at 2084.72 | Stop loss: 2074.2963999999997 | Take profit: 2115.9907999999996 +2025-03-10 12:37:34,267 - INFO - CLOSED long at 2085.83 | PnL: 0.05% | $-0.10 +2025-03-10 12:37:34,268 - INFO - OPENED SHORT at 2085.83 | Stop loss: 2096.25915 | Take profit: 2054.54255 +2025-03-10 12:37:34,368 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 17.6% in downtrends | Avg Win=$0.37, Avg Loss=$-0.48 +2025-03-10 12:37:34,369 - INFO - Episode 0: Reward=-127.71, Balance=$51.70, Win Rate=16.2%, Trades=142, Episode PnL=$-23.06, Total PnL=$-48.30, Max Drawdown=48.4%, Pred Accuracy=98.7% +2025-03-10 12:37:34,531 - INFO - Model saved to models/trading_agent_best_reward.pt +2025-03-10 12:37:34,531 - INFO - New best reward model saved: -127.71 +2025-03-10 12:37:34,665 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 12:37:34,666 - INFO - New best PnL model saved: $-23.06 +2025-03-10 12:37:34,768 - INFO - Model saved to models/trading_agent_best_winrate.pt +2025-03-10 12:37:34,769 - INFO - New best win rate model saved: 16.2% +2025-03-10 12:37:34,867 - INFO - Model saved to checkpoints/trading_agent_episode_0.pt +2025-03-10 12:37:34,868 - INFO - Checkpoint saved at episode 0 +2025-03-10 12:37:34,887 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 12:37:35,274 - INFO - OPENED LONG at 2059.4 | Stop loss: 2049.103 | Take profit: 2090.2909999999997 +2025-03-10 12:37:35,461 - INFO - CLOSED long at 2060.1 | PnL: 0.03% | $-0.26 +2025-03-10 12:37:35,462 - INFO - OPENED SHORT at 2060.1 | Stop loss: 2070.4004999999997 | Take profit: 2029.1985 +2025-03-10 12:37:35,617 - INFO - CLOSED short at 2056.9 | PnL: 0.16% | $0.22 +2025-03-10 12:37:35,663 - INFO - OPENED SHORT at 2057.59 | Stop loss: 2067.87795 | Take profit: 2026.7261500000002 +2025-03-10 12:37:35,714 - INFO - CLOSED short at 2057.9 | PnL: -0.02% | $-0.46 +2025-03-10 12:37:35,764 - INFO - OPENED LONG at 2057.99 | Stop loss: 2047.7000499999997 | Take profit: 2088.8598499999994 +2025-03-10 12:37:35,814 - INFO - CLOSED long at 2058.51 | PnL: 0.03% | $-0.30 +2025-03-10 12:37:35,814 - INFO - OPENED SHORT at 2058.51 | Stop loss: 2068.80255 | Take profit: 2027.63235 +2025-03-10 12:37:35,863 - INFO - CLOSED short at 2055.2 | PnL: 0.16% | $0.24 +2025-03-10 12:37:35,863 - INFO - OPENED LONG at 2055.2 | Stop loss: 2044.9239999999998 | Take profit: 2086.028 +2025-03-10 12:37:35,968 - INFO - CLOSED long at 2056.4 | PnL: 0.06% | $-0.17 +2025-03-10 12:37:35,969 - INFO - OPENED SHORT at 2056.4 | Stop loss: 2066.682 | Take profit: 2025.554 +2025-03-10 12:37:36,021 - INFO - CLOSED short at 2055.39 | PnL: 0.05% | $-0.20 +2025-03-10 12:37:36,022 - INFO - OPENED LONG at 2055.39 | Stop loss: 2045.11305 | Take profit: 2086.2208499999997 +2025-03-10 12:37:36,075 - INFO - CLOSED long at 2053.56 | PnL: -0.09% | $-0.75 +2025-03-10 12:37:36,076 - INFO - OPENED SHORT at 2053.56 | Stop loss: 2063.8277999999996 | Take profit: 2022.7566 +2025-03-10 12:37:36,177 - INFO - CLOSED short at 2051.66 | PnL: 0.09% | $-0.03 +2025-03-10 12:37:36,178 - INFO - OPENED LONG at 2051.66 | Stop loss: 2041.4017 | Take profit: 2082.4348999999997 +2025-03-10 12:37:36,228 - INFO - CLOSED long at 2052.16 | PnL: 0.02% | $-0.30 +2025-03-10 12:37:36,276 - INFO - OPENED SHORT at 2053.1 | Stop loss: 2063.3655 | Take profit: 2022.3035 +2025-03-10 12:37:36,380 - INFO - CLOSED short at 2050.71 | PnL: 0.12% | $0.06 +2025-03-10 12:37:36,380 - INFO - OPENED LONG at 2050.71 | Stop loss: 2040.4564500000001 | Take profit: 2081.4706499999998 +2025-03-10 12:37:36,489 - INFO - CLOSED long at 2049.49 | PnL: -0.06% | $-0.63 +2025-03-10 12:37:36,538 - INFO - OPENED SHORT at 2050.2 | Stop loss: 2060.4509999999996 | Take profit: 2019.447 +2025-03-10 12:37:36,635 - INFO - CLOSED short at 2051.99 | PnL: -0.09% | $-0.73 +2025-03-10 12:37:36,687 - INFO - OPENED LONG at 2049.61 | Stop loss: 2039.3619500000002 | Take profit: 2080.35415 +2025-03-10 12:37:36,869 - INFO - CLOSED long at 2046.58 | PnL: -0.15% | $-0.96 +2025-03-10 12:37:36,919 - INFO - OPENED SHORT at 2047.4 | Stop loss: 2057.6369999999997 | Take profit: 2016.689 +2025-03-10 12:37:36,964 - INFO - CLOSED short at 2047.2 | PnL: 0.01% | $-0.35 +2025-03-10 12:37:36,964 - INFO - OPENED LONG at 2047.2 | Stop loss: 2036.964 | Take profit: 2077.908 +2025-03-10 12:37:37,060 - INFO - CLOSED long at 2045.99 | PnL: -0.06% | $-0.61 +2025-03-10 12:37:37,060 - INFO - OPENED SHORT at 2045.99 | Stop loss: 2056.2199499999997 | Take profit: 2015.30015 +2025-03-10 12:37:37,207 - INFO - CLOSED short at 2047.59 | PnL: -0.08% | $-0.68 +2025-03-10 12:37:37,298 - INFO - OPENED SHORT at 2050.0 | Stop loss: 2060.25 | Take profit: 2019.25 +2025-03-10 12:37:37,395 - INFO - CLOSED short at 2049.89 | PnL: 0.01% | $-0.36 +2025-03-10 12:37:37,395 - INFO - OPENED LONG at 2049.89 | Stop loss: 2039.6405499999998 | Take profit: 2080.6383499999997 +2025-03-10 12:37:37,596 - INFO - CLOSED long at 2052.3 | PnL: 0.12% | $0.07 +2025-03-10 12:37:37,650 - INFO - OPENED LONG at 2055.69 | Stop loss: 2045.41155 | Take profit: 2086.52535 +2025-03-10 12:37:37,752 - INFO - CLOSED long at 2056.89 | PnL: 0.06% | $-0.16 +2025-03-10 12:37:37,752 - INFO - OPENED SHORT at 2056.89 | Stop loss: 2067.1744499999995 | Take profit: 2026.0366499999998 +2025-03-10 12:37:37,802 - INFO - CLOSED short at 2058.39 | PnL: -0.07% | $-0.65 +2025-03-10 12:37:37,803 - INFO - OPENED LONG at 2058.39 | Stop loss: 2048.09805 | Take profit: 2089.26585 +2025-03-10 12:37:37,967 - INFO - CLOSED long at 2059.7 | PnL: 0.06% | $-0.14 +2025-03-10 12:37:38,121 - INFO - OPENED LONG at 2063.29 | Stop loss: 2052.97355 | Take profit: 2094.23935 +2025-03-10 12:37:38,494 - INFO - CLOSED long at 2060.99 | PnL: -0.11% | $-0.79 +2025-03-10 12:37:38,552 - INFO - OPENED SHORT at 2058.3 | Stop loss: 2068.5915 | Take profit: 2027.4255 +2025-03-10 12:37:38,609 - INFO - CLOSED short at 2060.0 | PnL: -0.08% | $-0.67 +2025-03-10 12:37:38,610 - INFO - OPENED LONG at 2060.0 | Stop loss: 2049.7 | Take profit: 2090.8999999999996 +2025-03-10 12:37:38,670 - INFO - CLOSED long at 2061.89 | PnL: 0.09% | $-0.03 +2025-03-10 12:37:38,670 - INFO - OPENED SHORT at 2061.89 | Stop loss: 2072.1994499999996 | Take profit: 2030.9616499999997 +2025-03-10 12:37:38,725 - INFO - CLOSED short at 2062.89 | PnL: -0.05% | $-0.54 +2025-03-10 12:37:38,778 - INFO - OPENED LONG at 2060.31 | Stop loss: 2050.00845 | Take profit: 2091.21465 +2025-03-10 12:37:38,831 - INFO - CLOSED long at 2059.49 | PnL: -0.04% | $-0.51 +2025-03-10 12:37:38,832 - INFO - OPENED SHORT at 2059.49 | Stop loss: 2069.7874499999994 | Take profit: 2028.5976499999997 +2025-03-10 12:37:39,212 - INFO - CLOSED short at 2061.18 | PnL: -0.08% | $-0.66 +2025-03-10 12:37:39,212 - INFO - OPENED LONG at 2061.18 | Stop loss: 2050.8741 | Take profit: 2092.0977 +2025-03-10 12:37:39,269 - INFO - CLOSED long at 2064.32 | PnL: 0.15% | $0.19 +2025-03-10 12:37:39,270 - INFO - OPENED SHORT at 2064.32 | Stop loss: 2074.6416 | Take profit: 2033.3552000000002 +2025-03-10 12:37:39,330 - INFO - CLOSED short at 2065.86 | PnL: -0.07% | $-0.63 +2025-03-10 12:37:39,437 - INFO - OPENED LONG at 2068.11 | Stop loss: 2057.7694500000002 | Take profit: 2099.13165 +2025-03-10 12:37:39,538 - INFO - CLOSED long at 2067.89 | PnL: -0.01% | $-0.39 +2025-03-10 12:37:39,644 - INFO - OPENED SHORT at 2070.99 | Stop loss: 2081.3449499999997 | Take profit: 2039.9251499999998 +2025-03-10 12:37:39,692 - INFO - CLOSED short at 2069.6 | PnL: 0.07% | $-0.12 +2025-03-10 12:37:39,693 - INFO - OPENED LONG at 2069.6 | Stop loss: 2059.252 | Take profit: 2100.644 +2025-03-10 12:37:39,794 - INFO - CLOSED long at 2068.99 | PnL: -0.03% | $-0.46 +2025-03-10 12:37:40,007 - INFO - OPENED SHORT at 2071.44 | Stop loss: 2081.7972 | Take profit: 2040.3684 +2025-03-10 12:37:40,207 - INFO - CLOSED short at 2072.33 | PnL: -0.04% | $-0.50 +2025-03-10 12:37:40,208 - INFO - OPENED LONG at 2072.33 | Stop loss: 2061.96835 | Take profit: 2103.41495 +2025-03-10 12:37:40,374 - INFO - CLOSED long at 2069.37 | PnL: -0.14% | $-0.85 +2025-03-10 12:37:40,544 - INFO - OPENED SHORT at 2070.79 | Stop loss: 2081.1439499999997 | Take profit: 2039.72815 +2025-03-10 12:37:40,948 - INFO - CLOSED short at 2069.19 | PnL: 0.08% | $-0.08 +2025-03-10 12:37:41,089 - INFO - OPENED SHORT at 2067.51 | Stop loss: 2077.84755 | Take profit: 2036.49735 +2025-03-10 12:37:41,186 - INFO - CLOSED short at 2066.39 | PnL: 0.05% | $-0.16 +2025-03-10 12:37:41,186 - INFO - OPENED LONG at 2066.39 | Stop loss: 2056.0580499999996 | Take profit: 2097.3858499999997 +2025-03-10 12:37:41,326 - INFO - CLOSED long at 2066.29 | PnL: -0.00% | $-0.36 +2025-03-10 12:37:41,326 - INFO - OPENED SHORT at 2066.29 | Stop loss: 2076.6214499999996 | Take profit: 2035.29565 +2025-03-10 12:37:41,374 - INFO - CLOSED short at 2065.08 | PnL: 0.06% | $-0.14 +2025-03-10 12:37:41,755 - INFO - OPENED LONG at 2069.96 | Stop loss: 2059.6102 | Take profit: 2101.0094 +2025-03-10 12:37:42,115 - INFO - CLOSED long at 2072.15 | PnL: 0.11% | $0.02 +2025-03-10 12:37:42,116 - INFO - OPENED SHORT at 2072.15 | Stop loss: 2082.51075 | Take profit: 2041.0677500000002 +2025-03-10 12:37:42,223 - INFO - CLOSED short at 2073.9 | PnL: -0.08% | $-0.64 +2025-03-10 12:37:42,275 - INFO - OPENED SHORT at 2071.92 | Stop loss: 2082.2796 | Take profit: 2040.8412 +2025-03-10 12:37:42,381 - INFO - CLOSED short at 2071.11 | PnL: 0.04% | $-0.21 +2025-03-10 12:37:42,536 - INFO - OPENED LONG at 2068.32 | Stop loss: 2057.9784 | Take profit: 2099.3448 +2025-03-10 12:37:42,586 - INFO - CLOSED long at 2067.0 | PnL: -0.06% | $-0.56 +2025-03-10 12:37:42,801 - INFO - OPENED LONG at 2065.49 | Stop loss: 2055.1625499999996 | Take profit: 2096.4723499999996 +2025-03-10 12:37:42,848 - INFO - CLOSED long at 2063.61 | PnL: -0.09% | $-0.65 +2025-03-10 12:37:42,944 - INFO - OPENED SHORT at 2067.89 | Stop loss: 2078.22945 | Take profit: 2036.8716499999998 +2025-03-10 12:37:43,048 - INFO - CLOSED short at 2068.8 | PnL: -0.04% | $-0.48 +2025-03-10 12:37:43,099 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.6866999999997 | Take profit: 2038.2999000000002 +2025-03-10 12:37:43,248 - INFO - CLOSED short at 2069.2 | PnL: 0.01% | $-0.31 +2025-03-10 12:37:43,297 - INFO - OPENED LONG at 2070.3 | Stop loss: 2059.9485 | Take profit: 2101.3545 +2025-03-10 12:37:43,402 - INFO - CLOSED long at 2070.7 | PnL: 0.02% | $-0.27 +2025-03-10 12:37:43,403 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.0534999999995 | Take profit: 2039.6394999999998 +2025-03-10 12:37:43,455 - INFO - CLOSED short at 2070.4 | PnL: 0.01% | $-0.28 +2025-03-10 12:37:43,456 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.0480000000002 | Take profit: 2101.4559999999997 +2025-03-10 12:37:43,613 - INFO - CLOSED long at 2068.69 | PnL: -0.08% | $-0.60 +2025-03-10 12:37:43,613 - INFO - OPENED SHORT at 2068.69 | Stop loss: 2079.03345 | Take profit: 2037.65965 +2025-03-10 12:37:43,764 - INFO - CLOSED short at 2067.86 | PnL: 0.04% | $-0.20 +2025-03-10 12:37:43,814 - INFO - OPENED LONG at 2066.4 | Stop loss: 2056.068 | Take profit: 2097.3959999999997 +2025-03-10 12:37:43,867 - INFO - CLOSED long at 2066.1 | PnL: -0.01% | $-0.38 +2025-03-10 12:37:43,867 - INFO - OPENED SHORT at 2066.1 | Stop loss: 2076.4304999999995 | Take profit: 2035.1084999999998 +2025-03-10 12:37:43,962 - INFO - CLOSED short at 2066.39 | PnL: -0.01% | $-0.37 +2025-03-10 12:37:43,968 - INFO - OPENED LONG at 2066.39 | Stop loss: 2056.0580499999996 | Take profit: 2097.3858499999997 +2025-03-10 12:37:44,015 - INFO - CLOSED long at 2064.47 | PnL: -0.09% | $-0.63 +2025-03-10 12:37:44,064 - INFO - OPENED SHORT at 2070.04 | Stop loss: 2080.3902 | Take profit: 2038.9894 +2025-03-10 12:37:44,224 - INFO - CLOSED short at 2065.69 | PnL: 0.21% | $0.36 +2025-03-10 12:37:44,335 - INFO - OPENED SHORT at 2064.99 | Stop loss: 2075.3149499999995 | Take profit: 2034.0151499999997 +2025-03-10 12:37:44,390 - INFO - CLOSED short at 2065.83 | PnL: -0.04% | $-0.46 +2025-03-10 12:37:44,758 - INFO - OPENED LONG at 2061.3 | Stop loss: 2050.9935 | Take profit: 2092.2195 +2025-03-10 12:37:44,864 - INFO - CLOSED long at 2064.96 | PnL: 0.18% | $0.25 +2025-03-10 12:37:44,921 - INFO - OPENED SHORT at 2066.24 | Stop loss: 2076.5711999999994 | Take profit: 2035.2463999999998 +2025-03-10 12:37:44,982 - INFO - CLOSED short at 2067.1 | PnL: -0.04% | $-0.46 +2025-03-10 12:37:44,982 - INFO - OPENED LONG at 2067.1 | Stop loss: 2056.7644999999998 | Take profit: 2098.1065 +2025-03-10 12:37:45,223 - INFO - CLOSED long at 2064.08 | PnL: -0.15% | $-0.79 +2025-03-10 12:37:45,282 - INFO - OPENED LONG at 2062.71 | Stop loss: 2052.39645 | Take profit: 2093.65065 +2025-03-10 12:37:45,449 - INFO - CLOSED long at 2063.5 | PnL: 0.04% | $-0.20 +2025-03-10 12:37:45,450 - INFO - OPENED SHORT at 2063.5 | Stop loss: 2073.8174999999997 | Take profit: 2032.5475 +2025-03-10 12:37:45,612 - INFO - CLOSED short at 2060.65 | PnL: 0.14% | $0.12 +2025-03-10 12:37:45,612 - INFO - OPENED LONG at 2060.65 | Stop loss: 2050.34675 | Take profit: 2091.55975 +2025-03-10 12:37:45,815 - INFO - CLOSED long at 2061.8 | PnL: 0.06% | $-0.14 +2025-03-10 12:37:45,815 - INFO - OPENED SHORT at 2061.8 | Stop loss: 2072.109 | Take profit: 2030.873 +2025-03-10 12:37:45,919 - INFO - CLOSED short at 2062.61 | PnL: -0.04% | $-0.44 +2025-03-10 12:37:46,132 - INFO - OPENED LONG at 2061.9 | Stop loss: 2051.5905000000002 | Take profit: 2092.8285 +2025-03-10 12:37:46,397 - INFO - CLOSED long at 2064.79 | PnL: 0.14% | $0.13 +2025-03-10 12:37:46,714 - INFO - OPENED SHORT at 2061.7 | Stop loss: 2072.0084999999995 | Take profit: 2030.7744999999998 +2025-03-10 12:37:46,813 - INFO - CLOSED short at 2061.09 | PnL: 0.03% | $-0.22 +2025-03-10 12:37:46,861 - INFO - OPENED SHORT at 2059.61 | Stop loss: 2069.90805 | Take profit: 2028.71585 +2025-03-10 12:37:46,927 - INFO - CLOSED short at 2059.16 | PnL: 0.02% | $-0.25 +2025-03-10 12:37:46,928 - INFO - OPENED LONG at 2059.16 | Stop loss: 2048.8642 | Take profit: 2090.0473999999995 +2025-03-10 12:37:47,061 - INFO - CLOSED long at 2058.89 | PnL: -0.01% | $-0.36 +2025-03-10 12:37:47,125 - INFO - OPENED LONG at 2059.96 | Stop loss: 2049.6602 | Take profit: 2090.8594 +2025-03-10 12:37:47,186 - INFO - CLOSED long at 2059.46 | PnL: -0.02% | $-0.39 +2025-03-10 12:37:47,312 - INFO - OPENED LONG at 2058.28 | Stop loss: 2047.9886000000001 | Take profit: 2089.1542 +2025-03-10 12:37:47,368 - INFO - CLOSED long at 2056.28 | PnL: -0.10% | $-0.61 +2025-03-10 12:37:47,995 - INFO - OPENED LONG at 2062.69 | Stop loss: 2052.37655 | Take profit: 2093.63035 +2025-03-10 12:37:48,044 - INFO - CLOSED long at 2063.4 | PnL: 0.03% | $-0.20 +2025-03-10 12:37:48,096 - INFO - OPENED LONG at 2066.36 | Stop loss: 2056.0282 | Take profit: 2097.3554 +2025-03-10 12:37:48,148 - INFO - CLOSED long at 2066.01 | PnL: -0.02% | $-0.36 +2025-03-10 12:37:48,537 - INFO - OPENED LONG at 2065.69 | Stop loss: 2055.36155 | Take profit: 2096.67535 +2025-03-10 12:37:48,631 - INFO - CLOSED long at 2072.0 | PnL: 0.31% | $0.63 +2025-03-10 12:37:48,631 - INFO - OPENED SHORT at 2072.0 | Stop loss: 2082.3599999999997 | Take profit: 2040.92 +2025-03-10 12:37:48,811 - INFO - CLOSED short at 2072.6 | PnL: -0.03% | $-0.40 +2025-03-10 12:37:48,811 - INFO - OPENED LONG at 2072.6 | Stop loss: 2062.237 | Take profit: 2103.689 +2025-03-10 12:37:48,855 - INFO - CLOSED long at 2071.04 | PnL: -0.08% | $-0.54 +2025-03-10 12:37:48,856 - INFO - OPENED SHORT at 2071.04 | Stop loss: 2081.3952 | Take profit: 2039.9743999999998 +2025-03-10 12:37:48,900 - INFO - CLOSED short at 2070.01 | PnL: 0.05% | $-0.15 +2025-03-10 12:37:48,901 - INFO - OPENED LONG at 2070.01 | Stop loss: 2059.65995 | Take profit: 2101.06015 +2025-03-10 12:37:48,947 - INFO - CLOSED long at 2071.6 | PnL: 0.08% | $-0.07 +2025-03-10 12:37:49,047 - INFO - OPENED LONG at 2070.0 | Stop loss: 2059.65 | Take profit: 2101.0499999999997 +2025-03-10 12:37:49,114 - INFO - CLOSED long at 2068.15 | PnL: -0.09% | $-0.58 +2025-03-10 12:37:49,373 - INFO - OPENED LONG at 2068.79 | Stop loss: 2058.44605 | Take profit: 2099.82185 +2025-03-10 12:37:49,423 - INFO - CLOSED long at 2072.99 | PnL: 0.20% | $0.31 +2025-03-10 12:37:49,474 - INFO - OPENED SHORT at 2071.49 | Stop loss: 2081.8474499999998 | Take profit: 2040.4176499999999 +2025-03-10 12:37:49,524 - INFO - CLOSED short at 2069.87 | PnL: 0.08% | $-0.07 +2025-03-10 12:37:49,524 - INFO - OPENED LONG at 2069.87 | Stop loss: 2059.52065 | Take profit: 2100.9180499999998 +2025-03-10 12:37:49,576 - INFO - CLOSED long at 2067.33 | PnL: -0.12% | $-0.67 +2025-03-10 12:37:49,577 - INFO - OPENED SHORT at 2067.33 | Stop loss: 2077.6666499999997 | Take profit: 2036.3200499999998 +2025-03-10 12:37:49,630 - INFO - CLOSED short at 2066.38 | PnL: 0.05% | $-0.16 +2025-03-10 12:37:49,631 - INFO - OPENED LONG at 2066.38 | Stop loss: 2056.0481 | Take profit: 2097.3757 +2025-03-10 12:37:50,039 - INFO - CLOSED long at 2064.31 | PnL: -0.10% | $-0.60 +2025-03-10 12:37:50,136 - INFO - OPENED SHORT at 2067.53 | Stop loss: 2077.86765 | Take profit: 2036.5170500000002 +2025-03-10 12:37:50,244 - INFO - CLOSED short at 2065.31 | PnL: 0.11% | $0.02 +2025-03-10 12:37:50,344 - INFO - OPENED SHORT at 2066.5 | Stop loss: 2076.8325 | Take profit: 2035.5025 +2025-03-10 12:37:50,400 - INFO - CLOSED short at 2068.59 | PnL: -0.10% | $-0.60 +2025-03-10 12:37:50,608 - INFO - OPENED SHORT at 2070.9 | Stop loss: 2081.2545 | Take profit: 2039.8365000000001 +2025-03-10 12:37:50,717 - INFO - CLOSED short at 2070.7 | PnL: 0.01% | $-0.27 +2025-03-10 12:37:50,718 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3464999999997 | Take profit: 2101.7604999999994 +2025-03-10 12:37:50,770 - INFO - CLOSED long at 2070.8 | PnL: 0.00% | $-0.28 +2025-03-10 12:37:51,017 - INFO - OPENED LONG at 2068.67 | Stop loss: 2058.32665 | Take profit: 2099.70005 +2025-03-10 12:37:51,119 - INFO - CLOSED long at 2069.78 | PnL: 0.05% | $-0.14 +2025-03-10 12:37:51,171 - INFO - OPENED LONG at 2071.61 | Stop loss: 2061.2519500000003 | Take profit: 2102.68415 +2025-03-10 12:37:51,271 - INFO - CLOSED long at 2075.07 | PnL: 0.17% | $0.20 +2025-03-10 12:37:51,368 - INFO - OPENED SHORT at 2073.27 | Stop loss: 2083.6363499999998 | Take profit: 2042.17095 +2025-03-10 12:37:51,421 - INFO - CLOSED short at 2073.99 | PnL: -0.03% | $-0.39 +2025-03-10 12:37:51,422 - INFO - OPENED LONG at 2073.99 | Stop loss: 2063.62005 | Take profit: 2105.0998499999996 +2025-03-10 12:37:51,579 - INFO - CLOSED long at 2076.9 | PnL: 0.14% | $0.12 +2025-03-10 12:37:51,580 - INFO - OPENED SHORT at 2076.9 | Stop loss: 2087.2844999999998 | Take profit: 2045.7465 +2025-03-10 12:37:51,735 - INFO - CLOSED short at 2072.09 | PnL: 0.23% | $0.38 +2025-03-10 12:37:51,736 - INFO - OPENED LONG at 2072.09 | Stop loss: 2061.72955 | Take profit: 2103.17135 +2025-03-10 12:37:51,872 - INFO - CLOSED long at 2067.0 | PnL: -0.25% | $-1.01 +2025-03-10 12:37:51,873 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.3349999999996 | Take profit: 2035.995 +2025-03-10 12:37:51,919 - INFO - CLOSED short at 2067.9 | PnL: -0.04% | $-0.42 +2025-03-10 12:37:52,024 - INFO - OPENED SHORT at 2066.89 | Stop loss: 2077.2244499999997 | Take profit: 2035.88665 +2025-03-10 12:37:52,074 - INFO - CLOSED short at 2067.88 | PnL: -0.05% | $-0.43 +2025-03-10 12:37:52,168 - INFO - OPENED LONG at 2068.1 | Stop loss: 2057.7595 | Take profit: 2099.1214999999997 +2025-03-10 12:37:52,215 - INFO - CLOSED long at 2069.0 | PnL: 0.04% | $-0.16 +2025-03-10 12:37:52,263 - INFO - OPENED LONG at 2070.19 | Stop loss: 2059.83905 | Take profit: 2101.2428499999996 +2025-03-10 12:37:52,312 - INFO - CLOSED long at 2070.1 | PnL: -0.00% | $-0.30 +2025-03-10 12:37:52,313 - INFO - OPENED SHORT at 2070.1 | Stop loss: 2080.4504999999995 | Take profit: 2039.0484999999999 +2025-03-10 12:37:52,365 - INFO - CLOSED short at 2067.19 | PnL: 0.14% | $0.12 +2025-03-10 12:37:52,366 - INFO - OPENED LONG at 2067.19 | Stop loss: 2056.85405 | Take profit: 2098.19785 +2025-03-10 12:37:52,417 - INFO - CLOSED long at 2065.5 | PnL: -0.08% | $-0.52 +2025-03-10 12:37:52,517 - INFO - OPENED LONG at 2065.8 | Stop loss: 2055.471 | Take profit: 2096.787 +2025-03-10 12:37:52,566 - INFO - CLOSED long at 2065.07 | PnL: -0.04% | $-0.38 +2025-03-10 12:37:52,567 - INFO - OPENED SHORT at 2065.07 | Stop loss: 2075.39535 | Take profit: 2034.0939500000002 +2025-03-10 12:37:52,840 - INFO - CLOSED short at 2065.06 | PnL: 0.00% | $-0.28 +2025-03-10 12:37:52,884 - INFO - OPENED SHORT at 2064.11 | Stop loss: 2074.43055 | Take profit: 2033.1483500000002 +2025-03-10 12:37:53,029 - INFO - CLOSED short at 2063.01 | PnL: 0.05% | $-0.13 +2025-03-10 12:37:53,174 - INFO - OPENED LONG at 2059.2 | Stop loss: 2048.904 | Take profit: 2090.0879999999997 +2025-03-10 12:37:53,274 - INFO - CLOSED long at 2058.65 | PnL: -0.03% | $-0.35 +2025-03-10 12:37:53,275 - INFO - OPENED SHORT at 2058.65 | Stop loss: 2068.94325 | Take profit: 2027.77025 +2025-03-10 12:37:53,330 - INFO - CLOSED short at 2056.77 | PnL: 0.09% | $-0.02 +2025-03-10 12:37:53,480 - INFO - OPENED SHORT at 2049.5 | Stop loss: 2059.7475 | Take profit: 2018.7575 +2025-03-10 12:37:53,580 - INFO - CLOSED short at 2058.3 | PnL: -0.43% | $-1.47 +2025-03-10 12:37:53,580 - INFO - OPENED LONG at 2058.3 | Stop loss: 2048.0085000000004 | Take profit: 2089.1745 +2025-03-10 12:37:53,678 - INFO - CLOSED long at 2057.11 | PnL: -0.06% | $-0.43 +2025-03-10 12:37:53,679 - INFO - OPENED SHORT at 2057.11 | Stop loss: 2067.3955499999997 | Take profit: 2026.2533500000002 +2025-03-10 12:37:53,725 - INFO - CLOSED short at 2057.89 | PnL: -0.04% | $-0.37 +2025-03-10 12:37:54,003 - INFO - OPENED LONG at 2065.12 | Stop loss: 2054.7943999999998 | Take profit: 2096.0968 +2025-03-10 12:37:54,050 - INFO - CLOSED long at 2068.33 | PnL: 0.16% | $0.15 +2025-03-10 12:37:54,052 - INFO - OPENED SHORT at 2068.33 | Stop loss: 2078.6716499999998 | Take profit: 2037.30505 +2025-03-10 12:37:54,102 - INFO - CLOSED short at 2067.49 | PnL: 0.04% | $-0.16 +2025-03-10 12:37:54,149 - INFO - OPENED LONG at 2066.59 | Stop loss: 2056.25705 | Take profit: 2097.58885 +2025-03-10 12:37:54,200 - INFO - CLOSED long at 2064.08 | PnL: -0.12% | $-0.60 +2025-03-10 12:37:54,200 - INFO - OPENED SHORT at 2064.08 | Stop loss: 2074.4003999999995 | Take profit: 2033.1188 +2025-03-10 12:37:54,304 - INFO - CLOSED short at 2059.9 | PnL: 0.20% | $0.27 +2025-03-10 12:37:54,305 - INFO - OPENED LONG at 2059.9 | Stop loss: 2049.6005 | Take profit: 2090.7985 +2025-03-10 12:37:54,360 - INFO - CLOSED long at 2060.7 | PnL: 0.04% | $-0.16 +2025-03-10 12:37:54,360 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.0035 | Take profit: 2029.7894999999999 +2025-03-10 12:37:54,521 - INFO - CLOSED short at 2065.72 | PnL: -0.24% | $-0.92 +2025-03-10 12:37:54,522 - INFO - OPENED LONG at 2065.72 | Stop loss: 2055.3914 | Take profit: 2096.7057999999997 +2025-03-10 12:37:54,570 - INFO - CLOSED long at 2070.31 | PnL: 0.22% | $0.32 +2025-03-10 12:37:54,872 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.42025 | Take profit: 2042.9392500000001 +2025-03-10 12:37:54,923 - INFO - CLOSED short at 2072.99 | PnL: 0.05% | $-0.13 +2025-03-10 12:37:54,975 - INFO - OPENED SHORT at 2071.89 | Stop loss: 2082.24945 | Take profit: 2040.8116499999999 +2025-03-10 12:37:55,072 - INFO - CLOSED short at 2074.9 | PnL: -0.15% | $-0.65 +2025-03-10 12:37:55,072 - INFO - OPENED LONG at 2074.9 | Stop loss: 2064.5255 | Take profit: 2106.0235 +2025-03-10 12:37:55,227 - INFO - CLOSED long at 2085.56 | PnL: 0.51% | $1.08 +2025-03-10 12:37:55,279 - INFO - OPENED LONG at 2090.49 | Stop loss: 2080.0375499999996 | Take profit: 2121.8473499999996 +2025-03-10 12:37:55,383 - INFO - TAKE PROFIT hit for long at 2121.8473499999996 | PnL: 1.50% | $3.72 +2025-03-10 12:37:55,484 - INFO - OPENED LONG at 2131.78 | Stop loss: 2121.1211000000003 | Take profit: 2163.7567 +2025-03-10 12:37:55,532 - INFO - CLOSED long at 2133.95 | PnL: 0.10% | $0.01 +2025-03-10 12:37:55,532 - INFO - OPENED SHORT at 2133.95 | Stop loss: 2144.6197499999994 | Take profit: 2101.9407499999998 +2025-03-10 12:37:55,634 - INFO - CLOSED short at 2141.41 | PnL: -0.35% | $-1.26 +2025-03-10 12:37:55,635 - INFO - OPENED LONG at 2141.41 | Stop loss: 2130.70295 | Take profit: 2173.53115 +2025-03-10 12:37:55,877 - INFO - CLOSED long at 2126.99 | PnL: -0.67% | $-2.13 +2025-03-10 12:37:55,924 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.6635 | Take profit: 2159.2095 +2025-03-10 12:37:56,026 - INFO - CLOSED long at 2121.09 | PnL: -0.29% | $-1.05 +2025-03-10 12:37:56,027 - INFO - OPENED SHORT at 2121.09 | Stop loss: 2131.6954499999997 | Take profit: 2089.27365 +2025-03-10 12:37:56,076 - INFO - CLOSED short at 2120.15 | PnL: 0.04% | $-0.15 +2025-03-10 12:37:56,076 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.54925 | Take profit: 2151.95225 +2025-03-10 12:37:56,122 - INFO - CLOSED long at 2117.24 | PnL: -0.14% | $-0.62 +2025-03-10 12:37:56,170 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.3303499999997 | Take profit: 2151.7289499999997 +2025-03-10 12:37:56,478 - INFO - CLOSED long at 2107.43 | PnL: -0.59% | $-1.79 +2025-03-10 12:37:56,528 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.047 | Take profit: 2142.2589999999996 +2025-03-10 12:37:56,576 - INFO - CLOSED long at 2109.05 | PnL: -0.07% | $-0.44 +2025-03-10 12:37:56,903 - INFO - OPENED LONG at 2120.81 | Stop loss: 2110.20595 | Take profit: 2152.6221499999997 +2025-03-10 12:37:57,010 - INFO - CLOSED long at 2114.8 | PnL: -0.28% | $-0.96 +2025-03-10 12:37:57,070 - INFO - OPENED LONG at 2110.9 | Stop loss: 2100.3455 | Take profit: 2142.5634999999997 +2025-03-10 12:37:57,121 - INFO - CLOSED long at 2108.71 | PnL: -0.10% | $-0.50 +2025-03-10 12:37:57,122 - INFO - OPENED SHORT at 2108.71 | Stop loss: 2119.25355 | Take profit: 2077.07935 +2025-03-10 12:37:57,229 - INFO - CLOSED short at 2108.06 | PnL: 0.03% | $-0.17 +2025-03-10 12:37:57,229 - INFO - OPENED LONG at 2108.06 | Stop loss: 2097.5197 | Take profit: 2139.6809 +2025-03-10 12:37:57,390 - INFO - CLOSED long at 2090.0 | PnL: -0.86% | $-2.34 +2025-03-10 12:37:57,692 - INFO - OPENED LONG at 2099.25 | Stop loss: 2088.75375 | Take profit: 2130.73875 +2025-03-10 12:37:57,749 - INFO - CLOSED long at 2098.9 | PnL: -0.02% | $-0.27 +2025-03-10 12:37:57,750 - INFO - OPENED SHORT at 2098.9 | Stop loss: 2109.3945 | Take profit: 2067.4165000000003 +2025-03-10 12:37:58,135 - INFO - CLOSED short at 2101.51 | PnL: -0.12% | $-0.52 +2025-03-10 12:37:58,190 - INFO - OPENED LONG at 2099.59 | Stop loss: 2089.09205 | Take profit: 2131.08385 +2025-03-10 12:37:58,316 - INFO - CLOSED long at 2098.39 | PnL: -0.06% | $-0.36 +2025-03-10 12:37:58,742 - INFO - OPENED SHORT at 2088.35 | Stop loss: 2098.79175 | Take profit: 2057.02475 +2025-03-10 12:37:58,986 - INFO - CLOSED short at 2082.44 | PnL: 0.28% | $0.42 +2025-03-10 12:37:59,034 - INFO - OPENED SHORT at 2081.49 | Stop loss: 2091.8974499999995 | Take profit: 2050.26765 +2025-03-10 12:37:59,240 - INFO - CLOSED short at 2085.09 | PnL: -0.17% | $-0.63 +2025-03-10 12:37:59,580 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 21.2% in downtrends | Avg Win=$0.39, Avg Loss=$-0.48 +2025-03-10 12:37:59,581 - INFO - Episode 1: Reward=116.14, Balance=$57.34, Win Rate=18.0%, Trades=133, Episode PnL=$-22.86, Total PnL=$-90.96, Max Drawdown=42.7%, Pred Accuracy=99.9% +2025-03-10 12:37:59,728 - INFO - Model saved to models/trading_agent_best_reward.pt +2025-03-10 12:37:59,729 - INFO - New best reward model saved: 116.14 +2025-03-10 12:37:59,858 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 12:37:59,859 - INFO - New best PnL model saved: $-22.86 +2025-03-10 12:37:59,969 - INFO - Model saved to models/trading_agent_best_winrate.pt +2025-03-10 12:37:59,970 - INFO - New best win rate model saved: 18.0% +2025-03-10 12:37:59,992 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 12:38:00,318 - INFO - OPENED SHORT at 2062.28 | Stop loss: 2072.5914 | Take profit: 2031.3458000000003 +2025-03-10 12:38:00,469 - INFO - CLOSED short at 2057.59 | PnL: 0.23% | $0.51 +2025-03-10 12:38:00,470 - INFO - OPENED LONG at 2057.59 | Stop loss: 2047.3020500000002 | Take profit: 2088.45385 +2025-03-10 12:38:00,514 - INFO - CLOSED long at 2059.03 | PnL: 0.07% | $-0.12 +2025-03-10 12:38:00,663 - INFO - OPENED SHORT at 2060.51 | Stop loss: 2070.81255 | Take profit: 2029.6023500000001 +2025-03-10 12:38:00,859 - INFO - CLOSED short at 2057.9 | PnL: 0.13% | $0.11 +2025-03-10 12:38:00,861 - INFO - OPENED LONG at 2057.9 | Stop loss: 2047.6105 | Take profit: 2088.7684999999997 +2025-03-10 12:38:01,114 - INFO - CLOSED long at 2056.4 | PnL: -0.07% | $-0.69 +2025-03-10 12:38:01,162 - INFO - OPENED LONG at 2055.39 | Stop loss: 2045.11305 | Take profit: 2086.2208499999997 +2025-03-10 12:38:01,207 - INFO - CLOSED long at 2053.56 | PnL: -0.09% | $-0.75 +2025-03-10 12:38:01,208 - INFO - OPENED SHORT at 2053.56 | Stop loss: 2063.8277999999996 | Take profit: 2022.7566 +2025-03-10 12:38:01,298 - INFO - CLOSED short at 2051.66 | PnL: 0.09% | $-0.03 +2025-03-10 12:38:01,298 - INFO - OPENED LONG at 2051.66 | Stop loss: 2041.4017 | Take profit: 2082.4348999999997 +2025-03-10 12:38:01,398 - INFO - CLOSED long at 2053.1 | PnL: 0.07% | $-0.12 +2025-03-10 12:38:01,399 - INFO - OPENED SHORT at 2053.1 | Stop loss: 2063.3655 | Take profit: 2022.3035 +2025-03-10 12:38:01,451 - INFO - CLOSED short at 2052.25 | PnL: 0.04% | $-0.23 +2025-03-10 12:38:01,451 - INFO - OPENED LONG at 2052.25 | Stop loss: 2041.98875 | Take profit: 2083.0337499999996 +2025-03-10 12:38:01,501 - INFO - CLOSED long at 2050.71 | PnL: -0.08% | $-0.69 +2025-03-10 12:38:01,650 - INFO - OPENED LONG at 2050.2 | Stop loss: 2039.9489999999998 | Take profit: 2080.9529999999995 +2025-03-10 12:38:01,698 - INFO - CLOSED long at 2049.6 | PnL: -0.03% | $-0.51 +2025-03-10 12:38:01,890 - INFO - OPENED SHORT at 2048.48 | Stop loss: 2058.7223999999997 | Take profit: 2017.7528 +2025-03-10 12:38:01,941 - INFO - CLOSED short at 2047.39 | PnL: 0.05% | $-0.18 +2025-03-10 12:38:01,942 - INFO - OPENED LONG at 2047.39 | Stop loss: 2037.1530500000001 | Take profit: 2078.10085 +2025-03-10 12:38:01,990 - INFO - CLOSED long at 2046.58 | PnL: -0.04% | $-0.54 +2025-03-10 12:38:01,991 - INFO - OPENED SHORT at 2046.58 | Stop loss: 2056.8129 | Take profit: 2015.8813 +2025-03-10 12:38:02,093 - INFO - CLOSED short at 2047.2 | PnL: -0.03% | $-0.50 +2025-03-10 12:38:02,142 - INFO - OPENED LONG at 2045.99 | Stop loss: 2035.76005 | Take profit: 2076.67985 +2025-03-10 12:38:02,238 - INFO - CLOSED long at 2045.79 | PnL: -0.01% | $-0.42 +2025-03-10 12:38:02,333 - INFO - OPENED LONG at 2047.59 | Stop loss: 2037.35205 | Take profit: 2078.30385 +2025-03-10 12:38:02,662 - INFO - CLOSED long at 2051.89 | PnL: 0.21% | $0.42 +2025-03-10 12:38:02,662 - INFO - OPENED SHORT at 2051.89 | Stop loss: 2062.1494499999994 | Take profit: 2021.1116499999998 +2025-03-10 12:38:02,710 - INFO - CLOSED short at 2052.3 | PnL: -0.02% | $-0.46 +2025-03-10 12:38:02,710 - INFO - OPENED LONG at 2052.3 | Stop loss: 2042.0385 | Take profit: 2083.0845 +2025-03-10 12:38:02,811 - INFO - CLOSED long at 2057.01 | PnL: 0.23% | $0.50 +2025-03-10 12:38:02,812 - INFO - OPENED SHORT at 2057.01 | Stop loss: 2067.29505 | Take profit: 2026.1548500000001 +2025-03-10 12:38:03,011 - INFO - CLOSED short at 2059.7 | PnL: -0.13% | $-0.89 +2025-03-10 12:38:03,061 - INFO - OPENED SHORT at 2061.49 | Stop loss: 2071.7974499999996 | Take profit: 2030.5676499999997 +2025-03-10 12:38:03,110 - INFO - CLOSED short at 2063.29 | PnL: -0.09% | $-0.71 +2025-03-10 12:38:03,111 - INFO - OPENED LONG at 2063.29 | Stop loss: 2052.97355 | Take profit: 2094.23935 +2025-03-10 12:38:03,372 - INFO - CLOSED long at 2063.01 | PnL: -0.01% | $-0.43 +2025-03-10 12:38:03,866 - INFO - OPENED SHORT at 2057.94 | Stop loss: 2068.2297 | Take profit: 2027.0709 +2025-03-10 12:38:03,917 - INFO - CLOSED short at 2058.11 | PnL: -0.01% | $-0.41 +2025-03-10 12:38:04,116 - INFO - OPENED SHORT at 2065.86 | Stop loss: 2076.1893 | Take profit: 2034.8721 +2025-03-10 12:38:04,521 - INFO - CLOSED short at 2068.65 | PnL: -0.14% | $-0.88 +2025-03-10 12:38:04,521 - INFO - OPENED LONG at 2068.65 | Stop loss: 2058.30675 | Take profit: 2099.67975 +2025-03-10 12:38:04,688 - INFO - CLOSED long at 2067.69 | PnL: -0.05% | $-0.54 +2025-03-10 12:38:04,688 - INFO - OPENED SHORT at 2067.69 | Stop loss: 2078.02845 | Take profit: 2036.67465 +2025-03-10 12:38:04,737 - INFO - CLOSED short at 2070.26 | PnL: -0.12% | $-0.83 +2025-03-10 12:38:04,738 - INFO - OPENED LONG at 2070.26 | Stop loss: 2059.9087000000004 | Take profit: 2101.3139 +2025-03-10 12:38:04,831 - INFO - CLOSED long at 2073.73 | PnL: 0.17% | $0.25 +2025-03-10 12:38:04,832 - INFO - OPENED SHORT at 2073.73 | Stop loss: 2084.09865 | Take profit: 2042.62405 +2025-03-10 12:38:04,881 - INFO - CLOSED short at 2075.1 | PnL: -0.07% | $-0.61 +2025-03-10 12:38:04,932 - INFO - OPENED LONG at 2072.91 | Stop loss: 2062.5454499999996 | Take profit: 2104.0036499999997 +2025-03-10 12:38:04,986 - INFO - CLOSED long at 2072.33 | PnL: -0.03% | $-0.47 +2025-03-10 12:38:05,150 - INFO - OPENED LONG at 2069.37 | Stop loss: 2059.02315 | Take profit: 2100.4105499999996 +2025-03-10 12:38:05,250 - INFO - CLOSED long at 2072.8 | PnL: 0.17% | $0.24 +2025-03-10 12:38:05,251 - INFO - OPENED SHORT at 2072.8 | Stop loss: 2083.1639999999998 | Take profit: 2041.708 +2025-03-10 12:38:05,300 - INFO - CLOSED short at 2070.79 | PnL: 0.10% | $-0.01 +2025-03-10 12:38:05,301 - INFO - OPENED LONG at 2070.79 | Stop loss: 2060.43605 | Take profit: 2101.8518499999996 +2025-03-10 12:38:05,412 - INFO - CLOSED long at 2068.02 | PnL: -0.13% | $-0.85 +2025-03-10 12:38:05,414 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.3601 | Take profit: 2036.9996999999998 +2025-03-10 12:38:05,515 - INFO - CLOSED short at 2070.36 | PnL: -0.11% | $-0.77 +2025-03-10 12:38:05,516 - INFO - OPENED LONG at 2070.36 | Stop loss: 2060.0082 | Take profit: 2101.4154 +2025-03-10 12:38:05,622 - INFO - CLOSED long at 2070.7 | PnL: 0.02% | $-0.30 +2025-03-10 12:38:05,672 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.6866999999997 | Take profit: 2038.2999000000002 +2025-03-10 12:38:05,720 - INFO - CLOSED short at 2069.19 | PnL: 0.01% | $-0.33 +2025-03-10 12:38:05,721 - INFO - OPENED LONG at 2069.19 | Stop loss: 2058.84405 | Take profit: 2100.2278499999998 +2025-03-10 12:38:05,955 - INFO - CLOSED long at 2066.39 | PnL: -0.14% | $-0.84 +2025-03-10 12:38:05,956 - INFO - OPENED SHORT at 2066.39 | Stop loss: 2076.7219499999997 | Take profit: 2035.3941499999999 +2025-03-10 12:38:06,049 - INFO - CLOSED short at 2066.19 | PnL: 0.01% | $-0.32 +2025-03-10 12:38:06,050 - INFO - OPENED LONG at 2066.19 | Stop loss: 2055.85905 | Take profit: 2097.1828499999997 +2025-03-10 12:38:06,394 - INFO - CLOSED long at 2068.51 | PnL: 0.11% | $0.04 +2025-03-10 12:38:06,395 - INFO - OPENED SHORT at 2068.51 | Stop loss: 2078.85255 | Take profit: 2037.4823500000002 +2025-03-10 12:38:06,450 - INFO - CLOSED short at 2068.59 | PnL: -0.00% | $-0.36 +2025-03-10 12:38:06,728 - INFO - OPENED LONG at 2071.39 | Stop loss: 2061.03305 | Take profit: 2102.4608499999995 +2025-03-10 12:38:06,785 - INFO - CLOSED long at 2071.36 | PnL: -0.00% | $-0.35 +2025-03-10 12:38:06,785 - INFO - OPENED SHORT at 2071.36 | Stop loss: 2081.7167999999997 | Take profit: 2040.2896 +2025-03-10 12:38:06,839 - INFO - CLOSED short at 2072.75 | PnL: -0.07% | $-0.58 +2025-03-10 12:38:06,938 - INFO - OPENED LONG at 2072.7 | Stop loss: 2062.3365 | Take profit: 2103.7904999999996 +2025-03-10 12:38:07,207 - INFO - CLOSED long at 2070.4 | PnL: -0.11% | $-0.73 +2025-03-10 12:38:07,263 - INFO - OPENED SHORT at 2071.11 | Stop loss: 2081.46555 | Take profit: 2040.0433500000001 +2025-03-10 12:38:07,512 - INFO - CLOSED short at 2067.0 | PnL: 0.20% | $0.34 +2025-03-10 12:38:07,718 - INFO - OPENED LONG at 2065.49 | Stop loss: 2055.1625499999996 | Take profit: 2096.4723499999996 +2025-03-10 12:38:07,823 - INFO - CLOSED long at 2065.26 | PnL: -0.01% | $-0.38 +2025-03-10 12:38:07,935 - INFO - OPENED LONG at 2068.58 | Stop loss: 2058.2371 | Take profit: 2099.6086999999998 +2025-03-10 12:38:08,039 - INFO - CLOSED long at 2069.34 | PnL: 0.04% | $-0.22 +2025-03-10 12:38:08,145 - INFO - OPENED LONG at 2067.59 | Stop loss: 2057.25205 | Take profit: 2098.60385 +2025-03-10 12:38:08,356 - INFO - CLOSED long at 2070.7 | PnL: 0.15% | $0.17 +2025-03-10 12:38:08,552 - INFO - OPENED SHORT at 2068.69 | Stop loss: 2079.03345 | Take profit: 2037.65965 +2025-03-10 12:38:08,598 - INFO - CLOSED short at 2067.84 | PnL: 0.04% | $-0.20 +2025-03-10 12:38:08,645 - INFO - OPENED SHORT at 2067.11 | Stop loss: 2077.44555 | Take profit: 2036.10335 +2025-03-10 12:38:08,797 - INFO - CLOSED short at 2066.1 | PnL: 0.05% | $-0.17 +2025-03-10 12:38:08,847 - INFO - OPENED LONG at 2065.28 | Stop loss: 2054.9536000000003 | Take profit: 2096.2592 +2025-03-10 12:38:08,995 - INFO - CLOSED long at 2070.04 | PnL: 0.23% | $0.44 +2025-03-10 12:38:08,996 - INFO - OPENED SHORT at 2070.04 | Stop loss: 2080.3902 | Take profit: 2038.9894 +2025-03-10 12:38:09,336 - INFO - CLOSED short at 2065.83 | PnL: 0.20% | $0.35 +2025-03-10 12:38:09,645 - INFO - OPENED SHORT at 2061.78 | Stop loss: 2072.0889 | Take profit: 2030.8533000000002 +2025-03-10 12:38:09,953 - INFO - CLOSED short at 2064.96 | PnL: -0.15% | $-0.87 +2025-03-10 12:38:10,091 - INFO - OPENED LONG at 2067.1 | Stop loss: 2056.7644999999998 | Take profit: 2098.1065 +2025-03-10 12:38:10,288 - INFO - CLOSED long at 2064.45 | PnL: -0.13% | $-0.78 +2025-03-10 12:38:10,289 - INFO - OPENED SHORT at 2064.45 | Stop loss: 2074.7722499999995 | Take profit: 2033.4832499999998 +2025-03-10 12:38:10,402 - INFO - CLOSED short at 2062.71 | PnL: 0.08% | $-0.05 +2025-03-10 12:38:10,402 - INFO - OPENED LONG at 2062.71 | Stop loss: 2052.39645 | Take profit: 2093.65065 +2025-03-10 12:38:10,522 - INFO - CLOSED long at 2064.5 | PnL: 0.09% | $-0.04 +2025-03-10 12:38:10,755 - INFO - OPENED LONG at 2060.65 | Stop loss: 2050.34675 | Take profit: 2091.55975 +2025-03-10 12:38:11,141 - INFO - CLOSED long at 2060.91 | PnL: 0.01% | $-0.29 +2025-03-10 12:38:11,142 - INFO - OPENED SHORT at 2060.91 | Stop loss: 2071.2145499999997 | Take profit: 2029.99635 +2025-03-10 12:38:11,196 - INFO - CLOSED short at 2060.3 | PnL: 0.03% | $-0.24 +2025-03-10 12:38:11,196 - INFO - OPENED LONG at 2060.3 | Stop loss: 2049.9985 | Take profit: 2091.2045 +2025-03-10 12:38:11,248 - INFO - CLOSED long at 2061.13 | PnL: 0.04% | $-0.20 +2025-03-10 12:38:11,298 - INFO - OPENED LONG at 2061.9 | Stop loss: 2051.5905000000002 | Take profit: 2092.8285 +2025-03-10 12:38:11,349 - INFO - CLOSED long at 2064.1 | PnL: 0.11% | $0.02 +2025-03-10 12:38:11,350 - INFO - OPENED SHORT at 2064.1 | Stop loss: 2074.4204999999997 | Take profit: 2033.1384999999998 +2025-03-10 12:38:11,454 - INFO - CLOSED short at 2064.33 | PnL: -0.01% | $-0.37 +2025-03-10 12:38:11,455 - INFO - OPENED LONG at 2064.33 | Stop loss: 2054.00835 | Take profit: 2095.2949499999995 +2025-03-10 12:38:11,698 - INFO - CLOSED long at 2063.0 | PnL: -0.06% | $-0.55 +2025-03-10 12:38:11,698 - INFO - OPENED SHORT at 2063.0 | Stop loss: 2073.3149999999996 | Take profit: 2032.055 +2025-03-10 12:38:12,045 - INFO - CLOSED short at 2059.16 | PnL: 0.19% | $0.28 +2025-03-10 12:38:12,091 - INFO - OPENED SHORT at 2059.02 | Stop loss: 2069.3151 | Take profit: 2028.1347 +2025-03-10 12:38:12,138 - INFO - CLOSED short at 2058.89 | PnL: 0.01% | $-0.31 +2025-03-10 12:38:12,237 - INFO - OPENED LONG at 2059.46 | Stop loss: 2049.1627 | Take profit: 2090.3518999999997 +2025-03-10 12:38:12,438 - INFO - CLOSED long at 2055.6 | PnL: -0.19% | $-0.95 +2025-03-10 12:38:12,439 - INFO - OPENED SHORT at 2055.6 | Stop loss: 2065.8779999999997 | Take profit: 2024.7659999999998 +2025-03-10 12:38:12,486 - INFO - CLOSED short at 2054.89 | PnL: 0.03% | $-0.21 +2025-03-10 12:38:12,686 - INFO - OPENED LONG at 2059.8 | Stop loss: 2049.501 | Take profit: 2090.697 +2025-03-10 12:38:12,734 - INFO - CLOSED long at 2061.66 | PnL: 0.09% | $-0.03 +2025-03-10 12:38:12,735 - INFO - OPENED SHORT at 2061.66 | Stop loss: 2071.9682999999995 | Take profit: 2030.7350999999999 +2025-03-10 12:38:12,893 - INFO - CLOSED short at 2061.3 | PnL: 0.02% | $-0.27 +2025-03-10 12:38:13,097 - INFO - OPENED LONG at 2066.01 | Stop loss: 2055.67995 | Take profit: 2097.00015 +2025-03-10 12:38:13,255 - INFO - CLOSED long at 2066.33 | PnL: 0.02% | $-0.27 +2025-03-10 12:38:13,351 - INFO - OPENED SHORT at 2066.79 | Stop loss: 2077.1239499999997 | Take profit: 2035.7881499999999 +2025-03-10 12:38:13,495 - INFO - CLOSED short at 2065.69 | PnL: 0.05% | $-0.15 +2025-03-10 12:38:13,496 - INFO - OPENED LONG at 2065.69 | Stop loss: 2055.36155 | Take profit: 2096.67535 +2025-03-10 12:38:13,640 - INFO - CLOSED long at 2074.3 | PnL: 0.42% | $1.02 +2025-03-10 12:38:13,740 - INFO - OPENED LONG at 2075.01 | Stop loss: 2064.63495 | Take profit: 2106.13515 +2025-03-10 12:38:13,896 - INFO - CLOSED long at 2070.01 | PnL: -0.24% | $-1.11 +2025-03-10 12:38:13,997 - INFO - OPENED SHORT at 2073.23 | Stop loss: 2083.59615 | Take profit: 2042.13155 +2025-03-10 12:38:14,048 - INFO - CLOSED short at 2070.0 | PnL: 0.16% | $0.18 +2025-03-10 12:38:14,394 - INFO - OPENED SHORT at 2072.99 | Stop loss: 2083.3549499999995 | Take profit: 2041.8951499999998 +2025-03-10 12:38:14,444 - INFO - CLOSED short at 2071.49 | PnL: 0.07% | $-0.09 +2025-03-10 12:38:14,444 - INFO - OPENED LONG at 2071.49 | Stop loss: 2061.13255 | Take profit: 2102.5623499999997 +2025-03-10 12:38:14,543 - INFO - CLOSED long at 2067.33 | PnL: -0.20% | $-0.97 +2025-03-10 12:38:14,544 - INFO - OPENED SHORT at 2067.33 | Stop loss: 2077.6666499999997 | Take profit: 2036.3200499999998 +2025-03-10 12:38:14,800 - INFO - CLOSED short at 2063.97 | PnL: 0.16% | $0.20 +2025-03-10 12:38:14,801 - INFO - OPENED LONG at 2063.97 | Stop loss: 2053.65015 | Take profit: 2094.9295499999994 +2025-03-10 12:39:02,562 - INFO - GPU not available, using CPU +2025-03-10 12:39:02,583 - INFO - Exchange initialized with standard CCXT: mexc +2025-03-10 12:39:02,583 - INFO - Fetching initial data for ETH/USDT +2025-03-10 12:39:06,057 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 12:39:06,076 - INFO - Initialized environment with 500 candles +2025-03-10 12:39:08,313 - INFO - Starting training for 1000 episodes... +2025-03-10 12:39:08,313 - INFO - Starting training on device: cpu +2025-03-10 12:39:08,314 - INFO - Loading best model from models/trading_agent_best_pnl.pt to resume training +2025-03-10 12:39:08,443 - WARNING - Could not load best model: Weights only load failed. This file can still be loaded, to do so you have two options, do those steps only if you trust the source of the checkpoint. + (1) In PyTorch 2.6, we changed the default value of the `weights_only` argument in `torch.load` from `False` to `True`. Re-running `torch.load` with `weights_only` set to `False` will likely succeed, but it can result in arbitrary code execution. Do it only if you got the file from a trusted source. + (2) Alternatively, to load with `weights_only=True` please check the recommended steps in the following error message. + WeightsUnpickler error: Unsupported global: GLOBAL numpy._core.multiarray.scalar was not an allowed global by default. Please use `torch.serialization.add_safe_globals([scalar])` or the `torch.serialization.safe_globals([scalar])` context manager to allowlist this global if you trust this class/function. + +Check the documentation of torch.load to learn more about types accepted by default with weights_only https://pytorch.org/docs/stable/generated/torch.load.html. +2025-03-10 12:39:08,466 - INFO - Identified 26 optimal buy points and 27 optimal sell points +2025-03-10 12:39:08,799 - INFO - OPENED LONG at 2059.4 | Stop loss: 2049.103 | Take profit: 2090.2909999999997 +2025-03-10 12:39:08,801 - INFO - CLOSED long at 2060.1 | PnL: 0.03% | $-0.26 +2025-03-10 12:39:08,803 - INFO - OPENED SHORT at 2057.59 | Stop loss: 2067.87795 | Take profit: 2026.7261500000002 +2025-03-10 12:39:08,805 - INFO - CLOSED short at 2056.4 | PnL: 0.06% | $-0.17 +2025-03-10 12:39:08,805 - INFO - OPENED LONG at 2056.4 | Stop loss: 2046.1180000000002 | Take profit: 2087.246 +2025-03-10 12:39:08,806 - INFO - CLOSED long at 2052.7 | PnL: -0.18% | $-1.11 +2025-03-10 12:39:08,807 - INFO - OPENED LONG at 2052.16 | Stop loss: 2041.8991999999998 | Take profit: 2082.9423999999995 +2025-03-10 12:39:08,808 - INFO - CLOSED long at 2052.25 | PnL: 0.00% | $-0.38 +2025-03-10 12:39:08,808 - INFO - OPENED SHORT at 2052.25 | Stop loss: 2062.5112499999996 | Take profit: 2021.46625 +2025-03-10 12:39:08,810 - INFO - CLOSED short at 2050.44 | PnL: 0.09% | $-0.05 +2025-03-10 12:39:08,811 - INFO - OPENED SHORT at 2049.6 | Stop loss: 2059.8479999999995 | Take profit: 2018.856 +2025-03-10 12:39:08,812 - INFO - CLOSED short at 2051.99 | PnL: -0.12% | $-0.85 +2025-03-10 12:39:08,813 - INFO - OPENED SHORT at 2048.48 | Stop loss: 2058.7223999999997 | Take profit: 2017.7528 +2025-03-10 12:39:08,814 - INFO - CLOSED short at 2047.39 | PnL: 0.05% | $-0.18 +2025-03-10 12:39:08,815 - INFO - OPENED LONG at 2047.39 | Stop loss: 2037.1530500000001 | Take profit: 2078.10085 +2025-03-10 12:39:08,816 - INFO - CLOSED long at 2045.99 | PnL: -0.07% | $-0.65 +2025-03-10 12:39:08,817 - INFO - OPENED SHORT at 2045.79 | Stop loss: 2056.0189499999997 | Take profit: 2015.10315 +2025-03-10 12:39:08,818 - INFO - CLOSED short at 2048.13 | PnL: -0.11% | $-0.83 +2025-03-10 12:39:08,818 - INFO - OPENED LONG at 2048.13 | Stop loss: 2037.8893500000001 | Take profit: 2078.8519499999998 +2025-03-10 12:39:08,819 - INFO - CLOSED long at 2047.59 | PnL: -0.03% | $-0.48 +2025-03-10 12:39:08,820 - INFO - OPENED SHORT at 2047.59 | Stop loss: 2057.82795 | Take profit: 2016.8761499999998 +2025-03-10 12:39:08,820 - INFO - CLOSED short at 2050.0 | PnL: -0.12% | $-0.83 +2025-03-10 12:39:08,821 - INFO - OPENED LONG at 2050.0 | Stop loss: 2039.75 | Take profit: 2080.75 +2025-03-10 12:39:08,822 - INFO - CLOSED long at 2053.26 | PnL: 0.16% | $0.22 +2025-03-10 12:39:08,822 - INFO - OPENED SHORT at 2053.26 | Stop loss: 2063.5263 | Take profit: 2022.4611000000002 +2025-03-10 12:39:08,823 - INFO - CLOSED short at 2051.89 | PnL: 0.07% | $-0.13 +2025-03-10 12:39:08,824 - INFO - OPENED SHORT at 2052.3 | Stop loss: 2062.5615 | Take profit: 2021.5155000000002 +2025-03-10 12:39:08,824 - INFO - CLOSED short at 2055.69 | PnL: -0.17% | $-1.00 +2025-03-10 12:39:08,825 - INFO - OPENED SHORT at 2058.39 | Stop loss: 2068.6819499999997 | Take profit: 2027.5141499999997 +2025-03-10 12:39:08,827 - INFO - CLOSED short at 2063.59 | PnL: -0.25% | $-1.32 +2025-03-10 12:39:08,827 - INFO - OPENED LONG at 2063.59 | Stop loss: 2053.27205 | Take profit: 2094.54385 +2025-03-10 12:39:08,828 - INFO - CLOSED long at 2061.61 | PnL: -0.10% | $-0.72 +2025-03-10 12:39:08,828 - INFO - OPENED SHORT at 2064.69 | Stop loss: 2075.01345 | Take profit: 2033.71965 +2025-03-10 12:39:08,829 - INFO - CLOSED short at 2063.01 | PnL: 0.08% | $-0.07 +2025-03-10 12:39:08,829 - INFO - OPENED LONG at 2063.01 | Stop loss: 2052.69495 | Take profit: 2093.9551500000002 +2025-03-10 12:39:08,830 - INFO - CLOSED long at 2060.99 | PnL: -0.10% | $-0.72 +2025-03-10 12:39:08,830 - INFO - OPENED SHORT at 2060.99 | Stop loss: 2071.2949499999995 | Take profit: 2030.0751499999997 +2025-03-10 12:39:08,831 - INFO - CLOSED short at 2058.3 | PnL: 0.13% | $0.11 +2025-03-10 12:39:08,831 - INFO - OPENED LONG at 2058.3 | Stop loss: 2048.0085000000004 | Take profit: 2089.1745 +2025-03-10 12:39:08,832 - INFO - CLOSED long at 2060.0 | PnL: 0.08% | $-0.06 +2025-03-10 12:39:08,888 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.5805499999997 | Take profit: 2092.8183499999996 +2025-03-10 12:39:08,972 - INFO - CLOSED long at 2060.31 | PnL: -0.08% | $-0.64 +2025-03-10 12:39:09,016 - INFO - OPENED SHORT at 2059.49 | Stop loss: 2069.7874499999994 | Take profit: 2028.5976499999997 +2025-03-10 12:39:09,104 - INFO - CLOSED short at 2057.89 | PnL: 0.08% | $-0.08 +2025-03-10 12:39:09,147 - INFO - OPENED SHORT at 2057.94 | Stop loss: 2068.2297 | Take profit: 2027.0709 +2025-03-10 12:39:09,229 - INFO - CLOSED short at 2061.79 | PnL: -0.19% | $-1.03 +2025-03-10 12:39:09,275 - INFO - OPENED SHORT at 2061.18 | Stop loss: 2071.4858999999997 | Take profit: 2030.2622999999999 +2025-03-10 12:39:09,321 - INFO - CLOSED short at 2064.32 | PnL: -0.15% | $-0.90 +2025-03-10 12:39:09,321 - INFO - OPENED LONG at 2064.32 | Stop loss: 2053.9984 | Take profit: 2095.2848 +2025-03-10 12:39:09,465 - INFO - CLOSED long at 2068.11 | PnL: 0.18% | $0.29 +2025-03-10 12:39:09,556 - INFO - OPENED SHORT at 2067.89 | Stop loss: 2078.22945 | Take profit: 2036.8716499999998 +2025-03-10 12:39:09,605 - INFO - CLOSED short at 2071.63 | PnL: -0.18% | $-0.99 +2025-03-10 12:39:09,606 - INFO - OPENED LONG at 2071.63 | Stop loss: 2061.27185 | Take profit: 2102.7044499999997 +2025-03-10 12:39:09,741 - INFO - CLOSED long at 2068.65 | PnL: -0.14% | $-0.85 +2025-03-10 12:39:09,741 - INFO - OPENED SHORT at 2068.65 | Stop loss: 2078.99325 | Take profit: 2037.6202500000002 +2025-03-10 12:39:09,876 - INFO - CLOSED short at 2067.69 | PnL: 0.05% | $-0.19 +2025-03-10 12:39:09,877 - INFO - OPENED LONG at 2067.69 | Stop loss: 2057.35155 | Take profit: 2098.7053499999997 +2025-03-10 12:39:09,922 - INFO - CLOSED long at 2070.26 | PnL: 0.12% | $0.08 +2025-03-10 12:39:09,968 - INFO - OPENED SHORT at 2071.44 | Stop loss: 2081.7972 | Take profit: 2040.3684 +2025-03-10 12:39:10,101 - INFO - CLOSED short at 2072.91 | PnL: -0.07% | $-0.59 +2025-03-10 12:39:10,143 - INFO - OPENED SHORT at 2072.33 | Stop loss: 2082.6916499999998 | Take profit: 2041.24505 +2025-03-10 12:39:10,186 - INFO - CLOSED short at 2071.38 | PnL: 0.05% | $-0.19 +2025-03-10 12:39:10,229 - INFO - OPENED LONG at 2071.41 | Stop loss: 2061.05295 | Take profit: 2102.4811499999996 +2025-03-10 12:39:10,273 - INFO - CLOSED long at 2069.37 | PnL: -0.10% | $-0.68 +2025-03-10 12:39:10,314 - INFO - OPENED LONG at 2070.9 | Stop loss: 2060.5455 | Take profit: 2101.9635 +2025-03-10 12:39:10,404 - INFO - CLOSED long at 2070.79 | PnL: -0.01% | $-0.36 +2025-03-10 12:39:10,450 - INFO - OPENED SHORT at 2070.28 | Stop loss: 2080.6313999999998 | Take profit: 2039.2258000000002 +2025-03-10 12:39:10,543 - INFO - CLOSED short at 2067.2 | PnL: 0.15% | $0.16 +2025-03-10 12:39:10,587 - INFO - OPENED SHORT at 2070.36 | Stop loss: 2080.7118 | Take profit: 2039.3046000000002 +2025-03-10 12:39:10,635 - INFO - CLOSED short at 2068.9 | PnL: 0.07% | $-0.10 +2025-03-10 12:39:10,721 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.6866999999997 | Take profit: 2038.2999000000002 +2025-03-10 12:39:10,765 - INFO - CLOSED short at 2069.19 | PnL: 0.01% | $-0.31 +2025-03-10 12:39:10,766 - INFO - OPENED LONG at 2069.19 | Stop loss: 2058.84405 | Take profit: 2100.2278499999998 +2025-03-10 12:39:10,851 - INFO - CLOSED long at 2067.6 | PnL: -0.08% | $-0.60 +2025-03-10 12:39:10,851 - INFO - OPENED SHORT at 2067.6 | Stop loss: 2077.9379999999996 | Take profit: 2036.5859999999998 +2025-03-10 12:39:10,942 - INFO - CLOSED short at 2069.01 | PnL: -0.07% | $-0.56 +2025-03-10 12:39:11,077 - INFO - OPENED LONG at 2066.19 | Stop loss: 2055.85905 | Take profit: 2097.1828499999997 +2025-03-10 12:39:11,165 - INFO - CLOSED long at 2065.08 | PnL: -0.05% | $-0.51 +2025-03-10 12:39:11,166 - INFO - OPENED SHORT at 2065.08 | Stop loss: 2075.4053999999996 | Take profit: 2034.1037999999999 +2025-03-10 12:39:11,213 - INFO - CLOSED short at 2066.18 | PnL: -0.05% | $-0.51 +2025-03-10 12:39:11,213 - INFO - OPENED LONG at 2066.18 | Stop loss: 2055.8491 | Take profit: 2097.1726999999996 +2025-03-10 12:39:11,298 - INFO - CLOSED long at 2068.9 | PnL: 0.13% | $0.10 +2025-03-10 12:39:11,386 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.24705 | Take profit: 2099.61885 +2025-03-10 12:39:11,557 - INFO - CLOSED long at 2071.4 | PnL: 0.14% | $0.12 +2025-03-10 12:39:11,558 - INFO - OPENED SHORT at 2071.4 | Stop loss: 2081.757 | Take profit: 2040.329 +2025-03-10 12:39:11,645 - INFO - CLOSED short at 2071.36 | PnL: 0.00% | $-0.32 +2025-03-10 12:39:11,877 - INFO - OPENED LONG at 2074.29 | Stop loss: 2063.91855 | Take profit: 2105.40435 +2025-03-10 12:39:11,925 - INFO - CLOSED long at 2073.9 | PnL: -0.02% | $-0.39 +2025-03-10 12:39:11,925 - INFO - OPENED SHORT at 2073.9 | Stop loss: 2084.2695 | Take profit: 2042.7915 +2025-03-10 12:39:12,067 - INFO - CLOSED short at 2071.11 | PnL: 0.13% | $0.11 +2025-03-10 12:39:12,068 - INFO - OPENED LONG at 2071.11 | Stop loss: 2060.75445 | Take profit: 2102.17665 +2025-03-10 12:39:12,116 - INFO - CLOSED long at 2069.46 | PnL: -0.08% | $-0.59 +2025-03-10 12:39:12,252 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.3349999999996 | Take profit: 2035.995 +2025-03-10 12:39:12,294 - INFO - CLOSED short at 2067.79 | PnL: -0.04% | $-0.45 +2025-03-10 12:39:12,466 - INFO - OPENED SHORT at 2063.61 | Stop loss: 2073.92805 | Take profit: 2032.65585 +2025-03-10 12:39:12,511 - INFO - CLOSED short at 2065.26 | PnL: -0.08% | $-0.58 +2025-03-10 12:39:12,512 - INFO - OPENED LONG at 2065.26 | Stop loss: 2054.9337 | Take profit: 2096.2389 +2025-03-10 12:39:12,597 - INFO - CLOSED long at 2068.58 | PnL: 0.16% | $0.19 +2025-03-10 12:39:12,597 - INFO - OPENED SHORT at 2068.58 | Stop loss: 2078.9228999999996 | Take profit: 2037.5512999999999 +2025-03-10 12:39:12,762 - INFO - CLOSED short at 2067.59 | PnL: 0.05% | $-0.17 +2025-03-10 12:39:12,762 - INFO - OPENED LONG at 2067.59 | Stop loss: 2057.25205 | Take profit: 2098.60385 +2025-03-10 12:39:12,807 - INFO - CLOSED long at 2069.2 | PnL: 0.08% | $-0.07 +2025-03-10 12:39:12,892 - INFO - OPENED LONG at 2071.59 | Stop loss: 2061.23205 | Take profit: 2102.66385 +2025-03-10 12:39:12,935 - INFO - CLOSED long at 2070.7 | PnL: -0.04% | $-0.46 +2025-03-10 12:39:13,061 - INFO - OPENED SHORT at 2068.5 | Stop loss: 2078.8424999999997 | Take profit: 2037.4725 +2025-03-10 12:39:13,151 - INFO - CLOSED short at 2067.84 | PnL: 0.03% | $-0.22 +2025-03-10 12:39:13,152 - INFO - OPENED LONG at 2067.84 | Stop loss: 2057.5008000000003 | Take profit: 2098.8576 +2025-03-10 12:39:13,278 - INFO - CLOSED long at 2066.4 | PnL: -0.07% | $-0.54 +2025-03-10 12:39:13,364 - INFO - OPENED LONG at 2065.28 | Stop loss: 2054.9536000000003 | Take profit: 2096.2592 +2025-03-10 12:39:13,408 - INFO - CLOSED long at 2066.39 | PnL: 0.05% | $-0.15 +2025-03-10 12:39:13,408 - INFO - OPENED SHORT at 2066.39 | Stop loss: 2076.7219499999997 | Take profit: 2035.3941499999999 +2025-03-10 12:39:13,535 - INFO - CLOSED short at 2067.8 | PnL: -0.07% | $-0.53 +2025-03-10 12:39:13,576 - INFO - OPENED SHORT at 2068.18 | Stop loss: 2078.5208999999995 | Take profit: 2037.1572999999999 +2025-03-10 12:39:13,703 - INFO - CLOSED short at 2064.99 | PnL: 0.15% | $0.17 +2025-03-10 12:39:13,838 - INFO - OPENED LONG at 2065.26 | Stop loss: 2054.9337 | Take profit: 2096.2389 +2025-03-10 12:39:13,879 - INFO - CLOSED long at 2062.89 | PnL: -0.11% | $-0.67 +2025-03-10 12:39:13,879 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.2044499999997 | Take profit: 2031.9466499999999 +2025-03-10 12:39:14,008 - INFO - CLOSED short at 2059.59 | PnL: 0.16% | $0.19 +2025-03-10 12:39:14,009 - INFO - OPENED LONG at 2059.59 | Stop loss: 2049.29205 | Take profit: 2090.48385 +2025-03-10 12:39:14,050 - INFO - CLOSED long at 2061.3 | PnL: 0.08% | $-0.05 +2025-03-10 12:39:14,051 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.6065 | Take profit: 2030.3805000000002 +2025-03-10 12:39:14,221 - INFO - CLOSED short at 2067.1 | PnL: -0.28% | $-1.19 +2025-03-10 12:39:14,263 - INFO - OPENED SHORT at 2065.54 | Stop loss: 2075.8677 | Take profit: 2034.5569 +2025-03-10 12:39:14,346 - INFO - CLOSED short at 2064.45 | PnL: 0.05% | $-0.14 +2025-03-10 12:39:14,429 - INFO - OPENED SHORT at 2062.71 | Stop loss: 2073.02355 | Take profit: 2031.76935 +2025-03-10 12:39:14,470 - INFO - CLOSED short at 2062.89 | PnL: -0.01% | $-0.33 +2025-03-10 12:39:14,471 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.57555 | Take profit: 2093.83335 +2025-03-10 12:39:14,556 - INFO - CLOSED long at 2063.5 | PnL: 0.03% | $-0.21 +2025-03-10 12:39:14,557 - INFO - OPENED SHORT at 2063.5 | Stop loss: 2073.8174999999997 | Take profit: 2032.5475 +2025-03-10 12:39:14,645 - INFO - CLOSED short at 2060.9 | PnL: 0.13% | $0.08 +2025-03-10 12:39:14,735 - INFO - OPENED LONG at 2058.89 | Stop loss: 2048.59555 | Take profit: 2089.7733499999995 +2025-03-10 12:39:14,867 - INFO - CLOSED long at 2061.8 | PnL: 0.14% | $0.13 +2025-03-10 12:39:14,867 - INFO - OPENED SHORT at 2061.8 | Stop loss: 2072.109 | Take profit: 2030.873 +2025-03-10 12:39:14,908 - INFO - CLOSED short at 2064.7 | PnL: -0.14% | $-0.73 +2025-03-10 12:39:14,909 - INFO - OPENED LONG at 2064.7 | Stop loss: 2054.3765 | Take profit: 2095.6704999999997 +2025-03-10 12:39:14,951 - INFO - CLOSED long at 2062.61 | PnL: -0.10% | $-0.61 +2025-03-10 12:39:14,995 - INFO - OPENED SHORT at 2060.91 | Stop loss: 2071.2145499999997 | Take profit: 2029.99635 +2025-03-10 12:39:15,077 - INFO - CLOSED short at 2061.13 | PnL: -0.01% | $-0.33 +2025-03-10 12:39:15,119 - INFO - OPENED SHORT at 2061.9 | Stop loss: 2072.2095 | Take profit: 2030.9715 +2025-03-10 12:39:15,162 - INFO - CLOSED short at 2064.1 | PnL: -0.11% | $-0.61 +2025-03-10 12:39:15,163 - INFO - OPENED LONG at 2064.1 | Stop loss: 2053.7795 | Take profit: 2095.0615 +2025-03-10 12:39:15,208 - INFO - CLOSED long at 2065.36 | PnL: 0.06% | $-0.11 +2025-03-10 12:39:15,208 - INFO - OPENED SHORT at 2065.36 | Stop loss: 2075.6868 | Take profit: 2034.3796000000002 +2025-03-10 12:39:15,424 - INFO - CLOSED short at 2063.53 | PnL: 0.09% | $-0.03 +2025-03-10 12:39:15,470 - INFO - OPENED SHORT at 2063.0 | Stop loss: 2073.3149999999996 | Take profit: 2032.055 +2025-03-10 12:39:15,642 - INFO - CLOSED short at 2060.7 | PnL: 0.11% | $0.03 +2025-03-10 12:39:15,685 - INFO - OPENED SHORT at 2061.09 | Stop loss: 2071.39545 | Take profit: 2030.1736500000002 +2025-03-10 12:39:15,727 - INFO - CLOSED short at 2059.61 | PnL: 0.07% | $-0.08 +2025-03-10 12:39:15,812 - INFO - OPENED SHORT at 2059.02 | Stop loss: 2069.3151 | Take profit: 2028.1347 +2025-03-10 12:39:15,937 - INFO - CLOSED short at 2059.46 | PnL: -0.02% | $-0.36 +2025-03-10 12:39:16,020 - INFO - OPENED LONG at 2058.28 | Stop loss: 2047.9886000000001 | Take profit: 2089.1542 +2025-03-10 12:39:16,189 - INFO - CLOSED long at 2054.83 | PnL: -0.17% | $-0.78 +2025-03-10 12:39:16,232 - INFO - OPENED SHORT at 2056.71 | Stop loss: 2066.9935499999997 | Take profit: 2025.85935 +2025-03-10 12:39:16,325 - INFO - CLOSED short at 2059.8 | PnL: -0.15% | $-0.72 +2025-03-10 12:39:16,326 - INFO - OPENED LONG at 2059.8 | Stop loss: 2049.501 | Take profit: 2090.697 +2025-03-10 12:39:16,416 - INFO - CLOSED long at 2061.5 | PnL: 0.08% | $-0.05 +2025-03-10 12:39:16,503 - INFO - OPENED LONG at 2061.3 | Stop loss: 2050.9935 | Take profit: 2092.2195 +2025-03-10 12:39:16,546 - INFO - CLOSED long at 2062.69 | PnL: 0.07% | $-0.09 +2025-03-10 12:39:16,589 - INFO - OPENED SHORT at 2063.4 | Stop loss: 2073.717 | Take profit: 2032.449 +2025-03-10 12:39:16,719 - INFO - CLOSED short at 2063.9 | PnL: -0.02% | $-0.36 +2025-03-10 12:39:16,720 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.5805 | Take profit: 2094.8585 +2025-03-10 12:39:16,855 - INFO - CLOSED long at 2066.34 | PnL: 0.12% | $0.05 +2025-03-10 12:39:16,855 - INFO - OPENED SHORT at 2066.34 | Stop loss: 2076.6717 | Take profit: 2035.3449 +2025-03-10 12:39:16,897 - INFO - CLOSED short at 2066.79 | PnL: -0.02% | $-0.35 +2025-03-10 12:39:16,897 - INFO - OPENED LONG at 2066.79 | Stop loss: 2056.45605 | Take profit: 2097.7918499999996 +2025-03-10 12:39:16,942 - INFO - CLOSED long at 2067.33 | PnL: 0.03% | $-0.21 +2025-03-10 12:39:17,074 - INFO - OPENED LONG at 2069.79 | Stop loss: 2059.44105 | Take profit: 2100.8368499999997 +2025-03-10 12:39:17,157 - INFO - CLOSED long at 2074.3 | PnL: 0.22% | $0.33 +2025-03-10 12:39:17,694 - INFO - OPENED SHORT at 2069.03 | Stop loss: 2079.37515 | Take profit: 2037.9945500000001 +2025-03-10 12:39:17,840 - INFO - CLOSED short at 2072.99 | PnL: -0.19% | $-0.83 +2025-03-10 12:39:17,840 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6250499999996 | Take profit: 2104.0848499999997 +2025-03-10 12:39:17,931 - INFO - CLOSED long at 2069.87 | PnL: -0.15% | $-0.70 +2025-03-10 12:39:17,932 - INFO - OPENED SHORT at 2069.87 | Stop loss: 2080.21935 | Take profit: 2038.8219499999998 +2025-03-10 12:39:18,067 - INFO - CLOSED short at 2065.7 | PnL: 0.20% | $0.28 +2025-03-10 12:39:18,200 - INFO - OPENED SHORT at 2063.97 | Stop loss: 2074.2898499999997 | Take profit: 2033.0104499999998 +2025-03-10 12:39:18,376 - INFO - CLOSED short at 2064.31 | PnL: -0.02% | $-0.33 +2025-03-10 12:39:18,376 - INFO - OPENED LONG at 2064.31 | Stop loss: 2053.98845 | Take profit: 2095.27465 +2025-03-10 12:39:18,748 - INFO - CLOSED long at 2071.59 | PnL: 0.35% | $0.70 +2025-03-10 12:39:18,790 - INFO - OPENED SHORT at 2070.2 | Stop loss: 2080.5509999999995 | Take profit: 2039.1469999999997 +2025-03-10 12:39:18,837 - INFO - CLOSED short at 2071.35 | PnL: -0.06% | $-0.44 +2025-03-10 12:39:18,837 - INFO - OPENED LONG at 2071.35 | Stop loss: 2060.99325 | Take profit: 2102.4202499999997 +2025-03-10 12:39:19,054 - INFO - CLOSED long at 2070.35 | PnL: -0.05% | $-0.41 +2025-03-10 12:39:19,054 - INFO - OPENED SHORT at 2070.35 | Stop loss: 2080.7017499999997 | Take profit: 2039.2947499999998 +2025-03-10 12:39:19,099 - INFO - CLOSED short at 2070.61 | PnL: -0.01% | $-0.31 +2025-03-10 12:39:19,100 - INFO - OPENED LONG at 2070.61 | Stop loss: 2060.25695 | Take profit: 2101.6691499999997 +2025-03-10 12:39:19,271 - INFO - CLOSED long at 2070.67 | PnL: 0.00% | $-0.27 +2025-03-10 12:39:19,364 - INFO - OPENED LONG at 2071.61 | Stop loss: 2061.2519500000003 | Take profit: 2102.68415 +2025-03-10 12:39:19,715 - INFO - CLOSED long at 2076.9 | PnL: 0.26% | $0.43 +2025-03-10 12:39:19,716 - INFO - OPENED SHORT at 2076.9 | Stop loss: 2087.2844999999998 | Take profit: 2045.7465 +2025-03-10 12:39:19,804 - INFO - CLOSED short at 2074.0 | PnL: 0.14% | $0.11 +2025-03-10 12:39:19,805 - INFO - OPENED LONG at 2074.0 | Stop loss: 2063.63 | Take profit: 2105.1099999999997 +2025-03-10 12:39:19,855 - INFO - CLOSED long at 2072.09 | PnL: -0.09% | $-0.53 +2025-03-10 12:39:19,855 - INFO - OPENED SHORT at 2072.09 | Stop loss: 2082.45045 | Take profit: 2041.0086500000002 +2025-03-10 12:39:19,903 - INFO - CLOSED short at 2069.97 | PnL: 0.10% | $0.01 +2025-03-10 12:39:19,948 - INFO - OPENED LONG at 2067.7 | Stop loss: 2057.3615 | Take profit: 2098.7155 +2025-03-10 12:39:20,384 - INFO - CLOSED long at 2070.1 | PnL: 0.12% | $0.04 +2025-03-10 12:39:20,386 - INFO - OPENED SHORT at 2070.1 | Stop loss: 2080.4504999999995 | Take profit: 2039.0484999999999 +2025-03-10 12:39:20,529 - INFO - CLOSED short at 2065.7 | PnL: 0.21% | $0.31 +2025-03-10 12:39:20,529 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.3714999999997 | Take profit: 2096.6854999999996 +2025-03-10 12:39:20,756 - INFO - CLOSED long at 2062.34 | PnL: -0.16% | $-0.73 +2025-03-10 12:39:20,757 - INFO - OPENED SHORT at 2062.34 | Stop loss: 2072.6517 | Take profit: 2031.4049000000002 +2025-03-10 12:39:20,801 - INFO - CLOSED short at 2063.98 | PnL: -0.08% | $-0.49 +2025-03-10 12:39:20,802 - INFO - OPENED LONG at 2063.98 | Stop loss: 2053.6601 | Take profit: 2094.9397 +2025-03-10 12:39:20,888 - INFO - CLOSED long at 2065.06 | PnL: 0.05% | $-0.13 +2025-03-10 12:39:20,889 - INFO - OPENED SHORT at 2065.06 | Stop loss: 2075.3853 | Take profit: 2034.0840999999998 +2025-03-10 12:39:20,933 - INFO - CLOSED short at 2064.11 | PnL: 0.05% | $-0.15 +2025-03-10 12:39:20,980 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.1775 | Take profit: 2095.4674999999997 +2025-03-10 12:39:21,026 - INFO - CLOSED long at 2066.33 | PnL: 0.09% | $-0.03 +2025-03-10 12:39:21,027 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.6616499999996 | Take profit: 2035.33505 +2025-03-10 12:39:21,112 - INFO - CLOSED short at 2060.7 | PnL: 0.27% | $0.47 +2025-03-10 12:39:21,113 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3965 | Take profit: 2091.6105 +2025-03-10 12:39:21,326 - INFO - CLOSED long at 2056.77 | PnL: -0.19% | $-0.79 +2025-03-10 12:39:21,370 - INFO - OPENED LONG at 2053.01 | Stop loss: 2042.7449500000002 | Take profit: 2083.80515 +2025-03-10 12:39:21,413 - INFO - CLOSED long at 2049.21 | PnL: -0.19% | $-0.77 +2025-03-10 12:39:21,414 - INFO - OPENED SHORT at 2049.21 | Stop loss: 2059.45605 | Take profit: 2018.47185 +2025-03-10 12:39:21,457 - INFO - CLOSED short at 2049.5 | PnL: -0.01% | $-0.30 +2025-03-10 12:39:21,670 - INFO - OPENED LONG at 2057.89 | Stop loss: 2047.6005499999999 | Take profit: 2088.7583499999996 +2025-03-10 12:39:21,713 - INFO - CLOSED long at 2062.83 | PnL: 0.24% | $0.37 +2025-03-10 12:39:21,756 - INFO - OPENED SHORT at 2063.9 | Stop loss: 2074.2194999999997 | Take profit: 2032.9415000000001 +2025-03-10 12:39:21,928 - INFO - CLOSED short at 2065.12 | PnL: -0.06% | $-0.42 +2025-03-10 12:39:22,053 - INFO - OPENED SHORT at 2066.59 | Stop loss: 2076.92295 | Take profit: 2035.5911500000002 +2025-03-10 12:39:22,220 - INFO - CLOSED short at 2060.7 | PnL: 0.29% | $0.49 +2025-03-10 12:39:22,268 - INFO - OPENED SHORT at 2061.84 | Stop loss: 2072.1492 | Take profit: 2030.9124000000002 +2025-03-10 12:39:22,453 - INFO - CLOSED short at 2070.24 | PnL: -0.41% | $-1.35 +2025-03-10 12:39:22,453 - INFO - OPENED LONG at 2070.24 | Stop loss: 2059.8887999999997 | Take profit: 2101.2935999999995 +2025-03-10 12:39:22,542 - INFO - CLOSED long at 2069.81 | PnL: -0.02% | $-0.32 +2025-03-10 12:39:22,542 - INFO - OPENED SHORT at 2069.81 | Stop loss: 2080.1590499999998 | Take profit: 2038.7628499999998 +2025-03-10 12:39:22,585 - INFO - CLOSED short at 2070.41 | PnL: -0.03% | $-0.34 +2025-03-10 12:39:22,585 - INFO - OPENED LONG at 2070.41 | Stop loss: 2060.05795 | Take profit: 2101.4661499999997 +2025-03-10 12:39:22,628 - INFO - CLOSED long at 2073.49 | PnL: 0.15% | $0.13 +2025-03-10 12:39:22,628 - INFO - OPENED SHORT at 2073.49 | Stop loss: 2083.8574499999995 | Take profit: 2042.3876499999997 +2025-03-10 12:39:22,672 - INFO - CLOSED short at 2074.05 | PnL: -0.03% | $-0.33 +2025-03-10 12:39:22,798 - INFO - OPENED SHORT at 2071.8 | Stop loss: 2082.159 | Take profit: 2040.7230000000002 +2025-03-10 12:39:22,973 - INFO - STOP LOSS hit for short at 2082.159 | PnL: -0.50% | $-1.55 +2025-03-10 12:39:23,016 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.9424499999996 | Take profit: 2059.1326499999996 +2025-03-10 12:39:23,061 - INFO - CLOSED short at 2103.02 | PnL: -0.60% | $-1.76 +2025-03-10 12:39:23,153 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2376999999997 | Take profit: 2107.4469 +2025-03-10 12:39:23,281 - INFO - CLOSED short at 2137.59 | PnL: 0.09% | $-0.02 +2025-03-10 12:39:23,282 - INFO - OPENED LONG at 2137.59 | Stop loss: 2126.90205 | Take profit: 2169.65385 +2025-03-10 12:39:23,327 - INFO - CLOSED long at 2141.41 | PnL: 0.18% | $0.19 +2025-03-10 12:39:23,328 - INFO - OPENED SHORT at 2141.41 | Stop loss: 2152.11705 | Take profit: 2109.28885 +2025-03-10 12:39:23,501 - INFO - CLOSED short at 2134.78 | PnL: 0.31% | $0.51 +2025-03-10 12:39:23,502 - INFO - OPENED LONG at 2134.78 | Stop loss: 2124.1061 | Take profit: 2166.8017 +2025-03-10 12:39:23,585 - INFO - CLOSED long at 2127.3 | PnL: -0.35% | $-1.11 +2025-03-10 12:39:23,628 - INFO - OPENED LONG at 2128.69 | Stop loss: 2118.04655 | Take profit: 2160.6203499999997 +2025-03-10 12:39:23,671 - INFO - CLOSED long at 2121.09 | PnL: -0.36% | $-1.11 +2025-03-10 12:39:23,758 - INFO - OPENED LONG at 2117.24 | Stop loss: 2106.6537999999996 | Take profit: 2148.9985999999994 +2025-03-10 12:39:23,799 - INFO - CLOSED long at 2119.93 | PnL: 0.13% | $0.06 +2025-03-10 12:39:23,800 - INFO - OPENED SHORT at 2119.93 | Stop loss: 2130.5296499999995 | Take profit: 2088.13105 +2025-03-10 12:39:23,891 - INFO - CLOSED short at 2118.52 | PnL: 0.07% | $-0.08 +2025-03-10 12:39:23,936 - INFO - OPENED SHORT at 2119.14 | Stop loss: 2129.7356999999997 | Take profit: 2087.3529 +2025-03-10 12:39:24,063 - INFO - CLOSED short at 2107.43 | PnL: 0.55% | $1.08 +2025-03-10 12:39:24,063 - INFO - OPENED LONG at 2107.43 | Stop loss: 2096.8928499999997 | Take profit: 2139.0414499999997 +2025-03-10 12:39:24,105 - INFO - CLOSED long at 2110.6 | PnL: 0.15% | $0.12 +2025-03-10 12:39:24,197 - INFO - OPENED LONG at 2112.09 | Stop loss: 2101.52955 | Take profit: 2143.77135 +2025-03-10 12:39:24,287 - INFO - CLOSED long at 2112.46 | PnL: 0.02% | $-0.20 +2025-03-10 12:39:24,330 - INFO - OPENED SHORT at 2113.24 | Stop loss: 2123.8061999999995 | Take profit: 2081.5413999999996 +2025-03-10 12:39:24,374 - INFO - CLOSED short at 2112.99 | PnL: 0.01% | $-0.21 +2025-03-10 12:39:24,374 - INFO - OPENED LONG at 2112.99 | Stop loss: 2102.42505 | Take profit: 2144.6848499999996 +2025-03-10 12:39:24,419 - INFO - CLOSED long at 2120.81 | PnL: 0.37% | $0.65 +2025-03-10 12:39:24,420 - INFO - OPENED SHORT at 2120.81 | Stop loss: 2131.41405 | Take profit: 2088.9978499999997 +2025-03-10 12:39:24,463 - INFO - CLOSED short at 2116.48 | PnL: 0.20% | $0.25 +2025-03-10 12:39:24,463 - INFO - OPENED LONG at 2116.48 | Stop loss: 2105.8976 | Take profit: 2148.2272 +2025-03-10 12:39:24,508 - INFO - CLOSED long at 2114.8 | PnL: -0.08% | $-0.44 +2025-03-10 12:39:24,508 - INFO - OPENED SHORT at 2114.8 | Stop loss: 2125.374 | Take profit: 2083.078 +2025-03-10 12:39:24,590 - INFO - CLOSED short at 2108.71 | PnL: 0.29% | $0.46 +2025-03-10 12:39:24,590 - INFO - OPENED LONG at 2108.71 | Stop loss: 2098.16645 | Take profit: 2140.3406499999996 +2025-03-10 12:39:24,677 - INFO - CLOSED long at 2108.06 | PnL: -0.03% | $-0.32 +2025-03-10 12:39:24,768 - INFO - OPENED SHORT at 2100.5 | Stop loss: 2111.0024999999996 | Take profit: 2068.9925 +2025-03-10 12:39:24,851 - INFO - CLOSED short at 2099.53 | PnL: 0.05% | $-0.13 +2025-03-10 12:39:24,947 - INFO - OPENED LONG at 2102.19 | Stop loss: 2091.67905 | Take profit: 2133.7228499999997 +2025-03-10 12:39:24,991 - INFO - CLOSED long at 2102.29 | PnL: 0.00% | $-0.23 +2025-03-10 12:39:24,991 - INFO - OPENED SHORT at 2102.29 | Stop loss: 2112.80145 | Take profit: 2070.75565 +2025-03-10 12:39:25,038 - INFO - CLOSED short at 2099.25 | PnL: 0.14% | $0.11 +2025-03-10 12:39:25,084 - INFO - OPENED SHORT at 2098.9 | Stop loss: 2109.3945 | Take profit: 2067.4165000000003 +2025-03-10 12:39:25,132 - INFO - CLOSED short at 2100.69 | PnL: -0.09% | $-0.45 +2025-03-10 12:39:25,178 - INFO - OPENED SHORT at 2104.83 | Stop loss: 2115.3541499999997 | Take profit: 2073.25755 +2025-03-10 12:39:25,222 - INFO - CLOSED short at 2106.39 | PnL: -0.07% | $-0.42 +2025-03-10 12:39:25,352 - INFO - OPENED SHORT at 2104.68 | Stop loss: 2115.2033999999994 | Take profit: 2073.1097999999997 +2025-03-10 12:39:25,394 - INFO - CLOSED short at 2101.51 | PnL: 0.15% | $0.12 +2025-03-10 12:39:25,437 - INFO - OPENED SHORT at 2099.59 | Stop loss: 2110.08795 | Take profit: 2068.0961500000003 +2025-03-10 12:39:25,484 - INFO - CLOSED short at 2100.02 | PnL: -0.02% | $-0.29 +2025-03-10 12:39:25,617 - INFO - OPENED SHORT at 2093.46 | Stop loss: 2103.9273 | Take profit: 2062.0581 +2025-03-10 12:39:25,661 - INFO - CLOSED short at 2093.33 | PnL: 0.01% | $-0.22 +2025-03-10 12:39:25,662 - INFO - OPENED LONG at 2093.33 | Stop loss: 2082.86335 | Take profit: 2124.72995 +2025-03-10 12:39:25,753 - INFO - CLOSED long at 2091.1 | PnL: -0.11% | $-0.49 +2025-03-10 12:39:25,754 - INFO - OPENED SHORT at 2091.1 | Stop loss: 2101.5554999999995 | Take profit: 2059.7335 +2025-03-10 12:39:25,800 - INFO - CLOSED short at 2094.72 | PnL: -0.17% | $-0.64 +2025-03-10 12:39:25,800 - INFO - OPENED LONG at 2094.72 | Stop loss: 2084.2464 | Take profit: 2126.1407999999997 +2025-03-10 12:39:25,933 - INFO - STOP LOSS hit for long at 2084.2464 | PnL: -0.50% | $-1.40 +2025-03-10 12:39:26,020 - INFO - OPENED LONG at 2083.97 | Stop loss: 2073.5501499999996 | Take profit: 2115.2295499999996 +2025-03-10 12:39:26,161 - INFO - CLOSED long at 2081.49 | PnL: -0.12% | $-0.50 +2025-03-10 12:39:26,161 - INFO - OPENED SHORT at 2081.49 | Stop loss: 2091.8974499999995 | Take profit: 2050.26765 +2025-03-10 12:39:26,203 - INFO - CLOSED short at 2080.38 | PnL: 0.05% | $-0.11 +2025-03-10 12:39:26,338 - INFO - OPENED SHORT at 2085.09 | Stop loss: 2095.51545 | Take profit: 2053.81365 +2025-03-10 12:39:26,462 - INFO - CLOSED short at 2086.57 | PnL: -0.07% | $-0.38 +2025-03-10 12:39:26,462 - INFO - OPENED LONG at 2086.57 | Stop loss: 2076.13715 | Take profit: 2117.86855 +2025-03-10 12:39:26,588 - INFO - CLOSED long at 2084.72 | PnL: -0.09% | $-0.42 +2025-03-10 12:39:26,648 - INFO - OPENED LONG at 2085.83 | Stop loss: 2075.40085 | Take profit: 2117.1174499999997 +2025-03-10 12:39:26,844 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 22.7% in downtrends | Avg Win=$0.25, Avg Loss=$-0.48 +2025-03-10 12:39:26,845 - INFO - Episode 0: Reward=-99.44, Balance=$55.47, Win Rate=24.8%, Trades=149, Episode PnL=$-24.03, Total PnL=$-44.53, Max Drawdown=44.5%, Pred Accuracy=98.8% +2025-03-10 12:39:26,990 - INFO - Model saved to models/trading_agent_best_reward.pt +2025-03-10 12:39:26,990 - INFO - New best reward model saved: -99.44 +2025-03-10 12:39:27,121 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 12:39:27,121 - INFO - New best PnL model saved: $-24.03 +2025-03-10 12:39:27,222 - INFO - Model saved to models/trading_agent_best_winrate.pt +2025-03-10 12:39:27,223 - INFO - New best win rate model saved: 24.8% +2025-03-10 12:39:27,323 - INFO - Model saved to checkpoints/trading_agent_episode_0.pt +2025-03-10 12:39:27,324 - INFO - Checkpoint saved at episode 0 +2025-03-10 12:39:27,343 - INFO - Identified 26 optimal buy points and 27 optimal sell points +2025-03-10 12:39:27,661 - INFO - OPENED LONG at 2059.4 | Stop loss: 2049.103 | Take profit: 2090.2909999999997 +2025-03-10 12:39:27,707 - INFO - CLOSED long at 2057.59 | PnL: -0.09% | $-0.75 +2025-03-10 12:39:27,798 - INFO - OPENED LONG at 2059.4 | Stop loss: 2049.103 | Take profit: 2090.2909999999997 +2025-03-10 12:39:27,899 - INFO - CLOSED long at 2060.51 | PnL: 0.05% | $-0.18 +2025-03-10 12:39:27,899 - INFO - OPENED SHORT at 2060.51 | Stop loss: 2070.81255 | Take profit: 2029.6023500000001 +2025-03-10 12:39:27,947 - INFO - CLOSED short at 2057.52 | PnL: 0.15% | $0.18 +2025-03-10 12:39:28,084 - INFO - OPENED LONG at 2057.9 | Stop loss: 2047.6105 | Take profit: 2088.7684999999997 +2025-03-10 12:39:28,228 - INFO - CLOSED long at 2055.2 | PnL: -0.13% | $-0.92 +2025-03-10 12:39:28,273 - INFO - OPENED LONG at 2058.59 | Stop loss: 2048.29705 | Take profit: 2089.4688499999997 +2025-03-10 12:39:28,321 - INFO - CLOSED long at 2056.4 | PnL: -0.11% | $-0.81 +2025-03-10 12:39:28,369 - INFO - OPENED LONG at 2055.39 | Stop loss: 2045.11305 | Take profit: 2086.2208499999997 +2025-03-10 12:39:28,456 - INFO - CLOSED long at 2052.7 | PnL: -0.13% | $-0.90 +2025-03-10 12:39:28,503 - INFO - OPENED SHORT at 2051.66 | Stop loss: 2061.9183 | Take profit: 2020.8850999999997 +2025-03-10 12:39:28,726 - INFO - CLOSED short at 2050.44 | PnL: 0.06% | $-0.16 +2025-03-10 12:39:28,727 - INFO - OPENED LONG at 2050.44 | Stop loss: 2040.1878000000002 | Take profit: 2081.1965999999998 +2025-03-10 12:39:28,771 - INFO - CLOSED long at 2049.49 | PnL: -0.05% | $-0.56 +2025-03-10 12:39:28,772 - INFO - OPENED SHORT at 2049.49 | Stop loss: 2059.7374499999996 | Take profit: 2018.7476499999998 +2025-03-10 12:39:28,861 - INFO - CLOSED short at 2049.6 | PnL: -0.01% | $-0.40 +2025-03-10 12:39:28,862 - INFO - OPENED LONG at 2049.6 | Stop loss: 2039.3519999999999 | Take profit: 2080.3439999999996 +2025-03-10 12:39:28,907 - INFO - CLOSED long at 2051.99 | PnL: 0.12% | $0.06 +2025-03-10 12:39:28,952 - INFO - OPENED SHORT at 2049.61 | Stop loss: 2059.85805 | Take profit: 2018.8658500000001 +2025-03-10 12:39:29,125 - INFO - CLOSED short at 2046.58 | PnL: 0.15% | $0.18 +2025-03-10 12:39:29,126 - INFO - OPENED LONG at 2046.58 | Stop loss: 2036.3471 | Take profit: 2077.2787 +2025-03-10 12:39:29,169 - INFO - CLOSED long at 2047.4 | PnL: 0.04% | $-0.23 +2025-03-10 12:39:29,169 - INFO - OPENED SHORT at 2047.4 | Stop loss: 2057.6369999999997 | Take profit: 2016.689 +2025-03-10 12:39:29,216 - INFO - CLOSED short at 2047.2 | PnL: 0.01% | $-0.34 +2025-03-10 12:39:29,353 - INFO - OPENED LONG at 2045.79 | Stop loss: 2035.56105 | Take profit: 2076.4768499999996 +2025-03-10 12:39:29,396 - INFO - CLOSED long at 2048.13 | PnL: 0.11% | $0.05 +2025-03-10 12:39:29,570 - INFO - OPENED SHORT at 2050.24 | Stop loss: 2060.4911999999995 | Take profit: 2019.4863999999998 +2025-03-10 12:39:29,613 - INFO - CLOSED short at 2049.89 | PnL: 0.02% | $-0.32 +2025-03-10 12:39:29,740 - INFO - OPENED SHORT at 2051.89 | Stop loss: 2062.1494499999994 | Take profit: 2021.1116499999998 +2025-03-10 12:39:29,870 - INFO - CLOSED short at 2057.01 | PnL: -0.25% | $-1.33 +2025-03-10 12:39:29,958 - INFO - OPENED SHORT at 2058.39 | Stop loss: 2068.6819499999997 | Take profit: 2027.5141499999997 +2025-03-10 12:39:30,003 - INFO - CLOSED short at 2060.13 | PnL: -0.08% | $-0.69 +2025-03-10 12:39:30,086 - INFO - OPENED SHORT at 2061.49 | Stop loss: 2071.7974499999996 | Take profit: 2030.5676499999997 +2025-03-10 12:39:30,176 - INFO - CLOSED short at 2064.61 | PnL: -0.15% | $-0.93 +2025-03-10 12:39:30,177 - INFO - OPENED LONG at 2064.61 | Stop loss: 2054.28695 | Take profit: 2095.57915 +2025-03-10 12:39:30,219 - INFO - CLOSED long at 2063.59 | PnL: -0.05% | $-0.55 +2025-03-10 12:39:30,312 - INFO - OPENED LONG at 2064.69 | Stop loss: 2054.36655 | Take profit: 2095.6603499999997 +2025-03-10 12:39:30,442 - INFO - CLOSED long at 2058.3 | PnL: -0.31% | $-1.50 +2025-03-10 12:39:30,533 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.5805499999997 | Take profit: 2092.8183499999996 +2025-03-10 12:39:30,792 - INFO - CLOSED long at 2057.94 | PnL: -0.19% | $-1.05 +2025-03-10 12:39:30,793 - INFO - OPENED SHORT at 2057.94 | Stop loss: 2068.2297 | Take profit: 2027.0709 +2025-03-10 12:39:30,920 - INFO - CLOSED short at 2061.18 | PnL: -0.16% | $-0.91 +2025-03-10 12:39:31,094 - INFO - OPENED SHORT at 2068.11 | Stop loss: 2078.45055 | Take profit: 2037.08835 +2025-03-10 12:39:31,178 - INFO - CLOSED short at 2067.89 | PnL: 0.01% | $-0.31 +2025-03-10 12:39:31,178 - INFO - OPENED LONG at 2067.89 | Stop loss: 2057.55055 | Take profit: 2098.9083499999997 +2025-03-10 12:39:31,220 - INFO - CLOSED long at 2071.63 | PnL: 0.18% | $0.28 +2025-03-10 12:39:31,220 - INFO - OPENED SHORT at 2071.63 | Stop loss: 2081.9881499999997 | Take profit: 2040.55555 +2025-03-10 12:39:31,266 - INFO - CLOSED short at 2070.99 | PnL: 0.03% | $-0.24 +2025-03-10 12:39:31,266 - INFO - OPENED LONG at 2070.99 | Stop loss: 2060.63505 | Take profit: 2102.0548499999995 +2025-03-10 12:39:31,309 - INFO - CLOSED long at 2069.6 | PnL: -0.07% | $-0.59 +2025-03-10 12:39:31,310 - INFO - OPENED SHORT at 2069.6 | Stop loss: 2079.948 | Take profit: 2038.5559999999998 +2025-03-10 12:39:31,357 - INFO - CLOSED short at 2068.65 | PnL: 0.05% | $-0.19 +2025-03-10 12:39:31,357 - INFO - OPENED LONG at 2068.65 | Stop loss: 2058.30675 | Take profit: 2099.67975 +2025-03-10 12:39:31,403 - INFO - CLOSED long at 2068.99 | PnL: 0.02% | $-0.29 +2025-03-10 12:39:31,447 - INFO - OPENED LONG at 2067.9 | Stop loss: 2057.5605 | Take profit: 2098.9184999999998 +2025-03-10 12:39:31,493 - INFO - CLOSED long at 2067.69 | PnL: -0.01% | $-0.38 +2025-03-10 12:39:31,494 - INFO - OPENED SHORT at 2067.69 | Stop loss: 2078.02845 | Take profit: 2036.67465 +2025-03-10 12:39:31,666 - INFO - CLOSED short at 2075.1 | PnL: -0.36% | $-1.58 +2025-03-10 12:39:31,764 - INFO - OPENED SHORT at 2072.33 | Stop loss: 2082.6916499999998 | Take profit: 2041.24505 +2025-03-10 12:39:31,810 - INFO - CLOSED short at 2071.38 | PnL: 0.05% | $-0.18 +2025-03-10 12:39:31,979 - INFO - OPENED SHORT at 2072.8 | Stop loss: 2083.1639999999998 | Take profit: 2041.708 +2025-03-10 12:39:32,363 - INFO - CLOSED short at 2069.19 | PnL: 0.17% | $0.25 +2025-03-10 12:39:32,364 - INFO - OPENED LONG at 2069.19 | Stop loss: 2058.84405 | Take profit: 2100.2278499999998 +2025-03-10 12:39:32,455 - INFO - CLOSED long at 2067.6 | PnL: -0.08% | $-0.60 +2025-03-10 12:39:32,627 - INFO - OPENED SHORT at 2065.99 | Stop loss: 2076.3199499999996 | Take profit: 2035.0001499999998 +2025-03-10 12:39:32,674 - INFO - CLOSED short at 2066.19 | PnL: -0.01% | $-0.37 +2025-03-10 12:39:32,815 - INFO - OPENED SHORT at 2066.18 | Stop loss: 2076.5108999999998 | Take profit: 2035.1872999999998 +2025-03-10 12:39:32,857 - INFO - CLOSED short at 2068.76 | PnL: -0.12% | $-0.75 +2025-03-10 12:39:32,858 - INFO - OPENED LONG at 2068.76 | Stop loss: 2058.4162 | Take profit: 2099.7914 +2025-03-10 12:39:32,907 - INFO - CLOSED long at 2068.9 | PnL: 0.01% | $-0.31 +2025-03-10 12:39:33,070 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.0480000000002 | Take profit: 2101.4559999999997 +2025-03-10 12:39:33,113 - INFO - CLOSED long at 2069.96 | PnL: -0.02% | $-0.40 +2025-03-10 12:39:33,113 - INFO - OPENED SHORT at 2069.96 | Stop loss: 2080.3098 | Take profit: 2038.9106 +2025-03-10 12:39:33,203 - INFO - CLOSED short at 2071.39 | PnL: -0.07% | $-0.56 +2025-03-10 12:39:33,247 - INFO - OPENED LONG at 2071.36 | Stop loss: 2061.0032 | Take profit: 2102.4303999999997 +2025-03-10 12:39:33,292 - INFO - CLOSED long at 2072.75 | PnL: 0.07% | $-0.11 +2025-03-10 12:39:33,293 - INFO - OPENED SHORT at 2072.75 | Stop loss: 2083.11375 | Take profit: 2041.65875 +2025-03-10 12:39:33,478 - INFO - CLOSED short at 2074.29 | PnL: -0.07% | $-0.57 +2025-03-10 12:39:33,520 - INFO - OPENED SHORT at 2073.9 | Stop loss: 2084.2695 | Take profit: 2042.7915 +2025-03-10 12:39:33,565 - INFO - CLOSED short at 2071.92 | PnL: 0.10% | $-0.01 +2025-03-10 12:39:33,566 - INFO - OPENED LONG at 2071.92 | Stop loss: 2061.5604 | Take profit: 2102.9988 +2025-03-10 12:39:33,690 - INFO - CLOSED long at 2069.46 | PnL: -0.12% | $-0.71 +2025-03-10 12:39:33,774 - INFO - OPENED LONG at 2068.32 | Stop loss: 2057.9784 | Take profit: 2099.3448 +2025-03-10 12:39:33,818 - INFO - CLOSED long at 2067.0 | PnL: -0.06% | $-0.53 +2025-03-10 12:39:33,819 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.3349999999996 | Take profit: 2035.995 +2025-03-10 12:39:33,863 - INFO - CLOSED short at 2067.79 | PnL: -0.04% | $-0.44 +2025-03-10 12:39:33,864 - INFO - OPENED LONG at 2067.79 | Stop loss: 2057.45105 | Take profit: 2098.80685 +2025-03-10 12:39:33,910 - INFO - CLOSED long at 2067.46 | PnL: -0.02% | $-0.37 +2025-03-10 12:39:34,000 - INFO - OPENED SHORT at 2065.49 | Stop loss: 2075.8174499999996 | Take profit: 2034.5076499999998 +2025-03-10 12:39:34,088 - INFO - CLOSED short at 2065.26 | PnL: 0.01% | $-0.28 +2025-03-10 12:39:34,089 - INFO - OPENED LONG at 2065.26 | Stop loss: 2054.9337 | Take profit: 2096.2389 +2025-03-10 12:39:34,173 - INFO - CLOSED long at 2068.58 | PnL: 0.16% | $0.19 +2025-03-10 12:39:34,173 - INFO - OPENED SHORT at 2068.58 | Stop loss: 2078.9228999999996 | Take profit: 2037.5512999999999 +2025-03-10 12:39:34,259 - INFO - CLOSED short at 2069.34 | PnL: -0.04% | $-0.43 +2025-03-10 12:39:34,302 - INFO - OPENED LONG at 2067.86 | Stop loss: 2057.5207 | Take profit: 2098.8779 +2025-03-10 12:39:34,431 - INFO - CLOSED long at 2070.3 | PnL: 0.12% | $0.06 +2025-03-10 12:39:34,474 - INFO - OPENED SHORT at 2071.59 | Stop loss: 2081.9479499999998 | Take profit: 2040.5161500000002 +2025-03-10 12:39:34,519 - INFO - CLOSED short at 2070.7 | PnL: 0.04% | $-0.18 +2025-03-10 12:39:34,520 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3464999999997 | Take profit: 2101.7604999999994 +2025-03-10 12:39:34,650 - INFO - CLOSED long at 2068.5 | PnL: -0.11% | $-0.65 +2025-03-10 12:39:34,733 - INFO - OPENED LONG at 2067.84 | Stop loss: 2057.5008000000003 | Take profit: 2098.8576 +2025-03-10 12:39:34,778 - INFO - CLOSED long at 2067.11 | PnL: -0.04% | $-0.42 +2025-03-10 12:39:34,822 - INFO - OPENED SHORT at 2067.86 | Stop loss: 2078.1992999999998 | Take profit: 2036.8421 +2025-03-10 12:39:35,172 - INFO - CLOSED short at 2068.18 | PnL: -0.02% | $-0.36 +2025-03-10 12:39:35,357 - INFO - OPENED LONG at 2065.83 | Stop loss: 2055.50085 | Take profit: 2096.8174499999996 +2025-03-10 12:39:35,404 - INFO - CLOSED long at 2066.15 | PnL: 0.02% | $-0.26 +2025-03-10 12:39:35,404 - INFO - OPENED SHORT at 2066.15 | Stop loss: 2076.4807499999997 | Take profit: 2035.15775 +2025-03-10 12:39:35,451 - INFO - CLOSED short at 2065.26 | PnL: 0.04% | $-0.17 +2025-03-10 12:39:35,452 - INFO - OPENED LONG at 2065.26 | Stop loss: 2054.9337 | Take profit: 2096.2389 +2025-03-10 12:39:35,500 - INFO - CLOSED long at 2062.89 | PnL: -0.11% | $-0.66 +2025-03-10 12:39:35,501 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.2044499999997 | Take profit: 2031.9466499999999 +2025-03-10 12:39:35,547 - INFO - CLOSED short at 2062.65 | PnL: 0.01% | $-0.27 +2025-03-10 12:39:35,548 - INFO - OPENED LONG at 2062.65 | Stop loss: 2052.33675 | Take profit: 2093.58975 +2025-03-10 12:39:35,594 - INFO - CLOSED long at 2061.78 | PnL: -0.04% | $-0.43 +2025-03-10 12:39:35,594 - INFO - OPENED SHORT at 2061.78 | Stop loss: 2072.0889 | Take profit: 2030.8533000000002 +2025-03-10 12:39:35,642 - INFO - CLOSED short at 2059.59 | PnL: 0.11% | $0.02 +2025-03-10 12:39:35,643 - INFO - OPENED LONG at 2059.59 | Stop loss: 2049.29205 | Take profit: 2090.48385 +2025-03-10 12:39:35,731 - INFO - CLOSED long at 2063.59 | PnL: 0.19% | $0.28 +2025-03-10 12:39:35,775 - INFO - OPENED SHORT at 2064.96 | Stop loss: 2075.2848 | Take profit: 2033.9856 +2025-03-10 12:39:35,818 - INFO - CLOSED short at 2066.24 | PnL: -0.06% | $-0.49 +2025-03-10 12:39:35,819 - INFO - OPENED LONG at 2066.24 | Stop loss: 2055.9087999999997 | Take profit: 2097.2335999999996 +2025-03-10 12:39:35,965 - INFO - CLOSED long at 2066.09 | PnL: -0.01% | $-0.32 +2025-03-10 12:39:36,060 - INFO - OPENED SHORT at 2064.08 | Stop loss: 2074.4003999999995 | Take profit: 2033.1188 +2025-03-10 12:39:36,104 - INFO - CLOSED short at 2062.71 | PnL: 0.07% | $-0.10 +2025-03-10 12:39:36,105 - INFO - OPENED LONG at 2062.71 | Stop loss: 2052.39645 | Take profit: 2093.65065 +2025-03-10 12:39:36,151 - INFO - CLOSED long at 2062.89 | PnL: 0.01% | $-0.27 +2025-03-10 12:39:36,283 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.292 | Take profit: 2092.524 +2025-03-10 12:39:36,377 - INFO - CLOSED long at 2060.65 | PnL: -0.05% | $-0.43 +2025-03-10 12:39:36,557 - INFO - OPENED LONG at 2061.8 | Stop loss: 2051.491 | Take profit: 2092.727 +2025-03-10 12:39:36,598 - INFO - CLOSED long at 2064.7 | PnL: 0.14% | $0.12 +2025-03-10 12:39:36,863 - INFO - OPENED SHORT at 2064.1 | Stop loss: 2074.4204999999997 | Take profit: 2033.1384999999998 +2025-03-10 12:39:36,949 - INFO - CLOSED short at 2064.33 | PnL: -0.01% | $-0.33 +2025-03-10 12:39:37,036 - INFO - OPENED LONG at 2064.79 | Stop loss: 2054.46605 | Take profit: 2095.76185 +2025-03-10 12:39:37,329 - INFO - CLOSED long at 2060.7 | PnL: -0.20% | $-0.88 +2025-03-10 12:39:37,330 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.0035 | Take profit: 2029.7894999999999 +2025-03-10 12:39:37,373 - INFO - CLOSED short at 2061.09 | PnL: -0.02% | $-0.35 +2025-03-10 12:39:37,417 - INFO - OPENED LONG at 2059.61 | Stop loss: 2049.3119500000003 | Take profit: 2090.5041499999998 +2025-03-10 12:39:37,507 - INFO - CLOSED long at 2059.02 | PnL: -0.03% | $-0.37 +2025-03-10 12:39:37,646 - INFO - OPENED LONG at 2059.46 | Stop loss: 2049.1627 | Take profit: 2090.3518999999997 +2025-03-10 12:39:37,693 - INFO - CLOSED long at 2057.4 | PnL: -0.10% | $-0.58 +2025-03-10 12:39:37,783 - INFO - OPENED SHORT at 2056.28 | Stop loss: 2066.5614 | Take profit: 2025.4358000000002 +2025-03-10 12:39:37,827 - INFO - CLOSED short at 2055.6 | PnL: 0.03% | $-0.19 +2025-03-10 12:39:37,828 - INFO - OPENED LONG at 2055.6 | Stop loss: 2045.322 | Take profit: 2086.4339999999997 +2025-03-10 12:39:37,871 - INFO - CLOSED long at 2054.89 | PnL: -0.03% | $-0.38 +2025-03-10 12:39:37,916 - INFO - OPENED LONG at 2054.83 | Stop loss: 2044.55585 | Take profit: 2085.6524499999996 +2025-03-10 12:39:38,056 - INFO - CLOSED long at 2059.8 | PnL: 0.24% | $0.40 +2025-03-10 12:39:38,056 - INFO - OPENED SHORT at 2059.8 | Stop loss: 2070.099 | Take profit: 2028.9030000000002 +2025-03-10 12:39:38,103 - INFO - CLOSED short at 2061.66 | PnL: -0.09% | $-0.54 +2025-03-10 12:39:38,103 - INFO - OPENED LONG at 2061.66 | Stop loss: 2051.3516999999997 | Take profit: 2092.5849 +2025-03-10 12:39:38,150 - INFO - CLOSED long at 2061.5 | PnL: -0.01% | $-0.30 +2025-03-10 12:39:38,151 - INFO - OPENED SHORT at 2061.5 | Stop loss: 2071.8075 | Take profit: 2030.5774999999999 +2025-03-10 12:39:38,250 - INFO - CLOSED short at 2061.3 | PnL: 0.01% | $-0.25 +2025-03-10 12:39:38,334 - INFO - OPENED SHORT at 2063.4 | Stop loss: 2073.717 | Take profit: 2032.449 +2025-03-10 12:39:38,651 - INFO - CLOSED short at 2066.79 | PnL: -0.16% | $-0.74 +2025-03-10 12:39:38,652 - INFO - OPENED LONG at 2066.79 | Stop loss: 2056.45605 | Take profit: 2097.7918499999996 +2025-03-10 12:39:38,696 - INFO - CLOSED long at 2067.33 | PnL: 0.03% | $-0.21 +2025-03-10 12:39:38,743 - INFO - OPENED LONG at 2067.01 | Stop loss: 2056.67495 | Take profit: 2098.01515 +2025-03-10 12:39:38,788 - INFO - CLOSED long at 2065.69 | PnL: -0.06% | $-0.45 +2025-03-10 12:39:38,879 - INFO - OPENED SHORT at 2072.0 | Stop loss: 2082.3599999999997 | Take profit: 2040.92 +2025-03-10 12:39:38,924 - INFO - CLOSED short at 2074.3 | PnL: -0.11% | $-0.58 +2025-03-10 12:39:38,968 - INFO - OPENED LONG at 2078.01 | Stop loss: 2067.6199500000002 | Take profit: 2109.18015 +2025-03-10 12:39:39,057 - INFO - CLOSED long at 2072.6 | PnL: -0.26% | $-0.98 +2025-03-10 12:39:39,100 - INFO - OPENED LONG at 2071.04 | Stop loss: 2060.6848 | Take profit: 2102.1056 +2025-03-10 12:39:39,276 - INFO - CLOSED long at 2070.0 | PnL: -0.05% | $-0.40 +2025-03-10 12:39:39,276 - INFO - OPENED SHORT at 2070.0 | Stop loss: 2080.35 | Take profit: 2038.95 +2025-03-10 12:39:39,494 - INFO - CLOSED short at 2067.44 | PnL: 0.12% | $0.06 +2025-03-10 12:39:39,586 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6250499999996 | Take profit: 2104.0848499999997 +2025-03-10 12:39:39,674 - INFO - CLOSED long at 2069.87 | PnL: -0.15% | $-0.67 +2025-03-10 12:39:39,762 - INFO - OPENED SHORT at 2066.38 | Stop loss: 2076.7119 | Take profit: 2035.3843000000002 +2025-03-10 12:39:39,807 - INFO - CLOSED short at 2065.7 | PnL: 0.03% | $-0.18 +2025-03-10 12:39:39,807 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.3714999999997 | Take profit: 2096.6854999999996 +2025-03-10 12:39:39,853 - INFO - CLOSED long at 2065.66 | PnL: -0.00% | $-0.27 +2025-03-10 12:39:39,953 - INFO - OPENED SHORT at 2063.97 | Stop loss: 2074.2898499999997 | Take profit: 2033.0104499999998 +2025-03-10 12:39:39,999 - INFO - CLOSED short at 2064.5 | PnL: -0.03% | $-0.33 +2025-03-10 12:39:40,185 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.1725 | Take profit: 2096.4824999999996 +2025-03-10 12:39:40,274 - INFO - CLOSED long at 2065.29 | PnL: -0.01% | $-0.29 +2025-03-10 12:39:40,318 - INFO - OPENED SHORT at 2065.31 | Stop loss: 2075.6365499999997 | Take profit: 2034.33035 +2025-03-10 12:39:40,412 - INFO - CLOSED short at 2066.5 | PnL: -0.06% | $-0.41 +2025-03-10 12:39:40,457 - INFO - OPENED SHORT at 2068.59 | Stop loss: 2078.93295 | Take profit: 2037.5611500000002 +2025-03-10 12:39:40,679 - INFO - CLOSED short at 2069.69 | PnL: -0.05% | $-0.40 +2025-03-10 12:39:40,679 - INFO - OPENED LONG at 2069.69 | Stop loss: 2059.34155 | Take profit: 2100.73535 +2025-03-10 12:39:40,723 - INFO - CLOSED long at 2070.7 | PnL: 0.05% | $-0.13 +2025-03-10 12:39:40,809 - INFO - OPENED LONG at 2070.35 | Stop loss: 2059.99825 | Take profit: 2101.40525 +2025-03-10 12:39:40,854 - INFO - CLOSED long at 2070.61 | PnL: 0.01% | $-0.22 +2025-03-10 12:39:40,854 - INFO - OPENED SHORT at 2070.61 | Stop loss: 2080.96305 | Take profit: 2039.55085 +2025-03-10 12:39:40,902 - INFO - CLOSED short at 2071.99 | PnL: -0.07% | $-0.43 +2025-03-10 12:39:40,994 - INFO - OPENED LONG at 2068.67 | Stop loss: 2058.32665 | Take profit: 2099.70005 +2025-03-10 12:39:41,086 - INFO - CLOSED long at 2069.78 | PnL: 0.05% | $-0.12 +2025-03-10 12:39:41,179 - INFO - OPENED SHORT at 2074.37 | Stop loss: 2084.74185 | Take profit: 2043.25445 +2025-03-10 12:39:41,264 - INFO - CLOSED short at 2074.35 | PnL: 0.00% | $-0.25 +2025-03-10 12:39:41,400 - INFO - OPENED LONG at 2075.32 | Stop loss: 2064.9434 | Take profit: 2106.4498 +2025-03-10 12:39:41,583 - INFO - CLOSED long at 2074.0 | PnL: -0.06% | $-0.41 +2025-03-10 12:39:41,633 - INFO - OPENED SHORT at 2072.09 | Stop loss: 2082.45045 | Take profit: 2041.0086500000002 +2025-03-10 12:39:41,683 - INFO - CLOSED short at 2069.97 | PnL: 0.10% | $0.01 +2025-03-10 12:39:41,683 - INFO - OPENED LONG at 2069.97 | Stop loss: 2059.6201499999997 | Take profit: 2101.0195499999995 +2025-03-10 12:39:41,776 - INFO - CLOSED long at 2067.0 | PnL: -0.14% | $-0.61 +2025-03-10 12:39:41,962 - INFO - OPENED SHORT at 2067.88 | Stop loss: 2078.2194 | Take profit: 2036.8618000000001 +2025-03-10 12:39:42,130 - INFO - CLOSED short at 2070.19 | PnL: -0.11% | $-0.53 +2025-03-10 12:39:42,130 - INFO - OPENED LONG at 2070.19 | Stop loss: 2059.83905 | Take profit: 2101.2428499999996 +2025-03-10 12:39:42,224 - INFO - CLOSED long at 2067.19 | PnL: -0.14% | $-0.60 +2025-03-10 12:39:42,270 - INFO - OPENED SHORT at 2065.5 | Stop loss: 2075.8275 | Take profit: 2034.5175 +2025-03-10 12:39:42,437 - INFO - CLOSED short at 2066.09 | PnL: -0.03% | $-0.31 +2025-03-10 12:39:42,437 - INFO - OPENED LONG at 2066.09 | Stop loss: 2055.75955 | Take profit: 2097.08135 +2025-03-10 12:39:42,484 - INFO - CLOSED long at 2063.39 | PnL: -0.13% | $-0.56 +2025-03-10 12:39:42,485 - INFO - OPENED SHORT at 2063.39 | Stop loss: 2073.70695 | Take profit: 2032.43915 +2025-03-10 12:39:42,569 - INFO - CLOSED short at 2063.98 | PnL: -0.03% | $-0.31 +2025-03-10 12:39:42,569 - INFO - OPENED LONG at 2063.98 | Stop loss: 2053.6601 | Take profit: 2094.9397 +2025-03-10 12:39:42,654 - INFO - CLOSED long at 2065.06 | PnL: 0.05% | $-0.11 +2025-03-10 12:39:42,745 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.8224999999998 | Take profit: 2033.5325 +2025-03-10 12:39:42,789 - INFO - CLOSED short at 2066.33 | PnL: -0.09% | $-0.45 +2025-03-10 12:39:42,790 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.99835 | Take profit: 2097.3249499999997 +2025-03-10 12:39:42,878 - INFO - CLOSED long at 2060.7 | PnL: -0.27% | $-0.88 +2025-03-10 12:39:42,929 - INFO - OPENED SHORT at 2060.2 | Stop loss: 2070.5009999999997 | Take profit: 2029.2969999999998 +2025-03-10 12:39:43,023 - INFO - CLOSED short at 2058.09 | PnL: 0.10% | $0.01 +2025-03-10 12:39:43,070 - INFO - OPENED SHORT at 2058.65 | Stop loss: 2068.94325 | Take profit: 2027.77025 +2025-03-10 12:39:43,241 - INFO - CLOSED short at 2049.5 | PnL: 0.44% | $0.80 +2025-03-10 12:39:43,242 - INFO - OPENED LONG at 2049.5 | Stop loss: 2039.2525 | Take profit: 2080.2425 +2025-03-10 12:39:43,328 - INFO - CLOSED long at 2058.3 | PnL: 0.43% | $0.78 +2025-03-10 12:39:43,416 - INFO - OPENED SHORT at 2057.11 | Stop loss: 2067.3955499999997 | Take profit: 2026.2533500000002 +2025-03-10 12:39:43,543 - INFO - CLOSED short at 2063.9 | PnL: -0.33% | $-1.03 +2025-03-10 12:39:43,584 - INFO - OPENED LONG at 2065.1 | Stop loss: 2054.7745 | Take profit: 2096.0764999999997 +2025-03-10 12:39:43,707 - INFO - CLOSED long at 2065.12 | PnL: 0.00% | $-0.23 +2025-03-10 12:39:43,750 - INFO - OPENED LONG at 2068.33 | Stop loss: 2057.98835 | Take profit: 2099.35495 +2025-03-10 12:39:43,796 - INFO - CLOSED long at 2067.49 | PnL: -0.04% | $-0.33 +2025-03-10 12:39:43,796 - INFO - OPENED SHORT at 2067.49 | Stop loss: 2077.8274499999998 | Take profit: 2036.4776499999998 +2025-03-10 12:39:43,930 - INFO - CLOSED short at 2061.21 | PnL: 0.30% | $0.48 +2025-03-10 12:39:43,977 - INFO - OPENED SHORT at 2059.9 | Stop loss: 2070.1994999999997 | Take profit: 2029.0015 +2025-03-10 12:39:44,063 - INFO - CLOSED short at 2061.84 | PnL: -0.09% | $-0.46 +2025-03-10 12:39:44,105 - INFO - OPENED LONG at 2062.54 | Stop loss: 2052.2273 | Take profit: 2093.4781 +2025-03-10 12:39:44,193 - INFO - CLOSED long at 2070.31 | PnL: 0.38% | $0.65 +2025-03-10 12:39:44,284 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.9933 | Take profit: 2100.3801 +2025-03-10 12:39:44,460 - INFO - CLOSED long at 2074.05 | PnL: 0.23% | $0.30 +2025-03-10 12:39:44,461 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.42025 | Take profit: 2042.9392500000001 +2025-03-10 12:39:44,743 - INFO - CLOSED short at 2077.61 | PnL: -0.17% | $-0.64 +2025-03-10 12:39:44,744 - INFO - OPENED LONG at 2077.61 | Stop loss: 2067.22195 | Take profit: 2108.7741499999997 +2025-03-10 12:39:44,788 - INFO - CLOSED long at 2085.56 | PnL: 0.38% | $0.66 +2025-03-10 12:39:44,789 - INFO - OPENED SHORT at 2085.56 | Stop loss: 2095.9878 | Take profit: 2054.2766 +2025-03-10 12:39:44,878 - INFO - CLOSED short at 2103.02 | PnL: -0.84% | $-2.23 +2025-03-10 12:39:44,878 - INFO - OPENED LONG at 2103.02 | Stop loss: 2092.5049 | Take profit: 2134.5652999999998 +2025-03-10 12:39:44,977 - INFO - CLOSED long at 2139.54 | PnL: 1.74% | $3.74 +2025-03-10 12:39:44,977 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2376999999997 | Take profit: 2107.4469 +2025-03-10 12:39:45,068 - INFO - CLOSED short at 2133.95 | PnL: 0.26% | $0.39 +2025-03-10 12:39:45,115 - INFO - OPENED SHORT at 2137.59 | Stop loss: 2148.2779499999997 | Take profit: 2105.52615 +2025-03-10 12:39:45,159 - INFO - CLOSED short at 2141.41 | PnL: -0.18% | $-0.68 +2025-03-10 12:39:45,160 - INFO - OPENED LONG at 2141.41 | Stop loss: 2130.70295 | Take profit: 2173.53115 +2025-03-10 12:39:45,347 - INFO - CLOSED long at 2134.78 | PnL: -0.31% | $-0.99 +2025-03-10 12:39:45,395 - INFO - OPENED LONG at 2126.99 | Stop loss: 2116.3550499999997 | Take profit: 2158.8948499999997 +2025-03-10 12:39:45,443 - INFO - CLOSED long at 2127.3 | PnL: 0.01% | $-0.20 +2025-03-10 12:39:45,444 - INFO - OPENED SHORT at 2127.3 | Stop loss: 2137.9365 | Take profit: 2095.3905 +2025-03-10 12:39:45,489 - INFO - CLOSED short at 2128.69 | PnL: -0.07% | $-0.39 +2025-03-10 12:39:45,538 - INFO - OPENED LONG at 2121.09 | Stop loss: 2110.48455 | Take profit: 2152.9063499999997 +2025-03-10 12:39:45,587 - INFO - CLOSED long at 2120.15 | PnL: -0.04% | $-0.34 +2025-03-10 12:39:45,634 - INFO - OPENED LONG at 2117.24 | Stop loss: 2106.6537999999996 | Take profit: 2148.9985999999994 +2025-03-10 12:39:46,054 - INFO - CLOSED long at 2109.05 | PnL: -0.39% | $-1.14 +2025-03-10 12:39:46,054 - INFO - OPENED SHORT at 2109.05 | Stop loss: 2119.59525 | Take profit: 2077.4142500000003 +2025-03-10 12:39:46,101 - INFO - CLOSED short at 2112.09 | PnL: -0.14% | $-0.56 +2025-03-10 12:39:46,149 - INFO - OPENED LONG at 2112.95 | Stop loss: 2102.38525 | Take profit: 2144.64425 +2025-03-10 12:39:46,246 - INFO - CLOSED long at 2113.24 | PnL: 0.01% | $-0.20 +2025-03-10 12:39:46,246 - INFO - OPENED SHORT at 2113.24 | Stop loss: 2123.8061999999995 | Take profit: 2081.5413999999996 +2025-03-10 12:39:46,290 - INFO - CLOSED short at 2112.99 | PnL: 0.01% | $-0.20 +2025-03-10 12:39:46,391 - INFO - OPENED SHORT at 2116.48 | Stop loss: 2127.0624 | Take profit: 2084.7327999999998 +2025-03-10 12:39:46,435 - INFO - CLOSED short at 2114.8 | PnL: 0.08% | $-0.05 +2025-03-10 12:39:46,483 - INFO - OPENED SHORT at 2110.9 | Stop loss: 2121.4545 | Take profit: 2079.2365 +2025-03-10 12:39:46,712 - INFO - CLOSED short at 2100.5 | PnL: 0.49% | $0.89 +2025-03-10 12:39:46,712 - INFO - OPENED LONG at 2100.5 | Stop loss: 2089.9975 | Take profit: 2132.0074999999997 +2025-03-10 12:39:46,757 - INFO - CLOSED long at 2090.0 | PnL: -0.50% | $-1.38 +2025-03-10 12:39:46,802 - INFO - OPENED SHORT at 2099.53 | Stop loss: 2110.02765 | Take profit: 2068.0370500000004 +2025-03-10 12:39:46,849 - INFO - CLOSED short at 2098.1 | PnL: 0.07% | $-0.07 +2025-03-10 12:39:46,942 - INFO - OPENED LONG at 2102.29 | Stop loss: 2091.77855 | Take profit: 2133.82435 +2025-03-10 12:39:47,027 - INFO - CLOSED long at 2098.9 | PnL: -0.16% | $-0.58 +2025-03-10 12:39:47,068 - INFO - OPENED SHORT at 2100.69 | Stop loss: 2111.1934499999998 | Take profit: 2069.17965 +2025-03-10 12:39:47,112 - INFO - CLOSED short at 2104.83 | PnL: -0.20% | $-0.66 +2025-03-10 12:39:47,251 - INFO - OPENED LONG at 2103.86 | Stop loss: 2093.3407 | Take profit: 2135.4179 +2025-03-10 12:39:47,299 - INFO - CLOSED long at 2104.68 | PnL: 0.04% | $-0.13 +2025-03-10 12:39:47,300 - INFO - OPENED SHORT at 2104.68 | Stop loss: 2115.2033999999994 | Take profit: 2073.1097999999997 +2025-03-10 12:39:47,351 - INFO - CLOSED short at 2101.51 | PnL: 0.15% | $0.11 +2025-03-10 12:39:47,442 - INFO - OPENED SHORT at 2100.02 | Stop loss: 2110.5200999999997 | Take profit: 2068.5197 +2025-03-10 12:39:47,571 - INFO - CLOSED short at 2093.46 | PnL: 0.31% | $0.46 +2025-03-10 12:39:47,572 - INFO - OPENED LONG at 2093.46 | Stop loss: 2082.9927000000002 | Take profit: 2124.8619 +2025-03-10 12:39:47,663 - INFO - CLOSED long at 2092.46 | PnL: -0.05% | $-0.33 +2025-03-10 12:39:47,663 - INFO - OPENED SHORT at 2092.46 | Stop loss: 2102.9222999999997 | Take profit: 2061.0731 +2025-03-10 12:39:47,802 - INFO - CLOSED short at 2094.08 | PnL: -0.08% | $-0.39 +2025-03-10 12:39:47,803 - INFO - OPENED LONG at 2094.08 | Stop loss: 2083.6096 | Take profit: 2125.4912 +2025-03-10 12:39:47,894 - INFO - CLOSED long at 2083.28 | PnL: -0.52% | $-1.34 +2025-03-10 12:39:47,944 - INFO - OPENED LONG at 2088.44 | Stop loss: 2077.9978 | Take profit: 2119.7666 +2025-03-10 12:39:48,400 - INFO - CLOSED long at 2086.57 | PnL: -0.09% | $-0.40 +2025-03-10 12:39:48,448 - INFO - OPENED SHORT at 2085.8 | Stop loss: 2096.229 | Take profit: 2054.5130000000004 +2025-03-10 12:39:48,495 - INFO - CLOSED short at 2084.72 | PnL: 0.05% | $-0.10 +2025-03-10 12:39:48,714 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 20.0% in downtrends | Avg Win=$0.44, Avg Loss=$-0.49 +2025-03-10 12:39:48,715 - INFO - Episode 1: Reward=109.27, Balance=$52.58, Win Rate=17.9%, Trades=145, Episode PnL=$-33.00, Total PnL=$-91.95, Max Drawdown=47.4%, Pred Accuracy=99.7% +2025-03-10 12:39:48,851 - INFO - Model saved to models/trading_agent_best_reward.pt +2025-03-10 12:39:48,852 - INFO - New best reward model saved: 109.27 +2025-03-10 12:39:48,878 - INFO - Identified 26 optimal buy points and 27 optimal sell points +2025-03-10 12:39:49,166 - INFO - OPENED LONG at 2059.4 | Stop loss: 2049.103 | Take profit: 2090.2909999999997 +2025-03-10 12:39:49,292 - INFO - CLOSED long at 2059.4 | PnL: 0.00% | $-0.40 +2025-03-10 12:39:49,293 - INFO - OPENED SHORT at 2059.4 | Stop loss: 2069.6969999999997 | Take profit: 2028.509 +2025-03-10 12:39:49,384 - INFO - CLOSED short at 2060.51 | PnL: -0.05% | $-0.61 +2025-03-10 12:39:49,385 - INFO - OPENED LONG at 2060.51 | Stop loss: 2050.2074500000003 | Take profit: 2091.41765 +2025-03-10 12:39:49,516 - INFO - CLOSED long at 2057.59 | PnL: -0.14% | $-0.96 +2025-03-10 12:39:49,517 - INFO - OPENED SHORT at 2057.59 | Stop loss: 2067.87795 | Take profit: 2026.7261500000002 +2025-03-10 12:39:49,563 - INFO - CLOSED short at 2057.9 | PnL: -0.02% | $-0.45 +2025-03-10 12:39:49,701 - INFO - OPENED LONG at 2055.2 | Stop loss: 2044.9239999999998 | Take profit: 2086.028 +2025-03-10 12:39:49,751 - INFO - CLOSED long at 2058.59 | PnL: 0.16% | $0.25 +2025-03-10 12:39:49,899 - INFO - OPENED SHORT at 2053.56 | Stop loss: 2063.8277999999996 | Take profit: 2022.7566 +2025-03-10 12:39:50,055 - INFO - CLOSED short at 2052.16 | PnL: 0.07% | $-0.12 +2025-03-10 12:39:50,336 - INFO - OPENED LONG at 2049.49 | Stop loss: 2039.2425499999997 | Take profit: 2080.2323499999998 +2025-03-10 12:39:50,390 - INFO - CLOSED long at 2050.2 | PnL: 0.03% | $-0.26 +2025-03-10 12:39:50,438 - INFO - OPENED SHORT at 2049.6 | Stop loss: 2059.8479999999995 | Take profit: 2018.856 +2025-03-10 12:39:50,488 - INFO - CLOSED short at 2051.99 | PnL: -0.12% | $-0.84 +2025-03-10 12:39:50,488 - INFO - OPENED LONG at 2051.99 | Stop loss: 2041.7300499999997 | Take profit: 2082.7698499999997 +2025-03-10 12:39:50,539 - INFO - CLOSED long at 2049.61 | PnL: -0.12% | $-0.83 +2025-03-10 12:39:50,589 - INFO - OPENED LONG at 2049.24 | Stop loss: 2038.9937999999997 | Take profit: 2079.9785999999995 +2025-03-10 12:39:50,747 - INFO - CLOSED long at 2046.58 | PnL: -0.13% | $-0.88 +2025-03-10 12:39:50,748 - INFO - OPENED SHORT at 2046.58 | Stop loss: 2056.8129 | Take profit: 2015.8813 +2025-03-10 12:39:51,044 - INFO - CLOSED short at 2048.13 | PnL: -0.08% | $-0.67 +2025-03-10 12:39:51,091 - INFO - OPENED LONG at 2047.59 | Stop loss: 2037.35205 | Take profit: 2078.30385 +2025-03-10 12:39:51,234 - INFO - CLOSED long at 2050.24 | PnL: 0.13% | $0.11 +2025-03-10 12:39:51,328 - INFO - OPENED SHORT at 2051.11 | Stop loss: 2061.36555 | Take profit: 2020.34335 +2025-03-10 12:39:51,576 - INFO - CLOSED short at 2057.01 | PnL: -0.29% | $-1.46 +2025-03-10 12:39:51,577 - INFO - OPENED LONG at 2057.01 | Stop loss: 2046.7249500000003 | Take profit: 2087.86515 +2025-03-10 12:39:51,674 - INFO - CLOSED long at 2058.39 | PnL: 0.07% | $-0.12 +2025-03-10 12:39:51,724 - INFO - OPENED LONG at 2060.13 | Stop loss: 2049.82935 | Take profit: 2091.03195 +2025-03-10 12:39:51,772 - INFO - CLOSED long at 2059.7 | PnL: -0.02% | $-0.45 +2025-03-10 12:39:52,083 - INFO - OPENED SHORT at 2064.69 | Stop loss: 2075.01345 | Take profit: 2033.71965 +2025-03-10 12:39:52,231 - INFO - CLOSED short at 2058.3 | PnL: 0.31% | $0.77 +2025-03-10 12:39:52,232 - INFO - OPENED LONG at 2058.3 | Stop loss: 2048.0085000000004 | Take profit: 2089.1745 +2025-03-10 12:39:52,551 - INFO - CLOSED long at 2057.8 | PnL: -0.02% | $-0.46 +2025-03-10 12:39:52,799 - INFO - OPENED LONG at 2061.18 | Stop loss: 2050.8741 | Take profit: 2092.0977 +2025-03-10 12:39:53,173 - INFO - CLOSED long at 2071.63 | PnL: 0.51% | $1.51 +2025-03-10 12:39:53,174 - INFO - OPENED SHORT at 2071.63 | Stop loss: 2081.9881499999997 | Take profit: 2040.55555 +2025-03-10 12:39:53,227 - INFO - CLOSED short at 2070.99 | PnL: 0.03% | $-0.26 +2025-03-10 12:39:53,277 - INFO - OPENED SHORT at 2069.6 | Stop loss: 2079.948 | Take profit: 2038.5559999999998 +2025-03-10 12:39:53,326 - INFO - CLOSED short at 2068.65 | PnL: 0.05% | $-0.20 +2025-03-10 12:39:53,326 - INFO - OPENED LONG at 2068.65 | Stop loss: 2058.30675 | Take profit: 2099.67975 +2025-03-10 12:39:53,383 - INFO - CLOSED long at 2068.99 | PnL: 0.02% | $-0.31 +2025-03-10 12:39:53,384 - INFO - OPENED SHORT at 2068.99 | Stop loss: 2079.3349499999995 | Take profit: 2037.9551499999998 +2025-03-10 12:39:53,484 - INFO - CLOSED short at 2067.69 | PnL: 0.06% | $-0.14 +2025-03-10 12:39:53,580 - INFO - OPENED LONG at 2071.44 | Stop loss: 2061.0828 | Take profit: 2102.5116 +2025-03-10 12:39:53,630 - INFO - CLOSED long at 2073.73 | PnL: 0.11% | $0.04 +2025-03-10 12:39:53,724 - INFO - OPENED SHORT at 2072.91 | Stop loss: 2083.2745499999996 | Take profit: 2041.8163499999998 +2025-03-10 12:39:53,773 - INFO - CLOSED short at 2072.33 | PnL: 0.03% | $-0.27 +2025-03-10 12:39:53,774 - INFO - OPENED LONG at 2072.33 | Stop loss: 2061.96835 | Take profit: 2103.41495 +2025-03-10 12:39:54,058 - INFO - CLOSED long at 2070.79 | PnL: -0.07% | $-0.65 +2025-03-10 12:39:54,120 - INFO - OPENED SHORT at 2070.28 | Stop loss: 2080.6313999999998 | Take profit: 2039.2258000000002 +2025-03-10 12:39:54,179 - INFO - CLOSED short at 2068.02 | PnL: 0.11% | $0.03 +2025-03-10 12:39:54,180 - INFO - OPENED LONG at 2068.02 | Stop loss: 2057.6799 | Take profit: 2099.0402999999997 +2025-03-10 12:39:54,293 - INFO - CLOSED long at 2070.36 | PnL: 0.11% | $0.05 +2025-03-10 12:39:54,347 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.2445 | Take profit: 2037.8665 +2025-03-10 12:39:54,464 - INFO - CLOSED short at 2069.34 | PnL: -0.02% | $-0.45 +2025-03-10 12:39:54,572 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.456 | Take profit: 2099.832 +2025-03-10 12:39:54,632 - INFO - CLOSED long at 2067.6 | PnL: -0.06% | $-0.58 +2025-03-10 12:39:54,779 - INFO - OPENED SHORT at 2066.39 | Stop loss: 2076.7219499999997 | Take profit: 2035.3941499999999 +2025-03-10 12:39:54,966 - INFO - CLOSED short at 2065.08 | PnL: 0.06% | $-0.13 +2025-03-10 12:39:54,966 - INFO - OPENED LONG at 2065.08 | Stop loss: 2054.7545999999998 | Take profit: 2096.0561999999995 +2025-03-10 12:39:55,017 - INFO - CLOSED long at 2066.18 | PnL: 0.05% | $-0.17 +2025-03-10 12:39:55,017 - INFO - OPENED SHORT at 2066.18 | Stop loss: 2076.5108999999998 | Take profit: 2035.1872999999998 +2025-03-10 12:39:55,066 - INFO - CLOSED short at 2068.76 | PnL: -0.12% | $-0.82 +2025-03-10 12:39:55,067 - INFO - OPENED LONG at 2068.76 | Stop loss: 2058.4162 | Take profit: 2099.7914 +2025-03-10 12:39:55,204 - INFO - CLOSED long at 2068.59 | PnL: -0.01% | $-0.39 +2025-03-10 12:39:55,340 - INFO - OPENED SHORT at 2069.96 | Stop loss: 2080.3098 | Take profit: 2038.9106 +2025-03-10 12:39:55,386 - INFO - CLOSED short at 2071.4 | PnL: -0.07% | $-0.61 +2025-03-10 12:39:55,387 - INFO - OPENED LONG at 2071.4 | Stop loss: 2061.043 | Take profit: 2102.471 +2025-03-10 12:39:55,432 - INFO - CLOSED long at 2071.39 | PnL: -0.00% | $-0.36 +2025-03-10 12:39:55,433 - INFO - OPENED SHORT at 2071.39 | Stop loss: 2081.7469499999997 | Take profit: 2040.3191499999998 +2025-03-10 12:39:55,604 - INFO - CLOSED short at 2072.7 | PnL: -0.06% | $-0.58 +2025-03-10 12:39:55,604 - INFO - OPENED LONG at 2072.7 | Stop loss: 2062.3365 | Take profit: 2103.7904999999996 +2025-03-10 12:39:55,697 - INFO - CLOSED long at 2074.29 | PnL: 0.08% | $-0.08 +2025-03-10 12:39:55,698 - INFO - OPENED SHORT at 2074.29 | Stop loss: 2084.6614499999996 | Take profit: 2043.17565 +2025-03-10 12:39:55,916 - INFO - CLOSED short at 2069.46 | PnL: 0.23% | $0.47 +2025-03-10 12:39:55,917 - INFO - OPENED LONG at 2069.46 | Stop loss: 2059.1127 | Take profit: 2100.5018999999998 +2025-03-10 12:39:56,141 - INFO - CLOSED long at 2067.46 | PnL: -0.10% | $-0.70 +2025-03-10 12:39:56,142 - INFO - OPENED SHORT at 2067.46 | Stop loss: 2077.7972999999997 | Take profit: 2036.4481 +2025-03-10 12:39:56,348 - INFO - CLOSED short at 2067.89 | PnL: -0.02% | $-0.43 +2025-03-10 12:39:56,350 - INFO - OPENED LONG at 2067.89 | Stop loss: 2057.55055 | Take profit: 2098.9083499999997 +2025-03-10 12:39:56,444 - INFO - CLOSED long at 2068.8 | PnL: 0.04% | $-0.20 +2025-03-10 12:39:56,444 - INFO - OPENED SHORT at 2068.8 | Stop loss: 2079.144 | Take profit: 2037.7680000000003 +2025-03-10 12:39:57,001 - INFO - CLOSED short at 2067.84 | PnL: 0.05% | $-0.19 +2025-03-10 12:39:57,002 - INFO - OPENED LONG at 2067.84 | Stop loss: 2057.5008000000003 | Take profit: 2098.8576 +2025-03-10 12:39:57,047 - INFO - CLOSED long at 2067.11 | PnL: -0.04% | $-0.47 +2025-03-10 12:39:57,048 - INFO - OPENED SHORT at 2067.11 | Stop loss: 2077.44555 | Take profit: 2036.10335 +2025-03-10 12:39:57,137 - INFO - CLOSED short at 2066.4 | PnL: 0.03% | $-0.23 +2025-03-10 12:39:57,182 - INFO - OPENED SHORT at 2066.1 | Stop loss: 2076.4304999999995 | Take profit: 2035.1084999999998 +2025-03-10 12:39:57,271 - INFO - CLOSED short at 2066.39 | PnL: -0.01% | $-0.39 +2025-03-10 12:39:57,271 - INFO - OPENED LONG at 2066.39 | Stop loss: 2056.0580499999996 | Take profit: 2097.3858499999997 +2025-03-10 12:39:57,364 - INFO - CLOSED long at 2070.04 | PnL: 0.18% | $0.26 +2025-03-10 12:39:57,365 - INFO - OPENED SHORT at 2070.04 | Stop loss: 2080.3902 | Take profit: 2038.9894 +2025-03-10 12:39:57,549 - INFO - CLOSED short at 2067.88 | PnL: 0.10% | $0.02 +2025-03-10 12:39:57,598 - INFO - OPENED SHORT at 2064.99 | Stop loss: 2075.3149499999995 | Take profit: 2034.0151499999997 +2025-03-10 12:39:57,644 - INFO - CLOSED short at 2065.83 | PnL: -0.04% | $-0.49 +2025-03-10 12:39:57,737 - INFO - OPENED LONG at 2065.26 | Stop loss: 2054.9337 | Take profit: 2096.2389 +2025-03-10 12:39:57,828 - INFO - CLOSED long at 2062.65 | PnL: -0.13% | $-0.78 +2025-03-10 12:39:57,828 - INFO - OPENED SHORT at 2062.65 | Stop loss: 2072.96325 | Take profit: 2031.71025 +2025-03-10 12:39:57,878 - INFO - CLOSED short at 2061.78 | PnL: 0.04% | $-0.20 +2025-03-10 12:39:57,981 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.6065 | Take profit: 2030.3805000000002 +2025-03-10 12:39:58,076 - INFO - CLOSED short at 2064.96 | PnL: -0.18% | $-0.94 +2025-03-10 12:39:58,077 - INFO - OPENED LONG at 2064.96 | Stop loss: 2054.6352 | Take profit: 2095.9343999999996 +2025-03-10 12:39:58,386 - INFO - CLOSED long at 2064.08 | PnL: -0.04% | $-0.48 +2025-03-10 12:39:58,386 - INFO - OPENED SHORT at 2064.08 | Stop loss: 2074.4003999999995 | Take profit: 2033.1188 +2025-03-10 12:39:58,537 - INFO - CLOSED short at 2064.5 | PnL: -0.02% | $-0.40 +2025-03-10 12:39:58,824 - INFO - OPENED SHORT at 2059.3 | Stop loss: 2069.5965 | Take profit: 2028.4105000000002 +2025-03-10 12:39:59,020 - INFO - CLOSED short at 2062.61 | PnL: -0.16% | $-0.87 +2025-03-10 12:39:59,117 - INFO - OPENED LONG at 2060.3 | Stop loss: 2049.9985 | Take profit: 2091.2045 +2025-03-10 12:39:59,208 - INFO - CLOSED long at 2061.9 | PnL: 0.08% | $-0.07 +2025-03-10 12:39:59,253 - INFO - OPENED SHORT at 2064.1 | Stop loss: 2074.4204999999997 | Take profit: 2033.1384999999998 +2025-03-10 12:39:59,393 - INFO - CLOSED short at 2063.39 | PnL: 0.03% | $-0.22 +2025-03-10 12:39:59,393 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.07305 | Take profit: 2094.3408499999996 +2025-03-10 12:39:59,438 - INFO - CLOSED long at 2064.79 | PnL: 0.07% | $-0.11 +2025-03-10 12:39:59,526 - INFO - OPENED SHORT at 2063.53 | Stop loss: 2073.84765 | Take profit: 2032.57705 +2025-03-10 12:39:59,570 - INFO - CLOSED short at 2063.0 | PnL: 0.03% | $-0.24 +2025-03-10 12:39:59,661 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.5805499999997 | Take profit: 2092.8183499999996 +2025-03-10 12:39:59,800 - INFO - CLOSED long at 2061.09 | PnL: -0.04% | $-0.45 +2025-03-10 12:39:59,844 - INFO - OPENED LONG at 2059.61 | Stop loss: 2049.3119500000003 | Take profit: 2090.5041499999998 +2025-03-10 12:39:59,891 - INFO - CLOSED long at 2059.16 | PnL: -0.02% | $-0.40 +2025-03-10 12:39:59,891 - INFO - OPENED SHORT at 2059.16 | Stop loss: 2069.4557999999997 | Take profit: 2028.2725999999998 +2025-03-10 12:39:59,935 - INFO - CLOSED short at 2059.02 | PnL: 0.01% | $-0.30 +2025-03-10 12:39:59,986 - INFO - OPENED LONG at 2058.89 | Stop loss: 2048.59555 | Take profit: 2089.7733499999995 +2025-03-10 12:40:00,034 - INFO - CLOSED long at 2059.96 | PnL: 0.05% | $-0.15 +2025-03-10 12:40:00,035 - INFO - OPENED SHORT at 2059.96 | Stop loss: 2070.2598 | Take profit: 2029.0606 +2025-03-10 12:40:00,446 - INFO - CLOSED short at 2058.15 | PnL: 0.09% | $-0.04 +2025-03-10 12:40:00,535 - INFO - OPENED SHORT at 2061.66 | Stop loss: 2071.9682999999995 | Take profit: 2030.7350999999999 +2025-03-10 12:40:00,579 - INFO - CLOSED short at 2061.5 | PnL: 0.01% | $-0.30 +2025-03-10 12:40:00,580 - INFO - OPENED LONG at 2061.5 | Stop loss: 2051.1925 | Take profit: 2092.4224999999997 +2025-03-10 12:40:00,665 - INFO - CLOSED long at 2061.3 | PnL: -0.01% | $-0.35 +2025-03-10 12:40:00,752 - INFO - OPENED LONG at 2063.4 | Stop loss: 2053.083 | Take profit: 2094.351 +2025-03-10 12:40:00,970 - INFO - CLOSED long at 2066.33 | PnL: 0.14% | $0.13 +2025-03-10 12:40:01,059 - INFO - OPENED SHORT at 2066.79 | Stop loss: 2077.1239499999997 | Take profit: 2035.7881499999999 +2025-03-10 12:40:01,230 - INFO - CLOSED short at 2069.79 | PnL: -0.15% | $-0.78 +2025-03-10 12:40:01,231 - INFO - OPENED LONG at 2069.79 | Stop loss: 2059.44105 | Take profit: 2100.8368499999997 +2025-03-10 12:40:01,319 - INFO - CLOSED long at 2074.3 | PnL: 0.22% | $0.37 +2025-03-10 12:40:01,366 - INFO - OPENED LONG at 2078.01 | Stop loss: 2067.6199500000002 | Take profit: 2109.18015 +2025-03-10 12:40:01,497 - INFO - CLOSED long at 2071.04 | PnL: -0.34% | $-1.38 +2025-03-10 12:40:01,498 - INFO - OPENED SHORT at 2071.04 | Stop loss: 2081.3952 | Take profit: 2039.9743999999998 +2025-03-10 12:40:01,800 - INFO - CLOSED short at 2069.69 | PnL: 0.07% | $-0.11 +2025-03-10 12:40:01,800 - INFO - OPENED LONG at 2069.69 | Stop loss: 2059.34155 | Take profit: 2100.73535 +2025-03-10 12:40:01,844 - INFO - CLOSED long at 2069.03 | PnL: -0.03% | $-0.41 +2025-03-10 12:40:01,889 - INFO - OPENED SHORT at 2067.44 | Stop loss: 2077.7772 | Take profit: 2036.4284 +2025-03-10 12:40:01,932 - INFO - CLOSED short at 2068.79 | PnL: -0.07% | $-0.51 +2025-03-10 12:40:01,978 - INFO - OPENED SHORT at 2072.99 | Stop loss: 2083.3549499999995 | Take profit: 2041.8951499999998 +2025-03-10 12:40:02,064 - INFO - CLOSED short at 2069.87 | PnL: 0.15% | $0.16 +2025-03-10 12:40:02,210 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.3714999999997 | Take profit: 2096.6854999999996 +2025-03-10 12:40:02,306 - INFO - CLOSED long at 2063.95 | PnL: -0.08% | $-0.57 +2025-03-10 12:40:02,306 - INFO - OPENED SHORT at 2063.95 | Stop loss: 2074.2697499999995 | Take profit: 2032.9907499999997 +2025-03-10 12:40:02,352 - INFO - CLOSED short at 2063.97 | PnL: -0.00% | $-0.31 +2025-03-10 12:40:02,352 - INFO - OPENED LONG at 2063.97 | Stop loss: 2053.65015 | Take profit: 2094.9295499999994 +2025-03-10 12:40:02,499 - INFO - CLOSED long at 2064.4 | PnL: 0.02% | $-0.24 +2025-03-10 12:40:02,726 - INFO - OPENED LONG at 2065.29 | Stop loss: 2054.96355 | Take profit: 2096.2693499999996 +2025-03-10 12:40:03,064 - INFO - CLOSED long at 2070.2 | PnL: 0.24% | $0.42 +2025-03-10 12:40:03,121 - INFO - OPENED SHORT at 2071.35 | Stop loss: 2081.70675 | Take profit: 2040.27975 +2025-03-10 12:40:03,333 - INFO - CLOSED short at 2070.8 | PnL: 0.03% | $-0.22 +2025-03-10 12:40:03,494 - INFO - OPENED LONG at 2071.99 | Stop loss: 2061.6300499999998 | Take profit: 2103.0698499999994 +2025-03-10 12:40:03,798 - INFO - CLOSED long at 2074.37 | PnL: 0.11% | $0.05 +2025-03-10 12:40:03,799 - INFO - OPENED SHORT at 2074.37 | Stop loss: 2084.74185 | Take profit: 2043.25445 +2025-03-10 12:40:03,949 - INFO - CLOSED short at 2073.27 | PnL: 0.05% | $-0.14 +2025-03-10 12:40:04,001 - INFO - OPENED SHORT at 2073.99 | Stop loss: 2084.3599499999996 | Take profit: 2042.8801499999997 +2025-03-10 12:40:04,094 - INFO - CLOSED short at 2075.29 | PnL: -0.06% | $-0.49 +2025-03-10 12:40:04,189 - INFO - OPENED SHORT at 2075.61 | Stop loss: 2085.98805 | Take profit: 2044.47585 +2025-03-10 12:40:04,277 - INFO - CLOSED short at 2072.09 | PnL: 0.17% | $0.21 +2025-03-10 12:40:04,278 - INFO - OPENED LONG at 2072.09 | Stop loss: 2061.72955 | Take profit: 2103.17135 +2025-03-10 12:40:04,378 - INFO - CLOSED long at 2067.7 | PnL: -0.21% | $-0.95 +2025-03-10 12:40:04,519 - INFO - OPENED SHORT at 2066.4 | Stop loss: 2076.732 | Take profit: 2035.404 +2025-03-10 12:40:04,773 - INFO - CLOSED short at 2069.0 | PnL: -0.13% | $-0.68 +2025-03-10 12:40:04,773 - INFO - OPENED LONG at 2069.0 | Stop loss: 2058.655 | Take profit: 2100.035 +2025-03-10 12:40:04,908 - INFO - CLOSED long at 2067.19 | PnL: -0.09% | $-0.56 +2025-03-10 12:40:04,908 - INFO - OPENED SHORT at 2067.19 | Stop loss: 2077.5259499999997 | Take profit: 2036.18215 +2025-03-10 12:40:04,951 - INFO - CLOSED short at 2065.5 | PnL: 0.08% | $-0.05 +2025-03-10 12:40:04,951 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.1725 | Take profit: 2096.4824999999996 +2025-03-10 12:40:05,091 - INFO - CLOSED long at 2065.07 | PnL: -0.02% | $-0.36 +2025-03-10 12:40:05,092 - INFO - OPENED SHORT at 2065.07 | Stop loss: 2075.39535 | Take profit: 2034.0939500000002 +2025-03-10 12:40:05,136 - INFO - CLOSED short at 2066.09 | PnL: -0.05% | $-0.44 +2025-03-10 12:40:05,225 - INFO - OPENED SHORT at 2062.34 | Stop loss: 2072.6517 | Take profit: 2031.4049000000002 +2025-03-10 12:40:05,462 - INFO - CLOSED short at 2064.5 | PnL: -0.10% | $-0.60 +2025-03-10 12:40:05,695 - INFO - OPENED LONG at 2059.2 | Stop loss: 2048.904 | Take profit: 2090.0879999999997 +2025-03-10 12:40:05,832 - INFO - CLOSED long at 2056.77 | PnL: -0.12% | $-0.63 +2025-03-10 12:40:05,967 - INFO - OPENED SHORT at 2049.5 | Stop loss: 2059.7475 | Take profit: 2018.7575 +2025-03-10 12:40:06,063 - INFO - CLOSED short at 2058.3 | PnL: -0.43% | $-1.51 +2025-03-10 12:40:06,316 - INFO - OPENED SHORT at 2063.9 | Stop loss: 2074.2194999999997 | Take profit: 2032.9415000000001 +2025-03-10 12:40:06,407 - INFO - CLOSED short at 2062.43 | PnL: 0.07% | $-0.08 +2025-03-10 12:40:06,455 - INFO - OPENED SHORT at 2062.55 | Stop loss: 2072.86275 | Take profit: 2031.6117500000003 +2025-03-10 12:40:06,502 - INFO - CLOSED short at 2065.12 | PnL: -0.12% | $-0.63 +2025-03-10 12:40:06,502 - INFO - OPENED LONG at 2065.12 | Stop loss: 2054.7943999999998 | Take profit: 2096.0968 +2025-03-10 12:40:06,551 - INFO - CLOSED long at 2068.33 | PnL: 0.16% | $0.15 +2025-03-10 12:40:06,551 - INFO - OPENED SHORT at 2068.33 | Stop loss: 2078.6716499999998 | Take profit: 2037.30505 +2025-03-10 12:40:06,601 - INFO - CLOSED short at 2067.49 | PnL: 0.04% | $-0.16 +2025-03-10 12:40:06,602 - INFO - OPENED LONG at 2067.49 | Stop loss: 2057.15255 | Take profit: 2098.5023499999998 +2025-03-10 12:40:06,757 - INFO - CLOSED long at 2061.21 | PnL: -0.30% | $-1.12 +2025-03-10 12:40:06,805 - INFO - OPENED LONG at 2059.9 | Stop loss: 2049.6005 | Take profit: 2090.7985 +2025-03-10 12:40:06,854 - INFO - CLOSED long at 2060.7 | PnL: 0.04% | $-0.17 +2025-03-10 12:40:07,000 - INFO - OPENED LONG at 2065.72 | Stop loss: 2055.3914 | Take profit: 2096.7057999999997 +2025-03-10 12:40:07,095 - INFO - CLOSED long at 2070.24 | PnL: 0.22% | $0.32 +2025-03-10 12:40:07,238 - INFO - OPENED SHORT at 2070.41 | Stop loss: 2080.76205 | Take profit: 2039.3538499999997 +2025-03-10 12:40:07,288 - INFO - CLOSED short at 2073.49 | PnL: -0.15% | $-0.68 +2025-03-10 12:40:07,338 - INFO - OPENED LONG at 2074.05 | Stop loss: 2063.6797500000002 | Take profit: 2105.16075 +2025-03-10 12:40:07,564 - INFO - CLOSED long at 2076.08 | PnL: 0.10% | $-0.01 +2025-03-10 12:40:07,607 - INFO - OPENED SHORT at 2077.61 | Stop loss: 2087.9980499999997 | Take profit: 2046.44585 +2025-03-10 12:40:07,700 - INFO - CLOSED short at 2090.49 | PnL: -0.62% | $-1.95 +2025-03-10 12:40:07,974 - INFO - OPENED LONG at 2137.59 | Stop loss: 2126.90205 | Take profit: 2169.65385 +2025-03-10 12:40:08,062 - INFO - CLOSED long at 2141.3 | PnL: 0.17% | $0.19 +2025-03-10 12:40:08,063 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.0065 | Take profit: 2109.1805 +2025-03-10 12:40:08,152 - INFO - CLOSED short at 2140.01 | PnL: 0.06% | $-0.10 +2025-03-10 12:40:08,153 - INFO - OPENED LONG at 2140.01 | Stop loss: 2129.3099500000003 | Take profit: 2172.11015 +2025-03-10 12:40:08,240 - INFO - STOP LOSS hit for long at 2129.3099500000003 | PnL: -0.50% | $-1.58 +2025-03-10 12:40:08,480 - INFO - OPENED LONG at 2117.24 | Stop loss: 2106.6537999999996 | Take profit: 2148.9985999999994 +2025-03-10 12:40:08,647 - INFO - CLOSED long at 2119.14 | PnL: 0.09% | $-0.03 +2025-03-10 12:40:08,786 - INFO - OPENED LONG at 2107.43 | Stop loss: 2096.8928499999997 | Take profit: 2139.0414499999997 +2025-03-10 12:40:08,829 - INFO - CLOSED long at 2110.6 | PnL: 0.15% | $0.13 +2025-03-10 12:40:08,830 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.153 | Take profit: 2078.941 +2025-03-10 12:40:08,871 - INFO - CLOSED short at 2109.05 | PnL: 0.07% | $-0.07 +2025-03-10 12:40:08,964 - INFO - OPENED LONG at 2112.95 | Stop loss: 2102.38525 | Take profit: 2144.64425 +2025-03-10 12:40:09,225 - INFO - CLOSED long at 2114.8 | PnL: 0.09% | $-0.03 +2025-03-10 12:40:09,365 - INFO - OPENED LONG at 2106.49 | Stop loss: 2095.9575499999996 | Take profit: 2138.08735 +2025-03-10 12:40:09,454 - INFO - CLOSED long at 2103.33 | PnL: -0.15% | $-0.64 +2025-03-10 12:40:09,454 - INFO - OPENED SHORT at 2103.33 | Stop loss: 2113.8466499999995 | Take profit: 2071.78005 +2025-03-10 12:40:09,503 - INFO - CLOSED short at 2100.5 | PnL: 0.13% | $0.09 +2025-03-10 12:40:09,602 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0323500000004 | Take profit: 2131.02295 +2025-03-10 12:40:09,694 - INFO - CLOSED long at 2102.19 | PnL: 0.13% | $0.07 +2025-03-10 12:40:09,785 - INFO - OPENED SHORT at 2099.25 | Stop loss: 2109.7462499999997 | Take profit: 2067.76125 +2025-03-10 12:40:09,828 - INFO - CLOSED short at 2098.9 | PnL: 0.02% | $-0.21 +2025-03-10 12:40:09,829 - INFO - OPENED LONG at 2098.9 | Stop loss: 2088.4055000000003 | Take profit: 2130.3835 +2025-03-10 12:40:09,873 - INFO - CLOSED long at 2100.69 | PnL: 0.09% | $-0.04 +2025-03-10 12:40:09,957 - INFO - OPENED SHORT at 2106.39 | Stop loss: 2116.9219499999995 | Take profit: 2074.7941499999997 +2025-03-10 12:40:10,004 - INFO - CLOSED short at 2100.74 | PnL: 0.27% | $0.43 +2025-03-10 12:40:10,004 - INFO - OPENED LONG at 2100.74 | Stop loss: 2090.2362999999996 | Take profit: 2132.2510999999995 +2025-03-10 12:40:10,200 - INFO - CLOSED long at 2099.59 | PnL: -0.05% | $-0.40 +2025-03-10 12:40:10,615 - INFO - OPENED LONG at 2094.08 | Stop loss: 2083.6096 | Take profit: 2125.4912 +2025-03-10 12:40:10,705 - INFO - CLOSED long at 2083.28 | PnL: -0.52% | $-1.56 +2025-03-10 12:40:10,706 - INFO - OPENED SHORT at 2083.28 | Stop loss: 2093.6964 | Take profit: 2052.0308 +2025-03-10 12:40:10,937 - INFO - CLOSED short at 2081.49 | PnL: 0.09% | $-0.03 +2025-03-10 12:40:11,143 - INFO - OPENED SHORT at 2085.09 | Stop loss: 2095.51545 | Take profit: 2053.81365 +2025-03-10 12:40:11,190 - INFO - CLOSED short at 2083.59 | PnL: 0.07% | $-0.07 +2025-03-10 12:40:11,190 - INFO - OPENED LONG at 2083.59 | Stop loss: 2073.17205 | Take profit: 2114.8438499999997 +2025-03-10 12:40:11,461 - INFO - CLOSED long at 2085.85 | PnL: 0.11% | $0.02 +2025-03-10 12:40:11,614 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 16.1% in downtrends | Avg Win=$0.26, Avg Loss=$-0.47 +2025-03-10 12:40:11,616 - INFO - Episode 2: Reward=-96.61, Balance=$61.85, Win Rate=20.2%, Trades=119, Episode PnL=$-19.85, Total PnL=$-130.10, Max Drawdown=38.2%, Pred Accuracy=99.2% +2025-03-10 12:40:11,783 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 12:40:11,783 - INFO - New best PnL model saved: $-19.85 +2025-03-10 12:40:11,817 - INFO - Identified 26 optimal buy points and 27 optimal sell points +2025-03-10 12:40:12,205 - INFO - OPENED LONG at 2057.59 | Stop loss: 2047.3020500000002 | Take profit: 2088.45385 +2025-03-10 12:40:12,397 - INFO - CLOSED long at 2060.51 | PnL: 0.14% | $0.17 +2025-03-10 12:40:12,397 - INFO - OPENED SHORT at 2060.51 | Stop loss: 2070.81255 | Take profit: 2029.6023500000001 +2025-03-10 12:40:12,675 - INFO - CLOSED short at 2058.51 | PnL: 0.10% | $-0.01 +2025-03-10 12:40:12,675 - INFO - OPENED LONG at 2058.51 | Stop loss: 2048.21745 | Take profit: 2089.38765 +2025-03-10 12:40:12,769 - INFO - CLOSED long at 2058.59 | PnL: 0.00% | $-0.39 +2025-03-10 12:40:12,881 - INFO - OPENED LONG at 2055.39 | Stop loss: 2045.11305 | Take profit: 2086.2208499999997 +2025-03-10 12:40:12,941 - INFO - CLOSED long at 2053.56 | PnL: -0.09% | $-0.75 +2025-03-10 12:40:13,068 - INFO - OPENED LONG at 2051.66 | Stop loss: 2041.4017 | Take profit: 2082.4348999999997 +2025-03-10 12:40:13,122 - INFO - CLOSED long at 2052.16 | PnL: 0.02% | $-0.30 +2025-03-10 12:40:13,123 - INFO - OPENED SHORT at 2052.16 | Stop loss: 2062.4207999999994 | Take profit: 2021.3775999999998 +2025-03-10 12:40:13,328 - INFO - CLOSED short at 2050.44 | PnL: 0.08% | $-0.06 +2025-03-10 12:40:13,328 - INFO - OPENED LONG at 2050.44 | Stop loss: 2040.1878000000002 | Take profit: 2081.1965999999998 +2025-03-10 12:40:13,516 - INFO - CLOSED long at 2051.99 | PnL: 0.08% | $-0.10 +2025-03-10 12:40:13,998 - INFO - OPENED LONG at 2045.79 | Stop loss: 2035.56105 | Take profit: 2076.4768499999996 +2025-03-10 12:40:14,092 - INFO - CLOSED long at 2047.59 | PnL: 0.09% | $-0.05 +2025-03-10 12:40:14,093 - INFO - OPENED SHORT at 2047.59 | Stop loss: 2057.82795 | Take profit: 2016.8761499999998 +2025-03-10 12:40:14,231 - INFO - CLOSED short at 2050.24 | PnL: -0.13% | $-0.90 +2025-03-10 12:40:14,549 - INFO - OPENED LONG at 2057.01 | Stop loss: 2046.7249500000003 | Take profit: 2087.86515 +2025-03-10 12:40:14,693 - INFO - CLOSED long at 2060.13 | PnL: 0.15% | $0.20 +2025-03-10 12:40:14,694 - INFO - OPENED SHORT at 2060.13 | Stop loss: 2070.43065 | Take profit: 2029.2280500000002 +2025-03-10 12:40:14,795 - INFO - CLOSED short at 2061.49 | PnL: -0.07% | $-0.65 +2025-03-10 12:40:14,846 - INFO - OPENED LONG at 2063.29 | Stop loss: 2052.97355 | Take profit: 2094.23935 +2025-03-10 12:40:14,896 - INFO - CLOSED long at 2064.61 | PnL: 0.06% | $-0.14 +2025-03-10 12:40:14,944 - INFO - OPENED LONG at 2063.59 | Stop loss: 2053.27205 | Take profit: 2094.54385 +2025-03-10 12:40:15,140 - INFO - CLOSED long at 2060.99 | PnL: -0.13% | $-0.88 +2025-03-10 12:40:15,140 - INFO - OPENED SHORT at 2060.99 | Stop loss: 2071.2949499999995 | Take profit: 2030.0751499999997 +2025-03-10 12:40:15,279 - INFO - CLOSED short at 2061.89 | PnL: -0.04% | $-0.55 +2025-03-10 12:40:15,281 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.5805499999997 | Take profit: 2092.8183499999996 +2025-03-10 12:40:15,327 - INFO - CLOSED long at 2062.89 | PnL: 0.05% | $-0.20 +2025-03-10 12:40:15,328 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.2044499999997 | Take profit: 2031.9466499999999 +2025-03-10 12:40:15,419 - INFO - CLOSED short at 2059.49 | PnL: 0.16% | $0.25 +2025-03-10 12:40:15,420 - INFO - OPENED LONG at 2059.49 | Stop loss: 2049.1925499999998 | Take profit: 2090.3823499999994 +2025-03-10 12:40:15,510 - INFO - CLOSED long at 2057.89 | PnL: -0.08% | $-0.68 +2025-03-10 12:40:15,698 - INFO - OPENED LONG at 2061.18 | Stop loss: 2050.8741 | Take profit: 2092.0977 +2025-03-10 12:40:15,745 - INFO - CLOSED long at 2064.32 | PnL: 0.15% | $0.20 +2025-03-10 12:40:15,746 - INFO - OPENED SHORT at 2064.32 | Stop loss: 2074.6416 | Take profit: 2033.3552000000002 +2025-03-10 12:40:15,792 - INFO - CLOSED short at 2065.86 | PnL: -0.07% | $-0.66 +2025-03-10 12:40:15,793 - INFO - OPENED LONG at 2065.86 | Stop loss: 2055.5307000000003 | Take profit: 2096.8478999999998 +2025-03-10 12:40:15,976 - INFO - CLOSED long at 2067.89 | PnL: 0.10% | $-0.01 +2025-03-10 12:40:15,976 - INFO - OPENED SHORT at 2067.89 | Stop loss: 2078.22945 | Take profit: 2036.8716499999998 +2025-03-10 12:40:16,124 - INFO - CLOSED short at 2069.6 | PnL: -0.08% | $-0.69 +2025-03-10 12:40:16,124 - INFO - OPENED LONG at 2069.6 | Stop loss: 2059.252 | Take profit: 2100.644 +2025-03-10 12:40:16,546 - INFO - CLOSED long at 2072.91 | PnL: 0.16% | $0.22 +2025-03-10 12:40:16,681 - INFO - OPENED SHORT at 2071.41 | Stop loss: 2081.7670499999995 | Take profit: 2040.3388499999999 +2025-03-10 12:40:16,825 - INFO - CLOSED short at 2072.8 | PnL: -0.07% | $-0.63 +2025-03-10 12:40:16,826 - INFO - OPENED LONG at 2072.8 | Stop loss: 2062.436 | Take profit: 2103.892 +2025-03-10 12:40:16,970 - INFO - CLOSED long at 2068.02 | PnL: -0.23% | $-1.24 +2025-03-10 12:40:16,970 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.3601 | Take profit: 2036.9996999999998 +2025-03-10 12:40:17,020 - INFO - CLOSED short at 2067.2 | PnL: 0.04% | $-0.22 +2025-03-10 12:40:17,021 - INFO - OPENED LONG at 2067.2 | Stop loss: 2056.864 | Take profit: 2098.2079999999996 +2025-03-10 12:40:17,606 - INFO - CLOSED long at 2066.29 | PnL: -0.04% | $-0.53 +2025-03-10 12:40:17,607 - INFO - OPENED SHORT at 2066.29 | Stop loss: 2076.6214499999996 | Take profit: 2035.29565 +2025-03-10 12:40:17,890 - INFO - CLOSED short at 2068.59 | PnL: -0.11% | $-0.77 +2025-03-10 12:40:17,891 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.24705 | Take profit: 2099.61885 +2025-03-10 12:40:17,939 - INFO - CLOSED long at 2069.7 | PnL: 0.05% | $-0.17 +2025-03-10 12:40:17,940 - INFO - OPENED SHORT at 2069.7 | Stop loss: 2080.0484999999994 | Take profit: 2038.6544999999999 +2025-03-10 12:40:17,989 - INFO - CLOSED short at 2070.4 | PnL: -0.03% | $-0.48 +2025-03-10 12:40:18,046 - INFO - OPENED SHORT at 2069.96 | Stop loss: 2080.3098 | Take profit: 2038.9106 +2025-03-10 12:40:18,382 - INFO - CLOSED short at 2072.15 | PnL: -0.11% | $-0.74 +2025-03-10 12:40:18,382 - INFO - OPENED LONG at 2072.15 | Stop loss: 2061.7892500000003 | Take profit: 2103.23225 +2025-03-10 12:40:18,566 - INFO - CLOSED long at 2070.4 | PnL: -0.08% | $-0.66 +2025-03-10 12:40:18,612 - INFO - OPENED SHORT at 2071.11 | Stop loss: 2081.46555 | Take profit: 2040.0433500000001 +2025-03-10 12:40:18,656 - INFO - CLOSED short at 2069.46 | PnL: 0.08% | $-0.07 +2025-03-10 12:40:18,700 - INFO - OPENED LONG at 2069.35 | Stop loss: 2059.0032499999998 | Take profit: 2100.39025 +2025-03-10 12:40:18,744 - INFO - CLOSED long at 2068.32 | PnL: -0.05% | $-0.53 +2025-03-10 12:40:18,745 - INFO - OPENED SHORT at 2068.32 | Stop loss: 2078.6616 | Take profit: 2037.2952 +2025-03-10 12:40:18,786 - INFO - CLOSED short at 2067.0 | PnL: 0.06% | $-0.13 +2025-03-10 12:40:18,787 - INFO - OPENED LONG at 2067.0 | Stop loss: 2056.665 | Take profit: 2098.0049999999997 +2025-03-10 12:40:19,013 - INFO - CLOSED long at 2063.61 | PnL: -0.16% | $-0.93 +2025-03-10 12:40:19,101 - INFO - OPENED SHORT at 2067.89 | Stop loss: 2078.22945 | Take profit: 2036.8716499999998 +2025-03-10 12:40:19,143 - INFO - CLOSED short at 2068.58 | PnL: -0.03% | $-0.46 +2025-03-10 12:40:19,144 - INFO - OPENED LONG at 2068.58 | Stop loss: 2058.2371 | Take profit: 2099.6086999999998 +2025-03-10 12:40:19,188 - INFO - CLOSED long at 2068.8 | PnL: 0.01% | $-0.31 +2025-03-10 12:40:19,233 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.9933 | Take profit: 2100.3801 +2025-03-10 12:40:19,561 - INFO - CLOSED long at 2070.4 | PnL: 0.05% | $-0.17 +2025-03-10 12:40:19,652 - INFO - OPENED LONG at 2068.5 | Stop loss: 2058.1575 | Take profit: 2099.5274999999997 +2025-03-10 12:40:19,698 - INFO - CLOSED long at 2068.69 | PnL: 0.01% | $-0.31 +2025-03-10 12:40:19,698 - INFO - OPENED SHORT at 2068.69 | Stop loss: 2079.03345 | Take profit: 2037.65965 +2025-03-10 12:40:19,922 - INFO - CLOSED short at 2066.1 | PnL: 0.13% | $0.09 +2025-03-10 12:40:20,011 - INFO - OPENED SHORT at 2066.39 | Stop loss: 2076.7219499999997 | Take profit: 2035.3941499999999 +2025-03-10 12:40:20,109 - INFO - CLOSED short at 2070.04 | PnL: -0.18% | $-0.95 +2025-03-10 12:40:20,155 - INFO - OPENED SHORT at 2067.8 | Stop loss: 2078.139 | Take profit: 2036.7830000000001 +2025-03-10 12:40:20,347 - INFO - CLOSED short at 2064.99 | PnL: 0.14% | $0.12 +2025-03-10 12:40:20,348 - INFO - OPENED LONG at 2064.99 | Stop loss: 2054.6650499999996 | Take profit: 2095.9648499999994 +2025-03-10 12:40:20,405 - INFO - CLOSED long at 2065.83 | PnL: 0.04% | $-0.20 +2025-03-10 12:40:20,406 - INFO - OPENED SHORT at 2065.83 | Stop loss: 2076.1591499999995 | Take profit: 2034.8425499999998 +2025-03-10 12:40:20,654 - INFO - CLOSED short at 2061.78 | PnL: 0.20% | $0.33 +2025-03-10 12:40:20,882 - INFO - OPENED LONG at 2064.96 | Stop loss: 2054.6352 | Take profit: 2095.9343999999996 +2025-03-10 12:40:21,101 - INFO - CLOSED long at 2066.09 | PnL: 0.05% | $-0.15 +2025-03-10 12:40:21,260 - INFO - OPENED LONG at 2062.71 | Stop loss: 2052.39645 | Take profit: 2093.65065 +2025-03-10 12:40:21,588 - INFO - CLOSED long at 2060.65 | PnL: -0.10% | $-0.68 +2025-03-10 12:40:21,589 - INFO - OPENED SHORT at 2060.65 | Stop loss: 2070.95325 | Take profit: 2029.74025 +2025-03-10 12:40:21,690 - INFO - CLOSED short at 2059.3 | PnL: 0.07% | $-0.12 +2025-03-10 12:40:21,690 - INFO - OPENED LONG at 2059.3 | Stop loss: 2049.0035000000003 | Take profit: 2090.1895 +2025-03-10 12:40:21,738 - INFO - CLOSED long at 2060.31 | PnL: 0.05% | $-0.17 +2025-03-10 12:40:21,784 - INFO - OPENED LONG at 2061.8 | Stop loss: 2051.491 | Take profit: 2092.727 +2025-03-10 12:40:21,835 - INFO - CLOSED long at 2064.7 | PnL: 0.14% | $0.14 +2025-03-10 12:40:21,935 - INFO - OPENED SHORT at 2060.91 | Stop loss: 2071.2145499999997 | Take profit: 2029.99635 +2025-03-10 12:40:21,986 - INFO - CLOSED short at 2060.3 | PnL: 0.03% | $-0.24 +2025-03-10 12:40:22,181 - INFO - OPENED SHORT at 2065.36 | Stop loss: 2075.6868 | Take profit: 2034.3796000000002 +2025-03-10 12:40:22,417 - INFO - CLOSED short at 2063.53 | PnL: 0.09% | $-0.04 +2025-03-10 12:40:22,418 - INFO - OPENED LONG at 2063.53 | Stop loss: 2053.2123500000002 | Take profit: 2094.48295 +2025-03-10 12:40:22,468 - INFO - CLOSED long at 2063.0 | PnL: -0.03% | $-0.42 +2025-03-10 12:40:22,517 - INFO - OPENED SHORT at 2062.6 | Stop loss: 2072.9129999999996 | Take profit: 2031.6609999999998 +2025-03-10 12:40:22,566 - INFO - CLOSED short at 2061.89 | PnL: 0.03% | $-0.22 +2025-03-10 12:40:22,612 - INFO - OPENED LONG at 2061.7 | Stop loss: 2051.3914999999997 | Take profit: 2092.6254999999996 +2025-03-10 12:40:22,712 - INFO - CLOSED long at 2061.09 | PnL: -0.03% | $-0.43 +2025-03-10 12:40:22,713 - INFO - OPENED SHORT at 2061.09 | Stop loss: 2071.39545 | Take profit: 2030.1736500000002 +2025-03-10 12:40:22,808 - INFO - CLOSED short at 2059.16 | PnL: 0.09% | $-0.02 +2025-03-10 12:40:22,864 - INFO - OPENED LONG at 2059.02 | Stop loss: 2048.7249 | Take profit: 2089.9053 +2025-03-10 12:40:23,111 - INFO - CLOSED long at 2058.28 | PnL: -0.04% | $-0.45 +2025-03-10 12:40:23,111 - INFO - OPENED SHORT at 2058.28 | Stop loss: 2068.5714 | Take profit: 2027.4058000000002 +2025-03-10 12:40:23,210 - INFO - CLOSED short at 2055.6 | PnL: 0.13% | $0.10 +2025-03-10 12:40:23,252 - INFO - OPENED SHORT at 2054.89 | Stop loss: 2065.1644499999998 | Take profit: 2024.0666499999998 +2025-03-10 12:40:23,342 - INFO - CLOSED short at 2056.71 | PnL: -0.09% | $-0.62 +2025-03-10 12:40:23,435 - INFO - OPENED LONG at 2059.8 | Stop loss: 2049.501 | Take profit: 2090.697 +2025-03-10 12:40:23,805 - INFO - CLOSED long at 2066.01 | PnL: 0.30% | $0.66 +2025-03-10 12:40:23,806 - INFO - OPENED SHORT at 2066.01 | Stop loss: 2076.34005 | Take profit: 2035.0198500000001 +2025-03-10 12:40:23,986 - INFO - CLOSED short at 2066.34 | PnL: -0.02% | $-0.38 +2025-03-10 12:40:23,986 - INFO - OPENED LONG at 2066.34 | Stop loss: 2056.0083 | Take profit: 2097.3351 +2025-03-10 12:40:24,135 - INFO - CLOSED long at 2067.01 | PnL: 0.03% | $-0.22 +2025-03-10 12:40:24,326 - INFO - OPENED SHORT at 2074.3 | Stop loss: 2084.6715 | Take profit: 2043.1855 +2025-03-10 12:40:24,462 - INFO - CLOSED short at 2072.6 | PnL: 0.08% | $-0.06 +2025-03-10 12:40:24,557 - INFO - OPENED LONG at 2070.01 | Stop loss: 2059.65995 | Take profit: 2101.06015 +2025-03-10 12:40:24,606 - INFO - CLOSED long at 2071.6 | PnL: 0.08% | $-0.08 +2025-03-10 12:40:24,785 - INFO - OPENED SHORT at 2068.39 | Stop loss: 2078.73195 | Take profit: 2037.3641499999999 +2025-03-10 12:40:24,835 - INFO - CLOSED short at 2069.69 | PnL: -0.06% | $-0.53 +2025-03-10 12:40:24,837 - INFO - OPENED LONG at 2069.69 | Stop loss: 2059.34155 | Take profit: 2100.73535 +2025-03-10 12:40:25,027 - INFO - CLOSED long at 2072.99 | PnL: 0.16% | $0.19 +2025-03-10 12:40:25,028 - INFO - OPENED SHORT at 2072.99 | Stop loss: 2083.3549499999995 | Take profit: 2041.8951499999998 +2025-03-10 12:40:25,073 - INFO - CLOSED short at 2071.49 | PnL: 0.07% | $-0.09 +2025-03-10 12:40:25,074 - INFO - OPENED LONG at 2071.49 | Stop loss: 2061.13255 | Take profit: 2102.5623499999997 +2025-03-10 12:40:25,225 - INFO - CLOSED long at 2066.38 | PnL: -0.25% | $-1.13 +2025-03-10 12:40:25,226 - INFO - OPENED SHORT at 2066.38 | Stop loss: 2076.7119 | Take profit: 2035.3843000000002 +2025-03-10 12:40:25,273 - INFO - CLOSED short at 2065.7 | PnL: 0.03% | $-0.21 +2025-03-10 12:40:25,318 - INFO - OPENED SHORT at 2065.66 | Stop loss: 2075.9882999999995 | Take profit: 2034.6751 +2025-03-10 12:40:25,413 - INFO - CLOSED short at 2063.97 | PnL: 0.08% | $-0.06 +2025-03-10 12:40:25,414 - INFO - OPENED LONG at 2063.97 | Stop loss: 2053.65015 | Take profit: 2094.9295499999994 +2025-03-10 12:40:25,598 - INFO - CLOSED long at 2064.31 | PnL: 0.02% | $-0.27 +2025-03-10 12:40:25,697 - INFO - OPENED LONG at 2067.53 | Stop loss: 2057.1923500000003 | Take profit: 2098.54295 +2025-03-10 12:40:25,743 - INFO - CLOSED long at 2065.29 | PnL: -0.11% | $-0.66 +2025-03-10 12:40:25,922 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.24705 | Take profit: 2099.61885 +2025-03-10 12:40:25,971 - INFO - CLOSED long at 2071.59 | PnL: 0.15% | $0.14 +2025-03-10 12:40:25,972 - INFO - OPENED SHORT at 2071.59 | Stop loss: 2081.9479499999998 | Take profit: 2040.5161500000002 +2025-03-10 12:40:26,020 - INFO - CLOSED short at 2070.2 | PnL: 0.07% | $-0.10 +2025-03-10 12:40:26,067 - INFO - OPENED LONG at 2071.35 | Stop loss: 2060.99325 | Take profit: 2102.4202499999997 +2025-03-10 12:40:26,112 - INFO - CLOSED long at 2070.9 | PnL: -0.02% | $-0.38 +2025-03-10 12:40:26,409 - INFO - OPENED LONG at 2071.99 | Stop loss: 2061.6300499999998 | Take profit: 2103.0698499999994 +2025-03-10 12:40:26,502 - INFO - CLOSED long at 2068.67 | PnL: -0.16% | $-0.82 +2025-03-10 12:40:26,503 - INFO - OPENED SHORT at 2068.67 | Stop loss: 2079.0133499999997 | Take profit: 2037.63995 +2025-03-10 12:40:26,549 - INFO - CLOSED short at 2070.67 | PnL: -0.10% | $-0.61 +2025-03-10 12:40:26,549 - INFO - OPENED LONG at 2070.67 | Stop loss: 2060.31665 | Take profit: 2101.7300499999997 +2025-03-10 12:40:26,645 - INFO - CLOSED long at 2071.61 | PnL: 0.05% | $-0.17 +2025-03-10 12:40:26,694 - INFO - OPENED LONG at 2074.37 | Stop loss: 2063.99815 | Take profit: 2105.48555 +2025-03-10 12:40:26,742 - INFO - CLOSED long at 2075.07 | PnL: 0.03% | $-0.20 +2025-03-10 12:40:26,744 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.44535 | Take profit: 2043.94395 +2025-03-10 12:40:26,794 - INFO - CLOSED short at 2074.35 | PnL: 0.03% | $-0.20 +2025-03-10 12:40:26,795 - INFO - OPENED LONG at 2074.35 | Stop loss: 2063.97825 | Take profit: 2105.4652499999997 +2025-03-10 12:40:26,845 - INFO - CLOSED long at 2073.27 | PnL: -0.05% | $-0.47 +2025-03-10 12:40:26,846 - INFO - OPENED SHORT at 2073.27 | Stop loss: 2083.6363499999998 | Take profit: 2042.17095 +2025-03-10 12:40:26,895 - INFO - CLOSED short at 2073.99 | PnL: -0.03% | $-0.41 +2025-03-10 12:40:26,896 - INFO - OPENED LONG at 2073.99 | Stop loss: 2063.62005 | Take profit: 2105.0998499999996 +2025-03-10 12:40:27,000 - INFO - CLOSED long at 2075.29 | PnL: 0.06% | $-0.11 +2025-03-10 12:40:27,001 - INFO - OPENED SHORT at 2075.29 | Stop loss: 2085.6664499999997 | Take profit: 2044.16065 +2025-03-10 12:40:27,169 - INFO - CLOSED short at 2074.0 | PnL: 0.06% | $-0.11 +2025-03-10 12:40:27,170 - INFO - OPENED LONG at 2074.0 | Stop loss: 2063.63 | Take profit: 2105.1099999999997 +2025-03-10 12:40:27,219 - INFO - CLOSED long at 2072.09 | PnL: -0.09% | $-0.58 +2025-03-10 12:40:27,219 - INFO - OPENED SHORT at 2072.09 | Stop loss: 2082.45045 | Take profit: 2041.0086500000002 +2025-03-10 12:40:27,274 - INFO - CLOSED short at 2069.97 | PnL: 0.10% | $0.01 +2025-03-10 12:40:27,329 - INFO - OPENED LONG at 2067.7 | Stop loss: 2057.3615 | Take profit: 2098.7155 +2025-03-10 12:40:27,385 - INFO - CLOSED long at 2067.0 | PnL: -0.03% | $-0.40 +2025-03-10 12:40:27,628 - INFO - OPENED LONG at 2067.88 | Stop loss: 2057.5406000000003 | Take profit: 2098.8982 +2025-03-10 12:40:27,796 - INFO - CLOSED long at 2069.0 | PnL: 0.05% | $-0.14 +2025-03-10 12:40:27,797 - INFO - OPENED SHORT at 2069.0 | Stop loss: 2079.345 | Take profit: 2037.965 +2025-03-10 12:40:27,850 - INFO - CLOSED short at 2070.19 | PnL: -0.06% | $-0.47 +2025-03-10 12:40:27,850 - INFO - OPENED LONG at 2070.19 | Stop loss: 2059.83905 | Take profit: 2101.2428499999996 +2025-03-10 12:40:28,061 - INFO - CLOSED long at 2065.7 | PnL: -0.22% | $-0.94 +2025-03-10 12:40:28,168 - INFO - OPENED SHORT at 2065.07 | Stop loss: 2075.39535 | Take profit: 2034.0939500000002 +2025-03-10 12:40:28,261 - INFO - CLOSED short at 2063.39 | PnL: 0.08% | $-0.05 +2025-03-10 12:40:28,261 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.07305 | Take profit: 2094.3408499999996 +2025-03-10 12:40:28,308 - INFO - CLOSED long at 2062.34 | PnL: -0.05% | $-0.44 +2025-03-10 12:40:28,560 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.8224999999998 | Take profit: 2033.5325 +2025-03-10 12:40:28,609 - INFO - CLOSED short at 2066.33 | PnL: -0.09% | $-0.55 +2025-03-10 12:40:28,750 - INFO - OPENED LONG at 2060.2 | Stop loss: 2049.899 | Take profit: 2091.1029999999996 +2025-03-10 12:40:28,798 - INFO - CLOSED long at 2059.2 | PnL: -0.05% | $-0.43 +2025-03-10 12:40:28,798 - INFO - OPENED SHORT at 2059.2 | Stop loss: 2069.4959999999996 | Take profit: 2028.312 +2025-03-10 12:40:28,845 - INFO - CLOSED short at 2058.09 | PnL: 0.05% | $-0.13 +2025-03-10 12:40:28,894 - INFO - OPENED LONG at 2058.65 | Stop loss: 2048.35675 | Take profit: 2089.5297499999997 +2025-03-10 12:40:29,521 - INFO - CLOSED long at 2062.43 | PnL: 0.18% | $0.24 +2025-03-10 12:40:29,703 - INFO - OPENED SHORT at 2067.49 | Stop loss: 2077.8274499999998 | Take profit: 2036.4776499999998 +2025-03-10 12:40:29,752 - INFO - CLOSED short at 2066.59 | PnL: 0.04% | $-0.16 +2025-03-10 12:40:29,753 - INFO - OPENED LONG at 2066.59 | Stop loss: 2056.25705 | Take profit: 2097.58885 +2025-03-10 12:40:29,855 - INFO - CLOSED long at 2061.21 | PnL: -0.26% | $-1.03 +2025-03-10 12:40:30,543 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6250499999996 | Take profit: 2104.0848499999997 +2025-03-10 12:40:30,598 - INFO - CLOSED long at 2071.89 | PnL: -0.05% | $-0.43 +2025-03-10 12:40:30,599 - INFO - OPENED SHORT at 2071.89 | Stop loss: 2082.24945 | Take profit: 2040.8116499999999 +2025-03-10 12:40:30,815 - INFO - CLOSED short at 2077.61 | PnL: -0.28% | $-1.05 +2025-03-10 12:40:30,815 - INFO - OPENED LONG at 2077.61 | Stop loss: 2067.22195 | Take profit: 2108.7741499999997 +2025-03-10 12:40:30,866 - INFO - CLOSED long at 2085.56 | PnL: 0.38% | $0.78 +2025-03-10 12:40:30,866 - INFO - OPENED SHORT at 2085.56 | Stop loss: 2095.9878 | Take profit: 2054.2766 +2025-03-10 12:40:30,916 - INFO - CLOSED short at 2090.49 | PnL: -0.24% | $-0.94 +2025-03-10 12:40:31,067 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2376999999997 | Take profit: 2107.4469 +2025-03-10 12:40:31,118 - INFO - CLOSED short at 2131.78 | PnL: 0.36% | $0.72 +2025-03-10 12:40:31,230 - INFO - OPENED SHORT at 2137.59 | Stop loss: 2148.2779499999997 | Take profit: 2105.52615 +2025-03-10 12:40:31,349 - INFO - CLOSED short at 2141.3 | PnL: -0.17% | $-0.76 +2025-03-10 12:40:31,349 - INFO - OPENED LONG at 2141.3 | Stop loss: 2130.5935 | Take profit: 2173.4195 +2025-03-10 12:40:31,403 - INFO - CLOSED long at 2142.68 | PnL: 0.06% | $-0.10 +2025-03-10 12:40:31,403 - INFO - OPENED SHORT at 2142.68 | Stop loss: 2153.3933999999995 | Take profit: 2110.5398 +2025-03-10 12:40:31,670 - INFO - CLOSED short at 2128.69 | PnL: 0.65% | $1.52 +2025-03-10 12:40:31,884 - INFO - OPENED SHORT at 2119.93 | Stop loss: 2130.5296499999995 | Take profit: 2088.13105 +2025-03-10 12:40:31,935 - INFO - CLOSED short at 2121.4 | PnL: -0.07% | $-0.47 +2025-03-10 12:40:31,936 - INFO - OPENED LONG at 2121.4 | Stop loss: 2110.793 | Take profit: 2153.221 +2025-03-10 12:40:32,043 - INFO - CLOSED long at 2119.14 | PnL: -0.11% | $-0.58 +2025-03-10 12:40:32,146 - INFO - OPENED LONG at 2115.28 | Stop loss: 2104.7036000000003 | Take profit: 2147.0092 +2025-03-10 12:40:32,348 - INFO - CLOSED long at 2112.09 | PnL: -0.15% | $-0.69 +2025-03-10 12:40:32,349 - INFO - OPENED SHORT at 2112.09 | Stop loss: 2122.65045 | Take profit: 2080.4086500000003 +2025-03-10 12:40:32,469 - INFO - CLOSED short at 2112.46 | PnL: -0.02% | $-0.32 +2025-03-10 12:40:32,722 - INFO - OPENED LONG at 2114.8 | Stop loss: 2104.226 | Take profit: 2146.522 +2025-03-10 12:40:32,775 - INFO - CLOSED long at 2110.9 | PnL: -0.18% | $-0.77 +2025-03-10 12:40:32,878 - INFO - OPENED SHORT at 2106.49 | Stop loss: 2117.0224499999995 | Take profit: 2074.89265 +2025-03-10 12:40:32,929 - INFO - CLOSED short at 2108.06 | PnL: -0.07% | $-0.47 +2025-03-10 12:40:32,979 - INFO - OPENED LONG at 2103.33 | Stop loss: 2092.81335 | Take profit: 2134.8799499999996 +2025-03-10 12:40:33,031 - INFO - CLOSED long at 2100.5 | PnL: -0.13% | $-0.63 +2025-03-10 12:40:33,083 - INFO - OPENED LONG at 2090.0 | Stop loss: 2079.55 | Take profit: 2121.35 +2025-03-10 12:40:33,192 - INFO - CLOSED long at 2098.1 | PnL: 0.39% | $0.76 +2025-03-10 12:40:33,510 - INFO - OPENED LONG at 2100.69 | Stop loss: 2090.18655 | Take profit: 2132.20035 +2025-03-10 12:40:33,625 - INFO - CLOSED long at 2106.39 | PnL: 0.27% | $0.46 +2025-03-10 12:40:33,678 - INFO - OPENED SHORT at 2100.74 | Stop loss: 2111.2436999999995 | Take profit: 2069.2288999999996 +2025-03-10 12:40:34,044 - INFO - CLOSED short at 2095.29 | PnL: 0.26% | $0.43 +2025-03-10 12:40:34,044 - INFO - OPENED LONG at 2095.29 | Stop loss: 2084.81355 | Take profit: 2126.71935 +2025-03-10 12:40:34,153 - INFO - CLOSED long at 2093.33 | PnL: -0.09% | $-0.53 +2025-03-10 12:40:34,260 - INFO - OPENED SHORT at 2091.1 | Stop loss: 2101.5554999999995 | Take profit: 2059.7335 +2025-03-10 12:40:34,312 - INFO - CLOSED short at 2094.72 | PnL: -0.17% | $-0.74 +2025-03-10 12:40:34,313 - INFO - OPENED LONG at 2094.72 | Stop loss: 2084.2464 | Take profit: 2126.1407999999997 +2025-03-10 12:40:34,513 - INFO - CLOSED long at 2083.28 | PnL: -0.55% | $-1.72 +2025-03-10 12:40:34,514 - INFO - OPENED SHORT at 2083.28 | Stop loss: 2093.6964 | Take profit: 2052.0308 +2025-03-10 12:40:34,930 - INFO - CLOSED short at 2081.25 | PnL: 0.10% | $-0.01 +2025-03-10 12:40:35,140 - INFO - OPENED SHORT at 2086.57 | Stop loss: 2097.00285 | Take profit: 2055.27145 +2025-03-10 12:40:35,434 - INFO - CLOSED short at 2088.32 | PnL: -0.08% | $-0.48 +2025-03-10 12:40:35,435 - INFO - OPENED LONG at 2088.32 | Stop loss: 2077.8784 | Take profit: 2119.6448 +2025-03-10 12:40:35,481 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 9.4% in downtrends | Avg Win=$0.37, Avg Loss=$-0.44 +2025-03-10 12:40:35,482 - INFO - Episode 3: Reward=-109.66, Balance=$64.37, Win Rate=17.5%, Trades=120, Episode PnL=$-14.32, Total PnL=$-165.74, Max Drawdown=35.2%, Pred Accuracy=99.3% +2025-03-10 12:40:35,622 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 12:40:35,623 - INFO - New best PnL model saved: $-14.32 +2025-03-10 12:40:35,653 - INFO - Identified 26 optimal buy points and 27 optimal sell points +2025-03-10 12:40:36,105 - INFO - OPENED LONG at 2059.4 | Stop loss: 2049.103 | Take profit: 2090.2909999999997 +2025-03-10 12:40:36,199 - INFO - CLOSED long at 2060.51 | PnL: 0.05% | $-0.18 +2025-03-10 12:40:36,200 - INFO - OPENED SHORT at 2060.51 | Stop loss: 2070.81255 | Take profit: 2029.6023500000001 +2025-03-10 12:40:36,384 - INFO - CLOSED short at 2057.9 | PnL: 0.13% | $0.11 +2025-03-10 12:40:36,478 - INFO - OPENED SHORT at 2058.51 | Stop loss: 2068.80255 | Take profit: 2027.63235 +2025-03-10 12:40:36,745 - INFO - CLOSED short at 2052.7 | PnL: 0.28% | $0.73 +2025-03-10 12:40:37,037 - INFO - OPENED SHORT at 2050.44 | Stop loss: 2060.6922 | Take profit: 2019.6834000000001 +2025-03-10 12:40:37,206 - INFO - CLOSED short at 2049.6 | PnL: 0.04% | $-0.24 +2025-03-10 12:40:37,207 - INFO - OPENED LONG at 2049.6 | Stop loss: 2039.3519999999999 | Take profit: 2080.3439999999996 +2025-03-10 12:40:37,256 - INFO - CLOSED long at 2051.99 | PnL: 0.12% | $0.07 +2025-03-10 12:40:37,305 - INFO - OPENED SHORT at 2049.61 | Stop loss: 2059.85805 | Take profit: 2018.8658500000001 +2025-03-10 12:40:37,554 - INFO - CLOSED short at 2047.4 | PnL: 0.11% | $0.03 +2025-03-10 12:40:37,555 - INFO - OPENED LONG at 2047.4 | Stop loss: 2037.163 | Take profit: 2078.111 +2025-03-10 12:40:37,798 - INFO - CLOSED long at 2048.13 | PnL: 0.04% | $-0.26 +2025-03-10 12:40:37,905 - INFO - OPENED LONG at 2048.51 | Stop loss: 2038.2674500000003 | Take profit: 2079.23765 +2025-03-10 12:40:37,997 - INFO - CLOSED long at 2050.24 | PnL: 0.08% | $-0.06 +2025-03-10 12:40:38,047 - INFO - OPENED SHORT at 2049.89 | Stop loss: 2060.1394499999997 | Take profit: 2019.1416499999998 +2025-03-10 12:40:38,092 - INFO - CLOSED short at 2051.11 | PnL: -0.06% | $-0.64 +2025-03-10 12:40:38,305 - INFO - OPENED LONG at 2055.69 | Stop loss: 2045.41155 | Take profit: 2086.52535 +2025-03-10 12:40:38,722 - INFO - CLOSED long at 2064.61 | PnL: 0.43% | $1.33 +2025-03-10 12:40:38,769 - INFO - OPENED LONG at 2063.59 | Stop loss: 2053.27205 | Take profit: 2094.54385 +2025-03-10 12:40:38,817 - INFO - CLOSED long at 2061.61 | PnL: -0.10% | $-0.79 +2025-03-10 12:40:38,959 - INFO - OPENED SHORT at 2060.99 | Stop loss: 2071.2949499999995 | Take profit: 2030.0751499999997 +2025-03-10 12:40:39,187 - INFO - CLOSED short at 2060.31 | PnL: 0.03% | $-0.27 +2025-03-10 12:40:39,188 - INFO - OPENED LONG at 2060.31 | Stop loss: 2050.00845 | Take profit: 2091.21465 +2025-03-10 12:40:39,235 - INFO - CLOSED long at 2059.49 | PnL: -0.04% | $-0.56 +2025-03-10 12:40:39,278 - INFO - OPENED SHORT at 2057.8 | Stop loss: 2068.089 | Take profit: 2026.9330000000002 +2025-03-10 12:40:39,324 - INFO - CLOSED short at 2057.89 | PnL: -0.00% | $-0.41 +2025-03-10 12:40:39,514 - INFO - OPENED SHORT at 2061.18 | Stop loss: 2071.4858999999997 | Take profit: 2030.2622999999999 +2025-03-10 12:40:39,608 - INFO - CLOSED short at 2065.86 | PnL: -0.23% | $-1.29 +2025-03-10 12:40:39,801 - INFO - OPENED SHORT at 2067.89 | Stop loss: 2078.22945 | Take profit: 2036.8716499999998 +2025-03-10 12:40:40,174 - INFO - CLOSED short at 2067.69 | PnL: 0.01% | $-0.35 +2025-03-10 12:40:40,385 - INFO - OPENED SHORT at 2075.1 | Stop loss: 2085.4754999999996 | Take profit: 2043.9734999999998 +2025-03-10 12:40:40,435 - INFO - CLOSED short at 2072.91 | PnL: 0.11% | $0.02 +2025-03-10 12:40:40,531 - INFO - OPENED LONG at 2071.38 | Stop loss: 2061.0231 | Take profit: 2102.4507 +2025-03-10 12:40:40,727 - INFO - CLOSED long at 2072.8 | PnL: 0.07% | $-0.12 +2025-03-10 12:40:40,780 - INFO - OPENED SHORT at 2070.79 | Stop loss: 2081.1439499999997 | Take profit: 2039.72815 +2025-03-10 12:40:40,836 - INFO - CLOSED short at 2070.28 | PnL: 0.02% | $-0.29 +2025-03-10 12:40:40,836 - INFO - OPENED LONG at 2070.28 | Stop loss: 2059.9286 | Take profit: 2101.3342 +2025-03-10 12:40:40,982 - INFO - CLOSED long at 2070.36 | PnL: 0.00% | $-0.37 +2025-03-10 12:40:40,983 - INFO - OPENED SHORT at 2070.36 | Stop loss: 2080.7118 | Take profit: 2039.3046000000002 +2025-03-10 12:40:41,032 - INFO - CLOSED short at 2068.9 | PnL: 0.07% | $-0.11 +2025-03-10 12:40:41,083 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3464999999997 | Take profit: 2101.7604999999994 +2025-03-10 12:40:41,132 - INFO - CLOSED long at 2069.34 | PnL: -0.07% | $-0.64 +2025-03-10 12:40:41,133 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.6866999999997 | Take profit: 2038.2999000000002 +2025-03-10 12:40:41,181 - INFO - CLOSED short at 2069.19 | PnL: 0.01% | $-0.35 +2025-03-10 12:40:41,332 - INFO - OPENED LONG at 2067.51 | Stop loss: 2057.17245 | Take profit: 2098.52265 +2025-03-10 12:40:41,384 - INFO - CLOSED long at 2069.01 | PnL: 0.07% | $-0.10 +2025-03-10 12:40:41,436 - INFO - OPENED SHORT at 2066.39 | Stop loss: 2076.7219499999997 | Take profit: 2035.3941499999999 +2025-03-10 12:40:41,486 - INFO - CLOSED short at 2065.99 | PnL: 0.02% | $-0.31 +2025-03-10 12:40:41,535 - INFO - OPENED SHORT at 2066.19 | Stop loss: 2076.5209499999996 | Take profit: 2035.19715 +2025-03-10 12:40:41,585 - INFO - CLOSED short at 2066.29 | PnL: -0.00% | $-0.40 +2025-03-10 12:40:41,586 - INFO - OPENED LONG at 2066.29 | Stop loss: 2055.95855 | Take profit: 2097.28435 +2025-03-10 12:40:41,769 - INFO - CLOSED long at 2068.9 | PnL: 0.13% | $0.10 +2025-03-10 12:40:41,770 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.2445 | Take profit: 2037.8665 +2025-03-10 12:40:42,150 - INFO - CLOSED short at 2071.36 | PnL: -0.12% | $-0.83 +2025-03-10 12:40:42,193 - INFO - OPENED SHORT at 2072.75 | Stop loss: 2083.11375 | Take profit: 2041.65875 +2025-03-10 12:40:42,279 - INFO - CLOSED short at 2072.7 | PnL: 0.00% | $-0.37 +2025-03-10 12:40:42,279 - INFO - OPENED LONG at 2072.7 | Stop loss: 2062.3365 | Take profit: 2103.7904999999996 +2025-03-10 12:40:42,419 - INFO - CLOSED long at 2073.9 | PnL: 0.06% | $-0.16 +2025-03-10 12:40:42,464 - INFO - OPENED SHORT at 2071.92 | Stop loss: 2082.2796 | Take profit: 2040.8412 +2025-03-10 12:40:42,510 - INFO - CLOSED short at 2070.4 | PnL: 0.07% | $-0.10 +2025-03-10 12:40:42,646 - INFO - OPENED SHORT at 2069.35 | Stop loss: 2079.6967499999996 | Take profit: 2038.30975 +2025-03-10 12:40:42,693 - INFO - CLOSED short at 2068.32 | PnL: 0.05% | $-0.19 +2025-03-10 12:40:42,694 - INFO - OPENED LONG at 2068.32 | Stop loss: 2057.9784 | Take profit: 2099.3448 +2025-03-10 12:40:42,928 - INFO - CLOSED long at 2065.49 | PnL: -0.14% | $-0.88 +2025-03-10 12:40:43,020 - INFO - OPENED LONG at 2065.26 | Stop loss: 2054.9337 | Take profit: 2096.2389 +2025-03-10 12:40:43,111 - INFO - CLOSED long at 2068.58 | PnL: 0.16% | $0.22 +2025-03-10 12:40:43,112 - INFO - OPENED SHORT at 2068.58 | Stop loss: 2078.9228999999996 | Take profit: 2037.5512999999999 +2025-03-10 12:40:43,384 - INFO - CLOSED short at 2070.3 | PnL: -0.08% | $-0.68 +2025-03-10 12:40:43,432 - INFO - OPENED LONG at 2071.59 | Stop loss: 2061.23205 | Take profit: 2102.66385 +2025-03-10 12:40:43,481 - INFO - CLOSED long at 2070.7 | PnL: -0.04% | $-0.52 +2025-03-10 12:40:43,482 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.0534999999995 | Take profit: 2039.6394999999998 +2025-03-10 12:40:43,746 - INFO - CLOSED short at 2067.11 | PnL: 0.17% | $0.27 +2025-03-10 12:40:43,747 - INFO - OPENED LONG at 2067.11 | Stop loss: 2056.7744500000003 | Take profit: 2098.11665 +2025-03-10 12:40:43,836 - INFO - CLOSED long at 2066.4 | PnL: -0.03% | $-0.49 +2025-03-10 12:40:43,836 - INFO - OPENED SHORT at 2066.4 | Stop loss: 2076.732 | Take profit: 2035.404 +2025-03-10 12:40:43,882 - INFO - CLOSED short at 2066.1 | PnL: 0.01% | $-0.31 +2025-03-10 12:40:43,882 - INFO - OPENED LONG at 2066.1 | Stop loss: 2055.7695 | Take profit: 2097.0914999999995 +2025-03-10 12:40:43,979 - INFO - CLOSED long at 2066.39 | PnL: 0.01% | $-0.31 +2025-03-10 12:40:44,073 - INFO - OPENED SHORT at 2070.04 | Stop loss: 2080.3902 | Take profit: 2038.9894 +2025-03-10 12:40:44,412 - INFO - CLOSED short at 2066.15 | PnL: 0.19% | $0.32 +2025-03-10 12:40:44,458 - INFO - OPENED LONG at 2065.26 | Stop loss: 2054.9337 | Take profit: 2096.2389 +2025-03-10 12:40:44,636 - INFO - CLOSED long at 2059.59 | PnL: -0.27% | $-1.36 +2025-03-10 12:40:44,637 - INFO - OPENED SHORT at 2059.59 | Stop loss: 2069.88795 | Take profit: 2028.6961500000002 +2025-03-10 12:40:44,684 - INFO - CLOSED short at 2061.3 | PnL: -0.08% | $-0.65 +2025-03-10 12:40:44,832 - INFO - OPENED SHORT at 2066.24 | Stop loss: 2076.5711999999994 | Take profit: 2035.2463999999998 +2025-03-10 12:40:44,978 - INFO - CLOSED short at 2066.09 | PnL: 0.01% | $-0.33 +2025-03-10 12:40:44,979 - INFO - OPENED LONG at 2066.09 | Stop loss: 2055.75955 | Take profit: 2097.08135 +2025-03-10 12:40:45,027 - INFO - CLOSED long at 2064.45 | PnL: -0.08% | $-0.63 +2025-03-10 12:40:45,028 - INFO - OPENED SHORT at 2064.45 | Stop loss: 2074.7722499999995 | Take profit: 2033.4832499999998 +2025-03-10 12:40:45,167 - INFO - CLOSED short at 2062.89 | PnL: 0.08% | $-0.09 +2025-03-10 12:40:45,361 - INFO - OPENED LONG at 2060.9 | Stop loss: 2050.5955 | Take profit: 2091.8134999999997 +2025-03-10 12:40:45,501 - INFO - CLOSED long at 2059.3 | PnL: -0.08% | $-0.62 +2025-03-10 12:40:45,836 - INFO - OPENED SHORT at 2061.13 | Stop loss: 2071.43565 | Take profit: 2030.21305 +2025-03-10 12:40:45,881 - INFO - CLOSED short at 2061.9 | PnL: -0.04% | $-0.48 +2025-03-10 12:40:45,928 - INFO - OPENED SHORT at 2064.1 | Stop loss: 2074.4204999999997 | Take profit: 2033.1384999999998 +2025-03-10 12:40:46,016 - INFO - CLOSED short at 2064.33 | PnL: -0.01% | $-0.38 +2025-03-10 12:40:46,161 - INFO - OPENED LONG at 2065.89 | Stop loss: 2055.5605499999997 | Take profit: 2096.8783499999995 +2025-03-10 12:40:46,345 - INFO - CLOSED long at 2061.89 | PnL: -0.19% | $-1.01 +2025-03-10 12:40:46,346 - INFO - OPENED SHORT at 2061.89 | Stop loss: 2072.1994499999996 | Take profit: 2030.9616499999997 +2025-03-10 12:40:46,490 - INFO - CLOSED short at 2061.09 | PnL: 0.04% | $-0.21 +2025-03-10 12:40:46,537 - INFO - OPENED LONG at 2059.61 | Stop loss: 2049.3119500000003 | Take profit: 2090.5041499999998 +2025-03-10 12:40:46,628 - INFO - CLOSED long at 2059.02 | PnL: -0.03% | $-0.44 +2025-03-10 12:40:46,628 - INFO - OPENED SHORT at 2059.02 | Stop loss: 2069.3151 | Take profit: 2028.1347 +2025-03-10 12:40:46,761 - INFO - CLOSED short at 2059.46 | PnL: -0.02% | $-0.41 +2025-03-10 12:40:47,021 - INFO - OPENED SHORT at 2054.83 | Stop loss: 2065.1041499999997 | Take profit: 2024.0075499999998 +2025-03-10 12:40:47,114 - INFO - CLOSED short at 2058.15 | PnL: -0.16% | $-0.88 +2025-03-10 12:40:47,257 - INFO - OPENED LONG at 2061.5 | Stop loss: 2051.1925 | Take profit: 2092.4224999999997 +2025-03-10 12:40:47,623 - INFO - CLOSED long at 2063.9 | PnL: 0.12% | $0.05 +2025-03-10 12:40:47,624 - INFO - OPENED SHORT at 2063.9 | Stop loss: 2074.2194999999997 | Take profit: 2032.9415000000001 +2025-03-10 12:40:47,666 - INFO - CLOSED short at 2064.49 | PnL: -0.03% | $-0.43 +2025-03-10 12:40:47,667 - INFO - OPENED LONG at 2064.49 | Stop loss: 2054.1675499999997 | Take profit: 2095.4573499999997 +2025-03-10 12:40:47,820 - INFO - CLOSED long at 2066.79 | PnL: 0.11% | $0.04 +2025-03-10 12:40:47,820 - INFO - OPENED SHORT at 2066.79 | Stop loss: 2077.1239499999997 | Take profit: 2035.7881499999999 +2025-03-10 12:40:48,000 - INFO - CLOSED short at 2069.79 | PnL: -0.15% | $-0.81 +2025-03-10 12:40:48,000 - INFO - OPENED LONG at 2069.79 | Stop loss: 2059.44105 | Take profit: 2100.8368499999997 +2025-03-10 12:40:48,233 - INFO - CLOSED long at 2072.6 | PnL: 0.14% | $0.12 +2025-03-10 12:40:48,330 - INFO - OPENED SHORT at 2070.01 | Stop loss: 2080.36005 | Take profit: 2038.9598500000002 +2025-03-10 12:40:48,637 - INFO - CLOSED short at 2069.69 | PnL: 0.02% | $-0.28 +2025-03-10 12:40:48,638 - INFO - OPENED LONG at 2069.69 | Stop loss: 2059.34155 | Take profit: 2100.73535 +2025-03-10 12:40:48,786 - INFO - CLOSED long at 2068.79 | PnL: -0.04% | $-0.47 +2025-03-10 12:40:48,877 - INFO - OPENED LONG at 2071.49 | Stop loss: 2061.13255 | Take profit: 2102.5623499999997 +2025-03-10 12:40:48,923 - INFO - CLOSED long at 2069.87 | PnL: -0.08% | $-0.58 +2025-03-10 12:40:48,923 - INFO - OPENED SHORT at 2069.87 | Stop loss: 2080.21935 | Take profit: 2038.8219499999998 +2025-03-10 12:40:49,115 - INFO - CLOSED short at 2065.66 | PnL: 0.20% | $0.33 +2025-03-10 12:40:49,257 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.8224999999998 | Take profit: 2033.5325 +2025-03-10 12:40:49,398 - INFO - CLOSED short at 2064.31 | PnL: 0.01% | $-0.29 +2025-03-10 12:40:49,447 - INFO - OPENED SHORT at 2065.5 | Stop loss: 2075.8275 | Take profit: 2034.5175 +2025-03-10 12:41:02,766 - INFO - GPU not available, using CPU +2025-03-10 12:41:02,786 - INFO - Exchange initialized with standard CCXT: mexc +2025-03-10 12:41:02,786 - INFO - Fetching initial data for ETH/USDT +2025-03-10 12:41:06,312 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 12:41:06,331 - INFO - Initialized environment with 500 candles +2025-03-10 12:41:08,629 - INFO - Starting training for 1000 episodes... +2025-03-10 12:41:08,629 - INFO - Starting training on device: cpu +2025-03-10 12:41:08,630 - INFO - Loading best model from models/trading_agent_best_pnl.pt to resume training +2025-03-10 12:41:08,630 - INFO - Loading model from models/trading_agent_best_pnl.pt +2025-03-10 12:41:08,756 - WARNING - Could not load with weights_only=True: 'str' object has no attribute '__module__' +2025-03-10 12:41:08,756 - WARNING - Attempting to load with weights_only=False (less secure) +2025-03-10 12:41:08,812 - INFO - Model loaded successfully with weights_only=False +2025-03-10 12:41:08,820 - INFO - Resumed with best metrics - Reward: -99.44, PnL: $-24.03, Win Rate: 24.8% +2025-03-10 12:41:08,851 - INFO - Identified 26 optimal buy points and 27 optimal sell points +2025-03-10 12:41:09,221 - INFO - OPENED LONG at 2060.1 | Stop loss: 2049.7995 | Take profit: 2091.0015 +2025-03-10 12:41:09,222 - INFO - CLOSED long at 2057.52 | PnL: -0.13% | $-0.90 +2025-03-10 12:41:09,228 - INFO - OPENED SHORT at 2057.9 | Stop loss: 2068.1895 | Take profit: 2027.0315 +2025-03-10 12:41:09,229 - INFO - CLOSED short at 2058.51 | PnL: -0.03% | $-0.51 +2025-03-10 12:41:09,230 - INFO - OPENED LONG at 2058.59 | Stop loss: 2048.29705 | Take profit: 2089.4688499999997 +2025-03-10 12:41:09,237 - INFO - CLOSED long at 2052.7 | PnL: -0.29% | $-1.52 +2025-03-10 12:41:09,238 - INFO - OPENED SHORT at 2052.7 | Stop loss: 2062.9634999999994 | Take profit: 2021.9094999999998 +2025-03-10 12:41:09,239 - INFO - CLOSED short at 2052.16 | PnL: 0.03% | $-0.29 +2025-03-10 12:41:09,239 - INFO - OPENED LONG at 2052.16 | Stop loss: 2041.8991999999998 | Take profit: 2082.9423999999995 +2025-03-10 12:41:09,240 - INFO - CLOSED long at 2053.1 | PnL: 0.05% | $-0.21 +2025-03-10 12:41:09,261 - INFO - OPENED SHORT at 2049.61 | Stop loss: 2059.85805 | Take profit: 2018.8658500000001 +2025-03-10 12:41:09,262 - INFO - CLOSED short at 2049.24 | PnL: 0.02% | $-0.32 +2025-03-10 12:41:09,267 - INFO - OPENED SHORT at 2046.58 | Stop loss: 2056.8129 | Take profit: 2015.8813 +2025-03-10 12:41:09,268 - INFO - CLOSED short at 2045.99 | PnL: 0.03% | $-0.27 +2025-03-10 12:41:09,269 - INFO - OPENED LONG at 2045.99 | Stop loss: 2035.76005 | Take profit: 2076.67985 +2025-03-10 12:41:09,280 - INFO - CLOSED long at 2048.51 | PnL: 0.12% | $0.09 +2025-03-10 12:41:09,280 - INFO - OPENED SHORT at 2048.51 | Stop loss: 2058.75255 | Take profit: 2017.7823500000002 +2025-03-10 12:41:09,281 - INFO - CLOSED short at 2050.0 | PnL: -0.07% | $-0.66 +2025-03-10 12:41:09,281 - INFO - OPENED LONG at 2050.0 | Stop loss: 2039.75 | Take profit: 2080.75 +2025-03-10 12:41:09,288 - INFO - CLOSED long at 2049.89 | PnL: -0.01% | $-0.40 +2025-03-10 12:41:09,289 - INFO - OPENED SHORT at 2053.26 | Stop loss: 2063.5263 | Take profit: 2022.4611000000002 +2025-03-10 12:41:09,290 - INFO - CLOSED short at 2051.89 | PnL: 0.07% | $-0.13 +2025-03-10 12:41:09,296 - INFO - OPENED LONG at 2056.89 | Stop loss: 2046.6055499999998 | Take profit: 2087.7433499999997 +2025-03-10 12:41:09,296 - INFO - CLOSED long at 2058.39 | PnL: 0.07% | $-0.10 +2025-03-10 12:41:09,297 - INFO - OPENED SHORT at 2058.39 | Stop loss: 2068.6819499999997 | Take profit: 2027.5141499999997 +2025-03-10 12:41:09,297 - INFO - CLOSED short at 2060.13 | PnL: -0.08% | $-0.70 +2025-03-10 12:41:09,298 - INFO - OPENED LONG at 2063.29 | Stop loss: 2052.97355 | Take profit: 2094.23935 +2025-03-10 12:41:09,299 - INFO - CLOSED long at 2063.59 | PnL: 0.01% | $-0.32 +2025-03-10 12:41:09,299 - INFO - OPENED SHORT at 2064.69 | Stop loss: 2075.01345 | Take profit: 2033.71965 +2025-03-10 12:41:09,300 - INFO - CLOSED short at 2060.99 | PnL: 0.18% | $0.30 +2025-03-10 12:41:09,307 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.57555 | Take profit: 2093.83335 +2025-03-10 12:41:09,504 - INFO - CLOSED long at 2057.89 | PnL: -0.24% | $-1.29 +2025-03-10 12:41:09,505 - INFO - OPENED SHORT at 2057.89 | Stop loss: 2068.1794499999996 | Take profit: 2027.02165 +2025-03-10 12:41:09,755 - INFO - CLOSED short at 2064.32 | PnL: -0.31% | $-1.53 +2025-03-10 12:41:09,756 - INFO - OPENED LONG at 2064.32 | Stop loss: 2053.9984 | Take profit: 2095.2848 +2025-03-10 12:41:09,802 - INFO - CLOSED long at 2065.86 | PnL: 0.07% | $-0.09 +2025-03-10 12:41:09,803 - INFO - OPENED SHORT at 2065.86 | Stop loss: 2076.1893 | Take profit: 2034.8721 +2025-03-10 12:41:09,850 - INFO - CLOSED short at 2070.58 | PnL: -0.23% | $-1.20 +2025-03-10 12:41:09,852 - INFO - OPENED LONG at 2070.58 | Stop loss: 2060.2271 | Take profit: 2101.6386999999995 +2025-03-10 12:41:09,899 - INFO - CLOSED long at 2068.11 | PnL: -0.12% | $-0.79 +2025-03-10 12:41:09,945 - INFO - OPENED SHORT at 2068.29 | Stop loss: 2078.63145 | Take profit: 2037.2656499999998 +2025-03-10 12:41:09,999 - INFO - CLOSED short at 2067.89 | PnL: 0.02% | $-0.29 +2025-03-10 12:41:10,045 - INFO - OPENED SHORT at 2071.63 | Stop loss: 2081.9881499999997 | Take profit: 2040.55555 +2025-03-10 12:41:10,335 - INFO - CLOSED short at 2067.69 | PnL: 0.19% | $0.32 +2025-03-10 12:41:10,335 - INFO - OPENED LONG at 2067.69 | Stop loss: 2057.35155 | Take profit: 2098.7053499999997 +2025-03-10 12:41:10,598 - INFO - CLOSED long at 2072.33 | PnL: 0.22% | $0.44 +2025-03-10 12:41:10,600 - INFO - OPENED SHORT at 2072.33 | Stop loss: 2082.6916499999998 | Take profit: 2041.24505 +2025-03-10 12:41:10,793 - INFO - CLOSED short at 2070.9 | PnL: 0.07% | $-0.11 +2025-03-10 12:41:10,794 - INFO - OPENED LONG at 2070.9 | Stop loss: 2060.5455 | Take profit: 2101.9635 +2025-03-10 12:41:11,024 - INFO - CLOSED long at 2067.2 | PnL: -0.18% | $-1.00 +2025-03-10 12:41:11,025 - INFO - OPENED SHORT at 2067.2 | Stop loss: 2077.5359999999996 | Take profit: 2036.1919999999998 +2025-03-10 12:41:11,066 - INFO - CLOSED short at 2070.36 | PnL: -0.15% | $-0.90 +2025-03-10 12:41:11,216 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.9933 | Take profit: 2100.3801 +2025-03-10 12:41:11,309 - INFO - CLOSED long at 2068.8 | PnL: -0.03% | $-0.44 +2025-03-10 12:41:11,544 - INFO - OPENED SHORT at 2065.99 | Stop loss: 2076.3199499999996 | Take profit: 2035.0001499999998 +2025-03-10 12:41:11,679 - INFO - CLOSED short at 2065.08 | PnL: 0.04% | $-0.20 +2025-03-10 12:41:11,816 - INFO - OPENED LONG at 2068.9 | Stop loss: 2058.5555 | Take profit: 2099.9335 +2025-03-10 12:41:12,031 - INFO - CLOSED long at 2069.96 | PnL: 0.05% | $-0.17 +2025-03-10 12:41:12,032 - INFO - OPENED SHORT at 2069.96 | Stop loss: 2080.3098 | Take profit: 2038.9106 +2025-03-10 12:41:12,120 - INFO - CLOSED short at 2071.39 | PnL: -0.07% | $-0.59 +2025-03-10 12:41:12,349 - INFO - OPENED LONG at 2072.15 | Stop loss: 2061.7892500000003 | Take profit: 2103.23225 +2025-03-10 12:41:12,703 - INFO - CLOSED long at 2068.32 | PnL: -0.18% | $-0.98 +2025-03-10 12:41:12,704 - INFO - OPENED SHORT at 2068.32 | Stop loss: 2078.6616 | Take profit: 2037.2952 +2025-03-10 12:41:12,933 - INFO - CLOSED short at 2065.49 | PnL: 0.14% | $0.13 +2025-03-10 12:41:12,933 - INFO - OPENED LONG at 2065.49 | Stop loss: 2055.1625499999996 | Take profit: 2096.4723499999996 +2025-03-10 12:41:12,981 - INFO - CLOSED long at 2063.61 | PnL: -0.09% | $-0.65 +2025-03-10 12:41:13,120 - INFO - OPENED SHORT at 2068.58 | Stop loss: 2078.9228999999996 | Take profit: 2037.5512999999999 +2025-03-10 12:41:13,163 - INFO - CLOSED short at 2068.8 | PnL: -0.01% | $-0.37 +2025-03-10 12:41:13,163 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.456 | Take profit: 2099.832 +2025-03-10 12:41:13,210 - INFO - CLOSED long at 2069.34 | PnL: 0.03% | $-0.25 +2025-03-10 12:41:13,211 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.6866999999997 | Take profit: 2038.2999000000002 +2025-03-10 12:41:13,343 - INFO - CLOSED short at 2069.2 | PnL: 0.01% | $-0.31 +2025-03-10 12:41:13,439 - INFO - OPENED LONG at 2071.59 | Stop loss: 2061.23205 | Take profit: 2102.66385 +2025-03-10 12:41:13,750 - INFO - CLOSED long at 2067.11 | PnL: -0.22% | $-1.06 +2025-03-10 12:41:14,112 - INFO - OPENED LONG at 2067.8 | Stop loss: 2057.4610000000002 | Take profit: 2098.817 +2025-03-10 12:41:14,156 - INFO - CLOSED long at 2068.18 | PnL: 0.02% | $-0.27 +2025-03-10 12:41:14,290 - INFO - OPENED SHORT at 2064.99 | Stop loss: 2075.3149499999995 | Take profit: 2034.0151499999997 +2025-03-10 12:41:14,391 - INFO - CLOSED short at 2066.15 | PnL: -0.06% | $-0.52 +2025-03-10 12:41:14,439 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.5863 | Take profit: 2034.2811000000002 +2025-03-10 12:41:14,627 - INFO - CLOSED short at 2059.59 | PnL: 0.27% | $0.57 +2025-03-10 12:41:14,716 - INFO - OPENED LONG at 2063.59 | Stop loss: 2053.27205 | Take profit: 2094.54385 +2025-03-10 12:41:14,818 - INFO - CLOSED long at 2066.24 | PnL: 0.13% | $0.09 +2025-03-10 12:41:15,095 - INFO - OPENED SHORT at 2062.71 | Stop loss: 2073.02355 | Take profit: 2031.76935 +2025-03-10 12:41:15,143 - INFO - CLOSED short at 2062.89 | PnL: -0.01% | $-0.36 +2025-03-10 12:41:15,236 - INFO - OPENED SHORT at 2063.5 | Stop loss: 2073.8174999999997 | Take profit: 2032.5475 +2025-03-10 12:41:15,778 - INFO - CLOSED short at 2060.3 | PnL: 0.16% | $0.18 +2025-03-10 12:41:15,967 - INFO - OPENED SHORT at 2065.36 | Stop loss: 2075.6868 | Take profit: 2034.3796000000002 +2025-03-10 12:41:16,227 - INFO - CLOSED short at 2063.53 | PnL: 0.09% | $-0.04 +2025-03-10 12:41:16,373 - INFO - OPENED SHORT at 2061.89 | Stop loss: 2072.1994499999996 | Take profit: 2030.9616499999997 +2025-03-10 12:41:16,470 - INFO - CLOSED short at 2060.7 | PnL: 0.06% | $-0.14 +2025-03-10 12:41:16,667 - INFO - OPENED LONG at 2059.02 | Stop loss: 2048.7249 | Take profit: 2089.9053 +2025-03-10 12:41:16,767 - INFO - CLOSED long at 2059.96 | PnL: 0.05% | $-0.18 +2025-03-10 12:41:16,768 - INFO - OPENED SHORT at 2059.96 | Stop loss: 2070.2598 | Take profit: 2029.0606 +2025-03-10 12:41:16,812 - INFO - CLOSED short at 2059.46 | PnL: 0.02% | $-0.25 +2025-03-10 12:41:16,947 - INFO - OPENED SHORT at 2056.28 | Stop loss: 2066.5614 | Take profit: 2025.4358000000002 +2025-03-10 12:41:16,995 - INFO - CLOSED short at 2055.6 | PnL: 0.03% | $-0.22 +2025-03-10 12:41:16,995 - INFO - OPENED LONG at 2055.6 | Stop loss: 2045.322 | Take profit: 2086.4339999999997 +2025-03-10 12:41:17,085 - INFO - CLOSED long at 2054.83 | PnL: -0.04% | $-0.45 +2025-03-10 12:41:17,175 - INFO - OPENED SHORT at 2058.15 | Stop loss: 2068.4407499999998 | Take profit: 2027.27775 +2025-03-10 12:41:17,376 - INFO - CLOSED short at 2061.6 | PnL: -0.17% | $-0.87 +2025-03-10 12:41:17,377 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.292 | Take profit: 2092.524 +2025-03-10 12:41:17,529 - INFO - CLOSED long at 2063.4 | PnL: 0.09% | $-0.04 +2025-03-10 12:41:17,572 - INFO - OPENED LONG at 2066.36 | Stop loss: 2056.0282 | Take profit: 2097.3554 +2025-03-10 12:41:17,721 - INFO - CLOSED long at 2064.49 | PnL: -0.09% | $-0.61 +2025-03-10 12:41:17,815 - INFO - OPENED LONG at 2066.34 | Stop loss: 2056.0083 | Take profit: 2097.3351 +2025-03-10 12:41:17,862 - INFO - CLOSED long at 2066.79 | PnL: 0.02% | $-0.25 +2025-03-10 12:41:17,863 - INFO - OPENED SHORT at 2066.79 | Stop loss: 2077.1239499999997 | Take profit: 2035.7881499999999 +2025-03-10 12:41:17,907 - INFO - CLOSED short at 2067.33 | PnL: -0.03% | $-0.40 +2025-03-10 12:41:18,153 - INFO - OPENED LONG at 2074.3 | Stop loss: 2063.9285 | Take profit: 2105.4145 +2025-03-10 12:41:18,494 - INFO - CLOSED long at 2073.23 | PnL: -0.05% | $-0.48 +2025-03-10 12:41:18,587 - INFO - OPENED SHORT at 2068.15 | Stop loss: 2078.49075 | Take profit: 2037.12775 +2025-03-10 12:41:18,678 - INFO - CLOSED short at 2069.69 | PnL: -0.07% | $-0.55 +2025-03-10 12:41:18,679 - INFO - OPENED LONG at 2069.69 | Stop loss: 2059.34155 | Take profit: 2100.73535 +2025-03-10 12:41:18,768 - INFO - CLOSED long at 2067.44 | PnL: -0.11% | $-0.65 +2025-03-10 12:41:18,867 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6250499999996 | Take profit: 2104.0848499999997 +2025-03-10 12:41:18,971 - INFO - CLOSED long at 2069.87 | PnL: -0.15% | $-0.77 +2025-03-10 12:41:19,306 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.8224999999998 | Take profit: 2033.5325 +2025-03-10 12:41:19,399 - INFO - CLOSED short at 2064.4 | PnL: 0.00% | $-0.29 +2025-03-10 12:41:19,495 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.1725 | Take profit: 2096.4824999999996 +2025-03-10 12:41:19,542 - INFO - CLOSED long at 2067.53 | PnL: 0.10% | $-0.01 +2025-03-10 12:41:19,642 - INFO - OPENED LONG at 2065.31 | Stop loss: 2054.9834499999997 | Take profit: 2096.2896499999997 +2025-03-10 12:41:19,737 - INFO - CLOSED long at 2066.5 | PnL: 0.06% | $-0.13 +2025-03-10 12:41:19,738 - INFO - OPENED SHORT at 2066.5 | Stop loss: 2076.8325 | Take profit: 2035.5025 +2025-03-10 12:41:20,177 - INFO - CLOSED short at 2070.35 | PnL: -0.19% | $-0.87 +2025-03-10 12:41:20,324 - INFO - OPENED LONG at 2068.19 | Stop loss: 2057.8490500000003 | Take profit: 2099.21285 +2025-03-10 12:41:20,380 - INFO - CLOSED long at 2068.67 | PnL: 0.02% | $-0.23 +2025-03-10 12:41:20,380 - INFO - OPENED SHORT at 2068.67 | Stop loss: 2079.0133499999997 | Take profit: 2037.63995 +2025-03-10 12:41:20,694 - INFO - CLOSED short at 2073.27 | PnL: -0.22% | $-0.97 +2025-03-10 12:41:20,884 - INFO - OPENED SHORT at 2076.9 | Stop loss: 2087.2844999999998 | Take profit: 2045.7465 +2025-03-10 12:41:21,237 - INFO - CLOSED short at 2066.4 | PnL: 0.51% | $1.20 +2025-03-10 12:41:21,288 - INFO - OPENED SHORT at 2066.89 | Stop loss: 2077.2244499999997 | Take profit: 2035.88665 +2025-03-10 12:41:21,384 - INFO - CLOSED short at 2065.45 | PnL: 0.07% | $-0.09 +2025-03-10 12:41:21,473 - INFO - OPENED SHORT at 2069.0 | Stop loss: 2079.345 | Take profit: 2037.965 +2025-03-10 12:41:21,570 - INFO - CLOSED short at 2070.1 | PnL: -0.05% | $-0.46 +2025-03-10 12:41:21,571 - INFO - OPENED LONG at 2070.1 | Stop loss: 2059.7495 | Take profit: 2101.1514999999995 +2025-03-10 12:41:21,614 - INFO - CLOSED long at 2067.19 | PnL: -0.14% | $-0.72 +2025-03-10 12:41:21,615 - INFO - OPENED SHORT at 2067.19 | Stop loss: 2077.5259499999997 | Take profit: 2036.18215 +2025-03-10 12:41:21,660 - INFO - CLOSED short at 2065.5 | PnL: 0.08% | $-0.05 +2025-03-10 12:41:21,760 - INFO - OPENED SHORT at 2065.8 | Stop loss: 2076.129 | Take profit: 2034.813 +2025-03-10 12:41:21,853 - INFO - CLOSED short at 2066.09 | PnL: -0.01% | $-0.34 +2025-03-10 12:41:21,854 - INFO - OPENED LONG at 2066.09 | Stop loss: 2055.75955 | Take profit: 2097.08135 +2025-03-10 12:41:21,900 - INFO - CLOSED long at 2063.39 | PnL: -0.13% | $-0.68 +2025-03-10 12:41:22,065 - INFO - OPENED SHORT at 2066.1 | Stop loss: 2076.4304999999995 | Take profit: 2035.1084999999998 +2025-03-10 12:41:22,113 - INFO - CLOSED short at 2065.06 | PnL: 0.05% | $-0.14 +2025-03-10 12:41:22,114 - INFO - OPENED LONG at 2065.06 | Stop loss: 2054.7347 | Take profit: 2096.0359 +2025-03-10 12:41:22,610 - INFO - CLOSED long at 2056.77 | PnL: -0.40% | $-1.46 +2025-03-10 12:41:22,655 - INFO - OPENED SHORT at 2053.01 | Stop loss: 2063.27505 | Take profit: 2022.2148500000003 +2025-03-10 12:41:22,701 - INFO - CLOSED short at 2049.21 | PnL: 0.19% | $0.24 +2025-03-10 12:41:22,892 - INFO - OPENED LONG at 2056.85 | Stop loss: 2046.56575 | Take profit: 2087.70275 +2025-03-10 12:41:22,934 - INFO - CLOSED long at 2057.11 | PnL: 0.01% | $-0.25 +2025-03-10 12:41:23,110 - INFO - OPENED LONG at 2065.1 | Stop loss: 2054.7745 | Take profit: 2096.0764999999997 +2025-03-10 12:41:23,203 - INFO - CLOSED long at 2062.55 | PnL: -0.12% | $-0.64 +2025-03-10 12:41:23,203 - INFO - OPENED SHORT at 2062.55 | Stop loss: 2072.86275 | Take profit: 2031.6117500000003 +2025-03-10 12:41:23,247 - INFO - CLOSED short at 2065.12 | PnL: -0.12% | $-0.63 +2025-03-10 12:41:23,793 - INFO - OPENED SHORT at 2070.24 | Stop loss: 2080.5911999999994 | Take profit: 2039.1863999999998 +2025-03-10 12:41:23,841 - INFO - CLOSED short at 2069.34 | PnL: 0.04% | $-0.16 +2025-03-10 12:41:24,293 - INFO - OPENED SHORT at 2076.08 | Stop loss: 2086.4603999999995 | Take profit: 2044.9388 +2025-03-10 12:41:24,340 - INFO - CLOSED short at 2077.61 | PnL: -0.07% | $-0.49 +2025-03-10 12:41:24,341 - INFO - OPENED LONG at 2077.61 | Stop loss: 2067.22195 | Take profit: 2108.7741499999997 +2025-03-10 12:41:24,441 - INFO - CLOSED long at 2090.49 | PnL: 0.62% | $1.44 +2025-03-10 12:41:24,485 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.5350999999996 | Take profit: 2071.4746999999998 +2025-03-10 12:41:24,541 - INFO - STOP LOSS hit for short at 2113.5350999999996 | PnL: -0.50% | $-1.70 +2025-03-10 12:41:24,590 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2376999999997 | Take profit: 2107.4469 +2025-03-10 12:41:24,797 - INFO - CLOSED short at 2141.41 | PnL: -0.09% | $-0.52 +2025-03-10 12:41:24,938 - INFO - OPENED SHORT at 2140.01 | Stop loss: 2150.71005 | Take profit: 2107.90985 +2025-03-10 12:41:25,032 - INFO - CLOSED short at 2126.99 | PnL: 0.61% | $1.39 +2025-03-10 12:41:25,078 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.6635 | Take profit: 2159.2095 +2025-03-10 12:41:25,231 - INFO - CLOSED long at 2120.15 | PnL: -0.34% | $-1.22 +2025-03-10 12:41:25,231 - INFO - OPENED SHORT at 2120.15 | Stop loss: 2130.7507499999997 | Take profit: 2088.34775 +2025-03-10 12:41:25,418 - INFO - CLOSED short at 2118.52 | PnL: 0.08% | $-0.06 +2025-03-10 12:41:25,464 - INFO - OPENED LONG at 2119.14 | Stop loss: 2108.5443 | Take profit: 2150.9271 +2025-03-10 12:41:25,512 - INFO - CLOSED long at 2119.07 | PnL: -0.00% | $-0.28 +2025-03-10 12:41:25,885 - INFO - OPENED LONG at 2113.24 | Stop loss: 2102.6737999999996 | Take profit: 2144.9385999999995 +2025-03-10 12:41:25,975 - INFO - CLOSED long at 2120.81 | PnL: 0.36% | $0.71 +2025-03-10 12:41:25,976 - INFO - OPENED SHORT at 2120.81 | Stop loss: 2131.41405 | Take profit: 2088.9978499999997 +2025-03-10 12:41:26,075 - INFO - CLOSED short at 2114.8 | PnL: 0.28% | $0.51 +2025-03-10 12:41:26,122 - INFO - OPENED SHORT at 2110.9 | Stop loss: 2121.4545 | Take profit: 2079.2365 +2025-03-10 12:41:26,169 - INFO - CLOSED short at 2108.71 | PnL: 0.10% | $0.01 +2025-03-10 12:41:26,477 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0323500000004 | Take profit: 2131.02295 +2025-03-10 12:41:26,704 - INFO - CLOSED long at 2098.9 | PnL: -0.03% | $-0.36 +2025-03-10 12:41:26,705 - INFO - OPENED SHORT at 2098.9 | Stop loss: 2109.3945 | Take profit: 2067.4165000000003 +2025-03-10 12:41:26,802 - INFO - CLOSED short at 2104.83 | PnL: -0.28% | $-1.06 +2025-03-10 12:41:26,935 - INFO - OPENED LONG at 2103.86 | Stop loss: 2093.3407 | Take profit: 2135.4179 +2025-03-10 12:41:27,172 - INFO - CLOSED long at 2098.39 | PnL: -0.26% | $-0.98 +2025-03-10 12:41:27,268 - INFO - OPENED LONG at 2093.46 | Stop loss: 2082.9927000000002 | Take profit: 2124.8619 +2025-03-10 12:41:27,411 - INFO - CLOSED long at 2091.1 | PnL: -0.11% | $-0.57 +2025-03-10 12:41:27,412 - INFO - OPENED SHORT at 2091.1 | Stop loss: 2101.5554999999995 | Take profit: 2059.7335 +2025-03-10 12:41:27,613 - INFO - CLOSED short at 2083.28 | PnL: 0.37% | $0.73 +2025-03-10 12:41:27,614 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.8636 | Take profit: 2114.5292 +2025-03-10 12:41:27,812 - INFO - CLOSED long at 2082.44 | PnL: -0.04% | $-0.38 +2025-03-10 12:41:27,857 - INFO - OPENED SHORT at 2081.49 | Stop loss: 2091.8974499999995 | Take profit: 2050.26765 +2025-03-10 12:41:27,901 - INFO - CLOSED short at 2080.38 | PnL: 0.05% | $-0.13 +2025-03-10 12:41:27,901 - INFO - OPENED LONG at 2080.38 | Stop loss: 2069.9781000000003 | Take profit: 2111.5857 +2025-03-10 12:41:28,145 - INFO - CLOSED long at 2086.57 | PnL: 0.30% | $0.53 +2025-03-10 12:41:28,388 - INFO - OPENED SHORT at 2088.66 | Stop loss: 2099.1032999999998 | Take profit: 2057.3300999999997 +2025-03-10 12:41:28,483 - INFO - CLOSED short at 2088.1 | PnL: 0.03% | $-0.20 +2025-03-10 12:41:28,572 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 16.7% in downtrends | Avg Win=$0.52, Avg Loss=$-0.51 +2025-03-10 12:41:28,574 - INFO - Episode 0: Reward=-83.09, Balance=$67.22, Win Rate=17.3%, Trades=98, Episode PnL=$-18.14, Total PnL=$-32.78, Max Drawdown=33.0%, Pred Accuracy=98.4% +2025-03-10 12:41:28,710 - INFO - Model saved to models/trading_agent_best_reward.pt +2025-03-10 12:41:28,710 - INFO - New best reward model saved: -83.09 +2025-03-10 12:41:28,837 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 12:41:28,837 - INFO - New best PnL model saved: $-18.14 +2025-03-10 12:41:28,941 - INFO - Model saved to checkpoints/trading_agent_episode_0.pt +2025-03-10 12:41:28,944 - INFO - Checkpoint saved at episode 0 +2025-03-10 12:41:28,963 - INFO - Identified 26 optimal buy points and 27 optimal sell points +2025-03-10 12:41:29,295 - INFO - OPENED LONG at 2059.4 | Stop loss: 2049.103 | Take profit: 2090.2909999999997 +2025-03-10 12:41:29,452 - INFO - CLOSED long at 2057.52 | PnL: -0.09% | $-0.77 +2025-03-10 12:41:29,609 - INFO - OPENED SHORT at 2057.9 | Stop loss: 2068.1895 | Take profit: 2027.0315 +2025-03-10 12:41:29,669 - INFO - CLOSED short at 2057.99 | PnL: -0.00% | $-0.41 +2025-03-10 12:41:29,670 - INFO - OPENED LONG at 2057.99 | Stop loss: 2047.7000499999997 | Take profit: 2088.8598499999994 +2025-03-10 12:41:29,722 - INFO - CLOSED long at 2058.51 | PnL: 0.03% | $-0.30 +2025-03-10 12:41:29,933 - INFO - OPENED SHORT at 2056.4 | Stop loss: 2066.682 | Take profit: 2025.554 +2025-03-10 12:41:30,067 - INFO - CLOSED short at 2053.56 | PnL: 0.14% | $0.15 +2025-03-10 12:41:30,124 - INFO - OPENED LONG at 2052.7 | Stop loss: 2042.4364999999998 | Take profit: 2083.4904999999994 +2025-03-10 12:41:30,692 - INFO - CLOSED long at 2049.61 | PnL: -0.15% | $-0.99 +2025-03-10 12:41:30,692 - INFO - OPENED SHORT at 2049.61 | Stop loss: 2059.85805 | Take profit: 2018.8658500000001 +2025-03-10 12:41:30,738 - INFO - CLOSED short at 2049.24 | PnL: 0.02% | $-0.32 +2025-03-10 12:41:30,890 - INFO - OPENED SHORT at 2046.58 | Stop loss: 2056.8129 | Take profit: 2015.8813 +2025-03-10 12:41:30,984 - INFO - CLOSED short at 2047.2 | PnL: -0.03% | $-0.51 +2025-03-10 12:41:30,985 - INFO - OPENED LONG at 2047.2 | Stop loss: 2036.964 | Take profit: 2077.908 +2025-03-10 12:41:31,337 - INFO - CLOSED long at 2050.0 | PnL: 0.14% | $0.14 +2025-03-10 12:41:31,338 - INFO - OPENED SHORT at 2050.0 | Stop loss: 2060.25 | Take profit: 2019.25 +2025-03-10 12:41:31,576 - INFO - CLOSED short at 2051.89 | PnL: -0.09% | $-0.75 +2025-03-10 12:41:31,624 - INFO - OPENED LONG at 2052.3 | Stop loss: 2042.0385 | Take profit: 2083.0845 +2025-03-10 12:41:31,986 - INFO - CLOSED long at 2063.29 | PnL: 0.54% | $1.68 +2025-03-10 12:41:32,171 - INFO - OPENED LONG at 2064.69 | Stop loss: 2054.36655 | Take profit: 2095.6603499999997 +2025-03-10 12:41:32,268 - INFO - CLOSED long at 2060.99 | PnL: -0.18% | $-1.09 +2025-03-10 12:41:32,269 - INFO - OPENED SHORT at 2060.99 | Stop loss: 2071.2949499999995 | Take profit: 2030.0751499999997 +2025-03-10 12:41:32,611 - INFO - CLOSED short at 2057.8 | PnL: 0.15% | $0.21 +2025-03-10 12:41:32,907 - INFO - OPENED LONG at 2064.32 | Stop loss: 2053.9984 | Take profit: 2095.2848 +2025-03-10 12:41:33,331 - INFO - CLOSED long at 2068.65 | PnL: 0.21% | $0.43 +2025-03-10 12:41:33,332 - INFO - OPENED SHORT at 2068.65 | Stop loss: 2078.99325 | Take profit: 2037.6202500000002 +2025-03-10 12:41:33,447 - INFO - CLOSED short at 2067.9 | PnL: 0.04% | $-0.25 +2025-03-10 12:41:33,728 - INFO - OPENED LONG at 2075.1 | Stop loss: 2064.7245 | Take profit: 2106.2264999999998 +2025-03-10 12:41:33,828 - INFO - CLOSED long at 2072.33 | PnL: -0.13% | $-0.91 +2025-03-10 12:41:34,033 - INFO - OPENED LONG at 2070.9 | Stop loss: 2060.5455 | Take profit: 2101.9635 +2025-03-10 12:41:34,132 - INFO - CLOSED long at 2070.79 | PnL: -0.01% | $-0.41 +2025-03-10 12:41:34,388 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.2445 | Take profit: 2037.8665 +2025-03-10 12:41:34,441 - INFO - CLOSED short at 2070.7 | PnL: -0.09% | $-0.72 +2025-03-10 12:41:34,722 - INFO - OPENED SHORT at 2067.51 | Stop loss: 2077.84755 | Take profit: 2036.49735 +2025-03-10 12:41:34,831 - INFO - CLOSED short at 2066.39 | PnL: 0.05% | $-0.17 +2025-03-10 12:41:34,832 - INFO - OPENED LONG at 2066.39 | Stop loss: 2056.0580499999996 | Take profit: 2097.3858499999997 +2025-03-10 12:41:34,931 - INFO - CLOSED long at 2066.19 | PnL: -0.01% | $-0.42 +2025-03-10 12:41:35,313 - INFO - OPENED SHORT at 2068.59 | Stop loss: 2078.93295 | Take profit: 2037.5611500000002 +2025-03-10 12:41:35,412 - INFO - CLOSED short at 2070.4 | PnL: -0.09% | $-0.71 +2025-03-10 12:41:35,413 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.0480000000002 | Take profit: 2101.4559999999997 +2025-03-10 12:41:35,516 - INFO - CLOSED long at 2071.4 | PnL: 0.05% | $-0.19 +2025-03-10 12:41:35,516 - INFO - OPENED SHORT at 2071.4 | Stop loss: 2081.757 | Take profit: 2040.329 +2025-03-10 12:41:35,624 - INFO - CLOSED short at 2071.36 | PnL: 0.00% | $-0.37 +2025-03-10 12:41:35,678 - INFO - OPENED SHORT at 2072.75 | Stop loss: 2083.11375 | Take profit: 2041.65875 +2025-03-10 12:41:35,728 - INFO - CLOSED short at 2073.11 | PnL: -0.02% | $-0.44 +2025-03-10 12:41:35,729 - INFO - OPENED LONG at 2073.11 | Stop loss: 2062.74445 | Take profit: 2104.20665 +2025-03-10 12:41:35,785 - INFO - CLOSED long at 2072.7 | PnL: -0.02% | $-0.45 +2025-03-10 12:41:35,848 - INFO - OPENED LONG at 2072.15 | Stop loss: 2061.7892500000003 | Take profit: 2103.23225 +2025-03-10 12:41:35,904 - INFO - CLOSED long at 2074.29 | PnL: 0.10% | $0.01 +2025-03-10 12:41:35,959 - INFO - OPENED SHORT at 2073.9 | Stop loss: 2084.2695 | Take profit: 2042.7915 +2025-03-10 12:41:36,013 - INFO - CLOSED short at 2071.92 | PnL: 0.10% | $-0.02 +2025-03-10 12:41:36,067 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.752 | Take profit: 2039.344 +2025-03-10 12:41:36,125 - INFO - CLOSED short at 2071.11 | PnL: -0.03% | $-0.50 +2025-03-10 12:41:36,125 - INFO - OPENED LONG at 2071.11 | Stop loss: 2060.75445 | Take profit: 2102.17665 +2025-03-10 12:41:36,327 - INFO - CLOSED long at 2067.0 | PnL: -0.20% | $-1.10 +2025-03-10 12:41:36,327 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.3349999999996 | Take profit: 2035.995 +2025-03-10 12:41:36,381 - INFO - CLOSED short at 2067.79 | PnL: -0.04% | $-0.50 +2025-03-10 12:41:36,382 - INFO - OPENED LONG at 2067.79 | Stop loss: 2057.45105 | Take profit: 2098.80685 +2025-03-10 12:41:36,431 - INFO - CLOSED long at 2067.46 | PnL: -0.02% | $-0.42 +2025-03-10 12:41:36,431 - INFO - OPENED SHORT at 2067.46 | Stop loss: 2077.7972999999997 | Take profit: 2036.4481 +2025-03-10 12:41:36,697 - INFO - CLOSED short at 2067.89 | PnL: -0.02% | $-0.43 +2025-03-10 12:41:36,698 - INFO - OPENED LONG at 2067.89 | Stop loss: 2057.55055 | Take profit: 2098.9083499999997 +2025-03-10 12:41:37,006 - INFO - CLOSED long at 2069.2 | PnL: 0.06% | $-0.13 +2025-03-10 12:41:37,007 - INFO - OPENED SHORT at 2069.2 | Stop loss: 2079.546 | Take profit: 2038.1619999999998 +2025-03-10 12:41:37,783 - INFO - CLOSED short at 2066.39 | PnL: 0.14% | $0.13 +2025-03-10 12:41:37,932 - INFO - OPENED SHORT at 2067.8 | Stop loss: 2078.139 | Take profit: 2036.7830000000001 +2025-03-10 12:41:38,148 - INFO - CLOSED short at 2064.99 | PnL: 0.14% | $0.13 +2025-03-10 12:41:38,264 - INFO - OPENED LONG at 2066.15 | Stop loss: 2055.81925 | Take profit: 2097.14225 +2025-03-10 12:41:38,314 - INFO - CLOSED long at 2065.26 | PnL: -0.04% | $-0.51 +2025-03-10 12:41:38,314 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.5863 | Take profit: 2034.2811000000002 +2025-03-10 12:41:38,414 - INFO - CLOSED short at 2062.65 | PnL: 0.13% | $0.09 +2025-03-10 12:41:38,698 - INFO - OPENED LONG at 2064.96 | Stop loss: 2054.6352 | Take profit: 2095.9343999999996 +2025-03-10 12:41:39,039 - INFO - CLOSED long at 2064.08 | PnL: -0.04% | $-0.51 +2025-03-10 12:41:39,255 - INFO - OPENED LONG at 2063.5 | Stop loss: 2053.1825 | Take profit: 2094.4525 +2025-03-10 12:41:39,410 - INFO - CLOSED long at 2060.65 | PnL: -0.14% | $-0.84 +2025-03-10 12:41:39,411 - INFO - OPENED SHORT at 2060.65 | Stop loss: 2070.95325 | Take profit: 2029.74025 +2025-03-10 12:41:39,513 - INFO - CLOSED short at 2059.3 | PnL: 0.07% | $-0.12 +2025-03-10 12:41:39,568 - INFO - OPENED LONG at 2060.31 | Stop loss: 2050.00845 | Take profit: 2091.21465 +2025-03-10 12:41:39,670 - INFO - CLOSED long at 2064.7 | PnL: 0.21% | $0.40 +2025-03-10 12:41:39,719 - INFO - OPENED SHORT at 2062.61 | Stop loss: 2072.92305 | Take profit: 2031.6708500000002 +2025-03-10 12:41:39,927 - INFO - CLOSED short at 2061.9 | PnL: 0.03% | $-0.23 +2025-03-10 12:41:39,976 - INFO - OPENED SHORT at 2064.1 | Stop loss: 2074.4204999999997 | Take profit: 2033.1384999999998 +2025-03-10 12:41:40,415 - INFO - CLOSED short at 2062.6 | PnL: 0.07% | $-0.10 +2025-03-10 12:41:40,517 - INFO - OPENED LONG at 2061.7 | Stop loss: 2051.3914999999997 | Take profit: 2092.6254999999996 +2025-03-10 12:41:40,570 - INFO - CLOSED long at 2060.7 | PnL: -0.05% | $-0.52 +2025-03-10 12:41:40,625 - INFO - OPENED LONG at 2061.09 | Stop loss: 2050.7845500000003 | Take profit: 2092.00635 +2025-03-10 12:41:40,687 - INFO - CLOSED long at 2059.61 | PnL: -0.07% | $-0.60 +2025-03-10 12:41:40,688 - INFO - OPENED SHORT at 2059.61 | Stop loss: 2069.90805 | Take profit: 2028.71585 +2025-03-10 12:41:40,833 - INFO - CLOSED short at 2058.89 | PnL: 0.03% | $-0.23 +2025-03-10 12:41:40,989 - INFO - OPENED LONG at 2057.4 | Stop loss: 2047.113 | Take profit: 2088.261 +2025-03-10 12:41:41,341 - INFO - CLOSED long at 2058.15 | PnL: 0.04% | $-0.22 +2025-03-10 12:41:41,388 - INFO - OPENED SHORT at 2059.8 | Stop loss: 2070.099 | Take profit: 2028.9030000000002 +2025-03-10 12:41:41,693 - INFO - CLOSED short at 2063.4 | PnL: -0.17% | $-0.95 +2025-03-10 12:41:41,787 - INFO - OPENED LONG at 2066.01 | Stop loss: 2055.67995 | Take profit: 2097.00015 +2025-03-10 12:41:41,984 - INFO - CLOSED long at 2066.34 | PnL: 0.02% | $-0.29 +2025-03-10 12:41:42,238 - INFO - OPENED LONG at 2069.79 | Stop loss: 2059.44105 | Take profit: 2100.8368499999997 +2025-03-10 12:41:42,385 - INFO - CLOSED long at 2078.01 | PnL: 0.40% | $1.01 +2025-03-10 12:41:42,386 - INFO - OPENED SHORT at 2078.01 | Stop loss: 2088.40005 | Take profit: 2046.8398500000003 +2025-03-10 12:41:42,529 - INFO - CLOSED short at 2071.04 | PnL: 0.34% | $0.81 +2025-03-10 12:41:42,575 - INFO - OPENED LONG at 2070.01 | Stop loss: 2059.65995 | Take profit: 2101.06015 +2025-03-10 12:41:42,762 - INFO - CLOSED long at 2068.15 | PnL: -0.09% | $-0.66 +2025-03-10 12:41:42,808 - INFO - OPENED SHORT at 2068.39 | Stop loss: 2078.73195 | Take profit: 2037.3641499999999 +2025-03-10 12:41:42,902 - INFO - CLOSED short at 2069.03 | PnL: -0.03% | $-0.45 +2025-03-10 12:41:43,134 - INFO - OPENED LONG at 2069.87 | Stop loss: 2059.52065 | Take profit: 2100.9180499999998 +2025-03-10 12:41:43,313 - INFO - CLOSED long at 2065.66 | PnL: -0.20% | $-1.04 +2025-03-10 12:41:43,314 - INFO - OPENED SHORT at 2065.66 | Stop loss: 2075.9882999999995 | Take profit: 2034.6751 +2025-03-10 12:41:43,409 - INFO - CLOSED short at 2063.97 | PnL: 0.08% | $-0.06 +2025-03-10 12:41:43,453 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.8224999999998 | Take profit: 2033.5325 +2025-03-10 12:41:43,498 - INFO - CLOSED short at 2065.3 | PnL: -0.04% | $-0.47 +2025-03-10 12:41:43,499 - INFO - OPENED LONG at 2065.3 | Stop loss: 2054.9735 | Take profit: 2096.2795 +2025-03-10 12:41:43,600 - INFO - CLOSED long at 2064.31 | PnL: -0.05% | $-0.50 +2025-03-10 12:41:43,646 - INFO - OPENED SHORT at 2065.5 | Stop loss: 2075.8275 | Take profit: 2034.5175 +2025-03-10 12:41:43,693 - INFO - CLOSED short at 2067.53 | PnL: -0.10% | $-0.66 +2025-03-10 12:41:43,694 - INFO - OPENED LONG at 2067.53 | Stop loss: 2057.1923500000003 | Take profit: 2098.54295 +2025-03-10 12:41:43,988 - INFO - CLOSED long at 2071.59 | PnL: 0.20% | $0.32 +2025-03-10 12:41:44,036 - INFO - OPENED LONG at 2070.2 | Stop loss: 2059.8489999999997 | Take profit: 2101.2529999999997 +2025-03-10 12:41:44,238 - INFO - CLOSED long at 2070.7 | PnL: 0.02% | $-0.25 +2025-03-10 12:41:44,285 - INFO - OPENED SHORT at 2070.8 | Stop loss: 2081.154 | Take profit: 2039.738 +2025-03-10 12:41:44,335 - INFO - CLOSED short at 2070.35 | PnL: 0.02% | $-0.26 +2025-03-10 12:41:44,336 - INFO - OPENED LONG at 2070.35 | Stop loss: 2059.99825 | Take profit: 2101.40525 +2025-03-10 12:41:44,384 - INFO - CLOSED long at 2070.61 | PnL: 0.01% | $-0.29 +2025-03-10 12:41:44,525 - INFO - OPENED SHORT at 2068.67 | Stop loss: 2079.0133499999997 | Take profit: 2037.63995 +2025-03-10 12:41:44,716 - INFO - CLOSED short at 2074.37 | PnL: -0.28% | $-1.24 +2025-03-10 12:41:44,716 - INFO - OPENED LONG at 2074.37 | Stop loss: 2063.99815 | Take profit: 2105.48555 +2025-03-10 12:41:44,896 - INFO - CLOSED long at 2073.99 | PnL: -0.02% | $-0.38 +2025-03-10 12:41:44,896 - INFO - OPENED SHORT at 2073.99 | Stop loss: 2084.3599499999996 | Take profit: 2042.8801499999997 +2025-03-10 12:41:44,990 - INFO - CLOSED short at 2075.29 | PnL: -0.06% | $-0.53 +2025-03-10 12:41:45,193 - INFO - OPENED SHORT at 2072.09 | Stop loss: 2082.45045 | Take profit: 2041.0086500000002 +2025-03-10 12:41:45,278 - INFO - CLOSED short at 2067.7 | PnL: 0.21% | $0.36 +2025-03-10 12:41:45,278 - INFO - OPENED LONG at 2067.7 | Stop loss: 2057.3615 | Take profit: 2098.7155 +2025-03-10 12:41:45,460 - INFO - CLOSED long at 2066.89 | PnL: -0.04% | $-0.45 +2025-03-10 12:41:45,551 - INFO - OPENED LONG at 2065.45 | Stop loss: 2055.12275 | Take profit: 2096.4317499999997 +2025-03-10 12:41:45,885 - INFO - CLOSED long at 2065.7 | PnL: 0.01% | $-0.28 +2025-03-10 12:41:45,935 - INFO - OPENED LONG at 2065.8 | Stop loss: 2055.471 | Take profit: 2096.787 +2025-03-10 12:41:46,039 - INFO - CLOSED long at 2066.09 | PnL: 0.01% | $-0.27 +2025-03-10 12:41:46,039 - INFO - OPENED SHORT at 2066.09 | Stop loss: 2076.42045 | Take profit: 2035.0986500000001 +2025-03-10 12:41:46,138 - INFO - CLOSED short at 2062.34 | PnL: 0.18% | $0.26 +2025-03-10 12:41:46,138 - INFO - OPENED LONG at 2062.34 | Stop loss: 2052.0283 | Take profit: 2093.2751 +2025-03-10 12:41:46,248 - INFO - CLOSED long at 2066.1 | PnL: 0.18% | $0.26 +2025-03-10 12:41:46,249 - INFO - OPENED SHORT at 2066.1 | Stop loss: 2076.4304999999995 | Take profit: 2035.1084999999998 +2025-03-10 12:41:46,297 - INFO - CLOSED short at 2065.06 | PnL: 0.05% | $-0.16 +2025-03-10 12:41:46,297 - INFO - OPENED LONG at 2065.06 | Stop loss: 2054.7347 | Take profit: 2096.0359 +2025-03-10 12:41:46,402 - INFO - CLOSED long at 2064.5 | PnL: -0.03% | $-0.41 +2025-03-10 12:41:46,550 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3965 | Take profit: 2091.6105 +2025-03-10 12:41:46,597 - INFO - CLOSED long at 2060.2 | PnL: -0.02% | $-0.40 +2025-03-10 12:41:46,919 - INFO - OPENED SHORT at 2049.5 | Stop loss: 2059.7475 | Take profit: 2018.7575 +2025-03-10 12:41:46,972 - INFO - CLOSED short at 2051.99 | PnL: -0.12% | $-0.70 +2025-03-10 12:41:47,020 - INFO - OPENED LONG at 2058.3 | Stop loss: 2048.0085000000004 | Take profit: 2089.1745 +2025-03-10 12:41:47,158 - INFO - CLOSED long at 2057.89 | PnL: -0.02% | $-0.38 +2025-03-10 12:41:47,159 - INFO - OPENED SHORT at 2057.89 | Stop loss: 2068.1794499999996 | Take profit: 2027.02165 +2025-03-10 12:41:47,304 - INFO - CLOSED short at 2065.1 | PnL: -0.35% | $-1.41 +2025-03-10 12:41:47,304 - INFO - OPENED LONG at 2065.1 | Stop loss: 2054.7745 | Take profit: 2096.0764999999997 +2025-03-10 12:41:47,605 - INFO - CLOSED long at 2066.59 | PnL: 0.07% | $-0.09 +2025-03-10 12:41:47,726 - INFO - OPENED LONG at 2061.21 | Stop loss: 2050.90395 | Take profit: 2092.12815 +2025-03-10 12:41:48,012 - INFO - CLOSED long at 2065.72 | PnL: 0.22% | $0.36 +2025-03-10 12:41:48,225 - INFO - OPENED SHORT at 2069.81 | Stop loss: 2080.1590499999998 | Take profit: 2038.7628499999998 +2025-03-10 12:41:48,283 - INFO - CLOSED short at 2070.41 | PnL: -0.03% | $-0.40 +2025-03-10 12:41:48,284 - INFO - OPENED LONG at 2070.41 | Stop loss: 2060.05795 | Take profit: 2101.4661499999997 +2025-03-10 12:41:48,390 - INFO - CLOSED long at 2074.05 | PnL: 0.18% | $0.23 +2025-03-10 12:41:48,390 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.42025 | Take profit: 2042.9392500000001 +2025-03-10 12:41:48,495 - INFO - CLOSED short at 2071.89 | PnL: 0.10% | $0.01 +2025-03-10 12:41:48,551 - INFO - OPENED SHORT at 2071.8 | Stop loss: 2082.159 | Take profit: 2040.7230000000002 +2025-03-10 12:41:48,599 - INFO - CLOSED short at 2074.9 | PnL: -0.15% | $-0.77 +2025-03-10 12:41:48,599 - INFO - OPENED LONG at 2074.9 | Stop loss: 2064.5255 | Take profit: 2106.0235 +2025-03-10 12:41:48,913 - INFO - TAKE PROFIT hit for long at 2106.0235 | PnL: 1.50% | $4.26 +2025-03-10 12:41:49,369 - INFO - OPENED SHORT at 2134.78 | Stop loss: 2145.4539 | Take profit: 2102.7583 +2025-03-10 12:41:49,498 - INFO - CLOSED short at 2128.69 | PnL: 0.29% | $0.60 +2025-03-10 12:41:49,798 - INFO - OPENED LONG at 2118.52 | Stop loss: 2107.9274 | Take profit: 2150.2978 +2025-03-10 12:41:49,846 - INFO - CLOSED long at 2119.14 | PnL: 0.03% | $-0.23 +2025-03-10 12:41:49,944 - INFO - OPENED LONG at 2115.28 | Stop loss: 2104.7036000000003 | Take profit: 2147.0092 +2025-03-10 12:41:49,993 - INFO - CLOSED long at 2107.43 | PnL: -0.37% | $-1.52 +2025-03-10 12:41:49,994 - INFO - OPENED SHORT at 2107.43 | Stop loss: 2117.9671499999995 | Take profit: 2075.81855 +2025-03-10 12:41:50,138 - INFO - CLOSED short at 2112.09 | PnL: -0.22% | $-1.02 +2025-03-10 12:41:50,139 - INFO - OPENED LONG at 2112.09 | Stop loss: 2101.52955 | Take profit: 2143.77135 +2025-03-10 12:41:50,347 - INFO - CLOSED long at 2112.99 | PnL: 0.04% | $-0.18 +2025-03-10 12:41:50,553 - INFO - OPENED LONG at 2110.9 | Stop loss: 2100.3455 | Take profit: 2142.5634999999997 +2025-03-10 12:41:50,644 - INFO - CLOSED long at 2106.49 | PnL: -0.21% | $-0.96 +2025-03-10 12:41:50,644 - INFO - OPENED SHORT at 2106.49 | Stop loss: 2117.0224499999995 | Take profit: 2074.89265 +2025-03-10 12:41:50,694 - INFO - CLOSED short at 2108.06 | PnL: -0.07% | $-0.54 +2025-03-10 12:41:50,695 - INFO - OPENED LONG at 2108.06 | Stop loss: 2097.5197 | Take profit: 2139.6809 +2025-03-10 12:41:50,854 - INFO - STOP LOSS hit for long at 2097.5197 | PnL: -0.50% | $-1.84 +2025-03-10 12:41:51,157 - INFO - OPENED LONG at 2098.9 | Stop loss: 2088.4055000000003 | Take profit: 2130.3835 +2025-03-10 12:41:51,210 - INFO - CLOSED long at 2100.69 | PnL: 0.09% | $-0.04 +2025-03-10 12:41:51,401 - INFO - OPENED SHORT at 2103.86 | Stop loss: 2114.3793 | Take profit: 2072.3021 +2025-03-10 12:41:51,552 - INFO - CLOSED short at 2099.59 | PnL: 0.20% | $0.31 +2025-03-10 12:41:51,598 - INFO - OPENED LONG at 2100.02 | Stop loss: 2089.5199 | Take profit: 2131.5202999999997 +2025-03-10 12:41:51,689 - INFO - CLOSED long at 2095.29 | PnL: -0.23% | $-0.98 +2025-03-10 12:41:51,735 - INFO - OPENED SHORT at 2093.46 | Stop loss: 2103.9273 | Take profit: 2062.0581 +2025-03-10 12:41:51,786 - INFO - CLOSED short at 2093.33 | PnL: 0.01% | $-0.28 +2025-03-10 12:41:51,787 - INFO - OPENED LONG at 2093.33 | Stop loss: 2082.86335 | Take profit: 2124.72995 +2025-03-10 12:41:52,099 - INFO - CLOSED long at 2083.28 | PnL: -0.48% | $-1.71 +2025-03-10 12:41:52,147 - INFO - OPENED LONG at 2088.44 | Stop loss: 2077.9978 | Take profit: 2119.7666 +2025-03-10 12:41:52,202 - INFO - CLOSED long at 2083.97 | PnL: -0.21% | $-0.90 +2025-03-10 12:41:52,253 - INFO - OPENED SHORT at 2085.3 | Stop loss: 2095.7264999999998 | Take profit: 2054.0205 +2025-03-10 12:41:52,474 - INFO - CLOSED short at 2081.25 | PnL: 0.19% | $0.27 +2025-03-10 12:41:52,474 - INFO - OPENED LONG at 2081.25 | Stop loss: 2070.84375 | Take profit: 2112.46875 +2025-03-10 12:41:52,722 - INFO - CLOSED long at 2085.8 | PnL: 0.22% | $0.34 +2025-03-10 12:41:52,769 - INFO - OPENED LONG at 2084.72 | Stop loss: 2074.2963999999997 | Take profit: 2115.9907999999996 +2025-03-10 12:41:52,871 - INFO - CLOSED long at 2085.85 | PnL: 0.05% | $-0.13 +2025-03-10 12:41:53,028 - INFO - OPENED SHORT at 2088.1 | Stop loss: 2098.5404999999996 | Take profit: 2056.7785 +2025-03-10 12:41:53,140 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 16.7% in downtrends | Avg Win=$0.53, Avg Loss=$-0.54 +2025-03-10 12:41:53,141 - INFO - Episode 1: Reward=-77.07, Balance=$71.57, Win Rate=24.0%, Trades=100, Episode PnL=$-10.07, Total PnL=$-61.21, Max Drawdown=28.9%, Pred Accuracy=99.6% +2025-03-10 12:41:53,309 - INFO - Model saved to models/trading_agent_best_reward.pt +2025-03-10 12:41:53,310 - INFO - New best reward model saved: -77.07 +2025-03-10 12:41:53,451 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 12:41:53,451 - INFO - New best PnL model saved: $-10.07 +2025-03-10 12:41:53,476 - INFO - Identified 26 optimal buy points and 27 optimal sell points +2025-03-10 12:41:53,801 - INFO - OPENED SHORT at 2059.03 | Stop loss: 2069.32515 | Take profit: 2028.1445500000002 +2025-03-10 12:41:53,953 - INFO - CLOSED short at 2060.51 | PnL: -0.07% | $-0.69 +2025-03-10 12:41:53,954 - INFO - OPENED LONG at 2060.51 | Stop loss: 2050.2074500000003 | Take profit: 2091.41765 +2025-03-10 12:41:54,009 - INFO - CLOSED long at 2057.52 | PnL: -0.15% | $-0.97 +2025-03-10 12:41:54,010 - INFO - OPENED SHORT at 2057.52 | Stop loss: 2067.8075999999996 | Take profit: 2026.6571999999999 +2025-03-10 12:41:54,107 - INFO - CLOSED short at 2057.59 | PnL: -0.00% | $-0.41 +2025-03-10 12:41:54,108 - INFO - OPENED LONG at 2057.59 | Stop loss: 2047.3020500000002 | Take profit: 2088.45385 +2025-03-10 12:41:54,324 - INFO - CLOSED long at 2055.2 | PnL: -0.12% | $-0.85 +2025-03-10 12:41:54,325 - INFO - OPENED SHORT at 2055.2 | Stop loss: 2065.4759999999997 | Take profit: 2024.3719999999998 +2025-03-10 12:41:54,430 - INFO - CLOSED short at 2056.4 | PnL: -0.06% | $-0.62 +2025-03-10 12:41:54,484 - INFO - OPENED LONG at 2055.39 | Stop loss: 2045.11305 | Take profit: 2086.2208499999997 +2025-03-10 12:41:54,541 - INFO - CLOSED long at 2053.56 | PnL: -0.09% | $-0.73 +2025-03-10 12:41:54,542 - INFO - OPENED SHORT at 2053.56 | Stop loss: 2063.8277999999996 | Take profit: 2022.7566 +2025-03-10 12:41:54,592 - INFO - CLOSED short at 2052.7 | PnL: 0.04% | $-0.22 +2025-03-10 12:41:54,592 - INFO - OPENED LONG at 2052.7 | Stop loss: 2042.4364999999998 | Take profit: 2083.4904999999994 +2025-03-10 12:41:54,643 - INFO - CLOSED long at 2051.66 | PnL: -0.05% | $-0.58 +2025-03-10 12:41:54,643 - INFO - OPENED SHORT at 2051.66 | Stop loss: 2061.9183 | Take profit: 2020.8850999999997 +2025-03-10 12:41:54,785 - INFO - CLOSED short at 2052.25 | PnL: -0.03% | $-0.49 +2025-03-10 12:41:55,112 - INFO - OPENED SHORT at 2049.61 | Stop loss: 2059.85805 | Take profit: 2018.8658500000001 +2025-03-10 12:41:55,259 - INFO - CLOSED short at 2047.39 | PnL: 0.11% | $0.03 +2025-03-10 12:41:55,555 - INFO - OPENED SHORT at 2045.79 | Stop loss: 2056.0189499999997 | Take profit: 2015.10315 +2025-03-10 12:41:55,909 - INFO - CLOSED short at 2051.11 | PnL: -0.26% | $-1.36 +2025-03-10 12:41:56,050 - INFO - OPENED LONG at 2052.3 | Stop loss: 2042.0385 | Take profit: 2083.0845 +2025-03-10 12:41:56,152 - INFO - CLOSED long at 2057.01 | PnL: 0.23% | $0.48 +2025-03-10 12:41:56,204 - INFO - OPENED LONG at 2056.89 | Stop loss: 2046.6055499999998 | Take profit: 2087.7433499999997 +2025-03-10 12:41:56,309 - INFO - CLOSED long at 2060.13 | PnL: 0.16% | $0.22 +2025-03-10 12:41:56,309 - INFO - OPENED SHORT at 2060.13 | Stop loss: 2070.43065 | Take profit: 2029.2280500000002 +2025-03-10 12:41:56,411 - INFO - CLOSED short at 2061.49 | PnL: -0.07% | $-0.62 +2025-03-10 12:41:56,412 - INFO - OPENED LONG at 2061.49 | Stop loss: 2051.18255 | Take profit: 2092.4123499999996 +2025-03-10 12:41:56,581 - INFO - CLOSED long at 2063.59 | PnL: 0.10% | $0.01 +2025-03-10 12:41:56,631 - INFO - OPENED SHORT at 2061.61 | Stop loss: 2071.9180499999998 | Take profit: 2030.68585 +2025-03-10 12:41:56,791 - INFO - CLOSED short at 2060.99 | PnL: 0.03% | $-0.26 +2025-03-10 12:41:56,839 - INFO - OPENED LONG at 2058.3 | Stop loss: 2048.0085000000004 | Take profit: 2089.1745 +2025-03-10 12:41:57,136 - INFO - CLOSED long at 2057.8 | PnL: -0.02% | $-0.46 +2025-03-10 12:41:57,337 - INFO - OPENED LONG at 2061.79 | Stop loss: 2051.48105 | Take profit: 2092.71685 +2025-03-10 12:41:57,428 - INFO - CLOSED long at 2064.32 | PnL: 0.12% | $0.08 +2025-03-10 12:41:57,529 - INFO - OPENED LONG at 2070.58 | Stop loss: 2060.2271 | Take profit: 2101.6386999999995 +2025-03-10 12:41:57,578 - INFO - CLOSED long at 2068.11 | PnL: -0.12% | $-0.81 +2025-03-10 12:41:57,579 - INFO - OPENED SHORT at 2068.11 | Stop loss: 2078.45055 | Take profit: 2037.08835 +2025-03-10 12:41:57,627 - INFO - CLOSED short at 2068.29 | PnL: -0.01% | $-0.40 +2025-03-10 12:41:57,628 - INFO - OPENED LONG at 2068.29 | Stop loss: 2057.94855 | Take profit: 2099.3143499999996 +2025-03-10 12:41:57,830 - INFO - CLOSED long at 2069.6 | PnL: 0.06% | $-0.13 +2025-03-10 12:41:57,981 - INFO - OPENED LONG at 2067.9 | Stop loss: 2057.5605 | Take profit: 2098.9184999999998 +2025-03-10 12:41:58,131 - INFO - CLOSED long at 2071.44 | PnL: 0.17% | $0.26 +2025-03-10 12:41:58,285 - INFO - OPENED LONG at 2072.91 | Stop loss: 2062.5454499999996 | Take profit: 2104.0036499999997 +2025-03-10 12:41:58,392 - INFO - CLOSED long at 2071.38 | PnL: -0.07% | $-0.64 +2025-03-10 12:41:58,392 - INFO - OPENED SHORT at 2071.38 | Stop loss: 2081.7369 | Take profit: 2040.3093000000001 +2025-03-10 12:41:58,602 - INFO - CLOSED short at 2072.8 | PnL: -0.07% | $-0.61 +2025-03-10 12:41:59,006 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.6866999999997 | Take profit: 2038.2999000000002 +2025-03-10 12:41:59,260 - INFO - CLOSED short at 2069.01 | PnL: 0.02% | $-0.30 +2025-03-10 12:41:59,261 - INFO - OPENED LONG at 2069.01 | Stop loss: 2058.6649500000003 | Take profit: 2100.04515 +2025-03-10 12:41:59,366 - INFO - CLOSED long at 2065.99 | PnL: -0.15% | $-0.88 +2025-03-10 12:41:59,367 - INFO - OPENED SHORT at 2065.99 | Stop loss: 2076.3199499999996 | Take profit: 2035.0001499999998 +2025-03-10 12:41:59,521 - INFO - CLOSED short at 2065.08 | PnL: 0.04% | $-0.20 +2025-03-10 12:41:59,668 - INFO - OPENED LONG at 2068.9 | Stop loss: 2058.5555 | Take profit: 2099.9335 +2025-03-10 12:41:59,713 - INFO - CLOSED long at 2068.51 | PnL: -0.02% | $-0.42 +2025-03-10 12:41:59,714 - INFO - OPENED SHORT at 2068.51 | Stop loss: 2078.85255 | Take profit: 2037.4823500000002 +2025-03-10 12:41:59,758 - INFO - CLOSED short at 2068.59 | PnL: -0.00% | $-0.37 +2025-03-10 12:41:59,758 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.24705 | Take profit: 2099.61885 +2025-03-10 12:42:00,052 - INFO - CLOSED long at 2071.36 | PnL: 0.13% | $0.12 +2025-03-10 12:42:00,052 - INFO - OPENED SHORT at 2071.36 | Stop loss: 2081.7167999999997 | Take profit: 2040.2896 +2025-03-10 12:42:00,410 - INFO - CLOSED short at 2071.92 | PnL: -0.03% | $-0.45 +2025-03-10 12:42:00,411 - INFO - OPENED LONG at 2071.92 | Stop loss: 2061.5604 | Take profit: 2102.9988 +2025-03-10 12:42:00,747 - INFO - CLOSED long at 2067.0 | PnL: -0.24% | $-1.18 +2025-03-10 12:42:00,861 - INFO - OPENED SHORT at 2067.46 | Stop loss: 2077.7972999999997 | Take profit: 2036.4481 +2025-03-10 12:42:01,005 - INFO - CLOSED short at 2063.61 | PnL: 0.19% | $0.30 +2025-03-10 12:42:01,007 - INFO - OPENED LONG at 2063.61 | Stop loss: 2053.2919500000003 | Take profit: 2094.56415 +2025-03-10 12:42:01,323 - INFO - CLOSED long at 2067.86 | PnL: 0.21% | $0.37 +2025-03-10 12:42:01,434 - INFO - OPENED SHORT at 2069.2 | Stop loss: 2079.546 | Take profit: 2038.1619999999998 +2025-03-10 12:42:01,483 - INFO - CLOSED short at 2070.3 | PnL: -0.05% | $-0.53 +2025-03-10 12:42:01,637 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.0480000000002 | Take profit: 2101.4559999999997 +2025-03-10 12:42:01,885 - INFO - CLOSED long at 2067.11 | PnL: -0.16% | $-0.90 +2025-03-10 12:42:01,974 - INFO - OPENED LONG at 2066.4 | Stop loss: 2056.068 | Take profit: 2097.3959999999997 +2025-03-10 12:42:02,227 - INFO - CLOSED long at 2070.04 | PnL: 0.18% | $0.26 +2025-03-10 12:42:02,434 - INFO - OPENED SHORT at 2067.88 | Stop loss: 2078.2194 | Take profit: 2036.8618000000001 +2025-03-10 12:42:02,917 - INFO - CLOSED short at 2061.3 | PnL: 0.32% | $0.75 +2025-03-10 12:42:03,319 - INFO - OPENED SHORT at 2064.08 | Stop loss: 2074.4003999999995 | Take profit: 2033.1188 +2025-03-10 12:42:03,369 - INFO - CLOSED short at 2062.71 | PnL: 0.07% | $-0.12 +2025-03-10 12:42:03,470 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.8224999999998 | Take profit: 2033.5325 +2025-03-10 12:42:03,760 - INFO - CLOSED short at 2059.3 | PnL: 0.25% | $0.53 +2025-03-10 12:42:03,761 - INFO - OPENED LONG at 2059.3 | Stop loss: 2049.0035000000003 | Take profit: 2090.1895 +2025-03-10 12:42:04,083 - INFO - CLOSED long at 2060.3 | PnL: 0.05% | $-0.18 +2025-03-10 12:42:04,084 - INFO - OPENED SHORT at 2060.3 | Stop loss: 2070.6014999999998 | Take profit: 2029.3955 +2025-03-10 12:42:04,136 - INFO - CLOSED short at 2061.13 | PnL: -0.04% | $-0.49 +2025-03-10 12:42:04,191 - INFO - OPENED LONG at 2061.9 | Stop loss: 2051.5905000000002 | Take profit: 2092.8285 +2025-03-10 12:42:04,244 - INFO - CLOSED long at 2064.1 | PnL: 0.11% | $0.02 +2025-03-10 12:42:04,399 - INFO - OPENED SHORT at 2063.39 | Stop loss: 2073.70695 | Take profit: 2032.43915 +2025-03-10 12:42:04,453 - INFO - CLOSED short at 2064.79 | PnL: -0.07% | $-0.58 +2025-03-10 12:42:04,501 - INFO - OPENED SHORT at 2065.89 | Stop loss: 2076.2194499999996 | Take profit: 2034.9016499999998 +2025-03-10 12:42:04,920 - INFO - CLOSED short at 2059.61 | PnL: 0.30% | $0.70 +2025-03-10 12:42:04,921 - INFO - OPENED LONG at 2059.61 | Stop loss: 2049.3119500000003 | Take profit: 2090.5041499999998 +2025-03-10 12:42:05,174 - INFO - CLOSED long at 2059.46 | PnL: -0.01% | $-0.37 +2025-03-10 12:42:05,174 - INFO - OPENED SHORT at 2059.46 | Stop loss: 2069.7572999999998 | Take profit: 2028.5681 +2025-03-10 12:42:05,232 - INFO - CLOSED short at 2057.4 | PnL: 0.10% | $0.00 +2025-03-10 12:42:05,232 - INFO - OPENED LONG at 2057.4 | Stop loss: 2047.113 | Take profit: 2088.261 +2025-03-10 12:42:05,581 - INFO - CLOSED long at 2058.15 | PnL: 0.04% | $-0.22 +2025-03-10 12:42:05,627 - INFO - OPENED SHORT at 2059.8 | Stop loss: 2070.099 | Take profit: 2028.9030000000002 +2025-03-10 12:42:05,725 - INFO - CLOSED short at 2061.5 | PnL: -0.08% | $-0.63 +2025-03-10 12:42:05,726 - INFO - OPENED LONG at 2061.5 | Stop loss: 2051.1925 | Take profit: 2092.4224999999997 +2025-03-10 12:42:05,913 - INFO - CLOSED long at 2063.4 | PnL: 0.09% | $-0.03 +2025-03-10 12:42:05,913 - INFO - OPENED SHORT at 2063.4 | Stop loss: 2073.717 | Take profit: 2032.449 +2025-03-10 12:42:06,211 - INFO - CLOSED short at 2066.34 | PnL: -0.14% | $-0.83 +2025-03-10 12:42:06,602 - INFO - OPENED SHORT at 2078.01 | Stop loss: 2088.40005 | Take profit: 2046.8398500000003 +2025-03-10 12:42:06,970 - INFO - CLOSED short at 2070.0 | PnL: 0.39% | $0.97 +2025-03-10 12:42:07,287 - INFO - OPENED LONG at 2068.79 | Stop loss: 2058.44605 | Take profit: 2099.82185 +2025-03-10 12:42:07,336 - INFO - CLOSED long at 2072.99 | PnL: 0.20% | $0.35 +2025-03-10 12:42:07,337 - INFO - OPENED SHORT at 2072.99 | Stop loss: 2083.3549499999995 | Take profit: 2041.8951499999998 +2025-03-10 12:42:07,439 - INFO - CLOSED short at 2069.87 | PnL: 0.15% | $0.17 +2025-03-10 12:42:07,440 - INFO - OPENED LONG at 2069.87 | Stop loss: 2059.52065 | Take profit: 2100.9180499999998 +2025-03-10 12:42:07,497 - INFO - CLOSED long at 2067.33 | PnL: -0.12% | $-0.77 +2025-03-10 12:42:07,603 - INFO - OPENED SHORT at 2065.7 | Stop loss: 2076.0284999999994 | Take profit: 2034.7144999999998 +2025-03-10 12:42:07,806 - INFO - CLOSED short at 2064.5 | PnL: 0.06% | $-0.14 +2025-03-10 12:42:07,851 - INFO - OPENED LONG at 2065.3 | Stop loss: 2054.9735 | Take profit: 2096.2795 +2025-03-10 12:42:08,305 - INFO - CLOSED long at 2068.59 | PnL: 0.16% | $0.20 +2025-03-10 12:42:08,305 - INFO - OPENED SHORT at 2068.59 | Stop loss: 2078.93295 | Take profit: 2037.5611500000002 +2025-03-10 12:42:08,399 - INFO - CLOSED short at 2070.2 | PnL: -0.08% | $-0.61 +2025-03-10 12:42:08,399 - INFO - OPENED LONG at 2070.2 | Stop loss: 2059.8489999999997 | Take profit: 2101.2529999999997 +2025-03-10 12:42:08,545 - INFO - CLOSED long at 2069.69 | PnL: -0.02% | $-0.42 +2025-03-10 12:42:08,546 - INFO - OPENED SHORT at 2069.69 | Stop loss: 2080.03845 | Take profit: 2038.64465 +2025-03-10 12:42:08,632 - INFO - CLOSED short at 2070.8 | PnL: -0.05% | $-0.52 +2025-03-10 12:42:08,677 - INFO - OPENED LONG at 2070.35 | Stop loss: 2059.99825 | Take profit: 2101.40525 +2025-03-10 12:42:08,728 - INFO - CLOSED long at 2070.61 | PnL: 0.01% | $-0.29 +2025-03-10 12:42:08,728 - INFO - OPENED SHORT at 2070.61 | Stop loss: 2080.96305 | Take profit: 2039.55085 +2025-03-10 12:42:08,776 - INFO - CLOSED short at 2071.99 | PnL: -0.07% | $-0.56 +2025-03-10 12:42:08,776 - INFO - OPENED LONG at 2071.99 | Stop loss: 2061.6300499999998 | Take profit: 2103.0698499999994 +2025-03-10 12:42:08,975 - INFO - CLOSED long at 2069.78 | PnL: -0.11% | $-0.69 +2025-03-10 12:42:09,446 - INFO - OPENED SHORT at 2076.9 | Stop loss: 2087.2844999999998 | Take profit: 2045.7465 +2025-03-10 12:42:09,502 - INFO - CLOSED short at 2075.61 | PnL: 0.06% | $-0.12 +2025-03-10 12:42:09,503 - INFO - OPENED LONG at 2075.61 | Stop loss: 2065.2319500000003 | Take profit: 2106.74415 +2025-03-10 12:42:09,595 - INFO - CLOSED long at 2072.09 | PnL: -0.17% | $-0.89 +2025-03-10 12:42:09,866 - INFO - OPENED LONG at 2066.4 | Stop loss: 2056.068 | Take profit: 2097.3959999999997 +2025-03-10 12:42:09,975 - INFO - CLOSED long at 2067.88 | PnL: 0.07% | $-0.09 +2025-03-10 12:42:10,032 - INFO - OPENED SHORT at 2065.45 | Stop loss: 2075.7772499999996 | Take profit: 2034.46825 +2025-03-10 12:42:10,241 - INFO - CLOSED short at 2070.1 | PnL: -0.23% | $-1.06 +2025-03-10 12:42:10,241 - INFO - OPENED LONG at 2070.1 | Stop loss: 2059.7495 | Take profit: 2101.1514999999995 +2025-03-10 12:42:10,299 - INFO - CLOSED long at 2067.19 | PnL: -0.14% | $-0.77 +2025-03-10 12:42:10,300 - INFO - OPENED SHORT at 2067.19 | Stop loss: 2077.5259499999997 | Take profit: 2036.18215 +2025-03-10 12:42:10,780 - INFO - CLOSED short at 2066.1 | PnL: 0.05% | $-0.15 +2025-03-10 12:42:10,781 - INFO - OPENED LONG at 2066.1 | Stop loss: 2055.7695 | Take profit: 2097.0914999999995 +2025-03-10 12:42:10,838 - INFO - CLOSED long at 2065.06 | PnL: -0.05% | $-0.48 +2025-03-10 12:42:10,838 - INFO - OPENED SHORT at 2065.06 | Stop loss: 2075.3853 | Take profit: 2034.0840999999998 +2025-03-10 12:42:11,188 - INFO - CLOSED short at 2059.2 | PnL: 0.28% | $0.58 +2025-03-10 12:42:11,189 - INFO - OPENED LONG at 2059.2 | Stop loss: 2048.904 | Take profit: 2090.0879999999997 +2025-03-10 12:42:11,443 - INFO - CLOSED long at 2049.21 | PnL: -0.49% | $-1.86 +2025-03-10 12:42:11,603 - INFO - OPENED LONG at 2058.3 | Stop loss: 2048.0085000000004 | Take profit: 2089.1745 +2025-03-10 12:42:11,656 - INFO - CLOSED long at 2056.85 | PnL: -0.07% | $-0.53 +2025-03-10 12:42:11,656 - INFO - OPENED SHORT at 2056.85 | Stop loss: 2067.1342499999996 | Take profit: 2025.99725 +2025-03-10 12:42:11,704 - INFO - CLOSED short at 2057.11 | PnL: -0.01% | $-0.35 +2025-03-10 12:42:11,705 - INFO - OPENED LONG at 2057.11 | Stop loss: 2046.82445 | Take profit: 2087.96665 +2025-03-10 12:42:11,958 - INFO - CLOSED long at 2062.43 | PnL: 0.26% | $0.49 +2025-03-10 12:42:12,454 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3965 | Take profit: 2091.6105 +2025-03-10 12:42:12,549 - INFO - CLOSED long at 2062.54 | PnL: 0.09% | $-0.03 +2025-03-10 12:42:12,652 - INFO - OPENED SHORT at 2070.31 | Stop loss: 2080.66155 | Take profit: 2039.25535 +2025-03-10 12:42:12,701 - INFO - CLOSED short at 2070.24 | PnL: 0.00% | $-0.30 +2025-03-10 12:42:12,703 - INFO - OPENED LONG at 2070.24 | Stop loss: 2059.8887999999997 | Take profit: 2101.2935999999995 +2025-03-10 12:42:12,844 - INFO - CLOSED long at 2070.41 | PnL: 0.01% | $-0.28 +2025-03-10 12:42:12,845 - INFO - OPENED SHORT at 2070.41 | Stop loss: 2080.76205 | Take profit: 2039.3538499999997 +2025-03-10 12:42:12,896 - INFO - CLOSED short at 2073.49 | PnL: -0.15% | $-0.76 +2025-03-10 12:42:13,096 - INFO - OPENED LONG at 2071.8 | Stop loss: 2061.4410000000003 | Take profit: 2102.877 +2025-03-10 12:42:13,195 - INFO - CLOSED long at 2076.08 | PnL: 0.21% | $0.32 +2025-03-10 12:42:13,479 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2376999999997 | Take profit: 2107.4469 +2025-03-10 12:42:13,524 - INFO - CLOSED short at 2131.78 | PnL: 0.36% | $0.80 +2025-03-10 12:42:13,525 - INFO - OPENED LONG at 2131.78 | Stop loss: 2121.1211000000003 | Take profit: 2163.7567 +2025-03-10 12:42:13,616 - INFO - CLOSED long at 2137.59 | PnL: 0.27% | $0.53 +2025-03-10 12:42:13,616 - INFO - OPENED SHORT at 2137.59 | Stop loss: 2148.2779499999997 | Take profit: 2105.52615 +2025-03-10 12:42:13,716 - INFO - CLOSED short at 2141.3 | PnL: -0.17% | $-0.85 +2025-03-10 12:42:13,973 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.6635 | Take profit: 2159.2095 +2025-03-10 12:42:14,272 - INFO - CLOSED long at 2121.4 | PnL: -0.28% | $-1.15 +2025-03-10 12:42:14,321 - INFO - OPENED LONG at 2118.52 | Stop loss: 2107.9274 | Take profit: 2150.2978 +2025-03-10 12:42:14,490 - INFO - CLOSED long at 2115.28 | PnL: -0.15% | $-0.76 +2025-03-10 12:42:14,739 - INFO - OPENED SHORT at 2112.95 | Stop loss: 2123.5147499999994 | Take profit: 2081.25575 +2025-03-10 12:42:14,785 - INFO - CLOSED short at 2112.46 | PnL: 0.02% | $-0.23 +2025-03-10 12:42:14,785 - INFO - OPENED LONG at 2112.46 | Stop loss: 2101.8977 | Take profit: 2144.1468999999997 +2025-03-10 12:42:14,945 - INFO - CLOSED long at 2120.81 | PnL: 0.40% | $0.88 +2025-03-10 12:42:14,946 - INFO - OPENED SHORT at 2120.81 | Stop loss: 2131.41405 | Take profit: 2088.9978499999997 +2025-03-10 12:42:14,992 - INFO - CLOSED short at 2116.48 | PnL: 0.20% | $0.31 +2025-03-10 12:42:14,994 - INFO - OPENED LONG at 2116.48 | Stop loss: 2105.8976 | Take profit: 2148.2272 +2025-03-10 12:42:15,299 - INFO - STOP LOSS hit for long at 2105.8976 | PnL: -0.50% | $-1.81 +2025-03-10 12:42:15,556 - INFO - OPENED SHORT at 2102.19 | Stop loss: 2112.70095 | Take profit: 2070.65715 +2025-03-10 12:42:15,792 - INFO - CLOSED short at 2104.83 | PnL: -0.13% | $-0.67 +2025-03-10 12:42:15,931 - INFO - OPENED SHORT at 2103.86 | Stop loss: 2114.3793 | Take profit: 2072.3021 +2025-03-10 12:42:16,021 - INFO - CLOSED short at 2101.51 | PnL: 0.11% | $0.03 +2025-03-10 12:42:16,022 - INFO - OPENED LONG at 2101.51 | Stop loss: 2091.0024500000004 | Take profit: 2133.03265 +2025-03-10 12:42:16,209 - INFO - CLOSED long at 2095.29 | PnL: -0.30% | $-1.16 +2025-03-10 12:42:16,691 - INFO - OPENED LONG at 2083.97 | Stop loss: 2073.5501499999996 | Take profit: 2115.2295499999996 +2025-03-10 12:42:16,785 - INFO - CLOSED long at 2082.44 | PnL: -0.07% | $-0.50 +2025-03-10 12:42:17,025 - INFO - OPENED LONG at 2085.09 | Stop loss: 2074.66455 | Take profit: 2116.36635 +2025-03-10 12:42:17,282 - INFO - CLOSED long at 2085.83 | PnL: 0.04% | $-0.18 +2025-03-10 12:42:17,284 - INFO - OPENED SHORT at 2085.83 | Stop loss: 2096.25915 | Take profit: 2054.54255 +2025-03-10 12:42:17,333 - INFO - CLOSED short at 2085.85 | PnL: -0.00% | $-0.29 +2025-03-10 12:42:17,334 - INFO - OPENED LONG at 2085.85 | Stop loss: 2075.4207499999998 | Take profit: 2117.13775 +2025-03-10 12:42:17,536 - INFO - CLOSED long at 2089.96 | PnL: 0.20% | $0.28 +2025-03-10 12:42:17,592 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 32.1% in downtrends | Avg Win=$0.36, Avg Loss=$-0.57 +2025-03-10 12:42:17,593 - INFO - Episode 2: Reward=-60.07, Balance=$71.26, Win Rate=29.2%, Trades=96, Episode PnL=$-17.31, Total PnL=$-89.95, Max Drawdown=28.7%, Pred Accuracy=99.0% +2025-03-10 12:42:17,748 - INFO - Model saved to models/trading_agent_best_reward.pt +2025-03-10 12:42:17,749 - INFO - New best reward model saved: -60.07 +2025-03-10 12:42:17,883 - INFO - Model saved to models/trading_agent_best_winrate.pt +2025-03-10 12:42:17,884 - INFO - New best win rate model saved: 29.2% +2025-03-10 12:42:17,905 - INFO - Identified 26 optimal buy points and 27 optimal sell points +2025-03-10 12:42:18,573 - INFO - OPENED SHORT at 2057.9 | Stop loss: 2068.1895 | Take profit: 2027.0315 +2025-03-10 12:42:18,718 - INFO - CLOSED short at 2055.2 | PnL: 0.13% | $0.12 +2025-03-10 12:42:18,855 - INFO - OPENED LONG at 2055.39 | Stop loss: 2045.11305 | Take profit: 2086.2208499999997 +2025-03-10 12:42:18,902 - INFO - CLOSED long at 2053.56 | PnL: -0.09% | $-0.76 +2025-03-10 12:42:18,960 - INFO - OPENED SHORT at 2052.7 | Stop loss: 2062.9634999999994 | Take profit: 2021.9094999999998 +2025-03-10 12:42:19,060 - INFO - CLOSED short at 2052.16 | PnL: 0.03% | $-0.29 +2025-03-10 12:42:19,112 - INFO - OPENED LONG at 2053.1 | Stop loss: 2042.8345 | Take profit: 2083.8965 +2025-03-10 12:42:19,272 - INFO - CLOSED long at 2050.44 | PnL: -0.13% | $-0.91 +2025-03-10 12:42:19,272 - INFO - OPENED SHORT at 2050.44 | Stop loss: 2060.6922 | Take profit: 2019.6834000000001 +2025-03-10 12:42:19,737 - INFO - CLOSED short at 2046.58 | PnL: 0.19% | $0.35 +2025-03-10 12:42:19,738 - INFO - OPENED LONG at 2046.58 | Stop loss: 2036.3471 | Take profit: 2077.2787 +2025-03-10 12:42:19,828 - INFO - CLOSED long at 2047.2 | PnL: 0.03% | $-0.27 +2025-03-10 12:42:19,829 - INFO - OPENED SHORT at 2047.2 | Stop loss: 2057.4359999999997 | Take profit: 2016.492 +2025-03-10 12:42:19,926 - INFO - CLOSED short at 2045.99 | PnL: 0.06% | $-0.16 +2025-03-10 12:42:20,336 - INFO - OPENED SHORT at 2051.11 | Stop loss: 2061.36555 | Take profit: 2020.34335 +2025-03-10 12:42:20,494 - INFO - CLOSED short at 2052.3 | PnL: -0.06% | $-0.62 +2025-03-10 12:42:20,592 - INFO - OPENED LONG at 2057.01 | Stop loss: 2046.7249500000003 | Take profit: 2087.86515 +2025-03-10 12:42:20,788 - INFO - CLOSED long at 2059.7 | PnL: 0.13% | $0.12 +2025-03-10 12:42:20,882 - INFO - OPENED SHORT at 2063.29 | Stop loss: 2073.6064499999998 | Take profit: 2032.3406499999999 +2025-03-10 12:42:20,925 - INFO - CLOSED short at 2064.61 | PnL: -0.06% | $-0.64 +2025-03-10 12:42:21,272 - INFO - OPENED LONG at 2058.3 | Stop loss: 2048.0085000000004 | Take profit: 2089.1745 +2025-03-10 12:42:21,438 - INFO - CLOSED long at 2062.89 | PnL: 0.22% | $0.48 +2025-03-10 12:42:21,598 - INFO - OPENED LONG at 2057.8 | Stop loss: 2047.5110000000002 | Take profit: 2088.667 +2025-03-10 12:42:21,967 - INFO - CLOSED long at 2065.86 | PnL: 0.39% | $1.14 +2025-03-10 12:42:22,182 - INFO - OPENED SHORT at 2067.89 | Stop loss: 2078.22945 | Take profit: 2036.8716499999998 +2025-03-10 12:42:22,474 - INFO - CLOSED short at 2068.99 | PnL: -0.05% | $-0.60 +2025-03-10 12:42:22,475 - INFO - OPENED LONG at 2068.99 | Stop loss: 2058.6450499999996 | Take profit: 2100.02485 +2025-03-10 12:42:22,710 - INFO - CLOSED long at 2071.44 | PnL: 0.12% | $0.07 +2025-03-10 12:42:22,880 - INFO - OPENED SHORT at 2072.91 | Stop loss: 2083.2745499999996 | Take profit: 2041.8163499999998 +2025-03-10 12:42:23,005 - INFO - CLOSED short at 2071.38 | PnL: 0.07% | $-0.10 +2025-03-10 12:42:23,326 - INFO - OPENED SHORT at 2070.28 | Stop loss: 2080.6313999999998 | Take profit: 2039.2258000000002 +2025-03-10 12:42:23,858 - INFO - CLOSED short at 2067.6 | PnL: 0.13% | $0.12 +2025-03-10 12:42:23,858 - INFO - OPENED LONG at 2067.6 | Stop loss: 2057.2619999999997 | Take profit: 2098.6139999999996 +2025-03-10 12:42:24,240 - INFO - CLOSED long at 2065.08 | PnL: -0.12% | $-0.87 +2025-03-10 12:42:24,443 - INFO - OPENED SHORT at 2068.51 | Stop loss: 2078.85255 | Take profit: 2037.4823500000002 +2025-03-10 12:42:24,494 - INFO - CLOSED short at 2068.59 | PnL: -0.00% | $-0.40 +2025-03-10 12:42:24,639 - INFO - OPENED LONG at 2069.96 | Stop loss: 2059.6102 | Take profit: 2101.0094 +2025-03-10 12:42:24,687 - INFO - CLOSED long at 2071.4 | PnL: 0.07% | $-0.12 +2025-03-10 12:42:24,831 - INFO - OPENED SHORT at 2072.75 | Stop loss: 2083.11375 | Take profit: 2041.65875 +2025-03-10 12:42:24,927 - INFO - CLOSED short at 2072.7 | PnL: 0.00% | $-0.38 +2025-03-10 12:42:24,928 - INFO - OPENED LONG at 2072.7 | Stop loss: 2062.3365 | Take profit: 2103.7904999999996 +2025-03-10 12:42:24,974 - INFO - CLOSED long at 2072.15 | PnL: -0.03% | $-0.49 +2025-03-10 12:42:24,975 - INFO - OPENED SHORT at 2072.15 | Stop loss: 2082.51075 | Take profit: 2041.0677500000002 +2025-03-10 12:42:25,018 - INFO - CLOSED short at 2074.29 | PnL: -0.10% | $-0.78 +2025-03-10 12:42:25,019 - INFO - OPENED LONG at 2074.29 | Stop loss: 2063.91855 | Take profit: 2105.40435 +2025-03-10 12:42:25,071 - INFO - CLOSED long at 2073.9 | PnL: -0.02% | $-0.45 +2025-03-10 12:42:25,072 - INFO - OPENED SHORT at 2073.9 | Stop loss: 2084.2695 | Take profit: 2042.7915 +2025-03-10 12:42:25,323 - INFO - CLOSED short at 2069.35 | PnL: 0.22% | $0.45 +2025-03-10 12:42:25,715 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.5863 | Take profit: 2034.2811000000002 +2025-03-10 12:42:26,018 - INFO - CLOSED short at 2067.59 | PnL: -0.11% | $-0.81 +2025-03-10 12:42:26,072 - INFO - OPENED LONG at 2069.2 | Stop loss: 2058.854 | Take profit: 2100.238 +2025-03-10 12:42:26,271 - INFO - CLOSED long at 2070.4 | PnL: 0.06% | $-0.16 +2025-03-10 12:42:26,272 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.752 | Take profit: 2039.344 +2025-03-10 12:42:26,418 - INFO - CLOSED short at 2068.69 | PnL: 0.08% | $-0.07 +2025-03-10 12:42:26,516 - INFO - OPENED LONG at 2067.11 | Stop loss: 2056.7744500000003 | Take profit: 2098.11665 +2025-03-10 12:42:26,759 - INFO - CLOSED long at 2066.39 | PnL: -0.03% | $-0.51 +2025-03-10 12:42:26,814 - INFO - OPENED LONG at 2064.47 | Stop loss: 2054.14765 | Take profit: 2095.4370499999995 +2025-03-10 12:42:27,466 - INFO - CLOSED long at 2061.78 | PnL: -0.13% | $-0.86 +2025-03-10 12:42:27,467 - INFO - OPENED SHORT at 2061.78 | Stop loss: 2072.0889 | Take profit: 2030.8533000000002 +2025-03-10 12:42:27,651 - INFO - CLOSED short at 2061.3 | PnL: 0.02% | $-0.28 +2025-03-10 12:42:27,652 - INFO - OPENED LONG at 2061.3 | Stop loss: 2050.9935 | Take profit: 2092.2195 +2025-03-10 12:42:28,368 - INFO - CLOSED long at 2064.5 | PnL: 0.16% | $0.20 +2025-03-10 12:42:28,369 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.8224999999998 | Take profit: 2033.5325 +2025-03-10 12:42:28,582 - INFO - CLOSED short at 2060.65 | PnL: 0.19% | $0.32 +2025-03-10 12:42:28,783 - INFO - OPENED SHORT at 2061.8 | Stop loss: 2072.109 | Take profit: 2030.873 +2025-03-10 12:42:28,832 - INFO - CLOSED short at 2064.7 | PnL: -0.14% | $-0.89 +2025-03-10 12:42:28,884 - INFO - OPENED SHORT at 2062.61 | Stop loss: 2072.92305 | Take profit: 2031.6708500000002 +2025-03-10 12:42:28,931 - INFO - CLOSED short at 2060.91 | PnL: 0.08% | $-0.06 +2025-03-10 12:42:28,931 - INFO - OPENED LONG at 2060.91 | Stop loss: 2050.60545 | Take profit: 2091.82365 +2025-03-10 12:42:28,980 - INFO - CLOSED long at 2060.3 | PnL: -0.03% | $-0.48 +2025-03-10 12:42:29,340 - INFO - OPENED SHORT at 2064.79 | Stop loss: 2075.11395 | Take profit: 2033.8181499999998 +2025-03-10 12:42:29,447 - INFO - CLOSED short at 2063.53 | PnL: 0.06% | $-0.14 +2025-03-10 12:42:29,448 - INFO - OPENED LONG at 2063.53 | Stop loss: 2053.2123500000002 | Take profit: 2094.48295 +2025-03-10 12:42:29,546 - INFO - CLOSED long at 2062.6 | PnL: -0.05% | $-0.53 +2025-03-10 12:42:29,646 - INFO - OPENED SHORT at 2061.7 | Stop loss: 2072.0084999999995 | Take profit: 2030.7744999999998 +2025-03-10 12:42:29,792 - INFO - CLOSED short at 2059.61 | PnL: 0.10% | $0.00 +2025-03-10 12:42:29,837 - INFO - OPENED SHORT at 2059.16 | Stop loss: 2069.4557999999997 | Take profit: 2028.2725999999998 +2025-03-10 12:42:29,934 - INFO - CLOSED short at 2058.89 | PnL: 0.01% | $-0.32 +2025-03-10 12:42:29,935 - INFO - OPENED LONG at 2058.89 | Stop loss: 2048.59555 | Take profit: 2089.7733499999995 +2025-03-10 12:42:30,132 - INFO - CLOSED long at 2058.28 | PnL: -0.03% | $-0.47 +2025-03-10 12:42:30,632 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.292 | Take profit: 2092.524 +2025-03-10 12:42:30,676 - INFO - CLOSED long at 2061.3 | PnL: -0.01% | $-0.41 +2025-03-10 12:42:30,677 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.6065 | Take profit: 2030.3805000000002 +2025-03-10 12:42:30,867 - INFO - CLOSED short at 2066.01 | PnL: -0.23% | $-1.18 +2025-03-10 12:42:30,957 - INFO - OPENED SHORT at 2064.49 | Stop loss: 2074.8124499999994 | Take profit: 2033.5226499999997 +2025-03-10 12:42:31,104 - INFO - CLOSED short at 2066.79 | PnL: -0.11% | $-0.75 +2025-03-10 12:42:31,104 - INFO - OPENED LONG at 2066.79 | Stop loss: 2056.45605 | Take profit: 2097.7918499999996 +2025-03-10 12:42:31,248 - INFO - CLOSED long at 2065.69 | PnL: -0.05% | $-0.54 +2025-03-10 12:42:31,346 - INFO - OPENED LONG at 2072.0 | Stop loss: 2061.64 | Take profit: 2103.08 +2025-03-10 12:42:31,798 - INFO - CLOSED long at 2070.0 | PnL: -0.10% | $-0.68 +2025-03-10 12:42:32,126 - INFO - OPENED SHORT at 2068.79 | Stop loss: 2079.13395 | Take profit: 2037.75815 +2025-03-10 12:42:32,435 - INFO - CLOSED short at 2065.7 | PnL: 0.15% | $0.17 +2025-03-10 12:42:32,436 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.3714999999997 | Take profit: 2096.6854999999996 +2025-03-10 12:42:32,577 - INFO - CLOSED long at 2063.97 | PnL: -0.08% | $-0.64 +2025-03-10 12:42:32,880 - INFO - OPENED SHORT at 2067.53 | Stop loss: 2077.86765 | Take profit: 2036.5170500000002 +2025-03-10 12:42:32,981 - INFO - CLOSED short at 2065.31 | PnL: 0.11% | $0.03 +2025-03-10 12:42:33,139 - INFO - OPENED SHORT at 2068.59 | Stop loss: 2078.93295 | Take profit: 2037.5611500000002 +2025-03-10 12:42:33,360 - INFO - CLOSED short at 2070.9 | PnL: -0.11% | $-0.73 +2025-03-10 12:42:33,361 - INFO - OPENED LONG at 2070.9 | Stop loss: 2060.5455 | Take profit: 2101.9635 +2025-03-10 12:42:33,421 - INFO - CLOSED long at 2069.69 | PnL: -0.06% | $-0.54 +2025-03-10 12:42:33,526 - INFO - OPENED SHORT at 2070.8 | Stop loss: 2081.154 | Take profit: 2039.738 +2025-03-10 12:42:33,835 - INFO - CLOSED short at 2070.67 | PnL: 0.01% | $-0.32 +2025-03-10 12:42:33,885 - INFO - OPENED LONG at 2069.78 | Stop loss: 2059.4311000000002 | Take profit: 2100.8267 +2025-03-10 12:42:33,940 - INFO - CLOSED long at 2071.61 | PnL: 0.09% | $-0.04 +2025-03-10 12:42:33,989 - INFO - OPENED LONG at 2074.37 | Stop loss: 2063.99815 | Take profit: 2105.48555 +2025-03-10 12:42:34,039 - INFO - CLOSED long at 2075.07 | PnL: 0.03% | $-0.22 +2025-03-10 12:42:34,528 - INFO - OPENED SHORT at 2069.97 | Stop loss: 2080.3198499999994 | Take profit: 2038.9204499999998 +2025-03-10 12:42:35,119 - INFO - CLOSED short at 2067.19 | PnL: 0.13% | $0.12 +2025-03-10 12:42:35,120 - INFO - OPENED LONG at 2067.19 | Stop loss: 2056.85405 | Take profit: 2098.19785 +2025-03-10 12:42:35,701 - INFO - CLOSED long at 2064.11 | PnL: -0.15% | $-0.84 +2025-03-10 12:42:35,701 - INFO - OPENED SHORT at 2064.11 | Stop loss: 2074.43055 | Take profit: 2033.1483500000002 +2025-03-10 12:42:35,929 - INFO - CLOSED short at 2060.2 | PnL: 0.19% | $0.30 +2025-03-10 12:42:35,978 - INFO - OPENED SHORT at 2059.2 | Stop loss: 2069.4959999999996 | Take profit: 2028.312 +2025-03-10 12:42:36,026 - INFO - CLOSED short at 2058.09 | PnL: 0.05% | $-0.15 +2025-03-10 12:42:36,071 - INFO - OPENED LONG at 2058.65 | Stop loss: 2048.35675 | Take profit: 2089.5297499999997 +2025-03-10 12:42:36,118 - INFO - CLOSED long at 2056.77 | PnL: -0.09% | $-0.64 +2025-03-10 12:42:36,119 - INFO - OPENED SHORT at 2056.77 | Stop loss: 2067.05385 | Take profit: 2025.91845 +2025-03-10 12:42:36,227 - INFO - CLOSED short at 2049.21 | PnL: 0.37% | $0.89 +2025-03-10 12:42:36,331 - INFO - OPENED LONG at 2051.99 | Stop loss: 2041.7300499999997 | Take profit: 2082.7698499999997 +2025-03-10 12:42:36,571 - INFO - CLOSED long at 2062.83 | PnL: 0.53% | $1.44 +2025-03-10 12:42:37,010 - INFO - OPENED SHORT at 2064.08 | Stop loss: 2074.4003999999995 | Take profit: 2033.1188 +2025-03-10 12:42:37,196 - INFO - CLOSED short at 2061.84 | PnL: 0.11% | $0.03 +2025-03-10 12:42:37,896 - INFO - OPENED SHORT at 2076.08 | Stop loss: 2086.4603999999995 | Take profit: 2044.9388 +2025-03-10 12:42:37,993 - INFO - CLOSED short at 2085.56 | PnL: -0.46% | $-1.90 +2025-03-10 12:42:38,380 - INFO - OPENED LONG at 2137.59 | Stop loss: 2126.90205 | Take profit: 2169.65385 +2025-03-10 12:42:38,437 - INFO - CLOSED long at 2141.41 | PnL: 0.18% | $0.26 +2025-03-10 12:42:38,438 - INFO - OPENED SHORT at 2141.41 | Stop loss: 2152.11705 | Take profit: 2109.28885 +2025-03-10 12:42:38,545 - INFO - CLOSED short at 2142.68 | PnL: -0.06% | $-0.53 +2025-03-10 12:42:38,545 - INFO - OPENED LONG at 2142.68 | Stop loss: 2131.9665999999997 | Take profit: 2174.8201999999997 +2025-03-10 12:42:38,736 - INFO - STOP LOSS hit for long at 2131.9665999999997 | PnL: -0.50% | $-1.99 +2025-03-10 12:42:38,855 - INFO - OPENED SHORT at 2128.69 | Stop loss: 2139.3334499999996 | Take profit: 2096.75965 +2025-03-10 12:42:38,955 - INFO - CLOSED short at 2120.15 | PnL: 0.40% | $0.98 +2025-03-10 12:42:39,012 - INFO - OPENED LONG at 2117.24 | Stop loss: 2106.6537999999996 | Take profit: 2148.9985999999994 +2025-03-10 12:42:39,318 - INFO - CLOSED long at 2115.28 | PnL: -0.09% | $-0.63 +2025-03-10 12:42:39,590 - INFO - OPENED LONG at 2112.95 | Stop loss: 2102.38525 | Take profit: 2144.64425 +2025-03-10 12:42:39,746 - INFO - CLOSED long at 2112.99 | PnL: 0.00% | $-0.32 +2025-03-10 12:42:39,799 - INFO - OPENED LONG at 2120.81 | Stop loss: 2110.20595 | Take profit: 2152.6221499999997 +2025-03-10 12:42:39,893 - INFO - CLOSED long at 2114.8 | PnL: -0.28% | $-1.24 +2025-03-10 12:42:39,894 - INFO - OPENED SHORT at 2114.8 | Stop loss: 2125.374 | Take profit: 2083.078 +2025-03-10 12:42:39,985 - INFO - CLOSED short at 2108.71 | PnL: 0.29% | $0.60 +2025-03-10 12:42:40,090 - INFO - OPENED LONG at 2108.06 | Stop loss: 2097.5197 | Take profit: 2139.6809 +2025-03-10 12:42:40,136 - INFO - CLOSED long at 2103.33 | PnL: -0.22% | $-1.04 +2025-03-10 12:42:40,137 - INFO - OPENED SHORT at 2103.33 | Stop loss: 2113.8466499999995 | Take profit: 2071.78005 +2025-03-10 12:42:40,287 - INFO - CLOSED short at 2099.53 | PnL: 0.18% | $0.26 +2025-03-10 12:42:40,337 - INFO - OPENED LONG at 2098.1 | Stop loss: 2087.6095 | Take profit: 2129.5714999999996 +2025-03-10 12:42:40,440 - INFO - CLOSED long at 2102.29 | PnL: 0.20% | $0.32 +2025-03-10 12:42:40,722 - INFO - OPENED SHORT at 2106.39 | Stop loss: 2116.9219499999995 | Take profit: 2074.7941499999997 +2025-03-10 12:42:40,774 - INFO - CLOSED short at 2100.74 | PnL: 0.27% | $0.54 +2025-03-10 12:42:40,774 - INFO - OPENED LONG at 2100.74 | Stop loss: 2090.2362999999996 | Take profit: 2132.2510999999995 +2025-03-10 12:42:40,949 - INFO - CLOSED long at 2101.51 | PnL: 0.04% | $-0.20 +2025-03-10 12:42:41,106 - INFO - OPENED LONG at 2098.39 | Stop loss: 2087.89805 | Take profit: 2129.8658499999997 +2025-03-10 12:42:41,204 - INFO - CLOSED long at 2093.46 | PnL: -0.23% | $-1.08 +2025-03-10 12:42:41,256 - INFO - OPENED SHORT at 2093.33 | Stop loss: 2103.7966499999998 | Take profit: 2061.93005 +2025-03-10 12:42:41,372 - INFO - CLOSED short at 2091.1 | PnL: 0.11% | $0.02 +2025-03-10 12:42:41,427 - INFO - OPENED SHORT at 2094.72 | Stop loss: 2105.1935999999996 | Take profit: 2063.2992 +2025-03-10 12:42:41,477 - INFO - CLOSED short at 2094.08 | PnL: 0.03% | $-0.22 +2025-03-10 12:42:41,524 - INFO - OPENED LONG at 2088.35 | Stop loss: 2077.90825 | Take profit: 2119.67525 +2025-03-10 12:42:41,575 - INFO - CLOSED long at 2083.28 | PnL: -0.24% | $-1.08 +2025-03-10 12:42:41,960 - INFO - OPENED SHORT at 2081.25 | Stop loss: 2091.65625 | Take profit: 2050.03125 +2025-03-10 12:42:42,065 - INFO - CLOSED short at 2085.09 | PnL: -0.18% | $-0.89 +2025-03-10 12:42:42,174 - INFO - OPENED LONG at 2086.57 | Stop loss: 2076.13715 | Take profit: 2117.86855 +2025-03-10 12:42:42,640 - INFO - CLOSED long at 2088.1 | PnL: 0.07% | $-0.08 +2025-03-10 12:42:42,641 - INFO - OPENED SHORT at 2088.1 | Stop loss: 2098.5404999999996 | Take profit: 2056.7785 +2025-03-10 12:42:42,768 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 31.2% in downtrends | Avg Win=$0.37, Avg Loss=$-0.58 +2025-03-10 12:42:42,770 - INFO - Episode 3: Reward=-46.90, Balance=$76.99, Win Rate=30.9%, Trades=81, Episode PnL=$-12.78, Total PnL=$-112.96, Max Drawdown=23.0%, Pred Accuracy=99.2% +2025-03-10 12:42:42,920 - INFO - Model saved to models/trading_agent_best_reward.pt +2025-03-10 12:42:42,921 - INFO - New best reward model saved: -46.90 +2025-03-10 12:42:43,060 - INFO - Model saved to models/trading_agent_best_winrate.pt +2025-03-10 12:42:43,060 - INFO - New best win rate model saved: 30.9% +2025-03-10 12:42:43,087 - INFO - Identified 26 optimal buy points and 27 optimal sell points +2025-03-10 12:42:43,561 - INFO - OPENED SHORT at 2060.1 | Stop loss: 2070.4004999999997 | Take profit: 2029.1985 +2025-03-10 12:42:43,662 - INFO - CLOSED short at 2057.52 | PnL: 0.13% | $0.10 +2025-03-10 12:42:44,142 - INFO - OPENED SHORT at 2055.39 | Stop loss: 2065.66695 | Take profit: 2024.5591499999998 +2025-03-10 12:42:44,190 - INFO - CLOSED short at 2053.56 | PnL: 0.09% | $-0.04 +2025-03-10 12:42:44,191 - INFO - OPENED LONG at 2053.56 | Stop loss: 2043.2921999999999 | Take profit: 2084.3633999999997 +2025-03-10 12:42:44,296 - INFO - CLOSED long at 2051.66 | PnL: -0.09% | $-0.77 +2025-03-10 12:42:44,297 - INFO - OPENED SHORT at 2051.66 | Stop loss: 2061.9183 | Take profit: 2020.8850999999997 +2025-03-10 12:42:44,462 - INFO - CLOSED short at 2052.25 | PnL: -0.03% | $-0.51 +2025-03-10 12:42:44,509 - INFO - OPENED SHORT at 2050.71 | Stop loss: 2060.96355 | Take profit: 2019.94935 +2025-03-10 12:42:44,562 - INFO - CLOSED short at 2050.44 | PnL: 0.01% | $-0.34 +2025-03-10 12:42:44,807 - INFO - OPENED SHORT at 2049.61 | Stop loss: 2059.85805 | Take profit: 2018.8658500000001 +2025-03-10 12:42:44,865 - INFO - CLOSED short at 2049.24 | PnL: 0.02% | $-0.32 +2025-03-10 12:42:44,912 - INFO - OPENED LONG at 2048.48 | Stop loss: 2038.2376 | Take profit: 2079.2072 +2025-03-10 12:42:44,958 - INFO - CLOSED long at 2047.39 | PnL: -0.05% | $-0.60 +2025-03-10 12:42:45,054 - INFO - OPENED SHORT at 2047.4 | Stop loss: 2057.6369999999997 | Take profit: 2016.689 +2025-03-10 12:42:45,406 - INFO - CLOSED short at 2048.51 | PnL: -0.05% | $-0.60 +2025-03-10 12:42:45,406 - INFO - OPENED LONG at 2048.51 | Stop loss: 2038.2674500000003 | Take profit: 2079.23765 +2025-03-10 12:42:45,512 - INFO - CLOSED long at 2050.24 | PnL: 0.08% | $-0.06 +2025-03-10 12:42:45,569 - INFO - OPENED LONG at 2049.89 | Stop loss: 2039.6405499999998 | Take profit: 2080.6383499999997 +2025-03-10 12:42:45,617 - INFO - CLOSED long at 2051.11 | PnL: 0.06% | $-0.16 +2025-03-10 12:42:45,618 - INFO - OPENED SHORT at 2051.11 | Stop loss: 2061.36555 | Take profit: 2020.34335 +2025-03-10 12:42:46,089 - INFO - STOP LOSS hit for short at 2061.36555 | PnL: -0.50% | $-2.32 +2025-03-10 12:42:46,518 - INFO - OPENED SHORT at 2060.0 | Stop loss: 2070.2999999999997 | Take profit: 2029.1 +2025-03-10 12:42:46,696 - INFO - CLOSED short at 2059.49 | PnL: 0.02% | $-0.28 +2025-03-10 12:42:46,697 - INFO - OPENED LONG at 2059.49 | Stop loss: 2049.1925499999998 | Take profit: 2090.3823499999994 +2025-03-10 12:42:46,748 - INFO - CLOSED long at 2057.8 | PnL: -0.08% | $-0.69 +2025-03-10 12:42:46,749 - INFO - OPENED SHORT at 2057.8 | Stop loss: 2068.089 | Take profit: 2026.9330000000002 +2025-03-10 12:42:47,126 - INFO - STOP LOSS hit for short at 2068.089 | PnL: -0.50% | $-2.24 +2025-03-10 12:42:47,223 - INFO - OPENED LONG at 2068.29 | Stop loss: 2057.94855 | Take profit: 2099.3143499999996 +2025-03-10 12:42:47,273 - INFO - CLOSED long at 2067.89 | PnL: -0.02% | $-0.44 +2025-03-10 12:42:47,326 - INFO - OPENED LONG at 2071.63 | Stop loss: 2061.27185 | Take profit: 2102.7044499999997 +2025-03-10 12:42:47,442 - INFO - CLOSED long at 2069.6 | PnL: -0.10% | $-0.72 +2025-03-10 12:42:47,750 - INFO - OPENED SHORT at 2071.44 | Stop loss: 2081.7972 | Take profit: 2040.3684 +2025-03-10 12:42:47,848 - INFO - CLOSED short at 2075.1 | PnL: -0.18% | $-1.00 +2025-03-10 12:42:47,850 - INFO - OPENED LONG at 2075.1 | Stop loss: 2064.7245 | Take profit: 2106.2264999999998 +2025-03-10 12:42:48,062 - INFO - CLOSED long at 2071.41 | PnL: -0.18% | $-0.99 +2025-03-10 12:42:48,305 - INFO - OPENED SHORT at 2070.79 | Stop loss: 2081.1439499999997 | Take profit: 2039.72815 +2025-03-10 12:42:48,353 - INFO - CLOSED short at 2070.28 | PnL: 0.02% | $-0.27 +2025-03-10 12:42:48,353 - INFO - OPENED LONG at 2070.28 | Stop loss: 2059.9286 | Take profit: 2101.3342 +2025-03-10 12:42:48,657 - INFO - CLOSED long at 2069.34 | PnL: -0.05% | $-0.51 +2025-03-10 12:42:48,744 - INFO - OPENED SHORT at 2068.8 | Stop loss: 2079.144 | Take profit: 2037.7680000000003 +2025-03-10 12:42:48,931 - INFO - CLOSED short at 2066.39 | PnL: 0.12% | $0.06 +2025-03-10 12:42:49,179 - INFO - OPENED LONG at 2066.18 | Stop loss: 2055.8491 | Take profit: 2097.1726999999996 +2025-03-10 12:42:49,370 - INFO - CLOSED long at 2068.59 | PnL: 0.12% | $0.06 +2025-03-10 12:42:49,459 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.0480000000002 | Take profit: 2101.4559999999997 +2025-03-10 12:42:49,803 - INFO - CLOSED long at 2072.7 | PnL: 0.11% | $0.04 +2025-03-10 12:42:49,803 - INFO - OPENED SHORT at 2072.7 | Stop loss: 2083.0634999999997 | Take profit: 2041.6094999999998 +2025-03-10 12:42:49,900 - INFO - CLOSED short at 2074.29 | PnL: -0.08% | $-0.62 +2025-03-10 12:42:49,901 - INFO - OPENED LONG at 2074.29 | Stop loss: 2063.91855 | Take profit: 2105.40435 +2025-03-10 12:42:49,997 - INFO - CLOSED long at 2071.92 | PnL: -0.11% | $-0.74 +2025-03-10 12:42:49,998 - INFO - OPENED SHORT at 2071.92 | Stop loss: 2082.2796 | Take profit: 2040.8412 +2025-03-10 12:42:50,328 - INFO - CLOSED short at 2067.79 | PnL: 0.20% | $0.34 +2025-03-10 12:42:50,613 - INFO - OPENED SHORT at 2067.89 | Stop loss: 2078.22945 | Take profit: 2036.8716499999998 +2025-03-10 12:42:50,662 - INFO - CLOSED short at 2068.58 | PnL: -0.03% | $-0.46 +2025-03-10 12:42:50,819 - INFO - OPENED SHORT at 2067.86 | Stop loss: 2078.1992999999998 | Take profit: 2036.8421 +2025-03-10 12:42:51,025 - INFO - CLOSED short at 2071.59 | PnL: -0.18% | $-0.96 +2025-03-10 12:42:51,026 - INFO - OPENED LONG at 2071.59 | Stop loss: 2061.23205 | Take profit: 2102.66385 +2025-03-10 12:42:51,264 - INFO - CLOSED long at 2068.69 | PnL: -0.14% | $-0.82 +2025-03-10 12:42:51,265 - INFO - OPENED SHORT at 2068.69 | Stop loss: 2079.03345 | Take profit: 2037.65965 +2025-03-10 12:42:51,312 - INFO - CLOSED short at 2067.84 | PnL: 0.04% | $-0.20 +2025-03-10 12:42:51,493 - INFO - OPENED SHORT at 2066.1 | Stop loss: 2076.4304999999995 | Take profit: 2035.1084999999998 +2025-03-10 12:42:51,637 - INFO - CLOSED short at 2064.47 | PnL: 0.08% | $-0.07 +2025-03-10 12:42:51,638 - INFO - OPENED LONG at 2064.47 | Stop loss: 2054.14765 | Take profit: 2095.4370499999995 +2025-03-10 12:42:51,948 - INFO - CLOSED long at 2064.99 | PnL: 0.03% | $-0.25 +2025-03-10 12:42:51,948 - INFO - OPENED SHORT at 2064.99 | Stop loss: 2075.3149499999995 | Take profit: 2034.0151499999997 +2025-03-10 12:42:52,089 - INFO - CLOSED short at 2065.26 | PnL: -0.01% | $-0.38 +2025-03-10 12:42:52,090 - INFO - OPENED LONG at 2065.26 | Stop loss: 2054.9337 | Take profit: 2096.2389 +2025-03-10 12:42:52,198 - INFO - CLOSED long at 2062.65 | PnL: -0.13% | $-0.75 +2025-03-10 12:42:52,299 - INFO - OPENED SHORT at 2059.59 | Stop loss: 2069.88795 | Take profit: 2028.6961500000002 +2025-03-10 12:42:52,506 - INFO - CLOSED short at 2066.24 | PnL: -0.32% | $-1.40 +2025-03-10 12:42:52,692 - INFO - OPENED SHORT at 2064.45 | Stop loss: 2074.7722499999995 | Take profit: 2033.4832499999998 +2025-03-10 12:42:52,736 - INFO - CLOSED short at 2064.08 | PnL: 0.02% | $-0.27 +2025-03-10 12:42:52,828 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.57555 | Take profit: 2093.83335 +2025-03-10 12:42:53,023 - INFO - CLOSED long at 2060.9 | PnL: -0.10% | $-0.64 +2025-03-10 12:42:53,068 - INFO - OPENED SHORT at 2060.65 | Stop loss: 2070.95325 | Take profit: 2029.74025 +2025-03-10 12:42:53,647 - INFO - CLOSED short at 2065.36 | PnL: -0.23% | $-1.05 +2025-03-10 12:42:53,833 - INFO - OPENED LONG at 2065.89 | Stop loss: 2055.5605499999997 | Take profit: 2096.8783499999995 +2025-03-10 12:42:53,981 - INFO - CLOSED long at 2062.6 | PnL: -0.16% | $-0.82 +2025-03-10 12:42:54,219 - INFO - OPENED LONG at 2059.61 | Stop loss: 2049.3119500000003 | Take profit: 2090.5041499999998 +2025-03-10 12:42:54,269 - INFO - CLOSED long at 2059.16 | PnL: -0.02% | $-0.38 +2025-03-10 12:42:54,493 - INFO - OPENED LONG at 2059.46 | Stop loss: 2049.1627 | Take profit: 2090.3518999999997 +2025-03-10 12:42:54,889 - INFO - CLOSED long at 2056.71 | PnL: -0.13% | $-0.73 +2025-03-10 12:42:55,243 - INFO - OPENED SHORT at 2062.69 | Stop loss: 2073.0034499999997 | Take profit: 2031.74965 +2025-03-10 12:42:55,481 - INFO - CLOSED short at 2064.49 | PnL: -0.09% | $-0.58 +2025-03-10 12:42:55,775 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.01845 | Take profit: 2034.7046500000001 +2025-03-10 12:42:55,982 - INFO - STOP LOSS hit for short at 2076.01845 | PnL: -0.50% | $-1.84 +2025-03-10 12:42:56,262 - INFO - OPENED LONG at 2073.23 | Stop loss: 2062.86385 | Take profit: 2104.32845 +2025-03-10 12:42:56,369 - INFO - CLOSED long at 2068.15 | PnL: -0.25% | $-1.03 +2025-03-10 12:42:56,423 - INFO - OPENED SHORT at 2068.39 | Stop loss: 2078.73195 | Take profit: 2037.3641499999999 +2025-03-10 12:42:56,667 - INFO - CLOSED short at 2072.99 | PnL: -0.22% | $-0.95 +2025-03-10 12:42:56,765 - INFO - OPENED SHORT at 2069.87 | Stop loss: 2080.21935 | Take profit: 2038.8219499999998 +2025-03-10 12:42:57,172 - INFO - CLOSED short at 2065.3 | PnL: 0.22% | $0.35 +2025-03-10 12:42:57,173 - INFO - OPENED LONG at 2065.3 | Stop loss: 2054.9735 | Take profit: 2096.2795 +2025-03-10 12:42:57,410 - INFO - CLOSED long at 2065.29 | PnL: -0.00% | $-0.29 +2025-03-10 12:42:57,410 - INFO - OPENED SHORT at 2065.29 | Stop loss: 2075.6164499999995 | Take profit: 2034.31065 +2025-03-10 12:42:57,456 - INFO - CLOSED short at 2065.31 | PnL: -0.00% | $-0.29 +2025-03-10 12:42:57,545 - INFO - OPENED LONG at 2066.5 | Stop loss: 2056.1675 | Take profit: 2097.4975 +2025-03-10 12:42:57,589 - INFO - CLOSED long at 2068.59 | PnL: 0.10% | $0.00 +2025-03-10 12:42:57,640 - INFO - OPENED SHORT at 2071.59 | Stop loss: 2081.9479499999998 | Take profit: 2040.5161500000002 +2025-03-10 12:42:58,000 - INFO - CLOSED short at 2070.61 | PnL: 0.05% | $-0.15 +2025-03-10 12:42:58,048 - INFO - OPENED LONG at 2071.99 | Stop loss: 2061.6300499999998 | Take profit: 2103.0698499999994 +2025-03-10 12:42:58,099 - INFO - CLOSED long at 2068.19 | PnL: -0.18% | $-0.82 +2025-03-10 12:42:58,099 - INFO - OPENED SHORT at 2068.19 | Stop loss: 2078.53095 | Take profit: 2037.16715 +2025-03-10 12:42:58,146 - INFO - CLOSED short at 2068.67 | PnL: -0.02% | $-0.35 +2025-03-10 12:42:58,416 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.44535 | Take profit: 2043.94395 +2025-03-10 12:42:58,588 - INFO - CLOSED short at 2073.99 | PnL: 0.05% | $-0.14 +2025-03-10 12:42:58,589 - INFO - OPENED LONG at 2073.99 | Stop loss: 2063.62005 | Take profit: 2105.0998499999996 +2025-03-10 12:42:58,749 - INFO - CLOSED long at 2076.9 | PnL: 0.14% | $0.11 +2025-03-10 12:42:59,007 - INFO - OPENED SHORT at 2067.7 | Stop loss: 2078.0384999999997 | Take profit: 2036.6844999999998 +2025-03-10 12:42:59,180 - INFO - CLOSED short at 2066.4 | PnL: 0.06% | $-0.11 +2025-03-10 12:42:59,228 - INFO - OPENED LONG at 2066.89 | Stop loss: 2056.55555 | Take profit: 2097.89335 +2025-03-10 12:42:59,738 - INFO - CLOSED long at 2065.8 | PnL: -0.05% | $-0.43 +2025-03-10 12:42:59,932 - INFO - OPENED LONG at 2062.34 | Stop loss: 2052.0283 | Take profit: 2093.2751 +2025-03-10 12:43:00,031 - INFO - CLOSED long at 2066.1 | PnL: 0.18% | $0.23 +2025-03-10 12:43:00,032 - INFO - OPENED SHORT at 2066.1 | Stop loss: 2076.4304999999995 | Take profit: 2035.1084999999998 +2025-03-10 12:43:00,232 - INFO - CLOSED short at 2066.33 | PnL: -0.01% | $-0.32 +2025-03-10 12:43:00,233 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.99835 | Take profit: 2097.3249499999997 +2025-03-10 12:43:00,338 - INFO - CLOSED long at 2060.7 | PnL: -0.27% | $-1.05 +2025-03-10 12:43:00,391 - INFO - OPENED LONG at 2060.2 | Stop loss: 2049.899 | Take profit: 2091.1029999999996 +2025-03-10 12:43:00,452 - INFO - CLOSED long at 2059.2 | PnL: -0.05% | $-0.41 +2025-03-10 12:43:00,453 - INFO - OPENED SHORT at 2059.2 | Stop loss: 2069.4959999999996 | Take profit: 2028.312 +2025-03-10 12:43:00,550 - INFO - CLOSED short at 2058.65 | PnL: 0.03% | $-0.20 +2025-03-10 12:43:00,551 - INFO - OPENED LONG at 2058.65 | Stop loss: 2048.35675 | Take profit: 2089.5297499999997 +2025-03-10 12:43:00,702 - INFO - CLOSED long at 2049.21 | PnL: -0.46% | $-1.54 +2025-03-10 12:43:00,702 - INFO - OPENED SHORT at 2049.21 | Stop loss: 2059.45605 | Take profit: 2018.47185 +2025-03-10 12:43:00,795 - INFO - CLOSED short at 2051.99 | PnL: -0.14% | $-0.64 +2025-03-10 12:43:00,796 - INFO - OPENED LONG at 2051.99 | Stop loss: 2041.7300499999997 | Take profit: 2082.7698499999997 +2025-03-10 12:43:00,885 - INFO - CLOSED long at 2056.85 | PnL: 0.24% | $0.37 +2025-03-10 12:43:01,851 - INFO - OPENED LONG at 2070.31 | Stop loss: 2059.95845 | Take profit: 2101.3646499999995 +2025-03-10 12:43:01,900 - INFO - CLOSED long at 2070.24 | PnL: -0.00% | $-0.28 +2025-03-10 12:43:01,954 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.9933 | Take profit: 2100.3801 +2025-03-10 12:43:02,087 - INFO - CLOSED long at 2073.49 | PnL: 0.20% | $0.27 +2025-03-10 12:43:02,088 - INFO - OPENED SHORT at 2073.49 | Stop loss: 2083.8574499999995 | Take profit: 2042.3876499999997 +2025-03-10 12:43:02,134 - INFO - CLOSED short at 2074.05 | PnL: -0.03% | $-0.34 +2025-03-10 12:43:02,135 - INFO - OPENED LONG at 2074.05 | Stop loss: 2063.6797500000002 | Take profit: 2105.16075 +2025-03-10 12:43:02,705 - INFO - TAKE PROFIT hit for long at 2105.16075 | PnL: 1.50% | $3.74 +2025-03-10 12:43:02,879 - INFO - OPENED SHORT at 2133.95 | Stop loss: 2144.6197499999994 | Take profit: 2101.9407499999998 +2025-03-10 12:43:03,044 - INFO - CLOSED short at 2141.3 | PnL: -0.34% | $-1.25 +2025-03-10 12:43:03,100 - INFO - OPENED SHORT at 2142.68 | Stop loss: 2153.3933999999995 | Take profit: 2110.5398 +2025-03-10 12:43:03,572 - INFO - CLOSED short at 2119.93 | PnL: 1.06% | $2.66 +2025-03-10 12:43:03,572 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.3303499999997 | Take profit: 2151.7289499999997 +2025-03-10 12:43:03,619 - INFO - CLOSED long at 2121.4 | PnL: 0.07% | $-0.09 +2025-03-10 12:43:03,904 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.047 | Take profit: 2142.2589999999996 +2025-03-10 12:43:03,948 - INFO - CLOSED long at 2109.05 | PnL: -0.07% | $-0.50 +2025-03-10 12:43:04,095 - INFO - OPENED SHORT at 2112.46 | Stop loss: 2123.0222999999996 | Take profit: 2080.7731 +2025-03-10 12:43:04,141 - INFO - CLOSED short at 2113.24 | PnL: -0.04% | $-0.39 +2025-03-10 12:43:04,142 - INFO - OPENED LONG at 2113.24 | Stop loss: 2102.6737999999996 | Take profit: 2144.9385999999995 +2025-03-10 12:43:04,336 - INFO - CLOSED long at 2114.8 | PnL: 0.07% | $-0.07 +2025-03-10 12:43:04,422 - INFO - OPENED LONG at 2108.71 | Stop loss: 2098.16645 | Take profit: 2140.3406499999996 +2025-03-10 12:43:04,659 - INFO - CLOSED long at 2090.0 | PnL: -0.89% | $-2.80 +2025-03-10 12:43:04,660 - INFO - OPENED SHORT at 2090.0 | Stop loss: 2100.45 | Take profit: 2058.65 +2025-03-10 12:43:04,705 - INFO - CLOSED short at 2099.53 | PnL: -0.46% | $-1.51 +2025-03-10 12:43:04,706 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0323500000004 | Take profit: 2131.02295 +2025-03-10 12:43:05,381 - INFO - CLOSED long at 2100.02 | PnL: 0.02% | $-0.20 +2025-03-10 12:43:05,494 - INFO - OPENED SHORT at 2095.29 | Stop loss: 2105.7664499999996 | Take profit: 2063.86065 +2025-03-10 12:43:05,546 - INFO - CLOSED short at 2093.46 | PnL: 0.09% | $-0.03 +2025-03-10 12:43:05,947 - INFO - OPENED SHORT at 2088.44 | Stop loss: 2098.8822 | Take profit: 2057.1134 +2025-03-10 12:43:06,047 - INFO - CLOSED short at 2085.3 | PnL: 0.15% | $0.13 +2025-03-10 12:43:06,196 - INFO - OPENED LONG at 2080.38 | Stop loss: 2069.9781000000003 | Take profit: 2111.5857 +2025-03-10 12:43:06,347 - INFO - CLOSED long at 2085.09 | PnL: 0.23% | $0.34 +2025-03-10 12:43:06,348 - INFO - OPENED SHORT at 2085.09 | Stop loss: 2095.51545 | Take profit: 2053.81365 +2025-03-10 12:43:06,398 - INFO - CLOSED short at 2083.59 | PnL: 0.07% | $-0.07 +2025-03-10 12:43:06,399 - INFO - OPENED LONG at 2083.59 | Stop loss: 2073.17205 | Take profit: 2114.8438499999997 +2025-03-10 12:43:06,552 - INFO - CLOSED long at 2084.72 | PnL: 0.05% | $-0.12 +2025-03-10 12:43:06,552 - INFO - OPENED SHORT at 2084.72 | Stop loss: 2095.1435999999994 | Take profit: 2053.4491999999996 +2025-03-10 12:43:06,906 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 13.0% in downtrends | Avg Win=$0.59, Avg Loss=$-0.63 +2025-03-10 12:43:06,907 - INFO - Episode 4: Reward=165.81, Balance=$66.59, Win Rate=18.3%, Trades=82, Episode PnL=$-20.06, Total PnL=$-146.36, Max Drawdown=33.7%, Pred Accuracy=99.6% +2025-03-10 12:43:07,062 - INFO - Model saved to models/trading_agent_best_reward.pt +2025-03-10 12:43:07,062 - INFO - New best reward model saved: 165.81 +2025-03-10 12:43:07,094 - INFO - Identified 26 optimal buy points and 27 optimal sell points +2025-03-10 12:43:07,490 - INFO - OPENED SHORT at 2059.4 | Stop loss: 2069.6969999999997 | Take profit: 2028.509 +2025-03-10 12:43:07,602 - INFO - CLOSED short at 2060.51 | PnL: -0.05% | $-0.62 +2025-03-10 12:43:07,648 - INFO - OPENED LONG at 2057.52 | Stop loss: 2047.2323999999999 | Take profit: 2088.3828 +2025-03-10 12:43:08,283 - INFO - CLOSED long at 2051.66 | PnL: -0.28% | $-1.53 +2025-03-10 12:43:08,339 - INFO - OPENED LONG at 2052.16 | Stop loss: 2041.8991999999998 | Take profit: 2082.9423999999995 +2025-03-10 12:43:08,443 - INFO - CLOSED long at 2052.25 | PnL: 0.00% | $-0.37 +2025-03-10 12:43:08,444 - INFO - OPENED SHORT at 2052.25 | Stop loss: 2062.5112499999996 | Take profit: 2021.46625 +2025-03-10 12:43:08,765 - INFO - CLOSED short at 2051.99 | PnL: 0.01% | $-0.34 +2025-03-10 12:43:08,817 - INFO - OPENED LONG at 2049.61 | Stop loss: 2039.3619500000002 | Take profit: 2080.35415 +2025-03-10 12:43:09,166 - INFO - CLOSED long at 2045.99 | PnL: -0.18% | $-1.07 +2025-03-10 12:43:09,167 - INFO - OPENED SHORT at 2045.99 | Stop loss: 2056.2199499999997 | Take profit: 2015.30015 +2025-03-10 12:43:09,260 - INFO - CLOSED short at 2045.79 | PnL: 0.01% | $-0.35 +2025-03-10 12:43:09,260 - INFO - OPENED LONG at 2045.79 | Stop loss: 2035.56105 | Take profit: 2076.4768499999996 +2025-03-10 12:43:09,469 - INFO - CLOSED long at 2050.0 | PnL: 0.21% | $0.41 +2025-03-10 12:43:09,469 - INFO - OPENED SHORT at 2050.0 | Stop loss: 2060.25 | Take profit: 2019.25 +2025-03-10 12:43:09,883 - INFO - CLOSED short at 2057.01 | PnL: -0.34% | $-1.70 +2025-03-10 12:43:09,883 - INFO - OPENED LONG at 2057.01 | Stop loss: 2046.7249500000003 | Take profit: 2087.86515 +2025-03-10 12:43:09,934 - INFO - CLOSED long at 2056.89 | PnL: -0.01% | $-0.40 +2025-03-10 12:43:10,122 - INFO - OPENED SHORT at 2061.49 | Stop loss: 2071.7974499999996 | Take profit: 2030.5676499999997 +2025-03-10 12:43:10,168 - INFO - CLOSED short at 2063.29 | PnL: -0.09% | $-0.70 +2025-03-10 12:43:10,168 - INFO - OPENED LONG at 2063.29 | Stop loss: 2052.97355 | Take profit: 2094.23935 +2025-03-10 12:43:10,210 - INFO - CLOSED long at 2064.61 | PnL: 0.06% | $-0.13 +2025-03-10 12:43:10,259 - INFO - OPENED LONG at 2063.59 | Stop loss: 2053.27205 | Take profit: 2094.54385 +2025-03-10 12:43:11,040 - INFO - CLOSED long at 2061.79 | PnL: -0.09% | $-0.70 +2025-03-10 12:43:11,090 - INFO - OPENED SHORT at 2061.18 | Stop loss: 2071.4858999999997 | Take profit: 2030.2622999999999 +2025-03-10 12:43:11,141 - INFO - CLOSED short at 2064.32 | PnL: -0.15% | $-0.93 +2025-03-10 12:43:11,142 - INFO - OPENED LONG at 2064.32 | Stop loss: 2053.9984 | Take profit: 2095.2848 +2025-03-10 12:43:11,277 - INFO - CLOSED long at 2068.11 | PnL: 0.18% | $0.31 +2025-03-10 12:43:11,808 - INFO - OPENED LONG at 2070.26 | Stop loss: 2059.9087000000004 | Take profit: 2101.3139 +2025-03-10 12:43:11,856 - INFO - CLOSED long at 2071.44 | PnL: 0.06% | $-0.16 +2025-03-10 12:43:12,028 - INFO - OPENED SHORT at 2072.91 | Stop loss: 2083.2745499999996 | Take profit: 2041.8163499999998 +2025-03-10 12:43:12,082 - INFO - CLOSED short at 2072.33 | PnL: 0.03% | $-0.26 +2025-03-10 12:43:12,856 - INFO - OPENED SHORT at 2069.19 | Stop loss: 2079.53595 | Take profit: 2038.1521500000001 +2025-03-10 12:43:13,160 - INFO - CLOSED short at 2065.99 | PnL: 0.15% | $0.20 +2025-03-10 12:43:13,160 - INFO - OPENED LONG at 2065.99 | Stop loss: 2055.66005 | Take profit: 2096.9798499999997 +2025-03-10 12:43:13,211 - INFO - CLOSED long at 2066.19 | PnL: 0.01% | $-0.33 +2025-03-10 12:43:13,267 - INFO - OPENED SHORT at 2066.29 | Stop loss: 2076.6214499999996 | Take profit: 2035.29565 +2025-03-10 12:43:13,371 - INFO - CLOSED short at 2066.18 | PnL: 0.01% | $-0.35 +2025-03-10 12:43:13,476 - INFO - OPENED LONG at 2068.9 | Stop loss: 2058.5555 | Take profit: 2099.9335 +2025-03-10 12:43:13,582 - INFO - CLOSED long at 2068.59 | PnL: -0.01% | $-0.42 +2025-03-10 12:43:13,582 - INFO - OPENED SHORT at 2068.59 | Stop loss: 2078.93295 | Take profit: 2037.5611500000002 +2025-03-10 12:43:13,686 - INFO - CLOSED short at 2070.4 | PnL: -0.09% | $-0.68 +2025-03-10 12:43:13,741 - INFO - OPENED SHORT at 2069.96 | Stop loss: 2080.3098 | Take profit: 2038.9106 +2025-03-10 12:43:14,303 - INFO - CLOSED short at 2070.4 | PnL: -0.02% | $-0.44 +2025-03-10 12:43:14,400 - INFO - OPENED LONG at 2069.46 | Stop loss: 2059.1127 | Take profit: 2100.5018999999998 +2025-03-10 12:43:14,488 - INFO - CLOSED long at 2068.32 | PnL: -0.06% | $-0.55 +2025-03-10 12:43:14,642 - INFO - OPENED SHORT at 2067.46 | Stop loss: 2077.7972999999997 | Take profit: 2036.4481 +2025-03-10 12:43:14,742 - INFO - CLOSED short at 2065.49 | PnL: 0.10% | $-0.02 +2025-03-10 12:43:14,742 - INFO - OPENED LONG at 2065.49 | Stop loss: 2055.1625499999996 | Take profit: 2096.4723499999996 +2025-03-10 12:43:14,885 - INFO - CLOSED long at 2067.89 | PnL: 0.12% | $0.06 +2025-03-10 12:43:15,398 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.0480000000002 | Take profit: 2101.4559999999997 +2025-03-10 12:43:15,444 - INFO - CLOSED long at 2070.73 | PnL: 0.02% | $-0.30 +2025-03-10 12:43:15,548 - INFO - OPENED SHORT at 2068.69 | Stop loss: 2079.03345 | Take profit: 2037.65965 +2025-03-10 12:43:15,595 - INFO - CLOSED short at 2067.84 | PnL: 0.04% | $-0.21 +2025-03-10 12:43:15,595 - INFO - OPENED LONG at 2067.84 | Stop loss: 2057.5008000000003 | Take profit: 2098.8576 +2025-03-10 12:43:15,693 - INFO - CLOSED long at 2067.86 | PnL: 0.00% | $-0.35 +2025-03-10 12:43:15,693 - INFO - OPENED SHORT at 2067.86 | Stop loss: 2078.1992999999998 | Take profit: 2036.8421 +2025-03-10 12:43:15,985 - INFO - CLOSED short at 2070.04 | PnL: -0.11% | $-0.72 +2025-03-10 12:43:16,686 - INFO - OPENED LONG at 2061.3 | Stop loss: 2050.9935 | Take profit: 2092.2195 +2025-03-10 12:43:16,783 - INFO - CLOSED long at 2064.96 | PnL: 0.18% | $0.27 +2025-03-10 12:43:16,785 - INFO - OPENED SHORT at 2064.96 | Stop loss: 2075.2848 | Take profit: 2033.9856 +2025-03-10 12:43:16,888 - INFO - CLOSED short at 2067.1 | PnL: -0.10% | $-0.71 +2025-03-10 12:43:16,889 - INFO - OPENED LONG at 2067.1 | Stop loss: 2056.7644999999998 | Take profit: 2098.1065 +2025-03-10 12:43:17,186 - INFO - CLOSED long at 2062.89 | PnL: -0.20% | $-1.06 +2025-03-10 12:43:17,387 - INFO - OPENED LONG at 2060.9 | Stop loss: 2050.5955 | Take profit: 2091.8134999999997 +2025-03-10 12:43:17,492 - INFO - CLOSED long at 2058.89 | PnL: -0.10% | $-0.68 +2025-03-10 12:43:17,657 - INFO - OPENED LONG at 2061.8 | Stop loss: 2051.491 | Take profit: 2092.727 +2025-03-10 12:43:17,893 - INFO - CLOSED long at 2060.3 | PnL: -0.07% | $-0.59 +2025-03-10 12:43:17,945 - INFO - OPENED LONG at 2061.13 | Stop loss: 2050.8243500000003 | Take profit: 2092.04695 +2025-03-10 12:43:18,318 - INFO - CLOSED long at 2065.89 | PnL: 0.23% | $0.44 +2025-03-10 12:43:18,425 - INFO - OPENED LONG at 2063.0 | Stop loss: 2052.685 | Take profit: 2093.9449999999997 +2025-03-10 12:43:18,485 - INFO - CLOSED long at 2062.6 | PnL: -0.02% | $-0.41 +2025-03-10 12:43:18,485 - INFO - OPENED SHORT at 2062.6 | Stop loss: 2072.9129999999996 | Take profit: 2031.6609999999998 +2025-03-10 12:43:18,542 - INFO - CLOSED short at 2061.89 | PnL: 0.03% | $-0.22 +2025-03-10 12:43:18,543 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.5805499999997 | Take profit: 2092.8183499999996 +2025-03-10 12:43:18,651 - INFO - CLOSED long at 2060.7 | PnL: -0.06% | $-0.53 +2025-03-10 12:43:18,652 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.0035 | Take profit: 2029.7894999999999 +2025-03-10 12:43:18,884 - INFO - CLOSED short at 2059.02 | PnL: 0.08% | $-0.06 +2025-03-10 12:43:18,942 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.1844499999997 | Take profit: 2028.0066499999998 +2025-03-10 12:43:18,999 - INFO - CLOSED short at 2059.96 | PnL: -0.05% | $-0.51 +2025-03-10 12:43:19,050 - INFO - OPENED SHORT at 2059.46 | Stop loss: 2069.7572999999998 | Take profit: 2028.5681 +2025-03-10 12:43:19,737 - INFO - CLOSED short at 2062.69 | PnL: -0.16% | $-0.86 +2025-03-10 12:43:19,737 - INFO - OPENED LONG at 2062.69 | Stop loss: 2052.37655 | Take profit: 2093.63035 +2025-03-10 12:43:19,832 - INFO - CLOSED long at 2066.36 | PnL: 0.18% | $0.26 +2025-03-10 12:43:19,833 - INFO - OPENED SHORT at 2066.36 | Stop loss: 2076.6918 | Take profit: 2035.3646 +2025-03-10 12:43:20,403 - INFO - CLOSED short at 2072.0 | PnL: -0.27% | $-1.23 +2025-03-10 12:43:20,403 - INFO - OPENED LONG at 2072.0 | Stop loss: 2061.64 | Take profit: 2103.08 +2025-03-10 12:43:21,254 - INFO - CLOSED long at 2071.49 | PnL: -0.02% | $-0.41 +2025-03-10 12:43:21,255 - INFO - OPENED SHORT at 2071.49 | Stop loss: 2081.8474499999998 | Take profit: 2040.4176499999999 +2025-03-10 12:43:21,303 - INFO - CLOSED short at 2069.87 | PnL: 0.08% | $-0.07 +2025-03-10 12:43:21,303 - INFO - OPENED LONG at 2069.87 | Stop loss: 2059.52065 | Take profit: 2100.9180499999998 +2025-03-10 12:43:21,508 - INFO - CLOSED long at 2065.66 | PnL: -0.20% | $-0.98 +2025-03-10 12:43:21,508 - INFO - OPENED SHORT at 2065.66 | Stop loss: 2075.9882999999995 | Take profit: 2034.6751 +2025-03-10 12:43:22,015 - INFO - CLOSED short at 2065.31 | PnL: 0.02% | $-0.27 +2025-03-10 12:43:22,016 - INFO - OPENED LONG at 2065.31 | Stop loss: 2054.9834499999997 | Take profit: 2096.2896499999997 +2025-03-10 12:43:22,064 - INFO - CLOSED long at 2066.8 | PnL: 0.07% | $-0.09 +2025-03-10 12:43:22,065 - INFO - OPENED SHORT at 2066.8 | Stop loss: 2077.134 | Take profit: 2035.7980000000002 +2025-03-10 12:43:22,216 - INFO - CLOSED short at 2071.59 | PnL: -0.23% | $-1.06 +2025-03-10 12:43:22,268 - INFO - OPENED LONG at 2070.2 | Stop loss: 2059.8489999999997 | Take profit: 2101.2529999999997 +2025-03-10 12:43:22,469 - INFO - CLOSED long at 2070.7 | PnL: 0.02% | $-0.24 +2025-03-10 12:43:22,824 - INFO - OPENED LONG at 2070.67 | Stop loss: 2060.31665 | Take profit: 2101.7300499999997 +2025-03-10 12:43:23,133 - INFO - CLOSED long at 2073.27 | PnL: 0.13% | $0.08 +2025-03-10 12:43:23,180 - INFO - OPENED SHORT at 2073.99 | Stop loss: 2084.3599499999996 | Take profit: 2042.8801499999997 +2025-03-10 12:43:23,286 - INFO - CLOSED short at 2075.29 | PnL: -0.06% | $-0.51 +2025-03-10 12:43:23,288 - INFO - OPENED LONG at 2075.29 | Stop loss: 2064.9135499999998 | Take profit: 2106.4193499999997 +2025-03-10 12:43:23,480 - INFO - CLOSED long at 2072.09 | PnL: -0.15% | $-0.79 +2025-03-10 12:43:23,481 - INFO - OPENED SHORT at 2072.09 | Stop loss: 2082.45045 | Take profit: 2041.0086500000002 +2025-03-10 12:43:23,530 - INFO - CLOSED short at 2069.97 | PnL: 0.10% | $0.01 +2025-03-10 12:43:23,723 - INFO - OPENED LONG at 2066.4 | Stop loss: 2056.068 | Take profit: 2097.3959999999997 +2025-03-10 12:43:24,707 - INFO - CLOSED long at 2065.06 | PnL: -0.06% | $-0.51 +2025-03-10 12:43:24,708 - INFO - OPENED SHORT at 2065.06 | Stop loss: 2075.3853 | Take profit: 2034.0840999999998 +2025-03-10 12:43:25,028 - INFO - CLOSED short at 2060.2 | PnL: 0.24% | $0.41 +2025-03-10 12:43:25,236 - INFO - OPENED LONG at 2056.77 | Stop loss: 2046.48615 | Take profit: 2087.62155 +2025-03-10 12:43:25,335 - INFO - CLOSED long at 2049.21 | PnL: -0.37% | $-1.44 +2025-03-10 12:43:25,660 - INFO - OPENED LONG at 2057.89 | Stop loss: 2047.6005499999999 | Take profit: 2088.7583499999996 +2025-03-10 12:43:26,298 - INFO - CLOSED long at 2060.7 | PnL: 0.14% | $0.11 +2025-03-10 12:43:26,298 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.0035 | Take profit: 2029.7894999999999 +2025-03-10 12:43:26,412 - INFO - CLOSED short at 2062.54 | PnL: -0.09% | $-0.57 +2025-03-10 12:43:26,413 - INFO - OPENED LONG at 2062.54 | Stop loss: 2052.2273 | Take profit: 2093.4781 +2025-03-10 12:43:26,463 - INFO - CLOSED long at 2065.72 | PnL: 0.15% | $0.16 +2025-03-10 12:43:26,464 - INFO - OPENED SHORT at 2065.72 | Stop loss: 2076.0485999999996 | Take profit: 2034.7341999999999 +2025-03-10 12:43:26,571 - INFO - CLOSED short at 2070.24 | PnL: -0.22% | $-0.96 +2025-03-10 12:43:26,572 - INFO - OPENED LONG at 2070.24 | Stop loss: 2059.8887999999997 | Take profit: 2101.2935999999995 +2025-03-10 12:43:27,133 - INFO - CLOSED long at 2077.61 | PnL: 0.36% | $0.76 +2025-03-10 12:43:27,134 - INFO - OPENED SHORT at 2077.61 | Stop loss: 2087.9980499999997 | Take profit: 2046.44585 +2025-03-10 12:43:27,239 - INFO - STOP LOSS hit for short at 2087.9980499999997 | PnL: -0.50% | $-1.80 +2025-03-10 12:43:27,402 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2376999999997 | Take profit: 2107.4469 +2025-03-10 12:43:27,503 - INFO - CLOSED short at 2133.95 | PnL: 0.26% | $0.47 +2025-03-10 12:43:27,503 - INFO - OPENED LONG at 2133.95 | Stop loss: 2123.28025 | Take profit: 2165.9592499999994 +2025-03-10 12:43:27,720 - INFO - CLOSED long at 2142.68 | PnL: 0.41% | $0.91 +2025-03-10 12:43:27,720 - INFO - OPENED SHORT at 2142.68 | Stop loss: 2153.3933999999995 | Take profit: 2110.5398 +2025-03-10 12:43:27,769 - INFO - CLOSED short at 2140.01 | PnL: 0.12% | $0.07 +2025-03-10 12:43:27,770 - INFO - OPENED LONG at 2140.01 | Stop loss: 2129.3099500000003 | Take profit: 2172.11015 +2025-03-10 12:43:27,874 - INFO - CLOSED long at 2126.99 | PnL: -0.61% | $-2.12 +2025-03-10 12:43:27,875 - INFO - OPENED SHORT at 2126.99 | Stop loss: 2137.6249499999994 | Take profit: 2095.08515 +2025-03-10 12:43:28,030 - INFO - CLOSED short at 2121.09 | PnL: 0.28% | $0.52 +2025-03-10 12:43:28,030 - INFO - OPENED LONG at 2121.09 | Stop loss: 2110.48455 | Take profit: 2152.9063499999997 +2025-03-10 12:43:28,184 - INFO - CLOSED long at 2119.93 | PnL: -0.05% | $-0.45 +2025-03-10 12:43:28,235 - INFO - OPENED LONG at 2121.4 | Stop loss: 2110.793 | Take profit: 2153.221 +2025-03-10 12:43:28,281 - INFO - CLOSED long at 2118.52 | PnL: -0.14% | $-0.69 +2025-03-10 12:43:28,282 - INFO - OPENED SHORT at 2118.52 | Stop loss: 2129.1126 | Take profit: 2086.7422 +2025-03-10 12:43:28,386 - INFO - CLOSED short at 2119.07 | PnL: -0.03% | $-0.36 +2025-03-10 12:43:28,387 - INFO - OPENED LONG at 2119.07 | Stop loss: 2108.47465 | Take profit: 2150.85605 +2025-03-10 12:43:28,432 - INFO - CLOSED long at 2115.28 | PnL: -0.18% | $-0.80 +2025-03-10 12:43:28,433 - INFO - OPENED SHORT at 2115.28 | Stop loss: 2125.8564 | Take profit: 2083.5508 +2025-03-10 12:43:29,057 - INFO - CLOSED short at 2110.9 | PnL: 0.21% | $0.30 +2025-03-10 12:43:29,105 - INFO - OPENED SHORT at 2108.71 | Stop loss: 2119.25355 | Take profit: 2077.07935 +2025-03-10 12:43:29,347 - INFO - CLOSED short at 2100.5 | PnL: 0.39% | $0.82 +2025-03-10 12:43:29,348 - INFO - OPENED LONG at 2100.5 | Stop loss: 2089.9975 | Take profit: 2132.0074999999997 +2025-03-10 12:43:29,481 - INFO - CLOSED long at 2099.53 | PnL: -0.05% | $-0.42 +2025-03-10 12:43:29,482 - INFO - OPENED SHORT at 2099.53 | Stop loss: 2110.02765 | Take profit: 2068.0370500000004 +2025-03-10 12:43:29,807 - INFO - CLOSED short at 2100.69 | PnL: -0.06% | $-0.44 +2025-03-10 12:43:30,019 - INFO - OPENED LONG at 2103.86 | Stop loss: 2093.3407 | Take profit: 2135.4179 +2025-03-10 12:43:30,179 - INFO - CLOSED long at 2099.59 | PnL: -0.20% | $-0.86 +2025-03-10 12:43:30,179 - INFO - OPENED SHORT at 2099.59 | Stop loss: 2110.08795 | Take profit: 2068.0961500000003 +2025-03-10 12:43:30,391 - INFO - CLOSED short at 2093.46 | PnL: 0.29% | $0.54 +2025-03-10 12:43:30,497 - INFO - OPENED LONG at 2092.46 | Stop loss: 2081.9977 | Take profit: 2123.8469 +2025-03-10 12:43:30,648 - INFO - CLOSED long at 2094.08 | PnL: 0.08% | $-0.06 +2025-03-10 12:43:30,700 - INFO - OPENED SHORT at 2088.35 | Stop loss: 2098.79175 | Take profit: 2057.02475 +2025-03-10 12:43:30,792 - INFO - CLOSED short at 2088.44 | PnL: -0.00% | $-0.30 +2025-03-10 12:43:30,793 - INFO - OPENED LONG at 2088.44 | Stop loss: 2077.9978 | Take profit: 2119.7666 +2025-03-10 12:43:30,932 - INFO - CLOSED long at 2082.44 | PnL: -0.29% | $-1.09 +2025-03-10 12:43:30,932 - INFO - OPENED SHORT at 2082.44 | Stop loss: 2092.8522 | Take profit: 2051.2034 +2025-03-10 12:43:31,020 - INFO - CLOSED short at 2080.38 | PnL: 0.10% | $-0.00 +2025-03-10 12:43:31,065 - INFO - OPENED SHORT at 2081.25 | Stop loss: 2091.65625 | Take profit: 2050.03125 +2025-03-10 12:43:31,429 - INFO - CLOSED short at 2085.83 | PnL: -0.22% | $-0.89 +2025-03-10 12:43:31,429 - INFO - OPENED LONG at 2085.83 | Stop loss: 2075.40085 | Take profit: 2117.1174499999997 +2025-03-10 12:43:31,487 - INFO - CLOSED long at 2085.85 | PnL: 0.00% | $-0.27 +2025-03-10 12:43:31,488 - INFO - OPENED SHORT at 2085.85 | Stop loss: 2096.2792499999996 | Take profit: 2054.56225 +2025-03-10 12:43:31,753 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 20.8% in downtrends | Avg Win=$0.36, Avg Loss=$-0.61 +2025-03-10 12:43:31,754 - INFO - Episode 5: Reward=-64.86, Balance=$68.17, Win Rate=23.8%, Trades=84, Episode PnL=$-13.75, Total PnL=$-178.19, Max Drawdown=30.7%, Pred Accuracy=99.5% +2025-03-10 12:43:31,788 - INFO - Identified 26 optimal buy points and 27 optimal sell points +2025-03-10 12:43:32,120 - INFO - OPENED SHORT at 2059.03 | Stop loss: 2069.32515 | Take profit: 2028.1445500000002 +2025-03-10 12:43:32,426 - INFO - CLOSED short at 2057.59 | PnL: 0.07% | $-0.12 +2025-03-10 12:43:32,479 - INFO - OPENED SHORT at 2057.9 | Stop loss: 2068.1895 | Take profit: 2027.0315 +2025-03-10 12:43:32,844 - INFO - CLOSED short at 2053.56 | PnL: 0.21% | $0.44 +2025-03-10 12:43:32,844 - INFO - OPENED LONG at 2053.56 | Stop loss: 2043.2921999999999 | Take profit: 2084.3633999999997 +2025-03-10 12:43:33,120 - INFO - CLOSED long at 2050.71 | PnL: -0.14% | $-0.96 +2025-03-10 12:43:33,121 - INFO - OPENED SHORT at 2050.71 | Stop loss: 2060.96355 | Take profit: 2019.94935 +2025-03-10 12:43:33,729 - INFO - CLOSED short at 2047.2 | PnL: 0.17% | $0.28 +2025-03-10 12:43:33,788 - INFO - OPENED SHORT at 2045.99 | Stop loss: 2056.2199499999997 | Take profit: 2015.30015 +2025-03-10 12:43:33,836 - INFO - CLOSED short at 2045.99 | PnL: 0.00% | $-0.40 +2025-03-10 12:43:33,837 - INFO - OPENED LONG at 2045.99 | Stop loss: 2035.76005 | Take profit: 2076.67985 +2025-03-10 12:43:34,103 - INFO - CLOSED long at 2050.0 | PnL: 0.20% | $0.38 +2025-03-10 12:43:34,243 - INFO - OPENED SHORT at 2051.11 | Stop loss: 2061.36555 | Take profit: 2020.34335 +2025-03-10 12:43:34,298 - INFO - CLOSED short at 2053.26 | PnL: -0.10% | $-0.82 +2025-03-10 12:43:34,398 - INFO - OPENED SHORT at 2052.3 | Stop loss: 2062.5615 | Take profit: 2021.5155000000002 +2025-03-10 12:43:34,780 - INFO - CLOSED short at 2061.49 | PnL: -0.45% | $-2.17 +2025-03-10 12:43:34,780 - INFO - OPENED LONG at 2061.49 | Stop loss: 2051.18255 | Take profit: 2092.4123499999996 +2025-03-10 12:43:34,951 - INFO - CLOSED long at 2063.59 | PnL: 0.10% | $0.01 +2025-03-10 12:43:35,368 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.57555 | Take profit: 2093.83335 +2025-03-10 12:43:35,420 - INFO - CLOSED long at 2060.31 | PnL: -0.13% | $-0.87 +2025-03-10 12:43:35,620 - INFO - OPENED SHORT at 2057.94 | Stop loss: 2068.2297 | Take profit: 2027.0709 +2025-03-10 12:43:35,932 - INFO - STOP LOSS hit for short at 2068.2297 | PnL: -0.50% | $-2.30 +2025-03-10 12:43:36,234 - INFO - OPENED SHORT at 2069.6 | Stop loss: 2079.948 | Take profit: 2038.5559999999998 +2025-03-10 12:43:36,490 - INFO - CLOSED short at 2070.26 | PnL: -0.03% | $-0.49 +2025-03-10 12:43:36,492 - INFO - OPENED LONG at 2070.26 | Stop loss: 2059.9087000000004 | Take profit: 2101.3139 +2025-03-10 12:43:36,591 - INFO - CLOSED long at 2073.73 | PnL: 0.17% | $0.25 +2025-03-10 12:43:37,076 - INFO - OPENED SHORT at 2070.28 | Stop loss: 2080.6313999999998 | Take profit: 2039.2258000000002 +2025-03-10 12:43:37,642 - INFO - CLOSED short at 2066.39 | PnL: 0.19% | $0.33 +2025-03-10 12:43:37,685 - INFO - OPENED SHORT at 2065.99 | Stop loss: 2076.3199499999996 | Take profit: 2035.0001499999998 +2025-03-10 12:43:38,213 - INFO - CLOSED short at 2069.96 | PnL: -0.19% | $-1.09 +2025-03-10 12:43:38,769 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.0480000000002 | Take profit: 2101.4559999999997 +2025-03-10 12:43:38,959 - INFO - CLOSED long at 2068.32 | PnL: -0.10% | $-0.74 +2025-03-10 12:43:38,962 - INFO - OPENED SHORT at 2068.32 | Stop loss: 2078.6616 | Take profit: 2037.2952 +2025-03-10 12:43:39,413 - INFO - CLOSED short at 2068.58 | PnL: -0.01% | $-0.41 +2025-03-10 12:43:39,512 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.6866999999997 | Take profit: 2038.2999000000002 +2025-03-10 12:43:39,614 - INFO - CLOSED short at 2067.59 | PnL: 0.08% | $-0.06 +2025-03-10 12:43:39,614 - INFO - OPENED LONG at 2067.59 | Stop loss: 2057.25205 | Take profit: 2098.60385 +2025-03-10 12:43:39,761 - INFO - CLOSED long at 2071.59 | PnL: 0.19% | $0.34 +2025-03-10 12:43:39,761 - INFO - OPENED SHORT at 2071.59 | Stop loss: 2081.9479499999998 | Take profit: 2040.5161500000002 +2025-03-10 12:43:39,864 - INFO - CLOSED short at 2070.4 | PnL: 0.06% | $-0.16 +2025-03-10 12:43:39,864 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.0480000000002 | Take profit: 2101.4559999999997 +2025-03-10 12:43:39,909 - INFO - CLOSED long at 2070.73 | PnL: 0.02% | $-0.31 +2025-03-10 12:43:39,909 - INFO - OPENED SHORT at 2070.73 | Stop loss: 2081.0836499999996 | Take profit: 2039.66905 +2025-03-10 12:43:39,955 - INFO - CLOSED short at 2068.5 | PnL: 0.11% | $0.03 +2025-03-10 12:43:39,956 - INFO - OPENED LONG at 2068.5 | Stop loss: 2058.1575 | Take profit: 2099.5274999999997 +2025-03-10 12:43:40,011 - INFO - CLOSED long at 2068.69 | PnL: 0.01% | $-0.33 +2025-03-10 12:43:40,123 - INFO - OPENED SHORT at 2067.11 | Stop loss: 2077.44555 | Take profit: 2036.10335 +2025-03-10 12:43:40,524 - INFO - CLOSED short at 2067.8 | PnL: -0.03% | $-0.48 +2025-03-10 12:43:40,524 - INFO - OPENED LONG at 2067.8 | Stop loss: 2057.4610000000002 | Take profit: 2098.817 +2025-03-10 12:43:40,581 - INFO - CLOSED long at 2068.18 | PnL: 0.02% | $-0.30 +2025-03-10 12:43:40,582 - INFO - OPENED SHORT at 2068.18 | Stop loss: 2078.5208999999995 | Take profit: 2037.1572999999999 +2025-03-10 12:43:40,629 - INFO - CLOSED short at 2065.69 | PnL: 0.12% | $0.07 +2025-03-10 12:43:40,629 - INFO - OPENED LONG at 2065.69 | Stop loss: 2055.36155 | Take profit: 2096.67535 +2025-03-10 12:43:41,001 - INFO - CLOSED long at 2061.78 | PnL: -0.19% | $-1.04 +2025-03-10 12:43:41,245 - INFO - OPENED LONG at 2066.24 | Stop loss: 2055.9087999999997 | Take profit: 2097.2335999999996 +2025-03-10 12:43:41,341 - INFO - CLOSED long at 2065.54 | PnL: -0.03% | $-0.48 +2025-03-10 12:43:41,385 - INFO - OPENED SHORT at 2066.09 | Stop loss: 2076.42045 | Take profit: 2035.0986500000001 +2025-03-10 12:43:41,624 - INFO - CLOSED short at 2064.5 | PnL: 0.08% | $-0.08 +2025-03-10 12:43:41,625 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.1775 | Take profit: 2095.4674999999997 +2025-03-10 12:43:42,201 - INFO - CLOSED long at 2060.3 | PnL: -0.20% | $-1.07 +2025-03-10 12:43:42,202 - INFO - OPENED SHORT at 2060.3 | Stop loss: 2070.6014999999998 | Take profit: 2029.3955 +2025-03-10 12:43:42,387 - INFO - CLOSED short at 2065.36 | PnL: -0.25% | $-1.21 +2025-03-10 12:43:42,387 - INFO - OPENED LONG at 2065.36 | Stop loss: 2055.0332000000003 | Take profit: 2096.3404 +2025-03-10 12:43:42,771 - INFO - CLOSED long at 2061.89 | PnL: -0.17% | $-0.92 +2025-03-10 12:43:42,860 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3965 | Take profit: 2091.6105 +2025-03-10 12:43:43,007 - INFO - CLOSED long at 2059.16 | PnL: -0.07% | $-0.60 +2025-03-10 12:43:43,008 - INFO - OPENED SHORT at 2059.16 | Stop loss: 2069.4557999999997 | Take profit: 2028.2725999999998 +2025-03-10 12:43:43,146 - INFO - CLOSED short at 2059.96 | PnL: -0.04% | $-0.47 +2025-03-10 12:43:43,146 - INFO - OPENED LONG at 2059.96 | Stop loss: 2049.6602 | Take profit: 2090.8594 +2025-03-10 12:43:43,328 - INFO - CLOSED long at 2056.28 | PnL: -0.18% | $-0.94 +2025-03-10 12:43:43,470 - INFO - OPENED SHORT at 2054.83 | Stop loss: 2065.1041499999997 | Take profit: 2024.0075499999998 +2025-03-10 12:43:43,652 - INFO - CLOSED short at 2061.66 | PnL: -0.33% | $-1.44 +2025-03-10 12:43:44,240 - INFO - OPENED SHORT at 2067.33 | Stop loss: 2077.6666499999997 | Take profit: 2036.3200499999998 +2025-03-10 12:43:44,285 - INFO - CLOSED short at 2067.01 | PnL: 0.02% | $-0.28 +2025-03-10 12:43:45,339 - INFO - OPENED SHORT at 2067.33 | Stop loss: 2077.6666499999997 | Take profit: 2036.3200499999998 +2025-03-10 12:43:45,474 - INFO - CLOSED short at 2065.66 | PnL: 0.08% | $-0.06 +2025-03-10 12:43:45,475 - INFO - OPENED LONG at 2065.66 | Stop loss: 2055.3316999999997 | Take profit: 2096.6449 +2025-03-10 12:43:45,527 - INFO - CLOSED long at 2063.95 | PnL: -0.08% | $-0.60 +2025-03-10 12:43:46,321 - INFO - OPENED LONG at 2070.9 | Stop loss: 2060.5455 | Take profit: 2101.9635 +2025-03-10 12:43:46,415 - INFO - CLOSED long at 2070.7 | PnL: -0.01% | $-0.36 +2025-03-10 12:43:46,416 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.0534999999995 | Take profit: 2039.6394999999998 +2025-03-10 12:43:46,567 - INFO - CLOSED short at 2070.61 | PnL: 0.00% | $-0.31 +2025-03-10 12:43:46,612 - INFO - OPENED LONG at 2071.99 | Stop loss: 2061.6300499999998 | Take profit: 2103.0698499999994 +2025-03-10 12:43:46,893 - INFO - CLOSED long at 2074.37 | PnL: 0.11% | $0.05 +2025-03-10 12:43:46,893 - INFO - OPENED SHORT at 2074.37 | Stop loss: 2084.74185 | Take profit: 2043.25445 +2025-03-10 12:43:47,232 - INFO - CLOSED short at 2076.9 | PnL: -0.12% | $-0.71 +2025-03-10 12:43:47,233 - INFO - OPENED LONG at 2076.9 | Stop loss: 2066.5155 | Take profit: 2108.0535 +2025-03-10 12:43:47,638 - INFO - STOP LOSS hit for long at 2066.5155 | PnL: -0.50% | $-1.91 +2025-03-10 12:43:47,684 - INFO - OPENED LONG at 2066.89 | Stop loss: 2056.55555 | Take profit: 2097.89335 +2025-03-10 12:43:48,003 - INFO - CLOSED long at 2070.1 | PnL: 0.16% | $0.17 +2025-03-10 12:43:48,003 - INFO - OPENED SHORT at 2070.1 | Stop loss: 2080.4504999999995 | Take profit: 2039.0484999999999 +2025-03-10 12:43:48,099 - INFO - CLOSED short at 2065.5 | PnL: 0.22% | $0.38 +2025-03-10 12:43:48,148 - INFO - OPENED SHORT at 2065.7 | Stop loss: 2076.0284999999994 | Take profit: 2034.7144999999998 +2025-03-10 12:43:48,674 - INFO - CLOSED short at 2066.33 | PnL: -0.03% | $-0.41 +2025-03-10 12:43:49,093 - INFO - OPENED SHORT at 2049.21 | Stop loss: 2059.45605 | Take profit: 2018.47185 +2025-03-10 12:43:49,366 - INFO - CLOSED short at 2057.89 | PnL: -0.42% | $-1.63 +2025-03-10 12:43:49,367 - INFO - OPENED LONG at 2057.89 | Stop loss: 2047.6005499999999 | Take profit: 2088.7583499999996 +2025-03-10 12:43:49,419 - INFO - CLOSED long at 2062.83 | PnL: 0.24% | $0.43 +2025-03-10 12:43:49,756 - INFO - OPENED SHORT at 2067.49 | Stop loss: 2077.8274499999998 | Take profit: 2036.4776499999998 +2025-03-10 12:43:50,255 - INFO - CLOSED short at 2070.24 | PnL: -0.13% | $-0.71 +2025-03-10 12:43:50,255 - INFO - OPENED LONG at 2070.24 | Stop loss: 2059.8887999999997 | Take profit: 2101.2935999999995 +2025-03-10 12:43:50,345 - INFO - CLOSED long at 2069.81 | PnL: -0.02% | $-0.37 +2025-03-10 12:43:50,345 - INFO - OPENED SHORT at 2069.81 | Stop loss: 2080.1590499999998 | Take profit: 2038.7628499999998 +2025-03-10 12:43:50,591 - INFO - CLOSED short at 2071.89 | PnL: -0.10% | $-0.61 +2025-03-10 12:43:50,591 - INFO - OPENED LONG at 2071.89 | Stop loss: 2061.53055 | Take profit: 2102.9683499999996 +2025-03-10 12:43:50,731 - INFO - CLOSED long at 2076.08 | PnL: 0.20% | $0.31 +2025-03-10 12:43:50,732 - INFO - OPENED SHORT at 2076.08 | Stop loss: 2086.4603999999995 | Take profit: 2044.9388 +2025-03-10 12:43:50,878 - INFO - STOP LOSS hit for short at 2086.4603999999995 | PnL: -0.50% | $-1.81 +2025-03-10 12:43:51,014 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2376999999997 | Take profit: 2107.4469 +2025-03-10 12:43:51,146 - INFO - CLOSED short at 2137.59 | PnL: 0.09% | $-0.03 +2025-03-10 12:43:51,148 - INFO - OPENED LONG at 2137.59 | Stop loss: 2126.90205 | Take profit: 2169.65385 +2025-03-10 12:43:51,427 - INFO - CLOSED long at 2126.99 | PnL: -0.50% | $-1.75 +2025-03-10 12:43:51,428 - INFO - OPENED SHORT at 2126.99 | Stop loss: 2137.6249499999994 | Take profit: 2095.08515 +2025-03-10 12:43:51,471 - INFO - CLOSED short at 2127.3 | PnL: -0.01% | $-0.33 +2025-03-10 12:43:51,472 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.6635 | Take profit: 2159.2095 +2025-03-10 12:43:51,618 - INFO - CLOSED long at 2120.15 | PnL: -0.34% | $-1.24 +2025-03-10 12:43:51,940 - INFO - OPENED LONG at 2115.28 | Stop loss: 2104.7036000000003 | Take profit: 2147.0092 +2025-03-10 12:43:51,983 - INFO - CLOSED long at 2107.43 | PnL: -0.37% | $-1.32 +2025-03-10 12:43:51,983 - INFO - OPENED SHORT at 2107.43 | Stop loss: 2117.9671499999995 | Take profit: 2075.81855 +2025-03-10 12:43:52,369 - INFO - STOP LOSS hit for short at 2117.9671499999995 | PnL: -0.50% | $-1.65 +2025-03-10 12:43:52,418 - INFO - OPENED LONG at 2116.48 | Stop loss: 2105.8976 | Take profit: 2148.2272 +2025-03-10 12:43:52,515 - INFO - CLOSED long at 2110.9 | PnL: -0.26% | $-0.98 +2025-03-10 12:43:52,558 - INFO - OPENED SHORT at 2108.71 | Stop loss: 2119.25355 | Take profit: 2077.07935 +2025-03-10 12:43:52,651 - INFO - CLOSED short at 2108.06 | PnL: 0.03% | $-0.18 +2025-03-10 12:43:52,652 - INFO - OPENED LONG at 2108.06 | Stop loss: 2097.5197 | Take profit: 2139.6809 +2025-03-10 12:43:52,807 - INFO - STOP LOSS hit for long at 2097.5197 | PnL: -0.50% | $-1.58 +2025-03-10 12:43:53,473 - INFO - OPENED SHORT at 2099.59 | Stop loss: 2110.08795 | Take profit: 2068.0961500000003 +2025-03-10 12:43:53,515 - INFO - CLOSED short at 2100.02 | PnL: -0.02% | $-0.31 +2025-03-10 12:43:53,886 - INFO - OPENED LONG at 2094.08 | Stop loss: 2083.6096 | Take profit: 2125.4912 +2025-03-10 12:43:53,981 - INFO - CLOSED long at 2083.28 | PnL: -0.52% | $-1.58 +2025-03-10 12:43:54,645 - INFO - OPENED SHORT at 2085.83 | Stop loss: 2096.25915 | Take profit: 2054.54255 +2025-03-10 12:43:54,686 - INFO - CLOSED short at 2085.85 | PnL: -0.00% | $-0.25 +2025-03-10 12:43:54,686 - INFO - OPENED LONG at 2085.85 | Stop loss: 2075.4207499999998 | Take profit: 2117.13775 +2025-03-10 12:43:54,826 - INFO - CLOSED long at 2088.1 | PnL: 0.11% | $0.02 +2025-03-10 12:43:54,827 - INFO - OPENED SHORT at 2088.1 | Stop loss: 2098.5404999999996 | Take profit: 2056.7785 +2025-03-10 12:43:54,919 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 11.5% in downtrends | Avg Win=$0.23, Avg Loss=$-0.79 +2025-03-10 12:43:54,921 - INFO - Episode 6: Reward=-46.24, Balance=$62.27, Win Rate=22.4%, Trades=67, Episode PnL=$-21.36, Total PnL=$-215.92, Max Drawdown=37.5%, Pred Accuracy=99.3% +2025-03-10 12:43:54,948 - INFO - Identified 26 optimal buy points and 27 optimal sell points +2025-03-10 12:43:55,282 - INFO - OPENED LONG at 2059.4 | Stop loss: 2049.103 | Take profit: 2090.2909999999997 +2025-03-10 12:43:55,687 - INFO - CLOSED long at 2058.51 | PnL: -0.04% | $-0.57 +2025-03-10 12:43:55,732 - INFO - OPENED LONG at 2055.2 | Stop loss: 2044.9239999999998 | Take profit: 2086.028 +2025-03-10 12:43:55,823 - INFO - CLOSED long at 2056.4 | PnL: 0.06% | $-0.17 +2025-03-10 12:43:56,288 - INFO - OPENED SHORT at 2049.49 | Stop loss: 2059.7374499999996 | Take profit: 2018.7476499999998 +2025-03-10 12:43:56,672 - INFO - CLOSED short at 2046.58 | PnL: 0.14% | $0.17 +2025-03-10 12:43:56,801 - INFO - OPENED SHORT at 2045.99 | Stop loss: 2056.2199499999997 | Take profit: 2015.30015 +2025-03-10 12:43:56,850 - INFO - CLOSED short at 2045.99 | PnL: 0.00% | $-0.40 +2025-03-10 12:43:56,942 - INFO - OPENED SHORT at 2048.13 | Stop loss: 2058.37065 | Take profit: 2017.40805 +2025-03-10 12:43:56,982 - INFO - CLOSED short at 2047.59 | PnL: 0.03% | $-0.29 +2025-03-10 12:43:56,983 - INFO - OPENED LONG at 2047.59 | Stop loss: 2037.35205 | Take profit: 2078.30385 +2025-03-10 12:43:57,026 - INFO - CLOSED long at 2048.51 | PnL: 0.04% | $-0.22 +2025-03-10 12:43:57,076 - INFO - OPENED LONG at 2050.0 | Stop loss: 2039.75 | Take profit: 2080.75 +2025-03-10 12:43:57,353 - INFO - CLOSED long at 2052.3 | PnL: 0.11% | $0.05 +2025-03-10 12:43:57,779 - INFO - OPENED LONG at 2064.61 | Stop loss: 2054.28695 | Take profit: 2095.57915 +2025-03-10 12:43:57,822 - INFO - CLOSED long at 2063.59 | PnL: -0.05% | $-0.59 +2025-03-10 12:43:58,003 - INFO - OPENED LONG at 2060.99 | Stop loss: 2050.6850499999996 | Take profit: 2091.9048499999994 +2025-03-10 12:43:58,139 - INFO - CLOSED long at 2061.89 | PnL: 0.04% | $-0.22 +2025-03-10 12:43:58,139 - INFO - OPENED SHORT at 2061.89 | Stop loss: 2072.1994499999996 | Take profit: 2030.9616499999997 +2025-03-10 12:43:58,185 - INFO - CLOSED short at 2062.89 | PnL: -0.05% | $-0.58 +2025-03-10 12:43:58,233 - INFO - OPENED LONG at 2060.31 | Stop loss: 2050.00845 | Take profit: 2091.21465 +2025-03-10 12:43:58,421 - INFO - CLOSED long at 2057.94 | PnL: -0.12% | $-0.84 +2025-03-10 12:43:58,421 - INFO - OPENED SHORT at 2057.94 | Stop loss: 2068.2297 | Take profit: 2027.0709 +2025-03-10 12:43:58,698 - INFO - CLOSED short at 2070.58 | PnL: -0.61% | $-2.75 +2025-03-10 12:43:58,699 - INFO - OPENED LONG at 2070.58 | Stop loss: 2060.2271 | Take profit: 2101.6386999999995 +2025-03-10 12:43:58,830 - INFO - CLOSED long at 2067.89 | PnL: -0.13% | $-0.86 +2025-03-10 12:43:59,166 - INFO - OPENED LONG at 2067.69 | Stop loss: 2057.35155 | Take profit: 2098.7053499999997 +2025-03-10 12:43:59,211 - INFO - CLOSED long at 2070.26 | PnL: 0.12% | $0.09 +2025-03-10 12:43:59,212 - INFO - OPENED SHORT at 2070.26 | Stop loss: 2080.6113 | Take profit: 2039.2061 +2025-03-10 12:43:59,741 - INFO - CLOSED short at 2070.79 | PnL: -0.03% | $-0.47 +2025-03-10 12:44:00,154 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.456 | Take profit: 2099.832 +2025-03-10 12:44:00,399 - INFO - CLOSED long at 2065.99 | PnL: -0.14% | $-0.87 +2025-03-10 12:44:00,724 - INFO - OPENED LONG at 2068.9 | Stop loss: 2058.5555 | Take profit: 2099.9335 +2025-03-10 12:44:01,163 - INFO - CLOSED long at 2072.75 | PnL: 0.19% | $0.32 +2025-03-10 12:44:01,164 - INFO - OPENED SHORT at 2072.75 | Stop loss: 2083.11375 | Take profit: 2041.65875 +2025-03-10 12:44:01,207 - INFO - CLOSED short at 2073.11 | PnL: -0.02% | $-0.43 +2025-03-10 12:44:01,208 - INFO - OPENED LONG at 2073.11 | Stop loss: 2062.74445 | Take profit: 2104.20665 +2025-03-10 12:44:01,348 - INFO - CLOSED long at 2074.29 | PnL: 0.06% | $-0.16 +2025-03-10 12:44:01,729 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.3349999999996 | Take profit: 2035.995 +2025-03-10 12:44:02,104 - INFO - CLOSED short at 2068.58 | PnL: -0.08% | $-0.64 +2025-03-10 12:44:02,104 - INFO - OPENED LONG at 2068.58 | Stop loss: 2058.2371 | Take profit: 2099.6086999999998 +2025-03-10 12:44:02,298 - INFO - CLOSED long at 2067.59 | PnL: -0.05% | $-0.54 +2025-03-10 12:44:02,483 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3464999999997 | Take profit: 2101.7604999999994 +2025-03-10 12:44:02,859 - INFO - CLOSED long at 2066.4 | PnL: -0.21% | $-1.11 +2025-03-10 12:44:03,133 - INFO - OPENED SHORT at 2067.8 | Stop loss: 2078.139 | Take profit: 2036.7830000000001 +2025-03-10 12:44:03,230 - INFO - CLOSED short at 2065.69 | PnL: 0.10% | $0.01 +2025-03-10 12:44:03,231 - INFO - OPENED LONG at 2065.69 | Stop loss: 2055.36155 | Take profit: 2096.67535 +2025-03-10 12:44:03,462 - INFO - CLOSED long at 2065.26 | PnL: -0.02% | $-0.43 +2025-03-10 12:44:03,463 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.5863 | Take profit: 2034.2811000000002 +2025-03-10 12:44:03,601 - INFO - CLOSED short at 2061.78 | PnL: 0.17% | $0.24 +2025-03-10 12:44:03,644 - INFO - OPENED SHORT at 2059.59 | Stop loss: 2069.88795 | Take profit: 2028.6961500000002 +2025-03-10 12:44:04,205 - INFO - CLOSED short at 2064.5 | PnL: -0.24% | $-1.20 +2025-03-10 12:44:04,205 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.1775 | Take profit: 2095.4674999999997 +2025-03-10 12:44:04,249 - INFO - CLOSED long at 2063.5 | PnL: -0.05% | $-0.52 +2025-03-10 12:44:04,250 - INFO - OPENED SHORT at 2063.5 | Stop loss: 2073.8174999999997 | Take profit: 2032.5475 +2025-03-10 12:44:04,388 - INFO - CLOSED short at 2060.65 | PnL: 0.14% | $0.13 +2025-03-10 12:44:05,522 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3965 | Take profit: 2091.6105 +2025-03-10 12:44:05,567 - INFO - CLOSED long at 2061.09 | PnL: 0.02% | $-0.28 +2025-03-10 12:44:05,826 - INFO - OPENED LONG at 2059.46 | Stop loss: 2049.1627 | Take profit: 2090.3518999999997 +2025-03-10 12:44:05,933 - INFO - CLOSED long at 2058.28 | PnL: -0.06% | $-0.55 +2025-03-10 12:44:05,934 - INFO - OPENED SHORT at 2058.28 | Stop loss: 2068.5714 | Take profit: 2027.4058000000002 +2025-03-10 12:44:06,201 - INFO - CLOSED short at 2056.71 | PnL: 0.08% | $-0.08 +2025-03-10 12:44:06,202 - INFO - OPENED LONG at 2056.71 | Stop loss: 2046.42645 | Take profit: 2087.56065 +2025-03-10 12:44:06,298 - INFO - CLOSED long at 2059.8 | PnL: 0.15% | $0.17 +2025-03-10 12:44:06,300 - INFO - OPENED SHORT at 2059.8 | Stop loss: 2070.099 | Take profit: 2028.9030000000002 +2025-03-10 12:44:06,344 - INFO - CLOSED short at 2061.66 | PnL: -0.09% | $-0.66 +2025-03-10 12:44:06,443 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.292 | Take profit: 2092.524 +2025-03-10 12:44:06,489 - INFO - CLOSED long at 2061.3 | PnL: -0.01% | $-0.39 +2025-03-10 12:44:06,971 - INFO - OPENED LONG at 2067.33 | Stop loss: 2056.9933499999997 | Take profit: 2098.3399499999996 +2025-03-10 12:44:07,263 - INFO - CLOSED long at 2078.01 | PnL: 0.52% | $1.42 +2025-03-10 12:44:07,263 - INFO - OPENED SHORT at 2078.01 | Stop loss: 2088.40005 | Take profit: 2046.8398500000003 +2025-03-10 12:44:07,309 - INFO - CLOSED short at 2075.01 | PnL: 0.14% | $0.15 +2025-03-10 12:44:07,310 - INFO - OPENED LONG at 2075.01 | Stop loss: 2064.63495 | Take profit: 2106.13515 +2025-03-10 12:44:07,365 - INFO - CLOSED long at 2072.6 | PnL: -0.12% | $-0.75 +2025-03-10 12:44:07,366 - INFO - OPENED SHORT at 2072.6 | Stop loss: 2082.9629999999997 | Take profit: 2041.511 +2025-03-10 12:44:07,559 - INFO - CLOSED short at 2073.23 | PnL: -0.03% | $-0.45 +2025-03-10 12:44:07,560 - INFO - OPENED LONG at 2073.23 | Stop loss: 2062.86385 | Take profit: 2104.32845 +2025-03-10 12:44:07,712 - INFO - CLOSED long at 2068.39 | PnL: -0.23% | $-1.14 +2025-03-10 12:44:08,915 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.24705 | Take profit: 2099.61885 +2025-03-10 12:44:09,104 - INFO - CLOSED long at 2070.9 | PnL: 0.11% | $0.04 +2025-03-10 12:44:09,336 - INFO - OPENED LONG at 2070.61 | Stop loss: 2060.25695 | Take profit: 2101.6691499999997 +2025-03-10 12:44:09,479 - INFO - CLOSED long at 2068.67 | PnL: -0.09% | $-0.66 +2025-03-10 12:44:09,523 - INFO - OPENED SHORT at 2070.67 | Stop loss: 2081.02335 | Take profit: 2039.60995 +2025-03-10 12:44:09,761 - INFO - CLOSED short at 2074.35 | PnL: -0.18% | $-0.93 +2025-03-10 12:44:09,762 - INFO - OPENED LONG at 2074.35 | Stop loss: 2063.97825 | Take profit: 2105.4652499999997 +2025-03-10 12:44:09,916 - INFO - CLOSED long at 2075.32 | PnL: 0.05% | $-0.18 +2025-03-10 12:44:10,069 - INFO - OPENED LONG at 2075.61 | Stop loss: 2065.2319500000003 | Take profit: 2106.74415 +2025-03-10 12:44:10,406 - INFO - CLOSED long at 2066.4 | PnL: -0.44% | $-1.80 +2025-03-10 12:44:10,497 - INFO - OPENED SHORT at 2067.88 | Stop loss: 2078.2194 | Take profit: 2036.8618000000001 +2025-03-10 12:44:11,031 - INFO - CLOSED short at 2066.09 | PnL: 0.09% | $-0.04 +2025-03-10 12:44:11,031 - INFO - OPENED LONG at 2066.09 | Stop loss: 2055.75955 | Take profit: 2097.08135 +2025-03-10 12:44:11,074 - INFO - CLOSED long at 2063.39 | PnL: -0.13% | $-0.75 +2025-03-10 12:44:11,075 - INFO - OPENED SHORT at 2063.39 | Stop loss: 2073.70695 | Take profit: 2032.43915 +2025-03-10 12:44:11,436 - INFO - CLOSED short at 2066.33 | PnL: -0.14% | $-0.78 +2025-03-10 12:44:11,437 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.99835 | Take profit: 2097.3249499999997 +2025-03-10 12:44:11,542 - INFO - CLOSED long at 2060.7 | PnL: -0.27% | $-1.18 +2025-03-10 12:44:11,543 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.0035 | Take profit: 2029.7894999999999 +2025-03-10 12:44:11,634 - INFO - CLOSED short at 2059.2 | PnL: 0.07% | $-0.09 +2025-03-10 12:44:11,635 - INFO - OPENED LONG at 2059.2 | Stop loss: 2048.904 | Take profit: 2090.0879999999997 +2025-03-10 12:44:11,727 - INFO - CLOSED long at 2058.65 | PnL: -0.03% | $-0.40 +2025-03-10 12:44:11,729 - INFO - OPENED SHORT at 2058.65 | Stop loss: 2068.94325 | Take profit: 2027.77025 +2025-03-10 12:44:11,824 - INFO - CLOSED short at 2053.01 | PnL: 0.27% | $0.54 +2025-03-10 12:44:12,387 - INFO - OPENED SHORT at 2062.55 | Stop loss: 2072.86275 | Take profit: 2031.6117500000003 +2025-03-10 12:44:12,436 - INFO - CLOSED short at 2065.12 | PnL: -0.12% | $-0.70 +2025-03-10 12:44:12,485 - INFO - OPENED LONG at 2068.33 | Stop loss: 2057.98835 | Take profit: 2099.35495 +2025-03-10 12:44:13,482 - INFO - CLOSED long at 2074.9 | PnL: 0.32% | $0.68 +2025-03-10 12:44:13,483 - INFO - OPENED SHORT at 2074.9 | Stop loss: 2085.2745 | Take profit: 2043.7765000000002 +2025-03-10 12:44:13,625 - INFO - CLOSED short at 2085.56 | PnL: -0.51% | $-1.92 +2025-03-10 12:44:13,626 - INFO - OPENED LONG at 2085.56 | Stop loss: 2075.1322 | Take profit: 2116.8433999999997 +2025-03-10 12:44:13,723 - INFO - CLOSED long at 2103.02 | PnL: 0.84% | $2.25 +2025-03-10 12:44:13,725 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.5350999999996 | Take profit: 2071.4746999999998 +2025-03-10 12:44:13,768 - INFO - CLOSED short at 2130.7 | PnL: -1.32% | $-4.46 +2025-03-10 12:44:13,858 - INFO - OPENED LONG at 2131.78 | Stop loss: 2121.1211000000003 | Take profit: 2163.7567 +2025-03-10 12:44:13,997 - INFO - CLOSED long at 2141.41 | PnL: 0.45% | $1.04 +2025-03-10 12:44:14,131 - INFO - OPENED SHORT at 2140.01 | Stop loss: 2150.71005 | Take profit: 2107.90985 +2025-03-10 12:44:14,261 - INFO - CLOSED short at 2127.3 | PnL: 0.59% | $1.49 +2025-03-10 12:44:14,356 - INFO - OPENED SHORT at 2121.09 | Stop loss: 2131.6954499999997 | Take profit: 2089.27365 +2025-03-10 12:44:14,554 - INFO - CLOSED short at 2121.4 | PnL: -0.01% | $-0.35 +2025-03-10 12:44:14,555 - INFO - OPENED LONG at 2121.4 | Stop loss: 2110.793 | Take profit: 2153.221 +2025-03-10 12:44:14,779 - INFO - STOP LOSS hit for long at 2110.793 | PnL: -0.50% | $-1.83 +2025-03-10 12:44:14,921 - INFO - OPENED LONG at 2112.09 | Stop loss: 2101.52955 | Take profit: 2143.77135 +2025-03-10 12:44:14,965 - INFO - CLOSED long at 2112.95 | PnL: 0.04% | $-0.18 +2025-03-10 12:44:14,965 - INFO - OPENED SHORT at 2112.95 | Stop loss: 2123.5147499999994 | Take profit: 2081.25575 +2025-03-10 12:44:15,550 - INFO - CLOSED short at 2100.5 | PnL: 0.59% | $1.46 +2025-03-10 12:44:15,550 - INFO - OPENED LONG at 2100.5 | Stop loss: 2089.9975 | Take profit: 2132.0074999999997 +2025-03-10 12:44:15,748 - INFO - CLOSED long at 2102.19 | PnL: 0.08% | $-0.06 +2025-03-10 12:44:15,789 - INFO - OPENED LONG at 2102.29 | Stop loss: 2091.77855 | Take profit: 2133.82435 +2025-03-10 12:44:16,356 - INFO - CLOSED long at 2098.39 | PnL: -0.19% | $-0.87 +2025-03-10 12:44:16,357 - INFO - OPENED SHORT at 2098.39 | Stop loss: 2108.8819499999995 | Take profit: 2066.91415 +2025-03-10 12:44:17,098 - INFO - CLOSED short at 2081.49 | PnL: 0.81% | $2.11 +2025-03-10 12:44:17,196 - INFO - OPENED SHORT at 2081.25 | Stop loss: 2091.65625 | Take profit: 2050.03125 +2025-03-10 12:44:17,388 - INFO - CLOSED short at 2086.57 | PnL: -0.26% | $-1.10 +2025-03-10 12:44:17,735 - INFO - OPENED SHORT at 2088.1 | Stop loss: 2098.5404999999996 | Take profit: 2056.7785 +2025-03-10 12:44:17,782 - INFO - CLOSED short at 2089.96 | PnL: -0.09% | $-0.57 +2025-03-10 12:44:17,783 - INFO - OPENED LONG at 2089.96 | Stop loss: 2079.5102 | Take profit: 2121.3093999999996 +2025-03-10 12:44:17,843 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 16.7% in downtrends | Avg Win=$0.69, Avg Loss=$-0.76 +2025-03-10 12:44:17,844 - INFO - Episode 7: Reward=-49.89, Balance=$75.36, Win Rate=26.9%, Trades=67, Episode PnL=$-13.97, Total PnL=$-240.56, Max Drawdown=25.8%, Pred Accuracy=99.5% +2025-03-10 12:44:17,880 - INFO - Identified 26 optimal buy points and 27 optimal sell points +2025-03-10 12:44:18,407 - INFO - OPENED SHORT at 2057.52 | Stop loss: 2067.8075999999996 | Take profit: 2026.6571999999999 +2025-03-10 12:44:18,507 - INFO - CLOSED short at 2057.59 | PnL: -0.00% | $-0.41 +2025-03-10 12:44:18,509 - INFO - OPENED LONG at 2057.59 | Stop loss: 2047.3020500000002 | Take profit: 2088.45385 +2025-03-10 12:44:18,913 - INFO - CLOSED long at 2053.56 | PnL: -0.20% | $-1.18 +2025-03-10 12:44:18,913 - INFO - OPENED SHORT at 2053.56 | Stop loss: 2063.8277999999996 | Take profit: 2022.7566 +2025-03-10 12:44:19,208 - INFO - CLOSED short at 2050.71 | PnL: 0.14% | $0.15 +2025-03-10 12:44:19,209 - INFO - OPENED LONG at 2050.71 | Stop loss: 2040.4564500000001 | Take profit: 2081.4706499999998 +2025-03-10 12:44:19,409 - INFO - CLOSED long at 2049.6 | PnL: -0.05% | $-0.61 +2025-03-10 12:44:19,855 - INFO - OPENED LONG at 2045.99 | Stop loss: 2035.76005 | Take profit: 2076.67985 +2025-03-10 12:44:20,235 - INFO - CLOSED long at 2050.24 | PnL: 0.21% | $0.42 +2025-03-10 12:44:20,236 - INFO - OPENED SHORT at 2050.24 | Stop loss: 2060.4911999999995 | Take profit: 2019.4863999999998 +2025-03-10 12:44:20,914 - INFO - STOP LOSS hit for short at 2060.4911999999995 | PnL: -0.50% | $-2.36 +2025-03-10 12:44:21,736 - INFO - OPENED SHORT at 2057.94 | Stop loss: 2068.2297 | Take profit: 2027.0709 +2025-03-10 12:44:22,077 - INFO - STOP LOSS hit for short at 2068.2297 | PnL: -0.50% | $-2.30 +2025-03-10 12:44:22,331 - INFO - OPENED LONG at 2070.99 | Stop loss: 2060.63505 | Take profit: 2102.0548499999995 +2025-03-10 12:44:22,793 - INFO - CLOSED long at 2075.1 | PnL: 0.20% | $0.37 +2025-03-10 12:44:23,073 - INFO - OPENED SHORT at 2070.9 | Stop loss: 2081.2545 | Take profit: 2039.8365000000001 +2025-03-10 12:44:23,170 - INFO - CLOSED short at 2070.79 | PnL: 0.01% | $-0.36 +2025-03-10 12:44:23,170 - INFO - OPENED LONG at 2070.79 | Stop loss: 2060.43605 | Take profit: 2101.8518499999996 +2025-03-10 12:44:23,299 - INFO - CLOSED long at 2067.2 | PnL: -0.17% | $-1.02 +2025-03-10 12:44:23,583 - INFO - OPENED SHORT at 2068.8 | Stop loss: 2079.144 | Take profit: 2037.7680000000003 +2025-03-10 12:44:24,328 - INFO - CLOSED short at 2069.96 | PnL: -0.06% | $-0.58 +2025-03-10 12:44:24,328 - INFO - OPENED LONG at 2069.96 | Stop loss: 2059.6102 | Take profit: 2101.0094 +2025-03-10 12:44:24,423 - INFO - CLOSED long at 2071.39 | PnL: 0.07% | $-0.11 +2025-03-10 12:44:24,518 - INFO - OPENED LONG at 2072.75 | Stop loss: 2062.38625 | Take profit: 2103.84125 +2025-03-10 12:44:24,698 - INFO - CLOSED long at 2074.29 | PnL: 0.07% | $-0.09 +2025-03-10 12:44:24,698 - INFO - OPENED SHORT at 2074.29 | Stop loss: 2084.6614499999996 | Take profit: 2043.17565 +2025-03-10 12:44:24,799 - INFO - CLOSED short at 2071.92 | PnL: 0.11% | $0.05 +2025-03-10 12:44:24,799 - INFO - OPENED LONG at 2071.92 | Stop loss: 2061.5604 | Take profit: 2102.9988 +2025-03-10 12:44:25,048 - INFO - CLOSED long at 2068.32 | PnL: -0.17% | $-1.01 +2025-03-10 12:44:25,881 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3464999999997 | Take profit: 2101.7604999999994 +2025-03-10 12:44:25,981 - INFO - CLOSED long at 2070.73 | PnL: 0.00% | $-0.36 +2025-03-10 12:44:27,369 - INFO - OPENED SHORT at 2065.54 | Stop loss: 2075.8677 | Take profit: 2034.5569 +2025-03-10 12:44:27,688 - INFO - CLOSED short at 2064.5 | PnL: 0.05% | $-0.18 +2025-03-10 12:44:27,689 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.1775 | Take profit: 2095.4674999999997 +2025-03-10 12:44:27,932 - INFO - CLOSED long at 2058.89 | PnL: -0.27% | $-1.34 +2025-03-10 12:44:27,933 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.1844499999997 | Take profit: 2028.0066499999998 +2025-03-10 12:44:28,125 - INFO - CLOSED short at 2064.7 | PnL: -0.28% | $-1.36 +2025-03-10 12:44:28,126 - INFO - OPENED LONG at 2064.7 | Stop loss: 2054.3765 | Take profit: 2095.6704999999997 +2025-03-10 12:44:28,179 - INFO - CLOSED long at 2062.61 | PnL: -0.10% | $-0.71 +2025-03-10 12:44:28,280 - INFO - OPENED LONG at 2060.3 | Stop loss: 2049.9985 | Take profit: 2091.2045 +2025-03-10 12:44:29,307 - INFO - CLOSED long at 2059.46 | PnL: -0.04% | $-0.49 +2025-03-10 12:44:29,308 - INFO - OPENED SHORT at 2059.46 | Stop loss: 2069.7572999999998 | Take profit: 2028.5681 +2025-03-10 12:44:29,500 - INFO - CLOSED short at 2055.6 | PnL: 0.19% | $0.30 +2025-03-10 12:44:29,501 - INFO - OPENED LONG at 2055.6 | Stop loss: 2045.322 | Take profit: 2086.4339999999997 +2025-03-10 12:44:29,647 - INFO - CLOSED long at 2056.71 | PnL: 0.05% | $-0.16 +2025-03-10 12:44:29,648 - INFO - OPENED SHORT at 2056.71 | Stop loss: 2066.9935499999997 | Take profit: 2025.85935 +2025-03-10 12:44:29,695 - INFO - CLOSED short at 2058.15 | PnL: -0.07% | $-0.59 +2025-03-10 12:44:29,695 - INFO - OPENED LONG at 2058.15 | Stop loss: 2047.85925 | Take profit: 2089.02225 +2025-03-10 12:44:29,881 - INFO - CLOSED long at 2061.6 | PnL: 0.17% | $0.23 +2025-03-10 12:44:29,882 - INFO - OPENED SHORT at 2061.6 | Stop loss: 2071.908 | Take profit: 2030.676 +2025-03-10 12:44:29,924 - INFO - CLOSED short at 2061.3 | PnL: 0.01% | $-0.29 +2025-03-10 12:44:29,925 - INFO - OPENED LONG at 2061.3 | Stop loss: 2050.9935 | Take profit: 2092.2195 +2025-03-10 12:44:30,017 - INFO - CLOSED long at 2063.4 | PnL: 0.10% | $0.01 +2025-03-10 12:44:30,158 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.5805 | Take profit: 2094.8585 +2025-03-10 12:44:30,253 - INFO - CLOSED long at 2066.33 | PnL: 0.12% | $0.06 +2025-03-10 12:44:30,830 - INFO - OPENED SHORT at 2071.04 | Stop loss: 2081.3952 | Take profit: 2039.9743999999998 +2025-03-10 12:44:30,871 - INFO - CLOSED short at 2070.01 | PnL: 0.05% | $-0.17 +2025-03-10 12:44:30,872 - INFO - OPENED LONG at 2070.01 | Stop loss: 2059.65995 | Take profit: 2101.06015 +2025-03-10 12:44:31,009 - INFO - CLOSED long at 2070.0 | PnL: -0.00% | $-0.35 +2025-03-10 12:44:31,009 - INFO - OPENED SHORT at 2070.0 | Stop loss: 2080.35 | Take profit: 2038.95 +2025-03-10 12:44:31,417 - INFO - CLOSED short at 2071.49 | PnL: -0.07% | $-0.59 +2025-03-10 12:44:32,175 - INFO - OPENED SHORT at 2066.8 | Stop loss: 2077.134 | Take profit: 2035.7980000000002 +2025-03-10 12:44:32,312 - INFO - CLOSED short at 2071.59 | PnL: -0.23% | $-1.13 +2025-03-10 12:44:32,313 - INFO - OPENED LONG at 2071.59 | Stop loss: 2061.23205 | Take profit: 2102.66385 +2025-03-10 12:44:33,087 - INFO - CLOSED long at 2074.37 | PnL: 0.13% | $0.11 +2025-03-10 12:44:33,088 - INFO - OPENED SHORT at 2074.37 | Stop loss: 2084.74185 | Take profit: 2043.25445 +2025-03-10 12:44:33,133 - INFO - CLOSED short at 2075.07 | PnL: -0.03% | $-0.45 +2025-03-10 12:44:33,133 - INFO - OPENED LONG at 2075.07 | Stop loss: 2064.6946500000004 | Take profit: 2106.19605 +2025-03-10 12:44:33,424 - INFO - CLOSED long at 2076.9 | PnL: 0.09% | $-0.04 +2025-03-10 12:44:33,424 - INFO - OPENED SHORT at 2076.9 | Stop loss: 2087.2844999999998 | Take profit: 2045.7465 +2025-03-10 12:44:33,793 - INFO - CLOSED short at 2066.4 | PnL: 0.51% | $1.35 +2025-03-10 12:44:34,616 - INFO - OPENED SHORT at 2066.1 | Stop loss: 2076.4304999999995 | Take profit: 2035.1084999999998 +2025-03-10 12:44:35,290 - INFO - CLOSED short at 2049.5 | PnL: 0.80% | $2.39 +2025-03-10 12:44:35,291 - INFO - OPENED LONG at 2049.5 | Stop loss: 2039.2525 | Take profit: 2080.2425 +2025-03-10 12:44:35,729 - INFO - CLOSED long at 2065.1 | PnL: 0.76% | $2.31 +2025-03-10 12:44:35,730 - INFO - OPENED SHORT at 2065.1 | Stop loss: 2075.4255 | Take profit: 2034.1235 +2025-03-10 12:44:37,024 - INFO - CLOSED short at 2074.9 | PnL: -0.47% | $-2.06 +2025-03-10 12:44:37,025 - INFO - OPENED LONG at 2074.9 | Stop loss: 2064.5255 | Take profit: 2106.0235 +2025-03-10 12:44:37,077 - INFO - CLOSED long at 2076.08 | PnL: 0.06% | $-0.15 +2025-03-10 12:44:37,078 - INFO - OPENED SHORT at 2076.08 | Stop loss: 2086.4603999999995 | Take profit: 2044.9388 +2025-03-10 12:44:37,224 - INFO - STOP LOSS hit for short at 2086.4603999999995 | PnL: -0.50% | $-2.10 +2025-03-10 12:44:37,909 - INFO - OPENED LONG at 2128.69 | Stop loss: 2118.04655 | Take profit: 2160.6203499999997 +2025-03-10 12:44:38,081 - INFO - CLOSED long at 2117.24 | PnL: -0.54% | $-2.17 +2025-03-10 12:44:38,081 - INFO - OPENED SHORT at 2117.24 | Stop loss: 2127.8261999999995 | Take profit: 2085.4813999999997 +2025-03-10 12:44:38,434 - INFO - CLOSED short at 2107.43 | PnL: 0.46% | $1.21 +2025-03-10 12:44:38,434 - INFO - OPENED LONG at 2107.43 | Stop loss: 2096.8928499999997 | Take profit: 2139.0414499999997 +2025-03-10 12:44:39,186 - INFO - CLOSED long at 2100.5 | PnL: -0.33% | $-1.45 +2025-03-10 12:44:39,188 - INFO - OPENED SHORT at 2100.5 | Stop loss: 2111.0024999999996 | Take profit: 2068.9925 +2025-03-10 12:44:39,231 - INFO - CLOSED short at 2090.0 | PnL: 0.50% | $1.32 +2025-03-10 12:44:39,330 - INFO - OPENED SHORT at 2098.1 | Stop loss: 2108.5905 | Take profit: 2066.6285 +2025-03-10 12:44:39,599 - INFO - CLOSED short at 2100.69 | PnL: -0.12% | $-0.75 +2025-03-10 12:44:39,691 - INFO - OPENED LONG at 2106.39 | Stop loss: 2095.85805 | Take profit: 2137.9858499999996 +2025-03-10 12:44:39,835 - INFO - CLOSED long at 2104.68 | PnL: -0.08% | $-0.60 +2025-03-10 12:44:39,881 - INFO - OPENED LONG at 2101.51 | Stop loss: 2091.0024500000004 | Take profit: 2133.03265 +2025-03-10 12:44:40,112 - INFO - CLOSED long at 2093.46 | PnL: -0.38% | $-1.60 +2025-03-10 12:44:40,157 - INFO - OPENED LONG at 2093.33 | Stop loss: 2082.86335 | Take profit: 2124.72995 +2025-03-10 12:44:40,201 - INFO - CLOSED long at 2092.46 | PnL: -0.04% | $-0.46 +2025-03-10 12:44:40,766 - INFO - OPENED LONG at 2081.25 | Stop loss: 2070.84375 | Take profit: 2112.46875 +2025-03-10 12:44:40,809 - INFO - CLOSED long at 2083.41 | PnL: 0.10% | $0.01 +2025-03-10 12:44:40,809 - INFO - OPENED SHORT at 2083.41 | Stop loss: 2093.8270499999994 | Take profit: 2052.15885 +2025-03-10 12:44:40,959 - INFO - CLOSED short at 2086.57 | PnL: -0.15% | $-0.81 +2025-03-10 12:44:41,007 - INFO - OPENED LONG at 2085.8 | Stop loss: 2075.371 | Take profit: 2117.087 +2025-03-10 12:44:41,385 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 26.3% in downtrends | Avg Win=$0.69, Avg Loss=$-0.84 +2025-03-10 12:44:41,385 - INFO - Episode 8: Reward=202.74, Balance=$79.91, Win Rate=29.4%, Trades=51, Episode PnL=$-12.28, Total PnL=$-260.65, Max Drawdown=20.1%, Pred Accuracy=99.7% +2025-03-10 12:44:41,531 - INFO - Model saved to models/trading_agent_best_reward.pt +2025-03-10 12:44:41,531 - INFO - New best reward model saved: 202.74 +2025-03-10 12:44:41,569 - INFO - Identified 26 optimal buy points and 27 optimal sell points +2025-03-10 12:44:41,883 - INFO - OPENED LONG at 2059.03 | Stop loss: 2048.7348500000003 | Take profit: 2089.91545 +2025-03-10 12:44:42,355 - INFO - CLOSED long at 2055.2 | PnL: -0.19% | $-1.14 +2025-03-10 12:44:42,548 - INFO - OPENED SHORT at 2053.56 | Stop loss: 2063.8277999999996 | Take profit: 2022.7566 +2025-03-10 12:44:43,034 - INFO - CLOSED short at 2049.6 | PnL: 0.19% | $0.37 +2025-03-10 12:44:43,269 - INFO - OPENED SHORT at 2047.39 | Stop loss: 2057.62695 | Take profit: 2016.6791500000002 +2025-03-10 12:44:43,561 - INFO - CLOSED short at 2045.79 | PnL: 0.08% | $-0.09 +2025-03-10 12:44:43,561 - INFO - OPENED LONG at 2045.79 | Stop loss: 2035.56105 | Take profit: 2076.4768499999996 +2025-03-10 12:44:43,700 - INFO - CLOSED long at 2048.51 | PnL: 0.13% | $0.13 +2025-03-10 12:44:43,890 - INFO - OPENED SHORT at 2051.11 | Stop loss: 2061.36555 | Take profit: 2020.34335 +2025-03-10 12:44:44,379 - INFO - STOP LOSS hit for short at 2061.36555 | PnL: -0.50% | $-2.38 +2025-03-10 12:44:44,423 - INFO - OPENED SHORT at 2063.29 | Stop loss: 2073.6064499999998 | Take profit: 2032.3406499999999 +2025-03-10 12:44:45,012 - INFO - CLOSED short at 2059.49 | PnL: 0.18% | $0.33 +2025-03-10 12:44:45,013 - INFO - OPENED LONG at 2059.49 | Stop loss: 2049.1925499999998 | Take profit: 2090.3823499999994 +2025-03-10 12:44:45,124 - INFO - CLOSED long at 2057.89 | PnL: -0.08% | $-0.69 +2025-03-10 12:44:45,124 - INFO - OPENED SHORT at 2057.89 | Stop loss: 2068.1794499999996 | Take profit: 2027.02165 +2025-03-10 12:44:45,377 - INFO - CLOSED short at 2064.32 | PnL: -0.31% | $-1.59 +2025-03-10 12:44:45,428 - INFO - OPENED SHORT at 2065.86 | Stop loss: 2076.1893 | Take profit: 2034.8721 +2025-03-10 12:44:45,725 - INFO - CLOSED short at 2070.99 | PnL: -0.25% | $-1.32 +2025-03-10 12:44:45,726 - INFO - OPENED LONG at 2070.99 | Stop loss: 2060.63505 | Take profit: 2102.0548499999995 +2025-03-10 12:44:45,889 - INFO - CLOSED long at 2068.99 | PnL: -0.10% | $-0.74 +2025-03-10 12:44:45,890 - INFO - OPENED SHORT at 2068.99 | Stop loss: 2079.3349499999995 | Take profit: 2037.9551499999998 +2025-03-10 12:44:46,402 - INFO - CLOSED short at 2071.41 | PnL: -0.12% | $-0.81 +2025-03-10 12:44:46,450 - INFO - OPENED SHORT at 2069.37 | Stop loss: 2079.71685 | Take profit: 2038.32945 +2025-03-10 12:44:46,705 - INFO - CLOSED short at 2068.02 | PnL: 0.07% | $-0.13 +2025-03-10 12:44:46,705 - INFO - OPENED LONG at 2068.02 | Stop loss: 2057.6799 | Take profit: 2099.0402999999997 +2025-03-10 12:44:46,941 - INFO - CLOSED long at 2069.34 | PnL: 0.06% | $-0.13 +2025-03-10 12:44:47,133 - INFO - OPENED SHORT at 2067.51 | Stop loss: 2077.84755 | Take profit: 2036.49735 +2025-03-10 12:44:47,422 - INFO - CLOSED short at 2065.08 | PnL: 0.12% | $0.06 +2025-03-10 12:44:47,424 - INFO - OPENED LONG at 2065.08 | Stop loss: 2054.7545999999998 | Take profit: 2096.0561999999995 +2025-03-10 12:44:47,634 - INFO - CLOSED long at 2068.51 | PnL: 0.17% | $0.24 +2025-03-10 12:44:47,634 - INFO - OPENED SHORT at 2068.51 | Stop loss: 2078.85255 | Take profit: 2037.4823500000002 +2025-03-10 12:44:47,779 - INFO - CLOSED short at 2070.4 | PnL: -0.09% | $-0.71 +2025-03-10 12:44:47,779 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.0480000000002 | Take profit: 2101.4559999999997 +2025-03-10 12:44:47,992 - INFO - CLOSED long at 2071.36 | PnL: 0.05% | $-0.20 +2025-03-10 12:44:48,100 - INFO - OPENED SHORT at 2073.11 | Stop loss: 2083.47555 | Take profit: 2042.0133500000002 +2025-03-10 12:44:48,263 - INFO - CLOSED short at 2074.29 | PnL: -0.06% | $-0.57 +2025-03-10 12:44:48,419 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.752 | Take profit: 2039.344 +2025-03-10 12:44:48,649 - INFO - CLOSED short at 2067.0 | PnL: 0.16% | $0.23 +2025-03-10 12:44:48,649 - INFO - OPENED LONG at 2067.0 | Stop loss: 2056.665 | Take profit: 2098.0049999999997 +2025-03-10 12:44:49,240 - INFO - CLOSED long at 2067.59 | PnL: 0.03% | $-0.26 +2025-03-10 12:44:49,240 - INFO - OPENED SHORT at 2067.59 | Stop loss: 2077.92795 | Take profit: 2036.57615 +2025-03-10 12:44:49,337 - INFO - CLOSED short at 2070.3 | PnL: -0.13% | $-0.84 +2025-03-10 12:44:49,382 - INFO - OPENED SHORT at 2071.59 | Stop loss: 2081.9479499999998 | Take profit: 2040.5161500000002 +2025-03-10 12:44:49,425 - INFO - CLOSED short at 2070.7 | PnL: 0.04% | $-0.20 +2025-03-10 12:44:49,471 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.0480000000002 | Take profit: 2101.4559999999997 +2025-03-10 12:44:49,880 - INFO - CLOSED long at 2065.28 | PnL: -0.25% | $-1.24 +2025-03-10 12:44:49,881 - INFO - OPENED SHORT at 2065.28 | Stop loss: 2075.6064 | Take profit: 2034.3008000000002 +2025-03-10 12:44:49,968 - INFO - CLOSED short at 2064.47 | PnL: 0.04% | $-0.21 +2025-03-10 12:44:49,968 - INFO - OPENED LONG at 2064.47 | Stop loss: 2054.14765 | Take profit: 2095.4370499999995 +2025-03-10 12:44:50,429 - INFO - CLOSED long at 2062.89 | PnL: -0.08% | $-0.62 +2025-03-10 12:44:50,430 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.2044499999997 | Take profit: 2031.9466499999999 +2025-03-10 12:44:50,579 - INFO - CLOSED short at 2059.59 | PnL: 0.16% | $0.21 +2025-03-10 12:44:50,579 - INFO - OPENED LONG at 2059.59 | Stop loss: 2049.29205 | Take profit: 2090.48385 +2025-03-10 12:44:50,627 - INFO - CLOSED long at 2061.3 | PnL: 0.08% | $-0.06 +2025-03-10 12:44:50,627 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.6065 | Take profit: 2030.3805000000002 +2025-03-10 12:44:50,975 - INFO - CLOSED short at 2064.45 | PnL: -0.15% | $-0.89 +2025-03-10 12:44:50,976 - INFO - OPENED LONG at 2064.45 | Stop loss: 2054.1277499999997 | Take profit: 2095.4167499999994 +2025-03-10 12:44:51,383 - INFO - CLOSED long at 2060.65 | PnL: -0.18% | $-0.99 +2025-03-10 12:44:51,672 - INFO - OPENED LONG at 2062.61 | Stop loss: 2052.29695 | Take profit: 2093.54915 +2025-03-10 12:44:51,825 - INFO - CLOSED long at 2061.13 | PnL: -0.07% | $-0.59 +2025-03-10 12:44:51,826 - INFO - OPENED SHORT at 2061.13 | Stop loss: 2071.43565 | Take profit: 2030.21305 +2025-03-10 12:44:51,928 - INFO - CLOSED short at 2064.1 | PnL: -0.14% | $-0.83 +2025-03-10 12:44:51,928 - INFO - OPENED LONG at 2064.1 | Stop loss: 2053.7795 | Take profit: 2095.0615 +2025-03-10 12:44:52,299 - INFO - CLOSED long at 2062.6 | PnL: -0.07% | $-0.58 +2025-03-10 12:44:52,299 - INFO - OPENED SHORT at 2062.6 | Stop loss: 2072.9129999999996 | Take profit: 2031.6609999999998 +2025-03-10 12:44:52,345 - INFO - CLOSED short at 2061.89 | PnL: 0.03% | $-0.22 +2025-03-10 12:44:52,345 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.5805499999997 | Take profit: 2092.8183499999996 +2025-03-10 12:44:52,495 - INFO - CLOSED long at 2061.09 | PnL: -0.04% | $-0.46 +2025-03-10 12:44:52,496 - INFO - OPENED SHORT at 2061.09 | Stop loss: 2071.39545 | Take profit: 2030.1736500000002 +2025-03-10 12:44:52,830 - INFO - CLOSED short at 2057.4 | PnL: 0.18% | $0.26 +2025-03-10 12:44:53,273 - INFO - OPENED SHORT at 2061.66 | Stop loss: 2071.9682999999995 | Take profit: 2030.7350999999999 +2025-03-10 12:44:53,569 - INFO - CLOSED short at 2066.36 | PnL: -0.23% | $-1.09 +2025-03-10 12:44:53,569 - INFO - OPENED LONG at 2066.36 | Stop loss: 2056.0282 | Take profit: 2097.3554 +2025-03-10 12:44:53,718 - INFO - CLOSED long at 2064.49 | PnL: -0.09% | $-0.63 +2025-03-10 12:44:53,853 - INFO - OPENED SHORT at 2066.79 | Stop loss: 2077.1239499999997 | Take profit: 2035.7881499999999 +2025-03-10 12:44:54,180 - INFO - STOP LOSS hit for short at 2077.1239499999997 | PnL: -0.50% | $-1.96 +2025-03-10 12:44:54,233 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.38505 | Take profit: 2043.8848500000001 +2025-03-10 12:44:54,322 - INFO - CLOSED short at 2071.04 | PnL: 0.19% | $0.29 +2025-03-10 12:44:54,378 - INFO - OPENED SHORT at 2070.01 | Stop loss: 2080.36005 | Take profit: 2038.9598500000002 +2025-03-10 12:44:54,554 - INFO - CLOSED short at 2068.15 | PnL: 0.09% | $-0.03 +2025-03-10 12:44:54,610 - INFO - OPENED SHORT at 2068.39 | Stop loss: 2078.73195 | Take profit: 2037.3641499999999 +2025-03-10 12:44:54,695 - INFO - CLOSED short at 2069.03 | PnL: -0.03% | $-0.42 +2025-03-10 12:44:54,696 - INFO - OPENED LONG at 2069.03 | Stop loss: 2058.68485 | Take profit: 2100.06545 +2025-03-10 12:44:54,841 - INFO - CLOSED long at 2072.99 | PnL: 0.19% | $0.29 +2025-03-10 12:44:54,885 - INFO - OPENED SHORT at 2071.49 | Stop loss: 2081.8474499999998 | Take profit: 2040.4176499999999 +2025-03-10 12:44:54,970 - INFO - CLOSED short at 2067.33 | PnL: 0.20% | $0.32 +2025-03-10 12:44:55,066 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.3714999999997 | Take profit: 2096.6854999999996 +2025-03-10 12:44:55,343 - INFO - CLOSED long at 2064.4 | PnL: -0.06% | $-0.52 +2025-03-10 12:44:55,344 - INFO - OPENED SHORT at 2064.4 | Stop loss: 2074.7219999999998 | Take profit: 2033.434 +2025-03-10 12:44:55,584 - INFO - CLOSED short at 2065.31 | PnL: -0.04% | $-0.46 +2025-03-10 12:44:55,585 - INFO - OPENED LONG at 2065.31 | Stop loss: 2054.9834499999997 | Take profit: 2096.2896499999997 +2025-03-10 12:44:55,987 - INFO - CLOSED long at 2070.7 | PnL: 0.26% | $0.51 +2025-03-10 12:44:55,988 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.0534999999995 | Take profit: 2039.6394999999998 +2025-03-10 12:44:56,032 - INFO - CLOSED short at 2070.8 | PnL: -0.00% | $-0.33 +2025-03-10 12:44:56,033 - INFO - OPENED LONG at 2070.8 | Stop loss: 2060.4460000000004 | Take profit: 2101.862 +2025-03-10 12:44:56,307 - INFO - CLOSED long at 2070.67 | PnL: -0.01% | $-0.34 +2025-03-10 12:44:56,623 - INFO - OPENED SHORT at 2074.35 | Stop loss: 2084.7217499999997 | Take profit: 2043.2347499999998 +2025-03-10 12:44:57,183 - INFO - CLOSED short at 2067.9 | PnL: 0.31% | $0.67 +2025-03-10 12:44:57,184 - INFO - OPENED LONG at 2067.9 | Stop loss: 2057.5605 | Take profit: 2098.9184999999998 +2025-03-10 12:44:57,565 - INFO - CLOSED long at 2070.1 | PnL: 0.11% | $0.02 +2025-03-10 12:44:57,566 - INFO - OPENED SHORT at 2070.1 | Stop loss: 2080.4504999999995 | Take profit: 2039.0484999999999 +2025-03-10 12:44:58,105 - INFO - CLOSED short at 2065.06 | PnL: 0.24% | $0.46 +2025-03-10 12:44:58,106 - INFO - OPENED LONG at 2065.06 | Stop loss: 2054.7347 | Take profit: 2096.0359 +2025-03-10 12:44:58,154 - INFO - CLOSED long at 2064.11 | PnL: -0.05% | $-0.47 +2025-03-10 12:44:58,315 - INFO - OPENED SHORT at 2063.01 | Stop loss: 2073.32505 | Take profit: 2032.0648500000002 +2025-03-10 12:44:58,467 - INFO - CLOSED short at 2059.2 | PnL: 0.18% | $0.27 +2025-03-10 12:44:58,468 - INFO - OPENED LONG at 2059.2 | Stop loss: 2048.904 | Take profit: 2090.0879999999997 +2025-03-10 12:44:59,266 - INFO - CLOSED long at 2065.12 | PnL: 0.29% | $0.60 +2025-03-10 12:44:59,456 - INFO - OPENED SHORT at 2064.08 | Stop loss: 2074.4003999999995 | Take profit: 2033.1188 +2025-03-10 12:44:59,548 - INFO - CLOSED short at 2059.9 | PnL: 0.20% | $0.33 +2025-03-10 12:44:59,548 - INFO - OPENED LONG at 2059.9 | Stop loss: 2049.6005 | Take profit: 2090.7985 +2025-03-10 12:44:59,599 - INFO - CLOSED long at 2060.7 | PnL: 0.04% | $-0.20 +2025-03-10 12:44:59,599 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.0035 | Take profit: 2029.7894999999999 +2025-03-10 12:44:59,695 - INFO - CLOSED short at 2062.54 | PnL: -0.09% | $-0.61 +2025-03-10 12:44:59,696 - INFO - OPENED LONG at 2062.54 | Stop loss: 2052.2273 | Take profit: 2093.4781 +2025-03-10 12:44:59,742 - INFO - CLOSED long at 2065.72 | PnL: 0.15% | $0.17 +2025-03-10 12:44:59,743 - INFO - OPENED SHORT at 2065.72 | Stop loss: 2076.0485999999996 | Take profit: 2034.7341999999999 +2025-03-10 12:44:59,886 - INFO - CLOSED short at 2069.34 | PnL: -0.18% | $-0.88 +2025-03-10 12:45:00,019 - INFO - OPENED SHORT at 2073.49 | Stop loss: 2083.8574499999995 | Take profit: 2042.3876499999997 +2025-03-10 12:45:00,114 - INFO - CLOSED short at 2072.99 | PnL: 0.02% | $-0.24 +2025-03-10 12:45:00,200 - INFO - OPENED SHORT at 2071.8 | Stop loss: 2082.159 | Take profit: 2040.7230000000002 +2025-03-10 12:45:00,391 - INFO - STOP LOSS hit for short at 2082.159 | PnL: -0.50% | $-1.90 +2025-03-10 12:45:00,851 - INFO - OPENED LONG at 2142.68 | Stop loss: 2131.9665999999997 | Take profit: 2174.8201999999997 +2025-03-10 12:45:00,979 - INFO - STOP LOSS hit for long at 2131.9665999999997 | PnL: -0.50% | $-1.85 +2025-03-10 12:45:01,343 - INFO - OPENED LONG at 2118.52 | Stop loss: 2107.9274 | Take profit: 2150.2978 +2025-03-10 12:45:01,536 - INFO - STOP LOSS hit for long at 2107.9274 | PnL: -0.50% | $-1.81 +2025-03-10 12:45:01,585 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.153 | Take profit: 2078.941 +2025-03-10 12:45:01,766 - INFO - CLOSED short at 2112.46 | PnL: -0.09% | $-0.55 +2025-03-10 12:45:01,815 - INFO - OPENED SHORT at 2113.24 | Stop loss: 2123.8061999999995 | Take profit: 2081.5413999999996 +2025-03-10 12:45:02,870 - INFO - CLOSED short at 2103.86 | PnL: 0.44% | $1.00 +2025-03-10 12:45:03,056 - INFO - OPENED LONG at 2100.02 | Stop loss: 2089.5199 | Take profit: 2131.5202999999997 +2025-03-10 12:45:03,290 - INFO - CLOSED long at 2092.46 | PnL: -0.36% | $-1.36 +2025-03-10 12:45:03,679 - INFO - OPENED SHORT at 2083.97 | Stop loss: 2094.3898499999996 | Take profit: 2052.7104499999996 +2025-03-10 12:45:04,062 - INFO - CLOSED short at 2083.59 | PnL: 0.02% | $-0.24 +2025-03-10 12:45:04,445 - INFO - OPENED SHORT at 2088.1 | Stop loss: 2098.5404999999996 | Take profit: 2056.7785 +2025-03-10 12:45:04,538 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 30.8% in downtrends | Avg Win=$0.34, Avg Loss=$-0.73 +2025-03-10 12:45:04,539 - INFO - Episode 9: Reward=202.20, Balance=$72.38, Win Rate=29.9%, Trades=67, Episode PnL=$-17.85, Total PnL=$-288.27, Max Drawdown=27.6%, Pred Accuracy=99.6% +2025-03-10 12:45:04,573 - INFO - Identified 26 optimal buy points and 27 optimal sell points +2025-03-10 12:45:05,182 - INFO - OPENED LONG at 2057.9 | Stop loss: 2047.6105 | Take profit: 2088.7684999999997 +2025-03-10 12:45:05,376 - INFO - CLOSED long at 2058.59 | PnL: 0.03% | $-0.27 +2025-03-10 12:45:05,376 - INFO - OPENED SHORT at 2058.59 | Stop loss: 2068.8829499999997 | Take profit: 2027.71115 +2025-03-10 12:45:05,659 - INFO - CLOSED short at 2052.16 | PnL: 0.31% | $0.85 +2025-03-10 12:45:05,660 - INFO - OPENED LONG at 2052.16 | Stop loss: 2041.8991999999998 | Take profit: 2082.9423999999995 +2025-03-10 12:45:05,703 - INFO - CLOSED long at 2053.1 | PnL: 0.05% | $-0.22 +2025-03-10 12:45:05,752 - INFO - OPENED SHORT at 2052.25 | Stop loss: 2062.5112499999996 | Take profit: 2021.46625 +2025-03-10 12:45:05,794 - INFO - CLOSED short at 2050.71 | PnL: 0.08% | $-0.10 +2025-03-10 12:45:05,795 - INFO - OPENED LONG at 2050.71 | Stop loss: 2040.4564500000001 | Take profit: 2081.4706499999998 +2025-03-10 12:45:05,846 - INFO - CLOSED long at 2050.44 | PnL: -0.01% | $-0.45 +2025-03-10 12:45:05,846 - INFO - OPENED SHORT at 2050.44 | Stop loss: 2060.6922 | Take profit: 2019.6834000000001 +2025-03-10 12:45:05,988 - INFO - CLOSED short at 2049.6 | PnL: 0.04% | $-0.24 +2025-03-10 12:45:06,588 - INFO - OPENED SHORT at 2047.59 | Stop loss: 2057.82795 | Take profit: 2016.8761499999998 +2025-03-10 12:45:07,161 - INFO - STOP LOSS hit for short at 2057.82795 | PnL: -0.50% | $-2.39 +2025-03-10 12:45:07,388 - INFO - OPENED SHORT at 2064.61 | Stop loss: 2074.93305 | Take profit: 2033.64085 +2025-03-10 12:45:07,617 - INFO - CLOSED short at 2060.99 | PnL: 0.18% | $0.29 +2025-03-10 12:45:07,618 - INFO - OPENED LONG at 2060.99 | Stop loss: 2050.6850499999996 | Take profit: 2091.9048499999994 +2025-03-10 12:45:07,665 - INFO - CLOSED long at 2058.3 | PnL: -0.13% | $-0.90 +2025-03-10 12:45:07,666 - INFO - OPENED SHORT at 2058.3 | Stop loss: 2068.5915 | Take profit: 2027.4255 +2025-03-10 12:45:08,121 - INFO - CLOSED short at 2061.79 | PnL: -0.17% | $-1.04 +2025-03-10 12:45:08,214 - INFO - OPENED LONG at 2064.32 | Stop loss: 2053.9984 | Take profit: 2095.2848 +2025-03-10 12:45:08,258 - INFO - CLOSED long at 2065.86 | PnL: 0.07% | $-0.10 +2025-03-10 12:45:08,259 - INFO - OPENED SHORT at 2065.86 | Stop loss: 2076.1893 | Take profit: 2034.8721 +2025-03-10 12:45:08,804 - INFO - CLOSED short at 2067.69 | PnL: -0.09% | $-0.72 +2025-03-10 12:45:09,711 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.9933 | Take profit: 2100.3801 +2025-03-10 12:45:09,949 - INFO - CLOSED long at 2069.01 | PnL: -0.02% | $-0.44 +2025-03-10 12:45:10,307 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.2445 | Take profit: 2037.8665 +2025-03-10 12:45:10,357 - INFO - CLOSED short at 2068.51 | PnL: 0.02% | $-0.31 +2025-03-10 12:45:10,357 - INFO - OPENED LONG at 2068.51 | Stop loss: 2058.1674500000004 | Take profit: 2099.53765 +2025-03-10 12:45:10,962 - INFO - CLOSED long at 2073.9 | PnL: 0.26% | $0.60 +2025-03-10 12:45:11,670 - INFO - OPENED LONG at 2068.58 | Stop loss: 2058.2371 | Take profit: 2099.6086999999998 +2025-03-10 12:45:12,084 - INFO - CLOSED long at 2070.4 | PnL: 0.09% | $-0.05 +2025-03-10 12:45:12,129 - INFO - OPENED SHORT at 2070.73 | Stop loss: 2081.0836499999996 | Take profit: 2039.66905 +2025-03-10 12:45:12,371 - INFO - CLOSED short at 2067.86 | PnL: 0.14% | $0.15 +2025-03-10 12:45:12,371 - INFO - OPENED LONG at 2067.86 | Stop loss: 2057.5207 | Take profit: 2098.8779 +2025-03-10 12:45:12,531 - INFO - CLOSED long at 2065.28 | PnL: -0.12% | $-0.85 +2025-03-10 12:45:12,532 - INFO - OPENED SHORT at 2065.28 | Stop loss: 2075.6064 | Take profit: 2034.3008000000002 +2025-03-10 12:45:12,578 - INFO - CLOSED short at 2066.39 | PnL: -0.05% | $-0.58 +2025-03-10 12:45:12,664 - INFO - OPENED LONG at 2070.04 | Stop loss: 2059.6898 | Take profit: 2101.0905999999995 +2025-03-10 12:45:12,721 - INFO - CLOSED long at 2067.8 | PnL: -0.11% | $-0.78 +2025-03-10 12:45:12,721 - INFO - OPENED SHORT at 2067.8 | Stop loss: 2078.139 | Take profit: 2036.7830000000001 +2025-03-10 12:45:12,765 - INFO - CLOSED short at 2068.18 | PnL: -0.02% | $-0.44 +2025-03-10 12:45:12,766 - INFO - OPENED LONG at 2068.18 | Stop loss: 2057.8390999999997 | Take profit: 2099.2027 +2025-03-10 12:45:12,856 - INFO - CLOSED long at 2067.88 | PnL: -0.01% | $-0.42 +2025-03-10 12:45:12,857 - INFO - OPENED SHORT at 2067.88 | Stop loss: 2078.2194 | Take profit: 2036.8618000000001 +2025-03-10 12:45:13,661 - INFO - CLOSED short at 2064.08 | PnL: 0.18% | $0.31 +2025-03-10 12:45:13,711 - INFO - OPENED SHORT at 2062.71 | Stop loss: 2073.02355 | Take profit: 2031.76935 +2025-03-10 12:45:13,756 - INFO - CLOSED short at 2062.89 | PnL: -0.01% | $-0.40 +2025-03-10 12:45:13,799 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.8224999999998 | Take profit: 2033.5325 +2025-03-10 12:45:14,103 - INFO - CLOSED short at 2059.3 | PnL: 0.25% | $0.56 +2025-03-10 12:45:14,104 - INFO - OPENED LONG at 2059.3 | Stop loss: 2049.0035000000003 | Take profit: 2090.1895 +2025-03-10 12:45:14,401 - INFO - CLOSED long at 2060.3 | PnL: 0.05% | $-0.19 +2025-03-10 12:45:14,542 - INFO - OPENED SHORT at 2064.1 | Stop loss: 2074.4204999999997 | Take profit: 2033.1384999999998 +2025-03-10 12:45:14,590 - INFO - CLOSED short at 2065.36 | PnL: -0.06% | $-0.59 +2025-03-10 12:45:14,643 - INFO - OPENED SHORT at 2064.33 | Stop loss: 2074.65165 | Take profit: 2033.3650499999999 +2025-03-10 12:45:15,241 - INFO - CLOSED short at 2059.02 | PnL: 0.26% | $0.57 +2025-03-10 12:45:15,241 - INFO - OPENED LONG at 2059.02 | Stop loss: 2048.7249 | Take profit: 2089.9053 +2025-03-10 12:45:15,518 - INFO - CLOSED long at 2056.28 | PnL: -0.13% | $-0.86 +2025-03-10 12:45:15,652 - INFO - OPENED LONG at 2054.83 | Stop loss: 2044.55585 | Take profit: 2085.6524499999996 +2025-03-10 12:45:15,750 - INFO - CLOSED long at 2058.15 | PnL: 0.16% | $0.22 +2025-03-10 12:45:15,751 - INFO - OPENED SHORT at 2058.15 | Stop loss: 2068.4407499999998 | Take profit: 2027.27775 +2025-03-10 12:45:15,881 - INFO - CLOSED short at 2061.5 | PnL: -0.16% | $-0.96 +2025-03-10 12:45:15,930 - INFO - OPENED SHORT at 2061.6 | Stop loss: 2071.908 | Take profit: 2030.676 +2025-03-10 12:45:16,251 - INFO - CLOSED short at 2064.49 | PnL: -0.14% | $-0.87 +2025-03-10 12:45:16,299 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.6616499999996 | Take profit: 2035.33505 +2025-03-10 12:45:16,484 - INFO - CLOSED short at 2067.01 | PnL: -0.03% | $-0.48 +2025-03-10 12:45:16,533 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.01845 | Take profit: 2034.7046500000001 +2025-03-10 12:45:16,716 - INFO - STOP LOSS hit for short at 2076.01845 | PnL: -0.50% | $-2.13 +2025-03-10 12:45:16,759 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.38505 | Take profit: 2043.8848500000001 +2025-03-10 12:45:17,177 - INFO - CLOSED short at 2069.69 | PnL: 0.26% | $0.54 +2025-03-10 12:45:17,747 - INFO - OPENED SHORT at 2063.97 | Stop loss: 2074.2898499999997 | Take profit: 2033.0104499999998 +2025-03-10 12:45:17,847 - INFO - CLOSED short at 2065.3 | PnL: -0.06% | $-0.57 +2025-03-10 12:45:17,847 - INFO - OPENED LONG at 2065.3 | Stop loss: 2054.9735 | Take profit: 2096.2795 +2025-03-10 12:45:17,914 - INFO - CLOSED long at 2064.4 | PnL: -0.04% | $-0.50 +2025-03-10 12:45:17,914 - INFO - OPENED SHORT at 2064.4 | Stop loss: 2074.7219999999998 | Take profit: 2033.434 +2025-03-10 12:45:17,959 - INFO - CLOSED short at 2064.31 | PnL: 0.00% | $-0.33 +2025-03-10 12:45:18,008 - INFO - OPENED SHORT at 2065.5 | Stop loss: 2075.8275 | Take profit: 2034.5175 +2025-03-10 12:45:18,208 - INFO - CLOSED short at 2066.8 | PnL: -0.06% | $-0.56 +2025-03-10 12:45:18,254 - INFO - OPENED LONG at 2066.5 | Stop loss: 2056.1675 | Take profit: 2097.4975 +2025-03-10 12:45:18,304 - INFO - CLOSED long at 2068.59 | PnL: 0.10% | $0.00 +2025-03-10 12:45:18,304 - INFO - OPENED SHORT at 2068.59 | Stop loss: 2078.93295 | Take profit: 2037.5611500000002 +2025-03-10 12:45:18,350 - INFO - CLOSED short at 2071.59 | PnL: -0.15% | $-0.84 +2025-03-10 12:45:18,451 - INFO - OPENED SHORT at 2071.35 | Stop loss: 2081.70675 | Take profit: 2040.27975 +2025-03-10 12:45:18,583 - INFO - CLOSED short at 2070.7 | PnL: 0.03% | $-0.23 +2025-03-10 12:45:18,917 - INFO - OPENED SHORT at 2070.67 | Stop loss: 2081.02335 | Take profit: 2039.60995 +2025-03-10 12:45:19,711 - INFO - CLOSED short at 2067.0 | PnL: 0.18% | $0.26 +2025-03-10 12:45:19,762 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.2394999999997 | Take profit: 2036.8815 +2025-03-10 12:45:20,267 - INFO - CLOSED short at 2065.7 | PnL: 0.11% | $0.02 +2025-03-10 12:45:20,267 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.3714999999997 | Take profit: 2096.6854999999996 +2025-03-10 12:45:20,907 - INFO - CLOSED long at 2060.7 | PnL: -0.24% | $-1.16 +2025-03-10 12:45:20,908 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.0035 | Take profit: 2029.7894999999999 +2025-03-10 12:45:21,480 - INFO - CLOSED short at 2057.11 | PnL: 0.17% | $0.25 +2025-03-10 12:45:21,539 - INFO - OPENED SHORT at 2057.89 | Stop loss: 2068.1794499999996 | Take profit: 2027.02165 +2025-03-10 12:45:21,722 - INFO - CLOSED short at 2062.43 | PnL: -0.22% | $-1.07 +2025-03-10 12:45:21,723 - INFO - OPENED LONG at 2062.43 | Stop loss: 2052.1178499999996 | Take profit: 2093.3664499999995 +2025-03-10 12:45:21,774 - INFO - CLOSED long at 2062.55 | PnL: 0.01% | $-0.31 +2025-03-10 12:45:21,912 - INFO - OPENED SHORT at 2067.49 | Stop loss: 2077.8274499999998 | Take profit: 2036.4776499999998 +2025-03-10 12:45:22,200 - INFO - CLOSED short at 2061.84 | PnL: 0.27% | $0.57 +2025-03-10 12:45:22,342 - INFO - OPENED LONG at 2070.31 | Stop loss: 2059.95845 | Take profit: 2101.3646499999995 +2025-03-10 12:45:22,390 - INFO - CLOSED long at 2070.24 | PnL: -0.00% | $-0.34 +2025-03-10 12:45:22,391 - INFO - OPENED SHORT at 2070.24 | Stop loss: 2080.5911999999994 | Take profit: 2039.1863999999998 +2025-03-10 12:45:22,783 - INFO - CLOSED short at 2071.8 | PnL: -0.08% | $-0.58 +2025-03-10 12:45:22,931 - INFO - OPENED SHORT at 2077.61 | Stop loss: 2087.9980499999997 | Take profit: 2046.44585 +2025-03-10 12:45:23,031 - INFO - STOP LOSS hit for short at 2087.9980499999997 | PnL: -0.50% | $-1.97 +2025-03-10 12:45:23,169 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.8423 | Take profit: 2171.6330999999996 +2025-03-10 12:45:23,598 - INFO - CLOSED long at 2126.99 | PnL: -0.59% | $-2.20 +2025-03-10 12:45:23,598 - INFO - OPENED SHORT at 2126.99 | Stop loss: 2137.6249499999994 | Take profit: 2095.08515 +2025-03-10 12:45:23,698 - INFO - CLOSED short at 2128.69 | PnL: -0.08% | $-0.56 +2025-03-10 12:45:23,699 - INFO - OPENED LONG at 2128.69 | Stop loss: 2118.04655 | Take profit: 2160.6203499999997 +2025-03-10 12:45:23,839 - INFO - STOP LOSS hit for long at 2118.04655 | PnL: -0.50% | $-1.85 +2025-03-10 12:45:23,885 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.3303499999997 | Take profit: 2151.7289499999997 +2025-03-10 12:45:24,027 - INFO - CLOSED long at 2119.14 | PnL: -0.04% | $-0.41 +2025-03-10 12:45:24,027 - INFO - OPENED SHORT at 2119.14 | Stop loss: 2129.7356999999997 | Take profit: 2087.3529 +2025-03-10 12:45:24,168 - INFO - CLOSED short at 2107.43 | PnL: 0.55% | $1.36 +2025-03-10 12:45:24,169 - INFO - OPENED LONG at 2107.43 | Stop loss: 2096.8928499999997 | Take profit: 2139.0414499999997 +2025-03-10 12:45:24,218 - INFO - CLOSED long at 2110.6 | PnL: 0.15% | $0.15 +2025-03-10 12:45:24,219 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.153 | Take profit: 2078.941 +2025-03-10 12:45:24,259 - INFO - CLOSED short at 2109.05 | PnL: 0.07% | $-0.08 +2025-03-10 12:45:24,260 - INFO - OPENED LONG at 2109.05 | Stop loss: 2098.50475 | Take profit: 2140.68575 +2025-03-10 12:45:24,309 - INFO - CLOSED long at 2112.09 | PnL: 0.14% | $0.13 +2025-03-10 12:45:24,310 - INFO - OPENED SHORT at 2112.09 | Stop loss: 2122.65045 | Take profit: 2080.4086500000003 +2025-03-10 12:45:24,657 - INFO - CLOSED short at 2114.8 | PnL: -0.13% | $-0.70 +2025-03-10 12:45:24,658 - INFO - OPENED LONG at 2114.8 | Stop loss: 2104.226 | Take profit: 2146.522 +2025-03-10 12:45:24,807 - INFO - CLOSED long at 2106.49 | PnL: -0.39% | $-1.50 +2025-03-10 12:45:24,807 - INFO - OPENED SHORT at 2106.49 | Stop loss: 2117.0224499999995 | Take profit: 2074.89265 +2025-03-10 12:45:24,853 - INFO - CLOSED short at 2108.06 | PnL: -0.07% | $-0.52 +2025-03-10 12:45:24,854 - INFO - OPENED LONG at 2108.06 | Stop loss: 2097.5197 | Take profit: 2139.6809 +2025-03-10 12:45:25,000 - INFO - STOP LOSS hit for long at 2097.5197 | PnL: -0.50% | $-1.77 +2025-03-10 12:45:25,479 - INFO - OPENED SHORT at 2100.74 | Stop loss: 2111.2436999999995 | Take profit: 2069.2288999999996 +2025-03-10 12:45:25,716 - INFO - CLOSED short at 2100.02 | PnL: 0.03% | $-0.19 +2025-03-10 12:45:25,717 - INFO - OPENED LONG at 2100.02 | Stop loss: 2089.5199 | Take profit: 2131.5202999999997 +2025-03-10 12:45:25,765 - INFO - CLOSED long at 2098.39 | PnL: -0.08% | $-0.51 +2025-03-10 12:45:25,765 - INFO - OPENED SHORT at 2098.39 | Stop loss: 2108.8819499999995 | Take profit: 2066.91415 +2025-03-10 12:45:25,905 - INFO - CLOSED short at 2093.33 | PnL: 0.24% | $0.40 +2025-03-10 12:45:25,906 - INFO - OPENED LONG at 2093.33 | Stop loss: 2082.86335 | Take profit: 2124.72995 +2025-03-10 12:45:26,000 - INFO - CLOSED long at 2091.1 | PnL: -0.11% | $-0.59 +2025-03-10 12:45:26,000 - INFO - OPENED SHORT at 2091.1 | Stop loss: 2101.5554999999995 | Take profit: 2059.7335 +2025-03-10 12:45:26,185 - INFO - CLOSED short at 2083.28 | PnL: 0.37% | $0.78 +2025-03-10 12:45:26,185 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.8636 | Take profit: 2114.5292 +2025-03-10 12:45:26,330 - INFO - CLOSED long at 2085.3 | PnL: 0.10% | $-0.01 +2025-03-10 12:45:26,332 - INFO - OPENED SHORT at 2085.3 | Stop loss: 2095.7264999999998 | Take profit: 2054.0205 +2025-03-10 12:45:26,696 - INFO - CLOSED short at 2086.57 | PnL: -0.06% | $-0.46 +2025-03-10 12:45:26,697 - INFO - OPENED LONG at 2086.57 | Stop loss: 2076.13715 | Take profit: 2117.86855 +2025-03-10 12:45:26,885 - INFO - CLOSED long at 2085.85 | PnL: -0.03% | $-0.38 +2025-03-10 12:45:26,885 - INFO - OPENED SHORT at 2085.85 | Stop loss: 2096.2792499999996 | Take profit: 2054.56225 +2025-03-10 12:45:26,972 - INFO - CLOSED short at 2088.32 | PnL: -0.12% | $-0.62 +2025-03-10 12:45:26,973 - INFO - OPENED LONG at 2088.32 | Stop loss: 2077.8784 | Take profit: 2119.6448 +2025-03-10 12:45:27,117 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 34.6% in downtrends | Avg Win=$0.42, Avg Loss=$-0.70 +2025-03-10 12:45:27,119 - INFO - Episode 10: Reward=193.96, Balance=$70.46, Win Rate=26.0%, Trades=73, Episode PnL=$-18.05, Total PnL=$-317.82, Max Drawdown=28.2%, Pred Accuracy=99.7% +2025-03-10 12:45:27,246 - INFO - Model saved to checkpoints/trading_agent_episode_10.pt +2025-03-10 12:45:27,247 - INFO - Checkpoint saved at episode 10 +2025-03-10 12:45:27,278 - INFO - Identified 26 optimal buy points and 27 optimal sell points +2025-03-10 12:45:27,566 - INFO - OPENED SHORT at 2059.03 | Stop loss: 2069.32515 | Take profit: 2028.1445500000002 +2025-03-10 12:45:28,169 - INFO - CLOSED short at 2055.39 | PnL: 0.18% | $0.31 +2025-03-10 12:45:28,364 - INFO - OPENED SHORT at 2052.16 | Stop loss: 2062.4207999999994 | Take profit: 2021.3775999999998 +2025-03-10 12:45:28,913 - INFO - CLOSED short at 2048.48 | PnL: 0.18% | $0.32 +2025-03-10 12:45:29,101 - INFO - OPENED SHORT at 2047.2 | Stop loss: 2057.4359999999997 | Take profit: 2016.492 +2025-03-10 12:45:29,149 - INFO - CLOSED short at 2045.99 | PnL: 0.06% | $-0.16 +2025-03-10 12:45:29,243 - INFO - OPENED LONG at 2045.79 | Stop loss: 2035.56105 | Take profit: 2076.4768499999996 +2025-03-10 12:45:29,338 - INFO - CLOSED long at 2047.59 | PnL: 0.09% | $-0.05 +2025-03-10 12:45:29,339 - INFO - OPENED SHORT at 2047.59 | Stop loss: 2057.82795 | Take profit: 2016.8761499999998 +2025-03-10 12:45:29,754 - INFO - CLOSED short at 2055.69 | PnL: -0.40% | $-1.99 +2025-03-10 12:45:29,754 - INFO - OPENED LONG at 2055.69 | Stop loss: 2045.41155 | Take profit: 2086.52535 +2025-03-10 12:45:29,862 - INFO - CLOSED long at 2056.89 | PnL: 0.06% | $-0.16 +2025-03-10 12:45:29,862 - INFO - OPENED SHORT at 2056.89 | Stop loss: 2067.1744499999995 | Take profit: 2026.0366499999998 +2025-03-10 12:45:30,323 - INFO - CLOSED short at 2064.69 | PnL: -0.38% | $-1.88 +2025-03-10 12:45:30,372 - INFO - OPENED LONG at 2063.01 | Stop loss: 2052.69495 | Take profit: 2093.9551500000002 +2025-03-10 12:45:30,648 - INFO - CLOSED long at 2060.31 | PnL: -0.13% | $-0.89 +2025-03-10 12:45:31,016 - INFO - OPENED LONG at 2064.32 | Stop loss: 2053.9984 | Take profit: 2095.2848 +2025-03-10 12:45:31,578 - INFO - CLOSED long at 2067.69 | PnL: 0.16% | $0.24 +2025-03-10 12:45:31,578 - INFO - OPENED SHORT at 2067.69 | Stop loss: 2078.02845 | Take profit: 2036.67465 +2025-03-10 12:45:32,471 - INFO - CLOSED short at 2069.34 | PnL: -0.08% | $-0.69 +2025-03-10 12:45:32,708 - INFO - OPENED SHORT at 2069.01 | Stop loss: 2079.35505 | Take profit: 2037.9748500000003 +2025-03-10 12:45:32,843 - INFO - CLOSED short at 2066.19 | PnL: 0.14% | $0.14 +2025-03-10 12:45:32,949 - INFO - OPENED SHORT at 2065.08 | Stop loss: 2075.4053999999996 | Take profit: 2034.1037999999999 +2025-03-10 12:45:33,191 - INFO - CLOSED short at 2068.59 | PnL: -0.17% | $-1.03 +2025-03-10 12:45:33,192 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.24705 | Take profit: 2099.61885 +2025-03-10 12:45:33,230 - INFO - CLOSED long at 2069.7 | PnL: 0.05% | $-0.17 +2025-03-10 12:45:33,231 - INFO - OPENED SHORT at 2069.7 | Stop loss: 2080.0484999999994 | Take profit: 2038.6544999999999 +2025-03-10 12:45:33,322 - INFO - CLOSED short at 2069.96 | PnL: -0.01% | $-0.42 +2025-03-10 12:45:33,322 - INFO - OPENED LONG at 2069.96 | Stop loss: 2059.6102 | Take profit: 2101.0094 +2025-03-10 12:45:33,469 - INFO - CLOSED long at 2071.36 | PnL: 0.07% | $-0.12 +2025-03-10 12:45:33,470 - INFO - OPENED SHORT at 2071.36 | Stop loss: 2081.7167999999997 | Take profit: 2040.2896 +2025-03-10 12:45:33,701 - INFO - CLOSED short at 2074.29 | PnL: -0.14% | $-0.90 +2025-03-10 12:45:33,750 - INFO - OPENED SHORT at 2073.9 | Stop loss: 2084.2695 | Take profit: 2042.7915 +2025-03-10 12:45:34,071 - INFO - CLOSED short at 2067.0 | PnL: 0.33% | $0.86 +2025-03-10 12:45:34,072 - INFO - OPENED LONG at 2067.0 | Stop loss: 2056.665 | Take profit: 2098.0049999999997 +2025-03-10 12:45:34,128 - INFO - CLOSED long at 2067.79 | PnL: 0.04% | $-0.23 +2025-03-10 12:45:34,128 - INFO - OPENED SHORT at 2067.79 | Stop loss: 2078.12895 | Take profit: 2036.77315 +2025-03-10 12:45:34,596 - INFO - CLOSED short at 2067.86 | PnL: -0.00% | $-0.39 +2025-03-10 12:45:34,598 - INFO - OPENED LONG at 2067.86 | Stop loss: 2057.5207 | Take profit: 2098.8779 +2025-03-10 12:45:34,973 - INFO - CLOSED long at 2068.5 | PnL: 0.03% | $-0.26 +2025-03-10 12:45:35,117 - INFO - OPENED SHORT at 2067.11 | Stop loss: 2077.44555 | Take profit: 2036.10335 +2025-03-10 12:45:35,337 - INFO - CLOSED short at 2065.28 | PnL: 0.09% | $-0.04 +2025-03-10 12:45:35,387 - INFO - OPENED LONG at 2066.39 | Stop loss: 2056.0580499999996 | Take profit: 2097.3858499999997 +2025-03-10 12:45:35,488 - INFO - CLOSED long at 2070.04 | PnL: 0.18% | $0.28 +2025-03-10 12:45:35,929 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.2044499999997 | Take profit: 2031.9466499999999 +2025-03-10 12:45:36,016 - INFO - CLOSED short at 2061.78 | PnL: 0.05% | $-0.17 +2025-03-10 12:45:36,016 - INFO - OPENED LONG at 2061.78 | Stop loss: 2051.4711 | Take profit: 2092.7067 +2025-03-10 12:45:36,448 - INFO - CLOSED long at 2064.45 | PnL: 0.13% | $0.11 +2025-03-10 12:45:36,449 - INFO - OPENED SHORT at 2064.45 | Stop loss: 2074.7722499999995 | Take profit: 2033.4832499999998 +2025-03-10 12:45:36,642 - INFO - CLOSED short at 2064.5 | PnL: -0.00% | $-0.38 +2025-03-10 12:45:36,735 - INFO - OPENED SHORT at 2061.6 | Stop loss: 2071.908 | Take profit: 2030.676 +2025-03-10 12:45:37,027 - INFO - CLOSED short at 2061.8 | PnL: -0.01% | $-0.41 +2025-03-10 12:45:37,069 - INFO - OPENED LONG at 2064.7 | Stop loss: 2054.3765 | Take profit: 2095.6704999999997 +2025-03-10 12:45:37,113 - INFO - CLOSED long at 2062.61 | PnL: -0.10% | $-0.74 +2025-03-10 12:45:37,114 - INFO - OPENED SHORT at 2062.61 | Stop loss: 2072.92305 | Take profit: 2031.6708500000002 +2025-03-10 12:45:37,263 - INFO - CLOSED short at 2061.13 | PnL: 0.07% | $-0.10 +2025-03-10 12:45:37,305 - INFO - OPENED LONG at 2061.9 | Stop loss: 2051.5905000000002 | Take profit: 2092.8285 +2025-03-10 12:45:37,507 - INFO - CLOSED long at 2063.39 | PnL: 0.07% | $-0.10 +2025-03-10 12:45:37,508 - INFO - OPENED SHORT at 2063.39 | Stop loss: 2073.70695 | Take profit: 2032.43915 +2025-03-10 12:45:37,698 - INFO - CLOSED short at 2063.0 | PnL: 0.02% | $-0.30 +2025-03-10 12:45:37,698 - INFO - OPENED LONG at 2063.0 | Stop loss: 2052.685 | Take profit: 2093.9449999999997 +2025-03-10 12:45:37,800 - INFO - CLOSED long at 2061.89 | PnL: -0.05% | $-0.56 +2025-03-10 12:45:37,801 - INFO - OPENED SHORT at 2061.89 | Stop loss: 2072.1994499999996 | Take profit: 2030.9616499999997 +2025-03-10 12:45:38,293 - INFO - CLOSED short at 2057.4 | PnL: 0.22% | $0.42 +2025-03-10 12:45:38,338 - INFO - OPENED SHORT at 2058.28 | Stop loss: 2068.5714 | Take profit: 2027.4058000000002 +2025-03-10 12:45:38,876 - INFO - CLOSED short at 2061.3 | PnL: -0.15% | $-0.89 +2025-03-10 12:45:38,877 - INFO - OPENED LONG at 2061.3 | Stop loss: 2050.9935 | Take profit: 2092.2195 +2025-03-10 12:45:39,256 - INFO - CLOSED long at 2066.34 | PnL: 0.24% | $0.52 +2025-03-10 12:45:39,257 - INFO - OPENED SHORT at 2066.34 | Stop loss: 2076.6717 | Take profit: 2035.3449 +2025-03-10 12:45:39,299 - INFO - CLOSED short at 2066.79 | PnL: -0.02% | $-0.44 +2025-03-10 12:45:39,454 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.01845 | Take profit: 2034.7046500000001 +2025-03-10 12:45:39,645 - INFO - STOP LOSS hit for short at 2076.01845 | PnL: -0.50% | $-2.15 +2025-03-10 12:45:39,692 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.38505 | Take profit: 2043.8848500000001 +2025-03-10 12:45:39,884 - INFO - CLOSED short at 2071.6 | PnL: 0.16% | $0.23 +2025-03-10 12:45:39,884 - INFO - OPENED LONG at 2071.6 | Stop loss: 2061.2419999999997 | Take profit: 2102.6739999999995 +2025-03-10 12:45:40,353 - INFO - CLOSED long at 2072.99 | PnL: 0.07% | $-0.12 +2025-03-10 12:45:40,697 - INFO - OPENED LONG at 2063.95 | Stop loss: 2053.6302499999997 | Take profit: 2094.9092499999997 +2025-03-10 12:45:40,739 - INFO - CLOSED long at 2063.97 | PnL: 0.00% | $-0.35 +2025-03-10 12:45:41,459 - INFO - OPENED SHORT at 2070.9 | Stop loss: 2081.2545 | Take profit: 2039.8365000000001 +2025-03-10 12:45:41,799 - INFO - CLOSED short at 2068.19 | PnL: 0.13% | $0.11 +2025-03-10 12:45:41,985 - INFO - OPENED LONG at 2071.61 | Stop loss: 2061.2519500000003 | Take profit: 2102.68415 +2025-03-10 12:45:42,080 - INFO - CLOSED long at 2075.07 | PnL: 0.17% | $0.23 +2025-03-10 12:45:42,080 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.44535 | Take profit: 2043.94395 +2025-03-10 12:45:42,411 - INFO - CLOSED short at 2075.61 | PnL: -0.03% | $-0.44 +2025-03-10 12:45:42,412 - INFO - OPENED LONG at 2075.61 | Stop loss: 2065.2319500000003 | Take profit: 2106.74415 +2025-03-10 12:45:42,503 - INFO - CLOSED long at 2072.09 | PnL: -0.17% | $-0.94 +2025-03-10 12:45:42,503 - INFO - OPENED SHORT at 2072.09 | Stop loss: 2082.45045 | Take profit: 2041.0086500000002 +2025-03-10 12:45:42,549 - INFO - CLOSED short at 2069.97 | PnL: 0.10% | $0.01 +2025-03-10 12:45:42,601 - INFO - OPENED SHORT at 2067.7 | Stop loss: 2078.0384999999997 | Take profit: 2036.6844999999998 +2025-03-10 12:45:42,787 - INFO - CLOSED short at 2066.89 | PnL: 0.04% | $-0.21 +2025-03-10 12:45:42,787 - INFO - OPENED LONG at 2066.89 | Stop loss: 2056.55555 | Take profit: 2097.89335 +2025-03-10 12:45:42,883 - INFO - CLOSED long at 2065.45 | PnL: -0.07% | $-0.58 +2025-03-10 12:45:42,883 - INFO - OPENED SHORT at 2065.45 | Stop loss: 2075.7772499999996 | Take profit: 2034.46825 +2025-03-10 12:45:43,172 - INFO - CLOSED short at 2065.5 | PnL: -0.00% | $-0.35 +2025-03-10 12:45:43,173 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.1725 | Take profit: 2096.4824999999996 +2025-03-10 12:45:43,527 - INFO - CLOSED long at 2063.98 | PnL: -0.07% | $-0.59 +2025-03-10 12:45:43,527 - INFO - OPENED SHORT at 2063.98 | Stop loss: 2074.2999 | Take profit: 2033.0203 +2025-03-10 12:45:44,044 - INFO - CLOSED short at 2058.65 | PnL: 0.26% | $0.54 +2025-03-10 12:45:44,044 - INFO - OPENED LONG at 2058.65 | Stop loss: 2048.35675 | Take profit: 2089.5297499999997 +2025-03-10 12:45:44,088 - INFO - CLOSED long at 2056.77 | PnL: -0.09% | $-0.65 +2025-03-10 12:45:44,089 - INFO - OPENED SHORT at 2056.77 | Stop loss: 2067.05385 | Take profit: 2025.91845 +2025-03-10 12:45:44,178 - INFO - CLOSED short at 2049.21 | PnL: 0.37% | $0.90 +2025-03-10 12:45:44,178 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.96395 | Take profit: 2079.9481499999997 +2025-03-10 12:45:44,274 - INFO - CLOSED long at 2051.99 | PnL: 0.14% | $0.12 +2025-03-10 12:45:44,275 - INFO - OPENED SHORT at 2051.99 | Stop loss: 2062.2499499999994 | Take profit: 2021.2101499999997 +2025-03-10 12:45:44,512 - INFO - STOP LOSS hit for short at 2062.2499499999994 | PnL: -0.50% | $-2.05 +2025-03-10 12:45:44,603 - INFO - OPENED LONG at 2065.1 | Stop loss: 2054.7745 | Take profit: 2096.0764999999997 +2025-03-10 12:45:44,654 - INFO - CLOSED long at 2062.43 | PnL: -0.13% | $-0.77 +2025-03-10 12:45:44,655 - INFO - OPENED SHORT at 2062.43 | Stop loss: 2072.7421499999996 | Take profit: 2031.49355 +2025-03-10 12:45:44,841 - INFO - CLOSED short at 2067.49 | PnL: -0.25% | $-1.14 +2025-03-10 12:45:44,842 - INFO - OPENED LONG at 2067.49 | Stop loss: 2057.15255 | Take profit: 2098.5023499999998 +2025-03-10 12:45:44,938 - INFO - CLOSED long at 2064.08 | PnL: -0.16% | $-0.86 +2025-03-10 12:45:44,939 - INFO - OPENED SHORT at 2064.08 | Stop loss: 2074.4003999999995 | Take profit: 2033.1188 +2025-03-10 12:45:45,129 - INFO - CLOSED short at 2061.84 | PnL: 0.11% | $0.03 +2025-03-10 12:45:45,274 - INFO - OPENED LONG at 2070.31 | Stop loss: 2059.95845 | Take profit: 2101.3646499999995 +2025-03-10 12:45:45,320 - INFO - CLOSED long at 2070.24 | PnL: -0.00% | $-0.33 +2025-03-10 12:45:45,321 - INFO - OPENED SHORT at 2070.24 | Stop loss: 2080.5911999999994 | Take profit: 2039.1863999999998 +2025-03-10 12:45:45,914 - INFO - STOP LOSS hit for short at 2080.5911999999994 | PnL: -0.50% | $-1.93 +2025-03-10 12:45:46,008 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.5350999999996 | Take profit: 2071.4746999999998 +2025-03-10 12:45:46,057 - INFO - STOP LOSS hit for short at 2113.5350999999996 | PnL: -0.50% | $-1.88 +2025-03-10 12:45:46,107 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2376999999997 | Take profit: 2107.4469 +2025-03-10 12:45:47,096 - INFO - CLOSED short at 2115.28 | PnL: 1.13% | $3.17 +2025-03-10 12:45:47,097 - INFO - OPENED LONG at 2115.28 | Stop loss: 2104.7036000000003 | Take profit: 2147.0092 +2025-03-10 12:45:47,140 - INFO - CLOSED long at 2107.43 | PnL: -0.37% | $-1.50 +2025-03-10 12:45:47,141 - INFO - OPENED SHORT at 2107.43 | Stop loss: 2117.9671499999995 | Take profit: 2075.81855 +2025-03-10 12:45:47,519 - INFO - STOP LOSS hit for short at 2117.9671499999995 | PnL: -0.50% | $-1.88 +2025-03-10 12:45:47,819 - INFO - OPENED SHORT at 2108.06 | Stop loss: 2118.6002999999996 | Take profit: 2076.4391 +2025-03-10 12:45:48,022 - INFO - CLOSED short at 2099.53 | PnL: 0.40% | $0.93 +2025-03-10 12:45:48,073 - INFO - OPENED SHORT at 2098.1 | Stop loss: 2108.5905 | Take profit: 2066.6285 +2025-03-10 12:45:49,292 - INFO - CLOSED short at 2088.44 | PnL: 0.46% | $1.11 +2025-03-10 12:45:49,292 - INFO - OPENED LONG at 2088.44 | Stop loss: 2077.9978 | Take profit: 2119.7666 +2025-03-10 12:45:49,443 - INFO - CLOSED long at 2082.44 | PnL: -0.29% | $-1.21 +2025-03-10 12:45:49,587 - INFO - OPENED SHORT at 2081.25 | Stop loss: 2091.65625 | Take profit: 2050.03125 +2025-03-10 12:45:49,691 - INFO - CLOSED short at 2085.09 | PnL: -0.18% | $-0.88 +2025-03-10 12:45:49,692 - INFO - OPENED LONG at 2085.09 | Stop loss: 2074.66455 | Take profit: 2116.36635 +2025-03-10 12:45:49,787 - INFO - CLOSED long at 2086.57 | PnL: 0.07% | $-0.09 +2025-03-10 12:45:49,787 - INFO - OPENED SHORT at 2086.57 | Stop loss: 2097.00285 | Take profit: 2055.27145 +2025-03-10 12:45:50,109 - INFO - CLOSED short at 2088.32 | PnL: -0.08% | $-0.56 +2025-03-10 12:45:50,280 - INFO - OPENED LONG at 2089.96 | Stop loss: 2079.5102 | Take profit: 2121.3093999999996 +2025-03-10 12:45:50,339 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 26.1% in downtrends | Avg Win=$0.53, Avg Loss=$-0.71 +2025-03-10 12:45:50,340 - INFO - Episode 11: Reward=198.68, Balance=$75.62, Win Rate=29.0%, Trades=69, Episode PnL=$-15.74, Total PnL=$-342.19, Max Drawdown=24.8%, Pred Accuracy=99.6% +2025-03-10 12:45:50,375 - INFO - Identified 26 optimal buy points and 27 optimal sell points +2025-03-10 12:45:50,943 - INFO - OPENED LONG at 2056.9 | Stop loss: 2046.6155 | Take profit: 2087.7535 +2025-03-10 12:45:51,128 - INFO - CLOSED long at 2057.99 | PnL: 0.05% | $-0.19 +2025-03-10 12:45:51,129 - INFO - OPENED SHORT at 2057.99 | Stop loss: 2068.2799499999996 | Take profit: 2027.1201499999997 +2025-03-10 12:45:51,514 - INFO - CLOSED short at 2052.7 | PnL: 0.26% | $0.63 +2025-03-10 12:45:51,515 - INFO - OPENED LONG at 2052.7 | Stop loss: 2042.4364999999998 | Take profit: 2083.4904999999994 +2025-03-10 12:45:51,571 - INFO - CLOSED long at 2051.66 | PnL: -0.05% | $-0.61 +2025-03-10 12:45:51,572 - INFO - OPENED SHORT at 2051.66 | Stop loss: 2061.9183 | Take profit: 2020.8850999999997 +2025-03-10 12:45:51,734 - INFO - CLOSED short at 2052.25 | PnL: -0.03% | $-0.51 +2025-03-10 12:45:51,901 - INFO - OPENED SHORT at 2049.49 | Stop loss: 2059.7374499999996 | Take profit: 2018.7476499999998 +2025-03-10 12:45:51,952 - INFO - CLOSED short at 2050.2 | PnL: -0.03% | $-0.53 +2025-03-10 12:45:52,067 - INFO - OPENED LONG at 2051.99 | Stop loss: 2041.7300499999997 | Take profit: 2082.7698499999997 +2025-03-10 12:45:52,126 - INFO - CLOSED long at 2049.61 | PnL: -0.12% | $-0.85 +2025-03-10 12:45:52,127 - INFO - OPENED SHORT at 2049.61 | Stop loss: 2059.85805 | Take profit: 2018.8658500000001 +2025-03-10 12:45:52,421 - INFO - CLOSED short at 2047.4 | PnL: 0.11% | $0.03 +2025-03-10 12:45:52,421 - INFO - OPENED LONG at 2047.4 | Stop loss: 2037.163 | Take profit: 2078.111 +2025-03-10 12:45:52,591 - INFO - CLOSED long at 2045.99 | PnL: -0.07% | $-0.66 +2025-03-10 12:45:52,591 - INFO - OPENED SHORT at 2045.99 | Stop loss: 2056.2199499999997 | Take profit: 2015.30015 +2025-03-10 12:45:52,919 - INFO - CLOSED short at 2050.24 | PnL: -0.21% | $-1.20 +2025-03-10 12:45:52,919 - INFO - OPENED LONG at 2050.24 | Stop loss: 2039.9887999999999 | Take profit: 2080.9936 +2025-03-10 12:45:53,488 - INFO - CLOSED long at 2060.13 | PnL: 0.48% | $1.47 +2025-03-10 12:45:53,488 - INFO - OPENED SHORT at 2060.13 | Stop loss: 2070.43065 | Take profit: 2029.2280500000002 +2025-03-10 12:45:53,604 - INFO - CLOSED short at 2061.49 | PnL: -0.07% | $-0.65 +2025-03-10 12:45:53,732 - INFO - OPENED SHORT at 2064.61 | Stop loss: 2074.93305 | Take profit: 2033.64085 +2025-03-10 12:45:53,843 - INFO - CLOSED short at 2061.61 | PnL: 0.15% | $0.18 +2025-03-10 12:45:53,844 - INFO - OPENED LONG at 2061.61 | Stop loss: 2051.30195 | Take profit: 2092.53415 +2025-03-10 12:45:53,926 - INFO - CLOSED long at 2064.69 | PnL: 0.15% | $0.19 +2025-03-10 12:45:53,926 - INFO - OPENED SHORT at 2064.69 | Stop loss: 2075.01345 | Take profit: 2033.71965 +2025-03-10 12:45:54,684 - INFO - CLOSED short at 2058.11 | PnL: 0.32% | $0.85 +2025-03-10 12:45:54,957 - INFO - OPENED SHORT at 2070.58 | Stop loss: 2080.9329 | Take profit: 2039.5212999999999 +2025-03-10 12:45:56,109 - INFO - CLOSED short at 2072.8 | PnL: -0.11% | $-0.81 +2025-03-10 12:45:56,110 - INFO - OPENED LONG at 2072.8 | Stop loss: 2062.436 | Take profit: 2103.892 +2025-03-10 12:45:56,156 - INFO - CLOSED long at 2070.79 | PnL: -0.10% | $-0.77 +2025-03-10 12:45:56,382 - INFO - OPENED SHORT at 2070.36 | Stop loss: 2080.7118 | Take profit: 2039.3046000000002 +2025-03-10 12:45:56,594 - INFO - CLOSED short at 2069.19 | PnL: 0.06% | $-0.17 +2025-03-10 12:45:56,595 - INFO - OPENED LONG at 2069.19 | Stop loss: 2058.84405 | Take profit: 2100.2278499999998 +2025-03-10 12:45:56,757 - INFO - CLOSED long at 2067.51 | PnL: -0.08% | $-0.70 +2025-03-10 12:45:56,757 - INFO - OPENED SHORT at 2067.51 | Stop loss: 2077.84755 | Take profit: 2036.49735 +2025-03-10 12:45:56,870 - INFO - CLOSED short at 2066.39 | PnL: 0.05% | $-0.18 +2025-03-10 12:45:56,871 - INFO - OPENED LONG at 2066.39 | Stop loss: 2056.0580499999996 | Take profit: 2097.3858499999997 +2025-03-10 12:45:57,019 - INFO - CLOSED long at 2066.29 | PnL: -0.00% | $-0.40 +2025-03-10 12:45:57,019 - INFO - OPENED SHORT at 2066.29 | Stop loss: 2076.6214499999996 | Take profit: 2035.29565 +2025-03-10 12:45:57,278 - INFO - CLOSED short at 2068.51 | PnL: -0.11% | $-0.79 +2025-03-10 12:45:57,601 - INFO - OPENED LONG at 2071.39 | Stop loss: 2061.03305 | Take profit: 2102.4608499999995 +2025-03-10 12:45:57,661 - INFO - CLOSED long at 2071.36 | PnL: -0.00% | $-0.38 +2025-03-10 12:45:57,661 - INFO - OPENED SHORT at 2071.36 | Stop loss: 2081.7167999999997 | Take profit: 2040.2896 +2025-03-10 12:45:57,927 - INFO - CLOSED short at 2074.29 | PnL: -0.14% | $-0.91 +2025-03-10 12:45:58,123 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.752 | Take profit: 2039.344 +2025-03-10 12:45:58,184 - INFO - CLOSED short at 2071.11 | PnL: -0.03% | $-0.50 +2025-03-10 12:45:58,184 - INFO - OPENED LONG at 2071.11 | Stop loss: 2060.75445 | Take profit: 2102.17665 +2025-03-10 12:45:58,257 - INFO - CLOSED long at 2069.46 | PnL: -0.08% | $-0.67 +2025-03-10 12:45:58,258 - INFO - OPENED SHORT at 2069.46 | Stop loss: 2079.8073 | Take profit: 2038.4181 +2025-03-10 12:45:58,592 - INFO - CLOSED short at 2066.8 | PnL: 0.13% | $0.10 +2025-03-10 12:45:58,593 - INFO - OPENED LONG at 2066.8 | Stop loss: 2056.4660000000003 | Take profit: 2097.802 +2025-03-10 12:45:58,794 - INFO - CLOSED long at 2067.89 | PnL: 0.05% | $-0.17 +2025-03-10 12:45:58,889 - INFO - OPENED SHORT at 2068.8 | Stop loss: 2079.144 | Take profit: 2037.7680000000003 +2025-03-10 12:45:59,042 - INFO - CLOSED short at 2067.59 | PnL: 0.06% | $-0.15 +2025-03-10 12:45:59,043 - INFO - OPENED LONG at 2067.59 | Stop loss: 2057.25205 | Take profit: 2098.60385 +2025-03-10 12:45:59,352 - INFO - CLOSED long at 2070.73 | PnL: 0.15% | $0.19 +2025-03-10 12:45:59,353 - INFO - OPENED SHORT at 2070.73 | Stop loss: 2081.0836499999996 | Take profit: 2039.66905 +2025-03-10 12:45:59,563 - INFO - CLOSED short at 2067.11 | PnL: 0.17% | $0.27 +2025-03-10 12:45:59,768 - INFO - OPENED SHORT at 2065.28 | Stop loss: 2075.6064 | Take profit: 2034.3008000000002 +2025-03-10 12:46:01,179 - INFO - CLOSED short at 2061.6 | PnL: 0.18% | $0.29 +2025-03-10 12:46:01,422 - INFO - OPENED SHORT at 2060.31 | Stop loss: 2070.6115499999996 | Take profit: 2029.40535 +2025-03-10 12:46:02,171 - INFO - CLOSED short at 2062.6 | PnL: -0.11% | $-0.78 +2025-03-10 12:46:02,219 - INFO - OPENED SHORT at 2061.89 | Stop loss: 2072.1994499999996 | Take profit: 2030.9616499999997 +2025-03-10 12:46:02,261 - INFO - CLOSED short at 2061.7 | PnL: 0.01% | $-0.33 +2025-03-10 12:46:02,307 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.0035 | Take profit: 2029.7894999999999 +2025-03-10 12:46:02,589 - INFO - CLOSED short at 2059.96 | PnL: 0.04% | $-0.23 +2025-03-10 12:46:02,589 - INFO - OPENED LONG at 2059.96 | Stop loss: 2049.6602 | Take profit: 2090.8594 +2025-03-10 12:46:02,635 - INFO - CLOSED long at 2059.46 | PnL: -0.02% | $-0.45 +2025-03-10 12:46:02,635 - INFO - OPENED SHORT at 2059.46 | Stop loss: 2069.7572999999998 | Take profit: 2028.5681 +2025-03-10 12:46:02,818 - INFO - CLOSED short at 2055.6 | PnL: 0.19% | $0.32 +2025-03-10 12:46:02,819 - INFO - OPENED LONG at 2055.6 | Stop loss: 2045.322 | Take profit: 2086.4339999999997 +2025-03-10 12:46:02,869 - INFO - CLOSED long at 2054.89 | PnL: -0.03% | $-0.49 +2025-03-10 12:46:02,870 - INFO - OPENED SHORT at 2054.89 | Stop loss: 2065.1644499999998 | Take profit: 2024.0666499999998 +2025-03-10 12:46:03,425 - INFO - STOP LOSS hit for short at 2065.1644499999998 | PnL: -0.50% | $-2.17 +2025-03-10 12:46:03,680 - INFO - OPENED SHORT at 2066.34 | Stop loss: 2076.6717 | Take profit: 2035.3449 +2025-03-10 12:46:03,933 - INFO - CLOSED short at 2069.79 | PnL: -0.17% | $-0.94 +2025-03-10 12:46:03,984 - INFO - OPENED SHORT at 2072.0 | Stop loss: 2082.3599999999997 | Take profit: 2040.92 +2025-03-10 12:46:04,078 - INFO - CLOSED short at 2078.01 | PnL: -0.29% | $-1.36 +2025-03-10 12:46:04,079 - INFO - OPENED LONG at 2078.01 | Stop loss: 2067.6199500000002 | Take profit: 2109.18015 +2025-03-10 12:46:04,176 - INFO - CLOSED long at 2072.6 | PnL: -0.26% | $-1.24 +2025-03-10 12:46:04,176 - INFO - OPENED SHORT at 2072.6 | Stop loss: 2082.9629999999997 | Take profit: 2041.511 +2025-03-10 12:46:04,306 - INFO - CLOSED short at 2071.6 | PnL: 0.05% | $-0.18 +2025-03-10 12:46:04,307 - INFO - OPENED LONG at 2071.6 | Stop loss: 2061.2419999999997 | Take profit: 2102.6739999999995 +2025-03-10 12:46:04,441 - INFO - CLOSED long at 2068.15 | PnL: -0.17% | $-0.90 +2025-03-10 12:46:04,442 - INFO - OPENED SHORT at 2068.15 | Stop loss: 2078.49075 | Take profit: 2037.12775 +2025-03-10 12:46:05,192 - INFO - CLOSED short at 2065.3 | PnL: 0.14% | $0.13 +2025-03-10 12:46:05,193 - INFO - OPENED LONG at 2065.3 | Stop loss: 2054.9735 | Take profit: 2096.2795 +2025-03-10 12:46:05,243 - INFO - CLOSED long at 2064.4 | PnL: -0.04% | $-0.48 +2025-03-10 12:46:05,244 - INFO - OPENED SHORT at 2064.4 | Stop loss: 2074.7219999999998 | Take profit: 2033.434 +2025-03-10 12:46:05,631 - INFO - CLOSED short at 2068.59 | PnL: -0.20% | $-1.01 +2025-03-10 12:46:05,725 - INFO - OPENED SHORT at 2070.2 | Stop loss: 2080.5509999999995 | Take profit: 2039.1469999999997 +2025-03-10 12:46:06,387 - INFO - CLOSED short at 2074.37 | PnL: -0.20% | $-0.99 +2025-03-10 12:46:06,388 - INFO - OPENED LONG at 2074.37 | Stop loss: 2063.99815 | Take profit: 2105.48555 +2025-03-10 12:46:06,523 - INFO - CLOSED long at 2073.27 | PnL: -0.05% | $-0.50 +2025-03-10 12:46:06,568 - INFO - OPENED LONG at 2073.99 | Stop loss: 2063.62005 | Take profit: 2105.0998499999996 +2025-03-10 12:46:06,659 - INFO - CLOSED long at 2075.29 | PnL: 0.06% | $-0.12 +2025-03-10 12:46:06,659 - INFO - OPENED SHORT at 2075.29 | Stop loss: 2085.6664499999997 | Take profit: 2044.16065 +2025-03-10 12:46:07,083 - INFO - CLOSED short at 2066.4 | PnL: 0.43% | $1.06 +2025-03-10 12:46:07,371 - INFO - OPENED SHORT at 2070.19 | Stop loss: 2080.5409499999996 | Take profit: 2039.13715 +2025-03-10 12:46:07,414 - INFO - CLOSED short at 2070.1 | PnL: 0.00% | $-0.31 +2025-03-10 12:46:07,415 - INFO - OPENED LONG at 2070.1 | Stop loss: 2059.7495 | Take profit: 2101.1514999999995 +2025-03-10 12:46:07,552 - INFO - CLOSED long at 2065.7 | PnL: -0.21% | $-1.02 +2025-03-10 12:46:07,553 - INFO - OPENED SHORT at 2065.7 | Stop loss: 2076.0284999999994 | Take profit: 2034.7144999999998 +2025-03-10 12:46:09,129 - INFO - CLOSED short at 2065.12 | PnL: 0.03% | $-0.23 +2025-03-10 12:46:09,227 - INFO - OPENED SHORT at 2067.49 | Stop loss: 2077.8274499999998 | Take profit: 2036.4776499999998 +2025-03-10 12:46:10,034 - INFO - CLOSED short at 2071.89 | PnL: -0.21% | $-1.00 +2025-03-10 12:46:10,035 - INFO - OPENED LONG at 2071.89 | Stop loss: 2061.53055 | Take profit: 2102.9683499999996 +2025-03-10 12:46:10,134 - INFO - CLOSED long at 2074.9 | PnL: 0.15% | $0.14 +2025-03-10 12:46:10,224 - INFO - OPENED LONG at 2077.61 | Stop loss: 2067.22195 | Take profit: 2108.7741499999997 +2025-03-10 12:46:10,272 - INFO - CLOSED long at 2085.56 | PnL: 0.38% | $0.90 +2025-03-10 12:46:10,273 - INFO - OPENED SHORT at 2085.56 | Stop loss: 2095.9878 | Take profit: 2054.2766 +2025-03-10 12:46:10,371 - INFO - STOP LOSS hit for short at 2095.9878 | PnL: -0.50% | $-1.92 +2025-03-10 12:46:10,419 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3534999999997 | Take profit: 2098.7394999999997 +2025-03-10 12:46:10,552 - INFO - CLOSED short at 2133.95 | PnL: -0.15% | $-0.79 +2025-03-10 12:46:10,646 - INFO - OPENED SHORT at 2141.41 | Stop loss: 2152.11705 | Take profit: 2109.28885 +2025-03-10 12:46:10,689 - INFO - CLOSED short at 2141.3 | PnL: 0.01% | $-0.29 +2025-03-10 12:46:11,002 - INFO - OPENED SHORT at 2121.09 | Stop loss: 2131.6954499999997 | Take profit: 2089.27365 +2025-03-10 12:46:11,091 - INFO - CLOSED short at 2117.24 | PnL: 0.18% | $0.25 +2025-03-10 12:46:11,138 - INFO - OPENED SHORT at 2119.93 | Stop loss: 2130.5296499999995 | Take profit: 2088.13105 +2025-03-10 12:46:11,510 - INFO - CLOSED short at 2109.05 | PnL: 0.51% | $1.28 +2025-03-10 12:46:11,511 - INFO - OPENED LONG at 2109.05 | Stop loss: 2098.50475 | Take profit: 2140.68575 +2025-03-10 12:46:11,554 - INFO - CLOSED long at 2112.09 | PnL: 0.14% | $0.14 +2025-03-10 12:46:11,555 - INFO - OPENED SHORT at 2112.09 | Stop loss: 2122.65045 | Take profit: 2080.4086500000003 +2025-03-10 12:46:11,794 - INFO - CLOSED short at 2120.81 | PnL: -0.41% | $-1.62 +2025-03-10 12:46:11,795 - INFO - OPENED LONG at 2120.81 | Stop loss: 2110.20595 | Take profit: 2152.6221499999997 +2025-03-10 12:46:11,930 - INFO - CLOSED long at 2110.9 | PnL: -0.47% | $-1.75 +2025-03-10 12:46:11,980 - INFO - OPENED LONG at 2108.71 | Stop loss: 2098.16645 | Take profit: 2140.3406499999996 +2025-03-10 12:46:12,023 - INFO - CLOSED long at 2106.49 | PnL: -0.11% | $-0.62 +2025-03-10 12:46:12,073 - INFO - OPENED SHORT at 2108.06 | Stop loss: 2118.6002999999996 | Take profit: 2076.4391 +2025-03-10 12:46:12,535 - INFO - CLOSED short at 2100.69 | PnL: 0.35% | $0.75 +2025-03-10 12:46:12,535 - INFO - OPENED LONG at 2100.69 | Stop loss: 2090.18655 | Take profit: 2132.20035 +2025-03-10 12:46:12,635 - INFO - CLOSED long at 2106.39 | PnL: 0.27% | $0.52 +2025-03-10 12:46:12,636 - INFO - OPENED SHORT at 2106.39 | Stop loss: 2116.9219499999995 | Take profit: 2074.7941499999997 +2025-03-10 12:46:13,508 - INFO - CLOSED short at 2085.3 | PnL: 1.00% | $2.74 +2025-03-10 12:46:13,508 - INFO - OPENED LONG at 2085.3 | Stop loss: 2074.8735 | Take profit: 2116.5795 +2025-03-10 12:46:13,554 - INFO - CLOSED long at 2082.44 | PnL: -0.14% | $-0.75 +2025-03-10 12:46:13,555 - INFO - OPENED SHORT at 2082.44 | Stop loss: 2092.8522 | Take profit: 2051.2034 +2025-03-10 12:46:13,784 - INFO - CLOSED short at 2085.09 | PnL: -0.13% | $-0.71 +2025-03-10 12:46:13,833 - INFO - OPENED SHORT at 2083.59 | Stop loss: 2094.0079499999997 | Take profit: 2052.33615 +2025-03-10 12:46:14,099 - INFO - CLOSED short at 2085.85 | PnL: -0.11% | $-0.65 +2025-03-10 12:46:14,100 - INFO - OPENED LONG at 2085.85 | Stop loss: 2075.4207499999998 | Take profit: 2117.13775 +2025-03-10 12:46:14,157 - INFO - CLOSED long at 2088.66 | PnL: 0.13% | $0.11 +2025-03-10 12:46:14,157 - INFO - OPENED SHORT at 2088.66 | Stop loss: 2099.1032999999998 | Take profit: 2057.3300999999997 +2025-03-10 12:46:14,361 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 36.0% in downtrends | Avg Win=$0.57, Avg Loss=$-0.71 +2025-03-10 12:46:14,362 - INFO - Episode 12: Reward=198.18, Balance=$76.89, Win Rate=30.6%, Trades=72, Episode PnL=$-13.52, Total PnL=$-365.31, Max Drawdown=25.1%, Pred Accuracy=99.8% +2025-03-10 12:46:14,392 - INFO - Identified 26 optimal buy points and 27 optimal sell points +2025-03-10 12:46:14,687 - INFO - OPENED SHORT at 2059.03 | Stop loss: 2069.32515 | Take profit: 2028.1445500000002 +2025-03-10 12:46:14,824 - INFO - CLOSED short at 2060.51 | PnL: -0.07% | $-0.69 +2025-03-10 12:46:14,873 - INFO - OPENED SHORT at 2057.52 | Stop loss: 2067.8075999999996 | Take profit: 2026.6571999999999 +2025-03-10 12:46:14,969 - INFO - CLOSED short at 2057.59 | PnL: -0.00% | $-0.41 +2025-03-10 12:46:15,019 - INFO - OPENED SHORT at 2057.9 | Stop loss: 2068.1895 | Take profit: 2027.0315 +2025-03-10 12:46:15,154 - INFO - CLOSED short at 2055.2 | PnL: 0.13% | $0.12 +2025-03-10 12:46:15,154 - INFO - OPENED LONG at 2055.2 | Stop loss: 2044.9239999999998 | Take profit: 2086.028 +2025-03-10 12:46:15,203 - INFO - CLOSED long at 2058.59 | PnL: 0.16% | $0.26 +2025-03-10 12:46:15,203 - INFO - OPENED SHORT at 2058.59 | Stop loss: 2068.8829499999997 | Take profit: 2027.71115 +2025-03-10 12:46:15,345 - INFO - CLOSED short at 2053.56 | PnL: 0.24% | $0.57 +2025-03-10 12:46:15,404 - INFO - OPENED SHORT at 2052.7 | Stop loss: 2062.9634999999994 | Take profit: 2021.9094999999998 +2025-03-10 12:46:15,447 - INFO - CLOSED short at 2051.66 | PnL: 0.05% | $-0.20 +2025-03-10 12:46:15,448 - INFO - OPENED LONG at 2051.66 | Stop loss: 2041.4017 | Take profit: 2082.4348999999997 +2025-03-10 12:46:15,501 - INFO - CLOSED long at 2052.16 | PnL: 0.02% | $-0.30 +2025-03-10 12:46:15,502 - INFO - OPENED SHORT at 2052.16 | Stop loss: 2062.4207999999994 | Take profit: 2021.3775999999998 +2025-03-10 12:46:15,596 - INFO - CLOSED short at 2052.25 | PnL: -0.00% | $-0.41 +2025-03-10 12:46:15,646 - INFO - OPENED SHORT at 2050.71 | Stop loss: 2060.96355 | Take profit: 2019.94935 +2025-03-10 12:46:15,830 - INFO - CLOSED short at 2049.6 | PnL: 0.05% | $-0.18 +2025-03-10 12:46:15,831 - INFO - OPENED LONG at 2049.6 | Stop loss: 2039.3519999999999 | Take profit: 2080.3439999999996 +2025-03-10 12:46:15,884 - INFO - CLOSED long at 2051.99 | PnL: 0.12% | $0.07 +2025-03-10 12:46:15,885 - INFO - OPENED SHORT at 2051.99 | Stop loss: 2062.2499499999994 | Take profit: 2021.2101499999997 +2025-03-10 12:46:16,065 - INFO - CLOSED short at 2047.39 | PnL: 0.22% | $0.49 +2025-03-10 12:46:16,065 - INFO - OPENED LONG at 2047.39 | Stop loss: 2037.1530500000001 | Take profit: 2078.10085 +2025-03-10 12:46:16,118 - INFO - CLOSED long at 2046.58 | PnL: -0.04% | $-0.55 +2025-03-10 12:46:16,118 - INFO - OPENED SHORT at 2046.58 | Stop loss: 2056.8129 | Take profit: 2015.8813 +2025-03-10 12:46:16,161 - INFO - CLOSED short at 2047.4 | PnL: -0.04% | $-0.55 +2025-03-10 12:46:16,259 - INFO - OPENED SHORT at 2045.99 | Stop loss: 2056.2199499999997 | Take profit: 2015.30015 +2025-03-10 12:46:16,449 - INFO - CLOSED short at 2047.59 | PnL: -0.08% | $-0.70 +2025-03-10 12:46:16,544 - INFO - OPENED SHORT at 2050.0 | Stop loss: 2060.25 | Take profit: 2019.25 +2025-03-10 12:46:16,792 - INFO - CLOSED short at 2051.89 | PnL: -0.09% | $-0.75 +2025-03-10 12:46:16,793 - INFO - OPENED LONG at 2051.89 | Stop loss: 2041.6305499999999 | Take profit: 2082.6683499999995 +2025-03-10 12:46:16,846 - INFO - CLOSED long at 2052.3 | PnL: 0.02% | $-0.31 +2025-03-10 12:46:16,848 - INFO - OPENED SHORT at 2052.3 | Stop loss: 2062.5615 | Take profit: 2021.5155000000002 +2025-03-10 12:46:16,893 - INFO - CLOSED short at 2055.69 | PnL: -0.17% | $-1.02 +2025-03-10 12:46:16,894 - INFO - OPENED LONG at 2055.69 | Stop loss: 2045.41155 | Take profit: 2086.52535 +2025-03-10 12:46:17,126 - INFO - CLOSED long at 2059.7 | PnL: 0.20% | $0.36 +2025-03-10 12:46:17,127 - INFO - OPENED SHORT at 2059.7 | Stop loss: 2069.9984999999997 | Take profit: 2028.8044999999997 +2025-03-10 12:46:17,554 - INFO - CLOSED short at 2058.3 | PnL: 0.07% | $-0.12 +2025-03-10 12:46:17,555 - INFO - OPENED LONG at 2058.3 | Stop loss: 2048.0085000000004 | Take profit: 2089.1745 +2025-03-10 12:46:17,599 - INFO - CLOSED long at 2060.0 | PnL: 0.08% | $-0.07 +2025-03-10 12:46:17,701 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.2044499999997 | Take profit: 2031.9466499999999 +2025-03-10 12:46:17,909 - INFO - CLOSED short at 2057.89 | PnL: 0.24% | $0.54 +2025-03-10 12:46:17,966 - INFO - OPENED SHORT at 2057.94 | Stop loss: 2068.2297 | Take profit: 2027.0709 +2025-03-10 12:46:18,272 - INFO - STOP LOSS hit for short at 2068.2297 | PnL: -0.50% | $-2.31 +2025-03-10 12:46:18,511 - INFO - OPENED LONG at 2070.99 | Stop loss: 2060.63505 | Take profit: 2102.0548499999995 +2025-03-10 12:46:18,563 - INFO - CLOSED long at 2069.6 | PnL: -0.07% | $-0.63 +2025-03-10 12:46:18,563 - INFO - OPENED SHORT at 2069.6 | Stop loss: 2079.948 | Take profit: 2038.5559999999998 +2025-03-10 12:46:19,766 - INFO - CLOSED short at 2069.19 | PnL: 0.02% | $-0.30 +2025-03-10 12:46:19,767 - INFO - OPENED LONG at 2069.19 | Stop loss: 2058.84405 | Take profit: 2100.2278499999998 +2025-03-10 12:46:20,149 - INFO - CLOSED long at 2066.29 | PnL: -0.14% | $-0.89 +2025-03-10 12:46:20,149 - INFO - OPENED SHORT at 2066.29 | Stop loss: 2076.6214499999996 | Take profit: 2035.29565 +2025-03-10 12:46:22,121 - INFO - CLOSED short at 2070.7 | PnL: -0.21% | $-1.15 +2025-03-10 12:46:22,121 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3464999999997 | Take profit: 2101.7604999999994 +2025-03-10 12:46:22,357 - INFO - CLOSED long at 2067.84 | PnL: -0.14% | $-0.87 +2025-03-10 12:46:22,412 - INFO - OPENED SHORT at 2067.11 | Stop loss: 2077.44555 | Take profit: 2036.10335 +2025-03-10 12:46:22,465 - INFO - CLOSED short at 2067.86 | PnL: -0.04% | $-0.49 +2025-03-10 12:46:22,554 - INFO - OPENED LONG at 2066.1 | Stop loss: 2055.7695 | Take profit: 2097.0914999999995 +2025-03-10 12:46:22,595 - INFO - CLOSED long at 2065.28 | PnL: -0.04% | $-0.50 +2025-03-10 12:46:22,742 - INFO - OPENED SHORT at 2070.04 | Stop loss: 2080.3902 | Take profit: 2038.9894 +2025-03-10 12:46:22,785 - INFO - CLOSED short at 2067.8 | PnL: 0.11% | $0.03 +2025-03-10 12:46:22,785 - INFO - OPENED LONG at 2067.8 | Stop loss: 2057.4610000000002 | Take profit: 2098.817 +2025-03-10 12:46:22,975 - INFO - CLOSED long at 2064.99 | PnL: -0.14% | $-0.84 +2025-03-10 12:46:22,976 - INFO - OPENED SHORT at 2064.99 | Stop loss: 2075.3149499999995 | Take profit: 2034.0151499999997 +2025-03-10 12:46:24,168 - INFO - CLOSED short at 2059.3 | PnL: 0.28% | $0.62 +2025-03-10 12:46:24,169 - INFO - OPENED LONG at 2059.3 | Stop loss: 2049.0035000000003 | Take profit: 2090.1895 +2025-03-10 12:46:24,211 - INFO - CLOSED long at 2060.31 | PnL: 0.05% | $-0.18 +2025-03-10 12:46:24,363 - INFO - OPENED SHORT at 2062.61 | Stop loss: 2072.92305 | Take profit: 2031.6708500000002 +2025-03-10 12:46:24,408 - INFO - CLOSED short at 2060.91 | PnL: 0.08% | $-0.06 +2025-03-10 12:46:24,819 - INFO - OPENED SHORT at 2063.39 | Stop loss: 2073.70695 | Take profit: 2032.43915 +2025-03-10 12:46:25,012 - INFO - CLOSED short at 2063.0 | PnL: 0.02% | $-0.29 +2025-03-10 12:46:25,012 - INFO - OPENED LONG at 2063.0 | Stop loss: 2052.685 | Take profit: 2093.9449999999997 +2025-03-10 12:46:25,516 - INFO - CLOSED long at 2059.46 | PnL: -0.17% | $-0.96 +2025-03-10 12:46:25,706 - INFO - OPENED SHORT at 2055.6 | Stop loss: 2065.8779999999997 | Take profit: 2024.7659999999998 +2025-03-10 12:46:25,980 - INFO - CLOSED short at 2061.66 | PnL: -0.29% | $-1.38 +2025-03-10 12:46:25,981 - INFO - OPENED LONG at 2061.66 | Stop loss: 2051.3516999999997 | Take profit: 2092.5849 +2025-03-10 12:46:26,025 - INFO - CLOSED long at 2061.5 | PnL: -0.01% | $-0.37 +2025-03-10 12:46:26,026 - INFO - OPENED SHORT at 2061.5 | Stop loss: 2071.8075 | Take profit: 2030.5774999999999 +2025-03-10 12:46:26,795 - INFO - STOP LOSS hit for short at 2071.8075 | PnL: -0.50% | $-2.05 +2025-03-10 12:46:27,077 - INFO - OPENED SHORT at 2070.01 | Stop loss: 2080.36005 | Take profit: 2038.9598500000002 +2025-03-10 12:46:27,316 - INFO - CLOSED short at 2068.39 | PnL: 0.08% | $-0.07 +2025-03-10 12:46:27,409 - INFO - OPENED SHORT at 2069.03 | Stop loss: 2079.37515 | Take profit: 2037.9945500000001 +2025-03-10 12:46:27,737 - INFO - CLOSED short at 2066.38 | PnL: 0.13% | $0.09 +2025-03-10 12:46:27,737 - INFO - OPENED LONG at 2066.38 | Stop loss: 2056.0481 | Take profit: 2097.3757 +2025-03-10 12:46:27,875 - INFO - CLOSED long at 2063.95 | PnL: -0.12% | $-0.73 +2025-03-10 12:46:27,876 - INFO - OPENED SHORT at 2063.95 | Stop loss: 2074.2697499999995 | Take profit: 2032.9907499999997 +2025-03-10 12:46:28,317 - INFO - CLOSED short at 2066.8 | PnL: -0.14% | $-0.79 +2025-03-10 12:46:28,368 - INFO - OPENED SHORT at 2066.5 | Stop loss: 2076.8325 | Take profit: 2035.5025 +2025-03-10 12:46:29,560 - INFO - CLOSED short at 2076.9 | PnL: -0.50% | $-1.98 +2025-03-10 12:46:29,602 - INFO - OPENED SHORT at 2075.61 | Stop loss: 2085.98805 | Take profit: 2044.47585 +2025-03-10 12:46:29,744 - INFO - CLOSED short at 2069.97 | PnL: 0.27% | $0.55 +2025-03-10 12:46:29,745 - INFO - OPENED LONG at 2069.97 | Stop loss: 2059.6201499999997 | Take profit: 2101.0195499999995 +2025-03-10 12:46:29,786 - INFO - CLOSED long at 2067.7 | PnL: -0.11% | $-0.68 +2025-03-10 12:46:29,787 - INFO - OPENED SHORT at 2067.7 | Stop loss: 2078.0384999999997 | Take profit: 2036.6844999999998 +2025-03-10 12:46:29,973 - INFO - CLOSED short at 2066.89 | PnL: 0.04% | $-0.19 +2025-03-10 12:46:30,138 - INFO - OPENED SHORT at 2068.1 | Stop loss: 2078.4404999999997 | Take profit: 2037.0784999999998 +2025-03-10 12:46:30,187 - INFO - CLOSED short at 2069.0 | PnL: -0.04% | $-0.46 +2025-03-10 12:46:30,187 - INFO - OPENED LONG at 2069.0 | Stop loss: 2058.655 | Take profit: 2100.035 +2025-03-10 12:46:30,243 - INFO - CLOSED long at 2070.19 | PnL: 0.06% | $-0.13 +2025-03-10 12:46:30,244 - INFO - OPENED SHORT at 2070.19 | Stop loss: 2080.5409499999996 | Take profit: 2039.13715 +2025-03-10 12:46:30,499 - INFO - CLOSED short at 2065.8 | PnL: 0.21% | $0.35 +2025-03-10 12:46:30,500 - INFO - OPENED LONG at 2065.8 | Stop loss: 2055.471 | Take profit: 2096.787 +2025-03-10 12:46:30,550 - INFO - CLOSED long at 2065.07 | PnL: -0.04% | $-0.43 +2025-03-10 12:46:30,550 - INFO - OPENED SHORT at 2065.07 | Stop loss: 2075.39535 | Take profit: 2034.0939500000002 +2025-03-10 12:46:30,824 - INFO - CLOSED short at 2065.06 | PnL: 0.00% | $-0.31 +2025-03-10 12:46:30,877 - INFO - OPENED SHORT at 2064.11 | Stop loss: 2074.43055 | Take profit: 2033.1483500000002 +2025-03-10 12:46:31,782 - INFO - CLOSED short at 2063.9 | PnL: 0.01% | $-0.28 +2025-03-10 12:46:31,783 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.5805 | Take profit: 2094.8585 +2025-03-10 12:46:31,838 - INFO - CLOSED long at 2065.1 | PnL: 0.06% | $-0.13 +2025-03-10 12:46:31,839 - INFO - OPENED SHORT at 2065.1 | Stop loss: 2075.4255 | Take profit: 2034.1235 +2025-03-10 12:46:32,073 - INFO - CLOSED short at 2067.49 | PnL: -0.12% | $-0.68 +2025-03-10 12:46:32,074 - INFO - OPENED LONG at 2067.49 | Stop loss: 2057.15255 | Take profit: 2098.5023499999998 +2025-03-10 12:46:32,121 - INFO - CLOSED long at 2066.59 | PnL: -0.04% | $-0.45 +2025-03-10 12:46:32,121 - INFO - OPENED SHORT at 2066.59 | Stop loss: 2076.92295 | Take profit: 2035.5911500000002 +2025-03-10 12:46:32,258 - INFO - CLOSED short at 2059.9 | PnL: 0.32% | $0.69 +2025-03-10 12:46:32,310 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.0035 | Take profit: 2029.7894999999999 +2025-03-10 12:46:32,352 - INFO - CLOSED short at 2061.84 | PnL: -0.06% | $-0.48 +2025-03-10 12:46:32,353 - INFO - OPENED LONG at 2061.84 | Stop loss: 2051.5308 | Take profit: 2092.7676 +2025-03-10 12:46:32,444 - INFO - CLOSED long at 2065.72 | PnL: 0.19% | $0.27 +2025-03-10 12:46:32,444 - INFO - OPENED SHORT at 2065.72 | Stop loss: 2076.0485999999996 | Take profit: 2034.7341999999999 +2025-03-10 12:46:32,491 - INFO - CLOSED short at 2070.31 | PnL: -0.22% | $-1.00 +2025-03-10 12:46:32,545 - INFO - OPENED SHORT at 2070.24 | Stop loss: 2080.5911999999994 | Take profit: 2039.1863999999998 +2025-03-10 12:46:32,673 - INFO - CLOSED short at 2070.41 | PnL: -0.01% | $-0.33 +2025-03-10 12:46:32,768 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.42025 | Take profit: 2042.9392500000001 +2025-03-10 12:46:32,811 - INFO - CLOSED short at 2072.99 | PnL: 0.05% | $-0.15 +2025-03-10 12:46:32,812 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6250499999996 | Take profit: 2104.0848499999997 +2025-03-10 12:46:32,953 - INFO - CLOSED long at 2074.9 | PnL: 0.09% | $-0.02 +2025-03-10 12:46:32,954 - INFO - OPENED SHORT at 2074.9 | Stop loss: 2085.2745 | Take profit: 2043.7765000000002 +2025-03-10 12:46:33,099 - INFO - STOP LOSS hit for short at 2085.2745 | PnL: -0.50% | $-1.83 +2025-03-10 12:46:33,231 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3534999999997 | Take profit: 2098.7394999999997 +2025-03-10 12:46:33,461 - INFO - STOP LOSS hit for short at 2141.3534999999997 | PnL: -0.50% | $-1.78 +2025-03-10 12:46:33,506 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.0065 | Take profit: 2109.1805 +2025-03-10 12:46:34,106 - INFO - CLOSED short at 2119.14 | PnL: 1.03% | $2.71 +2025-03-10 12:46:34,158 - INFO - OPENED SHORT at 2119.07 | Stop loss: 2129.6653499999998 | Take profit: 2087.28395 +2025-03-10 12:46:35,074 - INFO - CLOSED short at 2090.0 | PnL: 1.37% | $3.83 +2025-03-10 12:46:35,075 - INFO - OPENED LONG at 2090.0 | Stop loss: 2079.55 | Take profit: 2121.35 +2025-03-10 12:46:35,125 - INFO - CLOSED long at 2099.53 | PnL: 0.46% | $1.13 +2025-03-10 12:46:35,125 - INFO - OPENED SHORT at 2099.53 | Stop loss: 2110.02765 | Take profit: 2068.0370500000004 +2025-03-10 12:46:35,866 - INFO - CLOSED short at 2098.39 | PnL: 0.05% | $-0.15 +2025-03-10 12:46:35,866 - INFO - OPENED LONG at 2098.39 | Stop loss: 2087.89805 | Take profit: 2129.8658499999997 +2025-03-10 12:46:35,917 - INFO - CLOSED long at 2095.29 | PnL: -0.15% | $-0.79 +2025-03-10 12:46:35,918 - INFO - OPENED SHORT at 2095.29 | Stop loss: 2105.7664499999996 | Take profit: 2063.86065 +2025-03-10 12:46:36,529 - INFO - CLOSED short at 2081.49 | PnL: 0.66% | $1.77 +2025-03-10 12:46:36,530 - INFO - OPENED LONG at 2081.49 | Stop loss: 2071.0825499999996 | Take profit: 2112.71235 +2025-03-10 12:46:36,577 - INFO - CLOSED long at 2080.38 | PnL: -0.05% | $-0.50 +2025-03-10 12:46:36,621 - INFO - OPENED SHORT at 2081.25 | Stop loss: 2091.65625 | Take profit: 2050.03125 +2025-03-10 12:46:37,231 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 32.1% in downtrends | Avg Win=$0.80, Avg Loss=$-0.63 +2025-03-10 12:46:37,232 - INFO - Episode 13: Reward=195.15, Balance=$80.58, Win Rate=25.0%, Trades=72, Episode PnL=$-14.52, Total PnL=$-384.73, Max Drawdown=27.4%, Pred Accuracy=99.7% +2025-03-10 12:46:37,271 - INFO - Identified 26 optimal buy points and 27 optimal sell points +2025-03-10 12:46:37,619 - INFO - OPENED SHORT at 2059.4 | Stop loss: 2069.6969999999997 | Take profit: 2028.509 +2025-03-10 12:46:37,858 - INFO - CLOSED short at 2057.59 | PnL: 0.09% | $-0.05 +2025-03-10 12:46:37,858 - INFO - OPENED LONG at 2057.59 | Stop loss: 2047.3020500000002 | Take profit: 2088.45385 +2025-03-10 12:46:37,905 - INFO - CLOSED long at 2057.9 | PnL: 0.02% | $-0.34 +2025-03-10 12:46:37,906 - INFO - OPENED SHORT at 2057.9 | Stop loss: 2068.1895 | Take profit: 2027.0315 +2025-03-10 12:46:38,991 - INFO - CLOSED short at 2046.58 | PnL: 0.55% | $1.79 +2025-03-10 12:46:39,221 - INFO - OPENED SHORT at 2045.79 | Stop loss: 2056.0189499999997 | Take profit: 2015.10315 +2025-03-10 12:46:39,450 - INFO - CLOSED short at 2050.24 | PnL: -0.22% | $-1.29 +2025-03-10 12:46:39,590 - INFO - OPENED SHORT at 2053.26 | Stop loss: 2063.5263 | Take profit: 2022.4611000000002 +2025-03-10 12:46:40,097 - INFO - STOP LOSS hit for short at 2063.5263 | PnL: -0.50% | $-2.40 +2025-03-10 12:46:40,194 - INFO - OPENED SHORT at 2061.61 | Stop loss: 2071.9180499999998 | Take profit: 2030.68585 +2025-03-10 12:46:40,470 - INFO - CLOSED short at 2061.89 | PnL: -0.01% | $-0.44 +2025-03-10 12:46:40,650 - INFO - OPENED SHORT at 2057.8 | Stop loss: 2068.089 | Take profit: 2026.9330000000002 +2025-03-10 12:46:40,811 - INFO - CLOSED short at 2058.11 | PnL: -0.02% | $-0.45 +2025-03-10 12:46:40,812 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.8194500000002 | Take profit: 2088.9816499999997 +2025-03-10 12:46:40,869 - INFO - CLOSED long at 2061.79 | PnL: 0.18% | $0.31 +2025-03-10 12:46:40,869 - INFO - OPENED SHORT at 2061.79 | Stop loss: 2072.0989499999996 | Take profit: 2030.86315 +2025-03-10 12:46:41,564 - INFO - CLOSED short at 2067.69 | PnL: -0.29% | $-1.50 +2025-03-10 12:46:41,611 - INFO - OPENED LONG at 2070.26 | Stop loss: 2059.9087000000004 | Take profit: 2101.3139 +2025-03-10 12:46:41,666 - INFO - CLOSED long at 2071.44 | PnL: 0.06% | $-0.16 +2025-03-10 12:46:41,667 - INFO - OPENED SHORT at 2071.44 | Stop loss: 2081.7972 | Take profit: 2040.3684 +2025-03-10 12:46:42,666 - INFO - CLOSED short at 2067.6 | PnL: 0.19% | $0.33 +2025-03-10 12:46:42,724 - INFO - OPENED SHORT at 2067.51 | Stop loss: 2077.84755 | Take profit: 2036.49735 +2025-03-10 12:46:43,446 - INFO - CLOSED short at 2069.96 | PnL: -0.12% | $-0.84 +2025-03-10 12:46:43,547 - INFO - OPENED SHORT at 2071.39 | Stop loss: 2081.7469499999997 | Take profit: 2040.3191499999998 +2025-03-10 12:46:44,050 - INFO - CLOSED short at 2071.11 | PnL: 0.01% | $-0.33 +2025-03-10 12:46:44,051 - INFO - OPENED LONG at 2071.11 | Stop loss: 2060.75445 | Take profit: 2102.17665 +2025-03-10 12:46:44,101 - INFO - CLOSED long at 2069.46 | PnL: -0.08% | $-0.68 +2025-03-10 12:46:44,261 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.3349999999996 | Take profit: 2035.995 +2025-03-10 12:46:44,308 - INFO - CLOSED short at 2067.79 | PnL: -0.04% | $-0.52 +2025-03-10 12:46:44,365 - INFO - OPENED SHORT at 2067.46 | Stop loss: 2077.7972999999997 | Take profit: 2036.4481 +2025-03-10 12:46:45,801 - INFO - CLOSED short at 2070.04 | PnL: -0.12% | $-0.84 +2025-03-10 12:46:45,848 - INFO - OPENED SHORT at 2067.8 | Stop loss: 2078.139 | Take profit: 2036.7830000000001 +2025-03-10 12:46:46,125 - INFO - CLOSED short at 2065.83 | PnL: 0.10% | $-0.02 +2025-03-10 12:46:46,125 - INFO - OPENED LONG at 2065.83 | Stop loss: 2055.50085 | Take profit: 2096.8174499999996 +2025-03-10 12:46:46,370 - INFO - CLOSED long at 2062.65 | PnL: -0.15% | $-0.94 +2025-03-10 12:46:46,370 - INFO - OPENED SHORT at 2062.65 | Stop loss: 2072.96325 | Take profit: 2031.71025 +2025-03-10 12:46:46,632 - INFO - CLOSED short at 2064.96 | PnL: -0.11% | $-0.78 +2025-03-10 12:46:46,633 - INFO - OPENED LONG at 2064.96 | Stop loss: 2054.6352 | Take profit: 2095.9343999999996 +2025-03-10 12:46:46,730 - INFO - CLOSED long at 2067.1 | PnL: 0.10% | $0.01 +2025-03-10 12:46:46,730 - INFO - OPENED SHORT at 2067.1 | Stop loss: 2077.4354999999996 | Take profit: 2036.0935 +2025-03-10 12:46:47,040 - INFO - CLOSED short at 2062.89 | PnL: 0.20% | $0.38 +2025-03-10 12:46:47,091 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.8224999999998 | Take profit: 2033.5325 +2025-03-10 12:46:47,144 - INFO - CLOSED short at 2063.5 | PnL: 0.05% | $-0.19 +2025-03-10 12:46:47,195 - INFO - OPENED SHORT at 2061.6 | Stop loss: 2071.908 | Take profit: 2030.676 +2025-03-10 12:46:47,360 - INFO - CLOSED short at 2058.89 | PnL: 0.13% | $0.11 +2025-03-10 12:46:47,360 - INFO - OPENED LONG at 2058.89 | Stop loss: 2048.59555 | Take profit: 2089.7733499999995 +2025-03-10 12:46:47,419 - INFO - CLOSED long at 2059.3 | PnL: 0.02% | $-0.29 +2025-03-10 12:46:47,420 - INFO - OPENED SHORT at 2059.3 | Stop loss: 2069.5965 | Take profit: 2028.4105000000002 +2025-03-10 12:46:47,523 - INFO - CLOSED short at 2061.8 | PnL: -0.12% | $-0.80 +2025-03-10 12:46:47,523 - INFO - OPENED LONG at 2061.8 | Stop loss: 2051.491 | Take profit: 2092.727 +2025-03-10 12:46:47,623 - INFO - CLOSED long at 2062.61 | PnL: 0.04% | $-0.22 +2025-03-10 12:46:47,686 - INFO - OPENED SHORT at 2060.91 | Stop loss: 2071.2145499999997 | Take profit: 2029.99635 +2025-03-10 12:46:48,132 - INFO - CLOSED short at 2063.39 | PnL: -0.12% | $-0.79 +2025-03-10 12:46:48,203 - INFO - OPENED SHORT at 2064.79 | Stop loss: 2075.11395 | Take profit: 2033.8181499999998 +2025-03-10 12:46:48,955 - INFO - CLOSED short at 2059.96 | PnL: 0.23% | $0.48 +2025-03-10 12:46:48,955 - INFO - OPENED LONG at 2059.96 | Stop loss: 2049.6602 | Take profit: 2090.8594 +2025-03-10 12:46:49,167 - INFO - CLOSED long at 2056.28 | PnL: -0.18% | $-1.00 +2025-03-10 12:46:49,167 - INFO - OPENED SHORT at 2056.28 | Stop loss: 2066.5614 | Take profit: 2025.4358000000002 +2025-03-10 12:46:49,267 - INFO - CLOSED short at 2054.89 | PnL: 0.07% | $-0.11 +2025-03-10 12:46:49,320 - INFO - OPENED SHORT at 2054.83 | Stop loss: 2065.1041499999997 | Take profit: 2024.0075499999998 +2025-03-10 12:46:49,847 - INFO - STOP LOSS hit for short at 2065.1041499999997 | PnL: -0.50% | $-2.12 +2025-03-10 12:46:49,902 - INFO - OPENED SHORT at 2066.01 | Stop loss: 2076.34005 | Take profit: 2035.0198500000001 +2025-03-10 12:46:50,156 - INFO - CLOSED short at 2066.79 | PnL: -0.04% | $-0.48 +2025-03-10 12:46:50,205 - INFO - OPENED LONG at 2067.33 | Stop loss: 2056.9933499999997 | Take profit: 2098.3399499999996 +2025-03-10 12:46:50,251 - INFO - CLOSED long at 2067.01 | PnL: -0.02% | $-0.40 +2025-03-10 12:46:50,303 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.01845 | Take profit: 2034.7046500000001 +2025-03-10 12:46:50,348 - INFO - CLOSED short at 2069.79 | PnL: -0.20% | $-1.02 +2025-03-10 12:46:50,405 - INFO - OPENED SHORT at 2072.0 | Stop loss: 2082.3599999999997 | Take profit: 2040.92 +2025-03-10 12:46:50,458 - INFO - CLOSED short at 2074.3 | PnL: -0.11% | $-0.71 +2025-03-10 12:46:50,458 - INFO - OPENED LONG at 2074.3 | Stop loss: 2063.9285 | Take profit: 2105.4145 +2025-03-10 12:46:50,562 - INFO - CLOSED long at 2075.01 | PnL: 0.03% | $-0.22 +2025-03-10 12:46:50,563 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.38505 | Take profit: 2043.8848500000001 +2025-03-10 12:46:55,341 - INFO - CLOSED short at 2058.65 | PnL: 0.79% | $2.30 +2025-03-10 12:46:55,393 - INFO - OPENED SHORT at 2056.77 | Stop loss: 2067.05385 | Take profit: 2025.91845 +2025-03-10 12:46:55,920 - INFO - CLOSED short at 2063.9 | PnL: -0.35% | $-1.53 +2025-03-10 12:46:56,025 - INFO - OPENED SHORT at 2062.43 | Stop loss: 2072.7421499999996 | Take profit: 2031.49355 +2025-03-10 12:46:56,359 - INFO - CLOSED short at 2061.21 | PnL: 0.06% | $-0.14 +2025-03-10 12:46:56,411 - INFO - OPENED SHORT at 2059.9 | Stop loss: 2070.1994999999997 | Take profit: 2029.0015 +2025-03-10 12:46:56,558 - INFO - CLOSED short at 2062.54 | PnL: -0.13% | $-0.77 +2025-03-10 12:46:56,599 - INFO - OPENED LONG at 2065.72 | Stop loss: 2055.3914 | Take profit: 2096.7057999999997 +2025-03-10 12:46:56,648 - INFO - CLOSED long at 2070.31 | PnL: 0.22% | $0.41 +2025-03-10 12:46:56,648 - INFO - OPENED SHORT at 2070.31 | Stop loss: 2080.66155 | Take profit: 2039.25535 +2025-03-10 12:46:57,314 - INFO - STOP LOSS hit for short at 2080.66155 | PnL: -0.50% | $-2.01 +2025-03-10 12:46:57,366 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.9424499999996 | Take profit: 2059.1326499999996 +2025-03-10 12:46:57,418 - INFO - STOP LOSS hit for short at 2100.9424499999996 | PnL: -0.50% | $-1.96 +2025-03-10 12:46:57,468 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3534999999997 | Take profit: 2098.7394999999997 +2025-03-10 12:46:57,720 - INFO - STOP LOSS hit for short at 2141.3534999999997 | PnL: -0.50% | $-1.91 +2025-03-10 12:46:57,824 - INFO - OPENED SHORT at 2142.68 | Stop loss: 2153.3933999999995 | Take profit: 2110.5398 +2025-03-10 12:46:57,966 - INFO - CLOSED short at 2126.99 | PnL: 0.73% | $1.97 +2025-03-10 12:46:58,018 - INFO - OPENED SHORT at 2127.3 | Stop loss: 2137.9365 | Take profit: 2095.3905 +2025-03-10 12:46:58,207 - INFO - CLOSED short at 2117.24 | PnL: 0.47% | $1.19 +2025-03-10 12:46:58,262 - INFO - OPENED SHORT at 2119.93 | Stop loss: 2130.5296499999995 | Take profit: 2088.13105 +2025-03-10 12:46:58,760 - INFO - CLOSED short at 2112.95 | PnL: 0.33% | $0.74 +2025-03-10 12:46:58,762 - INFO - OPENED LONG at 2112.95 | Stop loss: 2102.38525 | Take profit: 2144.64425 +2025-03-10 12:46:58,912 - INFO - CLOSED long at 2112.99 | PnL: 0.00% | $-0.32 +2025-03-10 12:46:58,912 - INFO - OPENED SHORT at 2112.99 | Stop loss: 2123.5549499999997 | Take profit: 2081.29515 +2025-03-10 12:46:59,385 - INFO - CLOSED short at 2100.5 | PnL: 0.59% | $1.60 +2025-03-10 12:46:59,435 - INFO - OPENED SHORT at 2090.0 | Stop loss: 2100.45 | Take profit: 2058.65 +2025-03-10 12:46:59,590 - INFO - CLOSED short at 2102.19 | PnL: -0.58% | $-2.27 +2025-03-10 12:46:59,638 - INFO - OPENED SHORT at 2102.29 | Stop loss: 2112.80145 | Take profit: 2070.75565 +2025-03-10 12:46:59,940 - INFO - CLOSED short at 2100.74 | PnL: 0.07% | $-0.08 +2025-03-10 12:46:59,941 - INFO - OPENED LONG at 2100.74 | Stop loss: 2090.2362999999996 | Take profit: 2132.2510999999995 +2025-03-10 12:46:59,996 - INFO - CLOSED long at 2103.86 | PnL: 0.15% | $0.16 +2025-03-10 12:46:59,996 - INFO - OPENED SHORT at 2103.86 | Stop loss: 2114.3793 | Take profit: 2072.3021 +2025-03-10 12:47:00,110 - INFO - CLOSED short at 2101.51 | PnL: 0.11% | $0.04 +2025-03-10 12:47:00,111 - INFO - OPENED LONG at 2101.51 | Stop loss: 2091.0024500000004 | Take profit: 2133.03265 +2025-03-10 12:47:00,219 - INFO - CLOSED long at 2100.02 | PnL: -0.07% | $-0.55 +2025-03-10 12:47:00,220 - INFO - OPENED SHORT at 2100.02 | Stop loss: 2110.5200999999997 | Take profit: 2068.5197 +2025-03-10 12:47:00,734 - INFO - CLOSED short at 2083.28 | PnL: 0.80% | $2.24 +2025-03-10 12:47:00,881 - INFO - OPENED SHORT at 2085.3 | Stop loss: 2095.7264999999998 | Take profit: 2054.0205 +2025-03-10 12:47:01,791 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 23.5% in downtrends | Avg Win=$0.88, Avg Loss=$-0.81 +2025-03-10 12:47:01,794 - INFO - Episode 14: Reward=214.96, Balance=$82.57, Win Rate=29.1%, Trades=55, Episode PnL=$-12.64, Total PnL=$-402.16, Max Drawdown=23.2%, Pred Accuracy=99.7% +2025-03-10 12:47:01,950 - INFO - Model saved to models/trading_agent_best_reward.pt +2025-03-10 12:47:01,951 - INFO - New best reward model saved: 214.96 +2025-03-10 12:47:01,988 - INFO - Identified 26 optimal buy points and 27 optimal sell points +2025-03-10 12:47:02,297 - INFO - OPENED SHORT at 2059.03 | Stop loss: 2069.32515 | Take profit: 2028.1445500000002 +2025-03-10 12:47:02,562 - INFO - CLOSED short at 2056.9 | PnL: 0.10% | $0.01 +2025-03-10 12:47:02,563 - INFO - OPENED LONG at 2056.9 | Stop loss: 2046.6155 | Take profit: 2087.7535 +2025-03-10 12:47:02,623 - INFO - CLOSED long at 2057.59 | PnL: 0.03% | $-0.27 +2025-03-10 12:47:02,624 - INFO - OPENED SHORT at 2057.59 | Stop loss: 2067.87795 | Take profit: 2026.7261500000002 +2025-03-10 12:47:03,407 - INFO - CLOSED short at 2050.44 | PnL: 0.35% | $0.99 +2025-03-10 12:47:03,470 - INFO - OPENED SHORT at 2049.49 | Stop loss: 2059.7374499999996 | Take profit: 2018.7476499999998 +2025-03-10 12:47:04,065 - INFO - CLOSED short at 2045.99 | PnL: 0.17% | $0.29 +2025-03-10 12:47:04,126 - INFO - OPENED SHORT at 2045.99 | Stop loss: 2056.2199499999997 | Take profit: 2015.30015 +2025-03-10 12:47:04,554 - INFO - CLOSED short at 2051.11 | PnL: -0.25% | $-1.42 +2025-03-10 12:47:04,554 - INFO - OPENED LONG at 2051.11 | Stop loss: 2040.85445 | Take profit: 2081.87665 +2025-03-10 12:47:04,654 - INFO - CLOSED long at 2051.89 | PnL: 0.04% | $-0.25 +2025-03-10 12:47:04,753 - INFO - OPENED LONG at 2055.69 | Stop loss: 2045.41155 | Take profit: 2086.52535 +2025-03-10 12:47:05,203 - INFO - CLOSED long at 2063.59 | PnL: 0.38% | $1.13 +2025-03-10 12:47:05,203 - INFO - OPENED SHORT at 2063.59 | Stop loss: 2073.90795 | Take profit: 2032.63615 +2025-03-10 12:47:05,620 - INFO - CLOSED short at 2062.89 | PnL: 0.03% | $-0.27 +2025-03-10 12:47:05,622 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.57555 | Take profit: 2093.83335 +2025-03-10 12:47:05,679 - INFO - CLOSED long at 2060.31 | PnL: -0.13% | $-0.90 +2025-03-10 12:47:05,679 - INFO - OPENED SHORT at 2060.31 | Stop loss: 2070.6115499999996 | Take profit: 2029.40535 +2025-03-10 12:47:06,053 - INFO - CLOSED short at 2061.18 | PnL: -0.04% | $-0.57 +2025-03-10 12:47:06,053 - INFO - OPENED LONG at 2061.18 | Stop loss: 2050.8741 | Take profit: 2092.0977 +2025-03-10 12:47:06,114 - INFO - CLOSED long at 2064.32 | PnL: 0.15% | $0.21 +2025-03-10 12:47:06,114 - INFO - OPENED SHORT at 2064.32 | Stop loss: 2074.6416 | Take profit: 2033.3552000000002 +2025-03-10 12:47:06,937 - INFO - STOP LOSS hit for short at 2074.6416 | PnL: -0.50% | $-2.38 +2025-03-10 12:47:06,995 - INFO - OPENED SHORT at 2072.91 | Stop loss: 2083.2745499999996 | Take profit: 2041.8163499999998 +2025-03-10 12:47:08,793 - INFO - CLOSED short at 2071.36 | PnL: 0.07% | $-0.10 +2025-03-10 12:47:08,794 - INFO - OPENED LONG at 2071.36 | Stop loss: 2061.0032 | Take profit: 2102.4303999999997 +2025-03-10 12:47:08,850 - INFO - CLOSED long at 2072.75 | PnL: 0.07% | $-0.13 +2025-03-10 12:47:08,850 - INFO - OPENED SHORT at 2072.75 | Stop loss: 2083.11375 | Take profit: 2041.65875 +2025-03-10 12:47:09,759 - INFO - CLOSED short at 2063.61 | PnL: 0.44% | $1.31 +2025-03-10 12:47:09,810 - INFO - OPENED LONG at 2065.26 | Stop loss: 2054.9337 | Take profit: 2096.2389 +2025-03-10 12:47:09,867 - INFO - CLOSED long at 2067.89 | PnL: 0.13% | $0.11 +2025-03-10 12:47:09,867 - INFO - OPENED SHORT at 2067.89 | Stop loss: 2078.22945 | Take profit: 2036.8716499999998 +2025-03-10 12:47:09,968 - INFO - CLOSED short at 2068.8 | PnL: -0.04% | $-0.56 +2025-03-10 12:47:09,968 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.456 | Take profit: 2099.832 +2025-03-10 12:47:10,032 - INFO - CLOSED long at 2069.34 | PnL: 0.03% | $-0.29 +2025-03-10 12:47:10,032 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.6866999999997 | Take profit: 2038.2999000000002 +2025-03-10 12:47:10,845 - INFO - CLOSED short at 2066.4 | PnL: 0.14% | $0.16 +2025-03-10 12:47:10,909 - INFO - OPENED SHORT at 2066.1 | Stop loss: 2076.4304999999995 | Take profit: 2035.1084999999998 +2025-03-10 12:47:11,518 - INFO - CLOSED short at 2066.15 | PnL: -0.00% | $-0.40 +2025-03-10 12:47:11,574 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.5863 | Take profit: 2034.2811000000002 +2025-03-10 12:47:12,690 - INFO - CLOSED short at 2058.89 | PnL: 0.31% | $0.81 +2025-03-10 12:47:12,691 - INFO - OPENED LONG at 2058.89 | Stop loss: 2048.59555 | Take profit: 2089.7733499999995 +2025-03-10 12:47:12,751 - INFO - CLOSED long at 2059.3 | PnL: 0.02% | $-0.31 +2025-03-10 12:47:12,751 - INFO - OPENED SHORT at 2059.3 | Stop loss: 2069.5965 | Take profit: 2028.4105000000002 +2025-03-10 12:47:13,063 - INFO - CLOSED short at 2060.3 | PnL: -0.05% | $-0.58 +2025-03-10 12:47:13,115 - INFO - OPENED SHORT at 2061.13 | Stop loss: 2071.43565 | Take profit: 2030.21305 +2025-03-10 12:47:13,213 - INFO - CLOSED short at 2064.1 | PnL: -0.14% | $-0.94 +2025-03-10 12:47:13,265 - INFO - OPENED SHORT at 2065.36 | Stop loss: 2075.6868 | Take profit: 2034.3796000000002 +2025-03-10 12:47:14,375 - INFO - CLOSED short at 2055.6 | PnL: 0.47% | $1.43 +2025-03-10 12:47:14,427 - INFO - OPENED SHORT at 2054.89 | Stop loss: 2065.1644499999998 | Take profit: 2024.0666499999998 +2025-03-10 12:47:14,988 - INFO - STOP LOSS hit for short at 2065.1644499999998 | PnL: -0.50% | $-2.33 +2025-03-10 12:47:15,046 - INFO - OPENED SHORT at 2066.01 | Stop loss: 2076.34005 | Take profit: 2035.0198500000001 +2025-03-10 12:47:15,664 - INFO - STOP LOSS hit for short at 2076.34005 | PnL: -0.50% | $-2.27 +2025-03-10 12:47:15,709 - INFO - OPENED LONG at 2075.01 | Stop loss: 2064.63495 | Take profit: 2106.13515 +2025-03-10 12:47:15,760 - INFO - CLOSED long at 2072.6 | PnL: -0.12% | $-0.80 +2025-03-10 12:47:15,761 - INFO - OPENED SHORT at 2072.6 | Stop loss: 2082.9629999999997 | Take profit: 2041.511 +2025-03-10 12:47:16,061 - INFO - CLOSED short at 2068.15 | PnL: 0.21% | $0.42 +2025-03-10 12:47:16,062 - INFO - OPENED LONG at 2068.15 | Stop loss: 2057.8092500000002 | Take profit: 2099.17225 +2025-03-10 12:47:16,109 - INFO - CLOSED long at 2068.39 | PnL: 0.01% | $-0.33 +2025-03-10 12:47:16,395 - INFO - OPENED SHORT at 2072.99 | Stop loss: 2083.3549499999995 | Take profit: 2041.8951499999998 +2025-03-10 12:47:16,828 - INFO - CLOSED short at 2063.97 | PnL: 0.44% | $1.23 +2025-03-10 12:47:16,880 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.8224999999998 | Take profit: 2033.5325 +2025-03-10 12:47:17,161 - INFO - CLOSED short at 2065.5 | PnL: -0.05% | $-0.55 +2025-03-10 12:47:17,162 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.1725 | Take profit: 2096.4824999999996 +2025-03-10 12:47:17,232 - INFO - CLOSED long at 2067.53 | PnL: 0.10% | $-0.01 +2025-03-10 12:47:17,233 - INFO - OPENED SHORT at 2067.53 | Stop loss: 2077.86765 | Take profit: 2036.5170500000002 +2025-03-10 12:47:17,733 - INFO - CLOSED short at 2070.9 | PnL: -0.16% | $-0.97 +2025-03-10 12:47:17,788 - INFO - OPENED LONG at 2069.69 | Stop loss: 2059.34155 | Take profit: 2100.73535 +2025-03-10 12:47:17,843 - INFO - CLOSED long at 2070.7 | PnL: 0.05% | $-0.19 +2025-03-10 12:47:17,844 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.0534999999995 | Take profit: 2039.6394999999998 +2025-03-10 12:47:18,481 - INFO - CLOSED short at 2074.35 | PnL: -0.18% | $-1.01 +2025-03-10 12:47:18,482 - INFO - OPENED LONG at 2074.35 | Stop loss: 2063.97825 | Take profit: 2105.4652499999997 +2025-03-10 12:47:18,580 - INFO - CLOSED long at 2073.99 | PnL: -0.02% | $-0.42 +2025-03-10 12:47:18,580 - INFO - OPENED SHORT at 2073.99 | Stop loss: 2084.3599499999996 | Take profit: 2042.8801499999997 +2025-03-10 12:47:18,965 - INFO - CLOSED short at 2067.7 | PnL: 0.30% | $0.73 +2025-03-10 12:47:18,966 - INFO - OPENED LONG at 2067.7 | Stop loss: 2057.3615 | Take profit: 2098.7155 +2025-03-10 12:47:19,017 - INFO - CLOSED long at 2067.0 | PnL: -0.03% | $-0.49 +2025-03-10 12:47:19,017 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.3349999999996 | Take profit: 2035.995 +2025-03-10 12:47:20,455 - INFO - CLOSED short at 2058.09 | PnL: 0.43% | $1.19 +2025-03-10 12:47:20,507 - INFO - OPENED SHORT at 2058.65 | Stop loss: 2068.94325 | Take profit: 2027.77025 +2025-03-10 12:47:20,895 - INFO - CLOSED short at 2057.11 | PnL: 0.07% | $-0.09 +2025-03-10 12:47:20,896 - INFO - OPENED LONG at 2057.11 | Stop loss: 2046.82445 | Take profit: 2087.96665 +2025-03-10 12:47:20,951 - INFO - CLOSED long at 2057.89 | PnL: 0.04% | $-0.23 +2025-03-10 12:47:20,951 - INFO - OPENED SHORT at 2057.89 | Stop loss: 2068.1794499999996 | Take profit: 2027.02165 +2025-03-10 12:47:21,345 - INFO - STOP LOSS hit for short at 2068.1794499999996 | PnL: -0.50% | $-2.18 +2025-03-10 12:47:21,403 - INFO - OPENED SHORT at 2067.49 | Stop loss: 2077.8274499999998 | Take profit: 2036.4776499999998 +2025-03-10 12:47:21,736 - INFO - CLOSED short at 2061.84 | PnL: 0.27% | $0.62 +2025-03-10 12:47:21,806 - INFO - OPENED SHORT at 2062.54 | Stop loss: 2072.8527 | Take profit: 2031.6019 +2025-03-10 12:47:22,018 - INFO - CLOSED short at 2069.34 | PnL: -0.33% | $-1.54 +2025-03-10 12:47:22,079 - INFO - OPENED SHORT at 2069.81 | Stop loss: 2080.1590499999998 | Take profit: 2038.7628499999998 +2025-03-10 12:47:22,613 - INFO - STOP LOSS hit for short at 2080.1590499999998 | PnL: -0.50% | $-2.11 +2025-03-10 12:47:22,715 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.5350999999996 | Take profit: 2071.4746999999998 +2025-03-10 12:47:22,771 - INFO - STOP LOSS hit for short at 2113.5350999999996 | PnL: -0.50% | $-2.06 +2025-03-10 12:47:22,817 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.8423 | Take profit: 2171.6330999999996 +2025-03-10 12:47:22,876 - INFO - CLOSED long at 2131.78 | PnL: -0.36% | $-1.55 +2025-03-10 12:47:22,876 - INFO - OPENED SHORT at 2131.78 | Stop loss: 2142.4389 | Take profit: 2099.8033 +2025-03-10 12:47:23,027 - INFO - CLOSED short at 2141.41 | PnL: -0.45% | $-1.81 +2025-03-10 12:47:23,120 - INFO - OPENED LONG at 2142.68 | Stop loss: 2131.9665999999997 | Take profit: 2174.8201999999997 +2025-03-10 12:47:23,171 - INFO - CLOSED long at 2140.01 | PnL: -0.12% | $-0.72 +2025-03-10 12:47:23,172 - INFO - OPENED SHORT at 2140.01 | Stop loss: 2150.71005 | Take profit: 2107.90985 +2025-03-10 12:47:23,761 - INFO - CLOSED short at 2119.07 | PnL: 0.98% | $2.80 +2025-03-10 12:47:23,817 - INFO - OPENED SHORT at 2115.28 | Stop loss: 2125.8564 | Take profit: 2083.5508 +2025-03-10 12:47:24,582 - INFO - CLOSED short at 2108.06 | PnL: 0.34% | $0.80 +2025-03-10 12:47:24,583 - INFO - OPENED LONG at 2108.06 | Stop loss: 2097.5197 | Take profit: 2139.6809 +2025-03-10 12:47:24,645 - INFO - CLOSED long at 2103.33 | PnL: -0.22% | $-1.08 +2025-03-10 12:47:24,645 - INFO - OPENED SHORT at 2103.33 | Stop loss: 2113.8466499999995 | Take profit: 2071.78005 +2025-03-10 12:47:25,042 - INFO - CLOSED short at 2098.9 | PnL: 0.21% | $0.36 +2025-03-10 12:47:25,096 - INFO - OPENED SHORT at 2100.69 | Stop loss: 2111.1934499999998 | Take profit: 2069.17965 +2025-03-10 12:47:26,313 - INFO - CLOSED short at 2080.38 | PnL: 0.97% | $2.86 +2025-03-10 12:47:26,314 - INFO - OPENED LONG at 2080.38 | Stop loss: 2069.9781000000003 | Take profit: 2111.5857 +2025-03-10 12:47:26,373 - INFO - CLOSED long at 2081.25 | PnL: 0.04% | $-0.20 +2025-03-10 12:47:26,373 - INFO - OPENED SHORT at 2081.25 | Stop loss: 2091.65625 | Take profit: 2050.03125 +2025-03-10 12:47:27,028 - INFO - CLOSED short at 2089.96 | PnL: -0.42% | $-1.77 +2025-03-10 12:47:27,028 - INFO - OPENED LONG at 2089.96 | Stop loss: 2079.5102 | Take profit: 2121.3093999999996 +2025-03-10 12:47:27,082 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 28.6% in downtrends | Avg Win=$0.92, Avg Loss=$-0.90 +2025-03-10 12:47:27,083 - INFO - Episode 15: Reward=215.90, Balance=$83.40, Win Rate=33.3%, Trades=57, Episode PnL=$-9.77, Total PnL=$-418.76, Max Drawdown=20.5%, Pred Accuracy=99.8% +2025-03-10 12:47:27,250 - INFO - Model saved to models/trading_agent_best_reward.pt +2025-03-10 12:47:27,250 - INFO - New best reward model saved: 215.90 +2025-03-10 12:47:27,384 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 12:47:27,385 - INFO - New best PnL model saved: $-9.77 +2025-03-10 12:47:27,494 - INFO - Model saved to models/trading_agent_best_winrate.pt +2025-03-10 12:47:27,494 - INFO - New best win rate model saved: 33.3% +2025-03-10 12:47:27,517 - INFO - Identified 26 optimal buy points and 27 optimal sell points +2025-03-10 12:47:27,850 - INFO - OPENED SHORT at 2059.03 | Stop loss: 2069.32515 | Take profit: 2028.1445500000002 +2025-03-10 12:47:28,547 - INFO - CLOSED short at 2055.39 | PnL: 0.18% | $0.31 +2025-03-10 12:47:28,599 - INFO - OPENED SHORT at 2053.56 | Stop loss: 2063.8277999999996 | Take profit: 2022.7566 +2025-03-10 12:47:29,518 - INFO - CLOSED short at 2047.4 | PnL: 0.30% | $0.80 +2025-03-10 12:47:29,567 - INFO - OPENED SHORT at 2047.2 | Stop loss: 2057.4359999999997 | Take profit: 2016.492 +2025-03-10 12:47:30,438 - INFO - CLOSED short at 2056.89 | PnL: -0.47% | $-2.32 +2025-03-10 12:47:30,590 - INFO - OPENED SHORT at 2060.13 | Stop loss: 2070.43065 | Take profit: 2029.2280500000002 +2025-03-10 12:47:32,102 - INFO - CLOSED short at 2065.86 | PnL: -0.28% | $-1.49 +2025-03-10 12:47:32,359 - INFO - OPENED SHORT at 2067.89 | Stop loss: 2078.22945 | Take profit: 2036.8716499999998 +2025-03-10 12:47:32,778 - INFO - CLOSED short at 2067.9 | PnL: -0.00% | $-0.39 +2025-03-10 12:47:32,779 - INFO - OPENED LONG at 2067.9 | Stop loss: 2057.5605 | Take profit: 2098.9184999999998 +2025-03-10 12:47:32,843 - INFO - CLOSED long at 2067.69 | PnL: -0.01% | $-0.43 +2025-03-10 12:47:32,845 - INFO - OPENED SHORT at 2067.69 | Stop loss: 2078.02845 | Take profit: 2036.67465 +2025-03-10 12:47:33,001 - INFO - CLOSED short at 2073.73 | PnL: -0.29% | $-1.51 +2025-03-10 12:47:33,002 - INFO - OPENED LONG at 2073.73 | Stop loss: 2063.36135 | Take profit: 2104.8359499999997 +2025-03-10 12:47:33,061 - INFO - CLOSED long at 2075.1 | PnL: 0.07% | $-0.13 +2025-03-10 12:47:33,062 - INFO - OPENED SHORT at 2075.1 | Stop loss: 2085.4754999999996 | Take profit: 2043.9734999999998 +2025-03-10 12:47:33,160 - INFO - CLOSED short at 2072.33 | PnL: 0.13% | $0.13 +2025-03-10 12:47:33,161 - INFO - OPENED LONG at 2072.33 | Stop loss: 2061.96835 | Take profit: 2103.41495 +2025-03-10 12:47:33,216 - INFO - CLOSED long at 2071.38 | PnL: -0.05% | $-0.55 +2025-03-10 12:47:33,217 - INFO - OPENED SHORT at 2071.38 | Stop loss: 2081.7369 | Take profit: 2040.3093000000001 +2025-03-10 12:47:33,977 - INFO - CLOSED short at 2068.8 | PnL: 0.12% | $0.09 +2025-03-10 12:47:33,977 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.456 | Take profit: 2099.832 +2025-03-10 12:47:34,088 - INFO - CLOSED long at 2067.51 | PnL: -0.06% | $-0.61 +2025-03-10 12:47:34,089 - INFO - OPENED SHORT at 2067.51 | Stop loss: 2077.84755 | Take profit: 2036.49735 +2025-03-10 12:47:36,378 - INFO - CLOSED short at 2067.86 | PnL: -0.02% | $-0.44 +2025-03-10 12:47:36,485 - INFO - OPENED SHORT at 2069.2 | Stop loss: 2079.546 | Take profit: 2038.1619999999998 +2025-03-10 12:47:37,579 - INFO - CLOSED short at 2064.99 | PnL: 0.20% | $0.39 +2025-03-10 12:47:37,580 - INFO - OPENED LONG at 2064.99 | Stop loss: 2054.6650499999996 | Take profit: 2095.9648499999994 +2025-03-10 12:47:37,641 - INFO - CLOSED long at 2065.83 | PnL: 0.04% | $-0.22 +2025-03-10 12:47:37,642 - INFO - OPENED SHORT at 2065.83 | Stop loss: 2076.1591499999995 | Take profit: 2034.8425499999998 +2025-03-10 12:47:37,752 - INFO - CLOSED short at 2065.26 | PnL: 0.03% | $-0.27 +2025-03-10 12:47:37,855 - INFO - OPENED SHORT at 2062.65 | Stop loss: 2072.96325 | Take profit: 2031.71025 +2025-03-10 12:47:38,106 - INFO - CLOSED short at 2063.59 | PnL: -0.05% | $-0.54 +2025-03-10 12:47:38,170 - INFO - OPENED SHORT at 2064.96 | Stop loss: 2075.2848 | Take profit: 2033.9856 +2025-03-10 12:47:39,033 - INFO - CLOSED short at 2060.31 | PnL: 0.23% | $0.46 +2025-03-10 12:47:39,083 - INFO - OPENED LONG at 2061.8 | Stop loss: 2051.491 | Take profit: 2092.727 +2025-03-10 12:47:39,137 - INFO - CLOSED long at 2064.7 | PnL: 0.14% | $0.15 +2025-03-10 12:47:39,138 - INFO - OPENED SHORT at 2064.7 | Stop loss: 2075.0235 | Take profit: 2033.7294999999997 +2025-03-10 12:57:17,052 - INFO - GPU not available, using CPU +2025-03-10 12:57:17,072 - INFO - Exchange initialized with standard CCXT: mexc +2025-03-10 12:57:17,073 - INFO - Fetching initial data for ETH/USDT +2025-03-10 12:57:20,700 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 12:57:20,719 - INFO - Initialized environment with 500 candles +2025-03-10 12:57:22,829 - INFO - Starting training for 1000 episodes... +2025-03-10 12:57:22,829 - INFO - Starting training on device: cpu +2025-03-10 12:57:22,850 - INFO - Identified 26 optimal buy points and 27 optimal sell points +2025-03-10 12:57:23,138 - INFO - OPENED LONG at 2051.66 | Stop loss: 2041.382189285714 | Take profit: 2082.4641660714283 +2025-03-10 12:57:23,139 - INFO - CLOSED long at 2052.16 | PnL: 0.02% | $-0.15 +2025-03-10 12:57:23,140 - INFO - OPENED SHORT at 2053.1 | Stop loss: 2063.3850107142857 | Take profit: 2022.2742339285714 +2025-03-10 12:57:23,141 - INFO - CLOSED short at 2050.71 | PnL: 0.12% | $0.03 +2025-03-10 12:57:23,141 - INFO - OPENED SHORT at 2049.49 | Stop loss: 2059.7569607142855 | Take profit: 2018.718383928571 +2025-03-10 12:57:23,142 - INFO - CLOSED short at 2050.2 | PnL: -0.03% | $-0.27 +2025-03-10 12:57:23,142 - INFO - OPENED LONG at 2050.2 | Stop loss: 2039.9294892857142 | Take profit: 2080.982266071428 +2025-03-10 12:57:23,143 - INFO - CLOSED long at 2049.6 | PnL: -0.03% | $-0.26 +2025-03-10 12:57:23,143 - INFO - OPENED SHORT at 2049.6 | Stop loss: 2059.867510714286 | Take profit: 2018.8267339285715 +2025-03-10 12:57:23,145 - INFO - CLOSED short at 2049.61 | PnL: -0.00% | $-0.20 +2025-03-10 12:57:23,145 - INFO - OPENED LONG at 2049.61 | Stop loss: 2039.3424392857144 | Take profit: 2080.3834160714287 +2025-03-10 12:57:23,145 - INFO - CLOSED long at 2048.48 | PnL: -0.06% | $-0.30 +2025-03-10 12:57:23,146 - INFO - OPENED SHORT at 2048.48 | Stop loss: 2058.741910714286 | Take profit: 2017.7235339285714 +2025-03-10 12:57:23,146 - INFO - CLOSED short at 2047.39 | PnL: 0.05% | $-0.09 +2025-03-10 12:57:23,147 - INFO - OPENED SHORT at 2046.58 | Stop loss: 2056.8324107142857 | Take profit: 2015.8520339285712 +2025-03-10 12:57:23,148 - INFO - CLOSED short at 2047.2 | PnL: -0.03% | $-0.25 +2025-03-10 12:57:23,148 - INFO - OPENED LONG at 2047.2 | Stop loss: 2036.9444892857143 | Take profit: 2077.9372660714284 +2025-03-10 12:57:23,149 - INFO - CLOSED long at 2045.99 | PnL: -0.06% | $-0.31 +2025-03-10 12:57:23,149 - INFO - OPENED SHORT at 2045.99 | Stop loss: 2056.239460714286 | Take profit: 2015.2708839285715 +2025-03-10 12:57:23,150 - INFO - CLOSED short at 2045.99 | PnL: 0.00% | $-0.19 +2025-03-10 12:57:23,151 - INFO - OPENED SHORT at 2048.51 | Stop loss: 2058.7720607142855 | Take profit: 2017.7530839285716 +2025-03-10 12:57:23,151 - INFO - CLOSED short at 2050.0 | PnL: -0.07% | $-0.34 +2025-03-10 12:57:23,152 - INFO - OPENED LONG at 2050.24 | Stop loss: 2039.9692892857142 | Take profit: 2081.0228660714283 +2025-03-10 12:57:23,152 - INFO - CLOSED long at 2049.89 | PnL: -0.02% | $-0.23 +2025-03-10 12:57:23,153 - INFO - OPENED LONG at 2053.26 | Stop loss: 2042.9741892857146 | Take profit: 2084.088166071429 +2025-03-10 12:57:23,154 - INFO - CLOSED long at 2052.3 | PnL: -0.05% | $-0.28 +2025-03-10 12:57:23,154 - INFO - OPENED SHORT at 2052.3 | Stop loss: 2062.581010714286 | Take profit: 2021.4862339285717 +2025-03-10 12:57:23,156 - INFO - CLOSED short at 2057.01 | PnL: -0.23% | $-0.63 +2025-03-10 12:57:23,156 - INFO - OPENED LONG at 2057.01 | Stop loss: 2046.7054392857144 | Take profit: 2087.894416071429 +2025-03-10 12:57:23,157 - INFO - CLOSED long at 2056.89 | PnL: -0.01% | $-0.20 +2025-03-10 12:57:23,158 - INFO - OPENED LONG at 2059.7 | Stop loss: 2049.381989285714 | Take profit: 2090.6247660714284 +2025-03-10 12:57:23,159 - INFO - CLOSED long at 2063.59 | PnL: 0.19% | $0.17 +2025-03-10 12:57:23,160 - INFO - OPENED SHORT at 2063.59 | Stop loss: 2073.927460714286 | Take profit: 2032.6068839285715 +2025-03-10 12:57:23,163 - INFO - CLOSED short at 2057.8 | PnL: 0.28% | $0.35 +2025-03-10 12:57:23,163 - INFO - OPENED LONG at 2057.8 | Stop loss: 2047.4914892857146 | Take profit: 2088.696266071429 +2025-03-10 12:57:23,164 - INFO - CLOSED long at 2057.89 | PnL: 0.00% | $-0.18 +2025-03-10 12:57:23,164 - INFO - OPENED SHORT at 2057.94 | Stop loss: 2068.2492107142857 | Take profit: 2027.0416339285716 +2025-03-10 12:57:23,165 - INFO - CLOSED short at 2061.79 | PnL: -0.19% | $-0.55 +2025-03-10 12:57:23,165 - INFO - OPENED LONG at 2061.79 | Stop loss: 2051.4615392857145 | Take profit: 2092.746116071429 +2025-03-10 12:57:23,167 - INFO - CLOSED long at 2061.18 | PnL: -0.03% | $-0.25 +2025-03-10 12:57:23,167 - INFO - OPENED SHORT at 2061.18 | Stop loss: 2071.505410714286 | Take profit: 2030.2330339285713 +2025-03-10 12:57:23,167 - INFO - CLOSED short at 2064.32 | PnL: -0.15% | $-0.48 +2025-03-10 12:57:23,168 - INFO - OPENED LONG at 2070.58 | Stop loss: 2060.207589285714 | Take profit: 2101.6679660714285 +2025-03-10 12:57:23,169 - INFO - CLOSED long at 2068.29 | PnL: -0.11% | $-0.40 +2025-03-10 12:57:23,169 - INFO - OPENED SHORT at 2068.29 | Stop loss: 2078.6509607142857 | Take profit: 2037.2363839285715 +2025-03-10 12:57:23,170 - INFO - CLOSED short at 2067.89 | PnL: 0.02% | $-0.15 +2025-03-10 12:57:23,170 - INFO - OPENED SHORT at 2070.99 | Stop loss: 2081.3644607142855 | Take profit: 2039.8958839285713 +2025-03-10 12:57:23,286 - INFO - CLOSED short at 2068.99 | PnL: 0.10% | $-0.01 +2025-03-10 12:57:23,287 - INFO - OPENED LONG at 2068.99 | Stop loss: 2058.6255392857142 | Take profit: 2100.0541160714283 +2025-03-10 12:57:23,359 - INFO - CLOSED long at 2067.69 | PnL: -0.06% | $-0.31 +2025-03-10 12:57:23,393 - INFO - OPENED SHORT at 2070.26 | Stop loss: 2080.630810714286 | Take profit: 2039.1768339285716 +2025-03-10 12:57:23,571 - INFO - CLOSED short at 2072.33 | PnL: -0.10% | $-0.37 +2025-03-10 12:57:23,605 - INFO - OPENED SHORT at 2071.38 | Stop loss: 2081.7564107142857 | Take profit: 2040.2800339285714 +2025-03-10 12:57:23,678 - INFO - CLOSED short at 2069.37 | PnL: 0.10% | $-0.01 +2025-03-10 12:57:23,678 - INFO - OPENED LONG at 2069.37 | Stop loss: 2059.003639285714 | Take profit: 2100.439816071428 +2025-03-10 12:57:23,716 - INFO - CLOSED long at 2070.9 | PnL: 0.07% | $-0.05 +2025-03-10 12:57:23,755 - INFO - OPENED LONG at 2072.8 | Stop loss: 2062.4164892857143 | Take profit: 2103.921266071429 +2025-03-10 12:57:23,791 - INFO - CLOSED long at 2070.79 | PnL: -0.10% | $-0.37 +2025-03-10 12:57:23,826 - INFO - OPENED SHORT at 2070.28 | Stop loss: 2080.650910714286 | Take profit: 2039.1965339285716 +2025-03-10 12:57:23,863 - INFO - CLOSED short at 2068.02 | PnL: 0.11% | $0.02 +2025-03-10 12:57:23,934 - INFO - OPENED LONG at 2070.36 | Stop loss: 2059.9886892857144 | Take profit: 2101.444666071429 +2025-03-10 12:57:24,005 - INFO - CLOSED long at 2070.7 | PnL: 0.02% | $-0.16 +2025-03-10 12:57:24,045 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.7062107142856 | Take profit: 2038.2706339285714 +2025-03-10 12:57:24,082 - INFO - CLOSED short at 2069.19 | PnL: 0.01% | $-0.17 +2025-03-10 12:57:24,117 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.4364892857143 | Take profit: 2099.861266071429 +2025-03-10 12:57:24,358 - INFO - CLOSED long at 2066.29 | PnL: -0.12% | $-0.41 +2025-03-10 12:57:24,359 - INFO - OPENED SHORT at 2066.29 | Stop loss: 2076.6409607142855 | Take profit: 2035.2663839285713 +2025-03-10 12:57:24,573 - INFO - CLOSED short at 2068.59 | PnL: -0.11% | $-0.39 +2025-03-10 12:57:24,753 - INFO - OPENED LONG at 2071.39 | Stop loss: 2061.013539285714 | Take profit: 2102.4901160714285 +2025-03-10 12:57:24,787 - INFO - CLOSED long at 2071.36 | PnL: -0.00% | $-0.19 +2025-03-10 12:57:24,788 - INFO - OPENED SHORT at 2071.36 | Stop loss: 2081.736310714286 | Take profit: 2040.2603339285715 +2025-03-10 12:57:24,860 - INFO - CLOSED short at 2073.11 | PnL: -0.08% | $-0.34 +2025-03-10 12:57:24,894 - INFO - OPENED SHORT at 2072.7 | Stop loss: 2083.0830107142856 | Take profit: 2041.5802339285713 +2025-03-10 12:57:24,927 - INFO - CLOSED short at 2072.15 | PnL: 0.03% | $-0.13 +2025-03-10 12:57:24,927 - INFO - OPENED LONG at 2072.15 | Stop loss: 2061.7697392857144 | Take profit: 2103.2615160714286 +2025-03-10 12:57:24,999 - INFO - CLOSED long at 2073.9 | PnL: 0.08% | $-0.03 +2025-03-10 12:57:25,036 - INFO - OPENED LONG at 2071.92 | Stop loss: 2061.5408892857145 | Take profit: 2103.0280660714284 +2025-03-10 12:57:25,072 - INFO - CLOSED long at 2070.4 | PnL: -0.07% | $-0.32 +2025-03-10 12:57:25,341 - INFO - OPENED LONG at 2066.8 | Stop loss: 2056.4464892857145 | Take profit: 2097.831266071429 +2025-03-10 12:57:25,377 - INFO - CLOSED long at 2065.49 | PnL: -0.06% | $-0.30 +2025-03-10 12:57:25,446 - INFO - OPENED LONG at 2065.26 | Stop loss: 2054.9141892857147 | Take profit: 2096.268166071429 +2025-03-10 12:57:25,480 - INFO - CLOSED long at 2067.89 | PnL: 0.13% | $0.05 +2025-03-10 12:57:25,551 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.4364892857143 | Take profit: 2099.861266071429 +2025-03-10 12:57:25,622 - INFO - CLOSED long at 2067.86 | PnL: -0.05% | $-0.26 +2025-03-10 12:57:25,623 - INFO - OPENED SHORT at 2067.86 | Stop loss: 2078.2188107142856 | Take profit: 2036.8128339285715 +2025-03-10 12:57:25,661 - INFO - CLOSED short at 2067.59 | PnL: 0.01% | $-0.16 +2025-03-10 12:57:25,662 - INFO - OPENED LONG at 2067.59 | Stop loss: 2057.2325392857147 | Take profit: 2098.6331160714285 +2025-03-10 12:57:25,700 - INFO - CLOSED long at 2069.2 | PnL: 0.08% | $-0.04 +2025-03-10 12:57:25,736 - INFO - OPENED SHORT at 2070.3 | Stop loss: 2080.671010714286 | Take profit: 2039.2162339285717 +2025-03-10 12:57:25,948 - INFO - CLOSED short at 2068.69 | PnL: 0.08% | $-0.04 +2025-03-10 12:57:25,949 - INFO - OPENED LONG at 2068.69 | Stop loss: 2058.3270392857144 | Take profit: 2099.7496160714286 +2025-03-10 12:57:26,063 - INFO - CLOSED long at 2067.86 | PnL: -0.04% | $-0.25 +2025-03-10 12:57:26,064 - INFO - OPENED SHORT at 2067.86 | Stop loss: 2078.2188107142856 | Take profit: 2036.8128339285715 +2025-03-10 12:57:26,100 - INFO - CLOSED short at 2066.4 | PnL: 0.07% | $-0.05 +2025-03-10 12:57:26,138 - INFO - OPENED SHORT at 2066.1 | Stop loss: 2076.4500107142853 | Take profit: 2035.0792339285715 +2025-03-10 12:57:26,175 - INFO - CLOSED short at 2065.28 | PnL: 0.04% | $-0.11 +2025-03-10 12:57:26,175 - INFO - OPENED LONG at 2065.28 | Stop loss: 2054.9340892857144 | Take profit: 2096.2884660714285 +2025-03-10 12:57:26,209 - INFO - CLOSED long at 2066.39 | PnL: 0.05% | $-0.08 +2025-03-10 12:57:26,247 - INFO - OPENED SHORT at 2064.47 | Stop loss: 2074.811860714285 | Take profit: 2033.473683928571 +2025-03-10 12:57:26,283 - INFO - CLOSED short at 2070.04 | PnL: -0.27% | $-0.66 +2025-03-10 12:57:26,318 - INFO - OPENED LONG at 2067.8 | Stop loss: 2057.4414892857144 | Take profit: 2098.8462660714285 +2025-03-10 12:57:26,355 - INFO - CLOSED long at 2068.18 | PnL: 0.02% | $-0.15 +2025-03-10 12:57:26,424 - INFO - OPENED SHORT at 2067.88 | Stop loss: 2078.238910714286 | Take profit: 2036.8325339285716 +2025-03-10 12:57:26,528 - INFO - CLOSED short at 2066.15 | PnL: 0.08% | $-0.03 +2025-03-10 12:57:26,706 - INFO - OPENED SHORT at 2059.59 | Stop loss: 2069.907460714286 | Take profit: 2028.6668839285717 +2025-03-10 12:57:26,742 - INFO - CLOSED short at 2061.3 | PnL: -0.08% | $-0.32 +2025-03-10 12:57:26,853 - INFO - OPENED LONG at 2066.24 | Stop loss: 2055.8892892857143 | Take profit: 2097.262866071428 +2025-03-10 12:57:27,032 - INFO - CLOSED long at 2064.08 | PnL: -0.10% | $-0.36 +2025-03-10 12:57:27,033 - INFO - OPENED SHORT at 2064.08 | Stop loss: 2074.4199107142854 | Take profit: 2033.0895339285712 +2025-03-10 12:57:27,068 - INFO - CLOSED short at 2062.71 | PnL: 0.07% | $-0.06 +2025-03-10 12:57:27,219 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.272489285714 | Take profit: 2092.5532660714284 +2025-03-10 12:57:27,361 - INFO - CLOSED long at 2059.3 | PnL: -0.11% | $-0.37 +2025-03-10 12:57:27,362 - INFO - OPENED SHORT at 2059.3 | Stop loss: 2069.616010714286 | Take profit: 2028.3812339285716 +2025-03-10 12:57:27,402 - INFO - CLOSED short at 2060.31 | PnL: -0.05% | $-0.26 +2025-03-10 12:57:27,402 - INFO - OPENED LONG at 2060.31 | Stop loss: 2049.9889392857144 | Take profit: 2091.2439160714284 +2025-03-10 12:57:27,438 - INFO - CLOSED long at 2061.8 | PnL: 0.07% | $-0.05 +2025-03-10 12:57:27,439 - INFO - OPENED SHORT at 2061.8 | Stop loss: 2072.1285107142858 | Take profit: 2030.8437339285715 +2025-03-10 12:57:27,476 - INFO - CLOSED short at 2064.7 | PnL: -0.14% | $-0.42 +2025-03-10 12:57:27,579 - INFO - OPENED SHORT at 2060.3 | Stop loss: 2070.621010714286 | Take profit: 2029.3662339285715 +2025-03-10 12:57:27,650 - INFO - CLOSED short at 2061.9 | PnL: -0.08% | $-0.31 +2025-03-10 12:57:27,651 - INFO - OPENED LONG at 2061.9 | Stop loss: 2051.5709892857144 | Take profit: 2092.8577660714286 +2025-03-10 12:57:27,688 - INFO - CLOSED long at 2064.1 | PnL: 0.11% | $0.01 +2025-03-10 12:57:27,724 - INFO - OPENED LONG at 2065.36 | Stop loss: 2055.0136892857145 | Take profit: 2096.3696660714286 +2025-03-10 12:57:27,763 - INFO - CLOSED long at 2064.33 | PnL: -0.05% | $-0.26 +2025-03-10 12:57:27,909 - INFO - OPENED SHORT at 2063.53 | Stop loss: 2073.8671607142855 | Take profit: 2032.5477839285716 +2025-03-10 12:57:27,984 - INFO - CLOSED short at 2062.6 | PnL: 0.05% | $-0.09 +2025-03-10 12:57:28,022 - INFO - OPENED SHORT at 2061.89 | Stop loss: 2072.2189607142855 | Take profit: 2030.9323839285714 +2025-03-10 12:57:28,098 - INFO - CLOSED short at 2060.7 | PnL: 0.06% | $-0.07 +2025-03-10 12:57:28,244 - INFO - OPENED SHORT at 2059.02 | Stop loss: 2069.3346107142856 | Take profit: 2028.1054339285713 +2025-03-10 12:57:28,283 - INFO - CLOSED short at 2058.89 | PnL: 0.01% | $-0.16 +2025-03-10 12:57:28,284 - INFO - OPENED LONG at 2058.89 | Stop loss: 2048.576039285714 | Take profit: 2089.8026160714285 +2025-03-10 12:57:28,323 - INFO - CLOSED long at 2059.96 | PnL: 0.05% | $-0.08 +2025-03-10 12:57:28,324 - INFO - OPENED SHORT at 2059.96 | Stop loss: 2070.2793107142857 | Take profit: 2029.0313339285715 +2025-03-10 12:57:28,442 - INFO - CLOSED short at 2058.28 | PnL: 0.08% | $-0.03 +2025-03-10 12:57:28,482 - INFO - OPENED LONG at 2056.28 | Stop loss: 2045.9790892857145 | Take profit: 2087.1534660714287 +2025-03-10 12:57:28,517 - INFO - CLOSED long at 2055.6 | PnL: -0.03% | $-0.23 +2025-03-10 12:57:28,517 - INFO - OPENED SHORT at 2055.6 | Stop loss: 2065.897510714286 | Take profit: 2024.7367339285715 +2025-03-10 12:57:28,627 - INFO - CLOSED short at 2056.71 | PnL: -0.05% | $-0.26 +2025-03-10 12:57:28,697 - INFO - OPENED SHORT at 2059.8 | Stop loss: 2070.118510714286 | Take profit: 2028.8737339285715 +2025-03-10 12:57:28,774 - INFO - CLOSED short at 2061.5 | PnL: -0.08% | $-0.31 +2025-03-10 12:57:28,879 - INFO - OPENED LONG at 2062.69 | Stop loss: 2052.3570392857146 | Take profit: 2093.6596160714284 +2025-03-10 12:57:28,984 - INFO - CLOSED long at 2066.01 | PnL: 0.16% | $0.10 +2025-03-10 12:57:29,056 - INFO - OPENED SHORT at 2064.49 | Stop loss: 2074.8319607142857 | Take profit: 2033.4933839285713 +2025-03-10 12:57:29,159 - INFO - CLOSED short at 2066.79 | PnL: -0.11% | $-0.36 +2025-03-10 12:57:29,160 - INFO - OPENED LONG at 2066.79 | Stop loss: 2056.436539285714 | Take profit: 2097.821116071428 +2025-03-10 12:57:29,230 - INFO - CLOSED long at 2067.01 | PnL: 0.01% | $-0.15 +2025-03-10 12:57:29,299 - INFO - OPENED LONG at 2069.79 | Stop loss: 2059.421539285714 | Take profit: 2100.8661160714287 +2025-03-10 12:57:29,509 - INFO - CLOSED long at 2071.04 | PnL: 0.06% | $-0.07 +2025-03-10 12:57:29,510 - INFO - OPENED SHORT at 2071.04 | Stop loss: 2081.414710714286 | Take profit: 2039.9451339285715 +2025-03-10 12:57:29,545 - INFO - CLOSED short at 2070.01 | PnL: 0.05% | $-0.09 +2025-03-10 12:57:29,583 - INFO - OPENED SHORT at 2071.6 | Stop loss: 2081.9775107142855 | Take profit: 2040.4967339285713 +2025-03-10 12:57:29,621 - INFO - CLOSED short at 2073.23 | PnL: -0.08% | $-0.30 +2025-03-10 12:57:29,622 - INFO - OPENED LONG at 2073.23 | Stop loss: 2062.8443392857143 | Take profit: 2104.3577160714285 +2025-03-10 12:57:29,657 - INFO - CLOSED long at 2070.0 | PnL: -0.16% | $-0.43 +2025-03-10 12:57:29,657 - INFO - OPENED SHORT at 2070.0 | Stop loss: 2080.3695107142858 | Take profit: 2038.9207339285715 +2025-03-10 12:57:29,696 - INFO - CLOSED short at 2068.15 | PnL: 0.09% | $-0.02 +2025-03-10 12:57:29,697 - INFO - OPENED LONG at 2068.15 | Stop loss: 2057.7897392857144 | Take profit: 2099.2015160714286 +2025-03-10 12:57:29,770 - INFO - CLOSED long at 2069.69 | PnL: 0.07% | $-0.04 +2025-03-10 12:57:29,770 - INFO - OPENED SHORT at 2069.69 | Stop loss: 2080.057960714286 | Take profit: 2038.6153839285714 +2025-03-10 12:57:29,878 - INFO - CLOSED short at 2068.79 | PnL: 0.04% | $-0.09 +2025-03-10 12:57:29,878 - INFO - OPENED LONG at 2068.79 | Stop loss: 2058.426539285714 | Take profit: 2099.8511160714284 +2025-03-10 12:57:29,916 - INFO - CLOSED long at 2072.99 | PnL: 0.20% | $0.17 +2025-03-10 12:57:29,916 - INFO - OPENED SHORT at 2072.99 | Stop loss: 2083.3744607142853 | Take profit: 2041.8658839285713 +2025-03-10 12:57:30,027 - INFO - CLOSED short at 2067.33 | PnL: 0.27% | $0.29 +2025-03-10 12:57:30,064 - INFO - OPENED LONG at 2066.38 | Stop loss: 2056.0285892857146 | Take profit: 2097.4049660714286 +2025-03-10 12:57:30,100 - INFO - CLOSED long at 2065.7 | PnL: -0.03% | $-0.22 +2025-03-10 12:57:30,101 - INFO - OPENED SHORT at 2065.7 | Stop loss: 2076.0480107142857 | Take profit: 2034.6852339285713 +2025-03-10 12:57:30,173 - INFO - CLOSED short at 2063.95 | PnL: 0.08% | $-0.03 +2025-03-10 12:57:30,282 - INFO - OPENED SHORT at 2065.3 | Stop loss: 2075.646010714286 | Take profit: 2034.2912339285717 +2025-03-10 12:57:30,396 - INFO - CLOSED short at 2065.5 | PnL: -0.01% | $-0.18 +2025-03-10 12:57:30,397 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.1529892857143 | Take profit: 2096.5117660714286 +2025-03-10 12:57:30,432 - INFO - CLOSED long at 2067.53 | PnL: 0.10% | $-0.00 +2025-03-10 12:57:30,433 - INFO - OPENED SHORT at 2067.53 | Stop loss: 2077.8871607142855 | Take profit: 2036.4877839285716 +2025-03-10 12:57:30,469 - INFO - CLOSED short at 2065.29 | PnL: 0.11% | $0.01 +2025-03-10 12:57:30,469 - INFO - OPENED LONG at 2065.29 | Stop loss: 2054.944039285714 | Take profit: 2096.2986160714286 +2025-03-10 12:57:30,504 - INFO - CLOSED long at 2065.31 | PnL: 0.00% | $-0.17 +2025-03-10 12:57:30,504 - INFO - OPENED SHORT at 2065.31 | Stop loss: 2075.6560607142856 | Take profit: 2034.3010839285714 +2025-03-10 12:57:30,542 - INFO - CLOSED short at 2066.8 | PnL: -0.07% | $-0.29 +2025-03-10 12:57:30,580 - INFO - OPENED LONG at 2066.5 | Stop loss: 2056.147989285714 | Take profit: 2097.526766071429 +2025-03-10 12:57:30,619 - INFO - CLOSED long at 2068.59 | PnL: 0.10% | $0.00 +2025-03-10 12:57:30,620 - INFO - OPENED SHORT at 2068.59 | Stop loss: 2078.9524607142857 | Take profit: 2037.5318839285715 +2025-03-10 12:57:30,688 - INFO - CLOSED short at 2070.2 | PnL: -0.08% | $-0.30 +2025-03-10 12:57:30,724 - INFO - OPENED LONG at 2071.35 | Stop loss: 2060.973739285714 | Take profit: 2102.4495160714287 +2025-03-10 12:57:30,760 - INFO - CLOSED long at 2070.9 | PnL: -0.02% | $-0.20 +2025-03-10 12:57:30,797 - INFO - OPENED SHORT at 2069.69 | Stop loss: 2080.057960714286 | Take profit: 2038.6153839285714 +2025-03-10 12:57:30,835 - INFO - CLOSED short at 2070.7 | PnL: -0.05% | $-0.25 +2025-03-10 12:57:30,870 - INFO - OPENED SHORT at 2070.8 | Stop loss: 2081.173510714286 | Take profit: 2039.7087339285715 +2025-03-10 12:57:31,045 - INFO - CLOSED short at 2068.67 | PnL: 0.10% | $0.00 +2025-03-10 12:57:31,045 - INFO - OPENED LONG at 2068.67 | Stop loss: 2058.3071392857146 | Take profit: 2099.7293160714285 +2025-03-10 12:57:31,116 - INFO - CLOSED long at 2069.78 | PnL: 0.05% | $-0.08 +2025-03-10 12:57:31,153 - INFO - OPENED SHORT at 2071.61 | Stop loss: 2081.987560714286 | Take profit: 2040.5065839285714 +2025-03-10 12:57:31,193 - INFO - CLOSED short at 2074.37 | PnL: -0.13% | $-0.38 +2025-03-10 12:57:31,193 - INFO - OPENED LONG at 2074.37 | Stop loss: 2063.978639285714 | Take profit: 2105.5148160714284 +2025-03-10 12:57:31,377 - INFO - CLOSED long at 2075.32 | PnL: 0.05% | $-0.09 +2025-03-10 12:57:31,449 - INFO - OPENED LONG at 2076.9 | Stop loss: 2066.495989285714 | Take profit: 2108.0827660714285 +2025-03-10 12:57:31,485 - INFO - CLOSED long at 2075.61 | PnL: -0.06% | $-0.27 +2025-03-10 12:57:31,522 - INFO - OPENED SHORT at 2074.0 | Stop loss: 2084.3895107142857 | Take profit: 2042.8607339285716 +2025-03-10 12:57:31,597 - INFO - CLOSED short at 2069.97 | PnL: 0.19% | $0.15 +2025-03-10 12:57:31,598 - INFO - OPENED LONG at 2069.97 | Stop loss: 2059.600639285714 | Take profit: 2101.0488160714285 +2025-03-10 12:57:31,637 - INFO - CLOSED long at 2067.7 | PnL: -0.11% | $-0.34 +2025-03-10 12:57:31,638 - INFO - OPENED SHORT at 2067.7 | Stop loss: 2078.0580107142855 | Take profit: 2036.6552339285713 +2025-03-10 12:57:31,674 - INFO - CLOSED short at 2067.0 | PnL: 0.03% | $-0.11 +2025-03-10 12:57:31,905 - INFO - OPENED LONG at 2068.1 | Stop loss: 2057.7399892857143 | Take profit: 2099.1507660714283 +2025-03-10 12:57:31,976 - INFO - CLOSED long at 2070.19 | PnL: 0.10% | $0.00 +2025-03-10 12:57:31,977 - INFO - OPENED SHORT at 2070.19 | Stop loss: 2080.560460714286 | Take profit: 2039.1078839285715 +2025-03-10 12:57:32,052 - INFO - CLOSED short at 2067.19 | PnL: 0.14% | $0.07 +2025-03-10 12:57:32,089 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.1529892857143 | Take profit: 2096.5117660714286 +2025-03-10 12:57:32,163 - INFO - CLOSED long at 2065.8 | PnL: 0.01% | $-0.14 +2025-03-10 12:57:32,204 - INFO - OPENED LONG at 2065.07 | Stop loss: 2054.7251392857147 | Take profit: 2096.0753160714285 +2025-03-10 12:57:32,315 - INFO - CLOSED long at 2062.34 | PnL: -0.13% | $-0.38 +2025-03-10 12:57:32,353 - INFO - OPENED LONG at 2063.98 | Stop loss: 2053.640589285714 | Take profit: 2094.968966071429 +2025-03-10 12:57:32,391 - INFO - CLOSED long at 2066.1 | PnL: 0.10% | $0.00 +2025-03-10 12:57:32,463 - INFO - OPENED SHORT at 2064.11 | Stop loss: 2074.4500607142854 | Take profit: 2033.1190839285716 +2025-03-10 12:57:32,502 - INFO - CLOSED short at 2064.5 | PnL: -0.02% | $-0.19 +2025-03-10 12:57:32,502 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.1579892857144 | Take profit: 2095.4967660714287 +2025-03-10 12:57:32,539 - INFO - CLOSED long at 2066.33 | PnL: 0.09% | $-0.02 +2025-03-10 12:57:32,540 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.681160714286 | Take profit: 2035.3057839285714 +2025-03-10 12:57:32,649 - INFO - CLOSED short at 2060.2 | PnL: 0.30% | $0.32 +2025-03-10 12:57:32,721 - INFO - OPENED LONG at 2058.09 | Stop loss: 2047.7800392857146 | Take profit: 2088.990616071429 +2025-03-10 12:57:32,756 - INFO - CLOSED long at 2058.65 | PnL: 0.03% | $-0.12 +2025-03-10 12:57:32,793 - INFO - OPENED SHORT at 2056.77 | Stop loss: 2067.0733607142856 | Take profit: 2025.8891839285714 +2025-03-10 12:57:32,830 - INFO - CLOSED short at 2053.01 | PnL: 0.18% | $0.13 +2025-03-10 12:57:32,831 - INFO - OPENED LONG at 2053.01 | Stop loss: 2042.7254392857144 | Take profit: 2083.8344160714287 +2025-03-10 12:57:32,866 - INFO - CLOSED long at 2049.21 | PnL: -0.19% | $-0.46 +2025-03-10 12:57:32,936 - INFO - OPENED SHORT at 2051.99 | Stop loss: 2062.2694607142857 | Take profit: 2021.1808839285711 +2025-03-10 12:57:33,082 - INFO - CLOSED short at 2057.89 | PnL: -0.29% | $-0.62 +2025-03-10 12:57:33,121 - INFO - OPENED SHORT at 2062.83 | Stop loss: 2073.1636607142855 | Take profit: 2031.8582839285714 +2025-03-10 12:57:33,196 - INFO - CLOSED short at 2065.1 | PnL: -0.11% | $-0.34 +2025-03-10 12:57:33,197 - INFO - OPENED LONG at 2065.1 | Stop loss: 2054.754989285714 | Take profit: 2096.1057660714287 +2025-03-10 12:57:33,269 - INFO - CLOSED long at 2062.55 | PnL: -0.12% | $-0.36 +2025-03-10 12:57:33,269 - INFO - OPENED SHORT at 2062.55 | Stop loss: 2072.8822607142856 | Take profit: 2031.5824839285715 +2025-03-10 12:57:33,416 - INFO - CLOSED short at 2066.59 | PnL: -0.20% | $-0.47 +2025-03-10 12:57:33,454 - INFO - OPENED LONG at 2064.08 | Stop loss: 2053.740089285714 | Take profit: 2095.0704660714287 +2025-03-10 12:57:33,529 - INFO - CLOSED long at 2059.9 | PnL: -0.20% | $-0.48 +2025-03-10 12:57:33,667 - INFO - OPENED LONG at 2065.72 | Stop loss: 2055.371889285714 | Take profit: 2096.7350660714283 +2025-03-10 12:57:33,702 - INFO - CLOSED long at 2070.31 | PnL: 0.22% | $0.19 +2025-03-10 12:57:33,737 - INFO - OPENED LONG at 2070.24 | Stop loss: 2059.8692892857143 | Take profit: 2101.322866071428 +2025-03-10 12:57:33,877 - INFO - CLOSED long at 2073.49 | PnL: 0.16% | $0.09 +2025-03-10 12:57:33,913 - INFO - OPENED LONG at 2074.05 | Stop loss: 2063.6602392857144 | Take profit: 2105.1900160714285 +2025-03-10 12:57:33,990 - INFO - CLOSED long at 2071.89 | PnL: -0.10% | $-0.32 +2025-03-10 12:57:33,990 - INFO - OPENED SHORT at 2071.89 | Stop loss: 2082.2689607142856 | Take profit: 2040.782383928571 +2025-03-10 12:57:34,031 - INFO - CLOSED short at 2071.8 | PnL: 0.00% | $-0.15 +2025-03-10 12:57:34,032 - INFO - OPENED LONG at 2071.8 | Stop loss: 2061.4214892857144 | Take profit: 2102.906266071429 +2025-03-10 12:57:34,145 - INFO - CLOSED long at 2077.61 | PnL: 0.28% | $0.28 +2025-03-10 12:57:34,183 - INFO - OPENED LONG at 2085.56 | Stop loss: 2075.112689285714 | Take profit: 2116.8726660714287 +2025-03-10 12:57:34,224 - INFO - CLOSED long at 2090.49 | PnL: 0.24% | $0.21 +2025-03-10 12:57:34,297 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3730107142856 | Take profit: 2098.710233928571 +2025-03-10 12:57:34,337 - INFO - CLOSED short at 2139.54 | PnL: -0.41% | $-0.81 +2025-03-10 12:57:34,338 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.8227892857144 | Take profit: 2171.6623660714286 +2025-03-10 12:57:34,479 - INFO - CLOSED long at 2141.41 | PnL: 0.09% | $-0.02 +2025-03-10 12:57:34,479 - INFO - OPENED SHORT at 2141.41 | Stop loss: 2152.1365607142857 | Take profit: 2109.2595839285714 +2025-03-10 12:57:34,664 - INFO - CLOSED short at 2126.99 | PnL: 0.67% | $0.89 +2025-03-10 12:57:34,702 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.6439892857147 | Take profit: 2159.238766071429 +2025-03-10 12:57:34,879 - INFO - CLOSED long at 2119.93 | PnL: -0.35% | $-0.70 +2025-03-10 12:57:34,990 - INFO - OPENED LONG at 2119.14 | Stop loss: 2108.524789285714 | Take profit: 2150.9563660714284 +2025-03-10 12:57:35,025 - INFO - CLOSED long at 2119.07 | PnL: -0.00% | $-0.16 +2025-03-10 12:57:35,026 - INFO - OPENED SHORT at 2119.07 | Stop loss: 2129.6848607142856 | Take profit: 2087.2546839285715 +2025-03-10 12:57:35,168 - INFO - CLOSED short at 2109.05 | PnL: 0.47% | $0.58 +2025-03-10 12:57:35,206 - INFO - OPENED SHORT at 2112.09 | Stop loss: 2122.669960714286 | Take profit: 2080.3793839285718 +2025-03-10 12:57:35,242 - INFO - CLOSED short at 2112.95 | PnL: -0.04% | $-0.22 +2025-03-10 12:57:35,243 - INFO - OPENED LONG at 2112.95 | Stop loss: 2102.365739285714 | Take profit: 2144.6735160714284 +2025-03-10 12:57:35,316 - INFO - CLOSED long at 2113.24 | PnL: 0.01% | $-0.14 +2025-03-10 12:57:35,316 - INFO - OPENED SHORT at 2113.24 | Stop loss: 2123.8257107142854 | Take profit: 2081.512133928571 +2025-03-10 12:57:35,356 - INFO - CLOSED short at 2112.99 | PnL: 0.01% | $-0.14 +2025-03-10 12:57:35,357 - INFO - OPENED LONG at 2112.99 | Stop loss: 2102.405539285714 | Take profit: 2144.714116071428 +2025-03-10 12:57:35,395 - INFO - CLOSED long at 2120.81 | PnL: 0.37% | $0.42 +2025-03-10 12:57:35,505 - INFO - OPENED SHORT at 2110.9 | Stop loss: 2121.4740107142857 | Take profit: 2079.2072339285714 +2025-03-10 12:57:35,542 - INFO - CLOSED short at 2108.71 | PnL: 0.10% | $0.01 +2025-03-10 12:57:35,585 - INFO - OPENED LONG at 2106.49 | Stop loss: 2095.9380392857142 | Take profit: 2138.1166160714283 +2025-03-10 12:57:35,623 - INFO - CLOSED long at 2108.06 | PnL: 0.07% | $-0.04 +2025-03-10 12:57:35,729 - INFO - OPENED LONG at 2090.0 | Stop loss: 2079.5304892857143 | Take profit: 2121.3792660714284 +2025-03-10 12:57:35,875 - INFO - CLOSED long at 2102.29 | PnL: 0.59% | $0.77 +2025-03-10 12:57:35,875 - INFO - OPENED SHORT at 2102.29 | Stop loss: 2112.820960714286 | Take profit: 2070.7263839285715 +2025-03-10 12:57:35,982 - INFO - CLOSED short at 2100.69 | PnL: 0.08% | $-0.04 +2025-03-10 12:57:36,055 - INFO - OPENED LONG at 2106.39 | Stop loss: 2095.8385392857144 | Take profit: 2138.0151160714286 +2025-03-10 12:57:36,093 - INFO - CLOSED long at 2100.74 | PnL: -0.27% | $-0.58 +2025-03-10 12:57:36,167 - INFO - OPENED LONG at 2104.68 | Stop loss: 2094.137089285714 | Take profit: 2136.2794660714285 +2025-03-10 12:57:36,208 - INFO - CLOSED long at 2101.51 | PnL: -0.15% | $-0.39 +2025-03-10 12:57:36,247 - INFO - OPENED SHORT at 2099.59 | Stop loss: 2110.107460714286 | Take profit: 2068.0668839285713 +2025-03-10 12:57:36,285 - INFO - CLOSED short at 2100.02 | PnL: -0.02% | $-0.19 +2025-03-10 12:57:36,286 - INFO - OPENED LONG at 2100.02 | Stop loss: 2089.5003892857144 | Take profit: 2131.5495660714287 +2025-03-10 12:57:36,324 - INFO - CLOSED long at 2098.39 | PnL: -0.08% | $-0.28 +2025-03-10 12:57:36,482 - INFO - OPENED SHORT at 2092.46 | Stop loss: 2102.9418107142856 | Take profit: 2061.0438339285715 +2025-03-10 12:57:36,557 - INFO - CLOSED short at 2094.72 | PnL: -0.11% | $-0.32 +2025-03-10 12:57:36,558 - INFO - OPENED LONG at 2094.72 | Stop loss: 2084.226889285714 | Take profit: 2126.1700660714287 +2025-03-10 12:57:36,591 - INFO - CLOSED long at 2094.08 | PnL: -0.03% | $-0.20 +2025-03-10 12:57:36,630 - INFO - OPENED SHORT at 2088.35 | Stop loss: 2098.8112607142857 | Take profit: 2056.9954839285715 +2025-03-10 12:57:36,668 - INFO - CLOSED short at 2083.28 | PnL: 0.24% | $0.22 +2025-03-10 12:57:36,740 - INFO - OPENED SHORT at 2083.97 | Stop loss: 2094.4093607142854 | Take profit: 2052.681183928571 +2025-03-10 12:57:36,853 - INFO - CLOSED short at 2081.49 | PnL: 0.12% | $0.03 +2025-03-10 12:57:36,853 - INFO - OPENED LONG at 2081.49 | Stop loss: 2071.063039285714 | Take profit: 2112.7416160714283 +2025-03-10 12:57:36,888 - INFO - CLOSED long at 2080.38 | PnL: -0.05% | $-0.24 +2025-03-10 12:57:36,927 - INFO - OPENED SHORT at 2081.25 | Stop loss: 2091.675760714286 | Take profit: 2050.0019839285715 +2025-03-10 12:57:36,966 - INFO - CLOSED short at 2083.41 | PnL: -0.10% | $-0.31 +2025-03-10 12:57:36,966 - INFO - OPENED LONG at 2083.41 | Stop loss: 2072.973439285714 | Take profit: 2114.6904160714284 +2025-03-10 12:57:37,048 - INFO - CLOSED long at 2083.59 | PnL: 0.01% | $-0.14 +2025-03-10 12:57:37,088 - INFO - OPENED SHORT at 2086.57 | Stop loss: 2097.0223607142857 | Take profit: 2055.2421839285716 +2025-03-10 12:57:37,125 - INFO - CLOSED short at 2085.8 | PnL: 0.04% | $-0.10 +2025-03-10 12:57:37,126 - INFO - OPENED LONG at 2085.8 | Stop loss: 2075.3514892857147 | Take profit: 2117.1162660714285 +2025-03-10 12:57:37,198 - INFO - CLOSED long at 2085.83 | PnL: 0.00% | $-0.15 +2025-03-10 12:57:37,198 - INFO - OPENED SHORT at 2085.83 | Stop loss: 2096.2786607142857 | Take profit: 2054.513283928571 +2025-03-10 12:57:37,233 - INFO - CLOSED short at 2085.85 | PnL: -0.00% | $-0.15 +2025-03-10 12:57:37,234 - INFO - OPENED LONG at 2085.85 | Stop loss: 2075.4012392857144 | Take profit: 2117.1670160714284 +2025-03-10 12:57:37,338 - INFO - CLOSED long at 2088.1 | PnL: 0.11% | $0.01 +2025-03-10 12:57:37,339 - INFO - OPENED SHORT at 2088.1 | Stop loss: 2098.5600107142855 | Take profit: 2056.7492339285714 +2025-03-10 12:57:37,450 - INFO - CLOSED short at 2087.47 | PnL: 0.03% | $-0.11 +2025-03-10 12:57:37,486 - INFO - OPENED LONG at 2087.78 | Stop loss: 2077.3215892857147 | Take profit: 2119.1259660714286 +2025-03-10 12:57:37,521 - INFO - CLOSED long at 2086.81 | PnL: -0.05% | $-0.22 +2025-03-10 12:57:37,558 - INFO - OPENED SHORT at 2089.79 | Stop loss: 2100.2584607142853 | Take profit: 2058.4138839285715 +2025-03-10 12:57:37,662 - INFO - CLOSED short at 2091.05 | PnL: -0.06% | $-0.24 +2025-03-10 12:57:37,701 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.5752392857144 | Take profit: 2122.4450160714287 +2025-03-10 12:57:37,739 - INFO - CLOSED long at 2091.95 | PnL: 0.04% | $-0.09 +2025-03-10 12:57:37,775 - INFO - OPENED LONG at 2094.7 | Stop loss: 2084.206989285714 | Take profit: 2126.149766071428 +2025-03-10 12:57:37,881 - INFO - CLOSED long at 2101.64 | PnL: 0.33% | $0.35 +2025-03-10 12:57:37,881 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.1677107142855 | Take profit: 2070.086133928571 +2025-03-10 12:57:37,920 - INFO - CLOSED short at 2097.11 | PnL: 0.22% | $0.18 +2025-03-10 12:57:37,959 - INFO - OPENED SHORT at 2098.49 | Stop loss: 2109.0019607142854 | Take profit: 2066.983383928571 +2025-03-10 12:57:37,995 - INFO - Trade Analysis: Win Rate=16.2% in uptrends, 0.0% in downtrends | Avg Win=$0.19, Avg Loss=$-0.23 +2025-03-10 12:57:37,996 - INFO - Episode 0: Reward=-222.85, Balance=$76.90, Win Rate=20.3%, Trades=158, Episode PnL=$-18.13, Total PnL=$-23.10, Max Drawdown=23.6%, Pred Accuracy=97.9% +2025-03-10 12:57:37,996 - ERROR - Error in episode 0: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 12:57:37,998 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1763, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 12:57:38,019 - INFO - Identified 26 optimal buy points and 27 optimal sell points +2025-03-10 12:57:38,321 - INFO - OPENED SHORT at 2052.16 | Stop loss: 2062.4403107142853 | Take profit: 2021.3483339285713 +2025-03-10 12:57:38,364 - INFO - CLOSED short at 2053.1 | PnL: -0.05% | $-0.29 +2025-03-10 12:57:38,541 - INFO - OPENED SHORT at 2050.2 | Stop loss: 2060.470510714286 | Take profit: 2019.4177339285714 +2025-03-10 12:57:38,579 - INFO - CLOSED short at 2049.6 | PnL: 0.03% | $-0.14 +2025-03-10 12:57:38,580 - INFO - OPENED LONG at 2049.6 | Stop loss: 2039.3324892857142 | Take profit: 2080.3732660714286 +2025-03-10 12:57:38,651 - INFO - CLOSED long at 2049.61 | PnL: 0.00% | $-0.20 +2025-03-10 12:57:38,652 - INFO - OPENED SHORT at 2049.61 | Stop loss: 2059.8775607142857 | Take profit: 2018.8365839285716 +2025-03-10 12:57:38,690 - INFO - CLOSED short at 2049.24 | PnL: 0.02% | $-0.16 +2025-03-10 12:57:38,761 - INFO - OPENED LONG at 2047.39 | Stop loss: 2037.1335392857143 | Take profit: 2078.130116071429 +2025-03-10 12:57:38,832 - INFO - CLOSED long at 2047.4 | PnL: 0.00% | $-0.20 +2025-03-10 12:57:38,869 - INFO - OPENED LONG at 2047.2 | Stop loss: 2036.9444892857143 | Take profit: 2077.9372660714284 +2025-03-10 12:57:38,907 - INFO - CLOSED long at 2045.99 | PnL: -0.06% | $-0.31 +2025-03-10 12:57:38,942 - INFO - OPENED LONG at 2045.99 | Stop loss: 2035.7405392857142 | Take profit: 2076.7091160714285 +2025-03-10 12:57:39,051 - INFO - CLOSED long at 2047.59 | PnL: 0.08% | $-0.04 +2025-03-10 12:57:39,121 - INFO - OPENED SHORT at 2050.0 | Stop loss: 2060.2695107142854 | Take profit: 2019.2207339285715 +2025-03-10 12:57:39,300 - INFO - CLOSED short at 2051.89 | PnL: -0.09% | $-0.38 +2025-03-10 12:57:39,301 - INFO - OPENED LONG at 2051.89 | Stop loss: 2041.6110392857142 | Take profit: 2082.6976160714285 +2025-03-10 12:57:39,412 - INFO - CLOSED long at 2057.01 | PnL: 0.25% | $0.29 +2025-03-10 12:57:39,448 - INFO - OPENED LONG at 2056.89 | Stop loss: 2046.5860392857142 | Take profit: 2087.7726160714283 +2025-03-10 12:57:39,489 - INFO - CLOSED long at 2058.39 | PnL: 0.07% | $-0.05 +2025-03-10 12:57:39,489 - INFO - OPENED SHORT at 2058.39 | Stop loss: 2068.7014607142855 | Take profit: 2027.4848839285712 +2025-03-10 12:57:39,714 - INFO - CLOSED short at 2063.59 | PnL: -0.25% | $-0.69 +2025-03-10 12:57:39,829 - INFO - OPENED SHORT at 2063.01 | Stop loss: 2073.344560714286 | Take profit: 2032.0355839285717 +2025-03-10 12:57:39,904 - INFO - CLOSED short at 2058.3 | PnL: 0.23% | $0.25 +2025-03-10 12:57:39,904 - INFO - OPENED LONG at 2058.3 | Stop loss: 2047.9889892857145 | Take profit: 2089.2037660714286 +2025-03-10 12:57:39,980 - INFO - CLOSED long at 2061.89 | PnL: 0.17% | $0.14 +2025-03-10 12:57:39,980 - INFO - OPENED SHORT at 2061.89 | Stop loss: 2072.2189607142855 | Take profit: 2030.9323839285714 +2025-03-10 12:57:40,017 - INFO - CLOSED short at 2062.89 | PnL: -0.05% | $-0.29 +2025-03-10 12:57:40,130 - INFO - OPENED SHORT at 2057.8 | Stop loss: 2068.1085107142862 | Take profit: 2026.9037339285715 +2025-03-10 12:57:40,166 - INFO - CLOSED short at 2057.89 | PnL: -0.00% | $-0.20 +2025-03-10 12:57:40,203 - INFO - OPENED LONG at 2057.94 | Stop loss: 2047.6307892857142 | Take profit: 2088.838366071429 +2025-03-10 12:57:40,278 - INFO - CLOSED long at 2061.79 | PnL: 0.19% | $0.17 +2025-03-10 12:57:40,278 - INFO - OPENED SHORT at 2061.79 | Stop loss: 2072.1184607142854 | Take profit: 2030.8338839285714 +2025-03-10 12:57:40,350 - INFO - CLOSED short at 2064.32 | PnL: -0.12% | $-0.43 +2025-03-10 12:57:40,351 - INFO - OPENED LONG at 2064.32 | Stop loss: 2053.9788892857146 | Take profit: 2095.314066071429 +2025-03-10 12:57:40,467 - INFO - CLOSED long at 2068.11 | PnL: 0.18% | $0.16 +2025-03-10 12:57:40,505 - INFO - OPENED LONG at 2068.29 | Stop loss: 2057.929039285714 | Take profit: 2099.3436160714286 +2025-03-10 12:57:40,650 - INFO - CLOSED long at 2069.6 | PnL: 0.06% | $-0.07 +2025-03-10 12:57:40,687 - INFO - OPENED LONG at 2068.65 | Stop loss: 2058.2872392857143 | Take profit: 2099.709016071429 +2025-03-10 12:57:40,727 - INFO - CLOSED long at 2068.99 | PnL: 0.02% | $-0.16 +2025-03-10 12:57:40,767 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.2590107142855 | Take profit: 2036.8522339285716 +2025-03-10 12:57:40,839 - INFO - CLOSED short at 2070.26 | PnL: -0.11% | $-0.41 +2025-03-10 12:57:40,878 - INFO - OPENED SHORT at 2071.44 | Stop loss: 2081.816710714286 | Take profit: 2040.3391339285715 +2025-03-10 12:57:40,955 - INFO - CLOSED short at 2075.1 | PnL: -0.18% | $-0.53 +2025-03-10 12:57:40,994 - INFO - OPENED LONG at 2072.91 | Stop loss: 2062.5259392857142 | Take profit: 2104.032916071428 +2025-03-10 12:57:41,033 - INFO - CLOSED long at 2072.33 | PnL: -0.03% | $-0.24 +2025-03-10 12:57:41,145 - INFO - OPENED SHORT at 2069.37 | Stop loss: 2079.7363607142856 | Take profit: 2038.3001839285712 +2025-03-10 12:57:41,218 - INFO - CLOSED short at 2072.8 | PnL: -0.17% | $-0.51 +2025-03-10 12:57:41,254 - INFO - OPENED SHORT at 2070.79 | Stop loss: 2081.1634607142855 | Take profit: 2039.6988839285714 +2025-03-10 12:57:41,291 - INFO - CLOSED short at 2070.28 | PnL: 0.02% | $-0.14 +2025-03-10 12:57:41,292 - INFO - OPENED LONG at 2070.28 | Stop loss: 2059.9090892857143 | Take profit: 2101.363466071429 +2025-03-10 12:57:41,369 - INFO - CLOSED long at 2067.2 | PnL: -0.15% | $-0.47 +2025-03-10 12:57:41,410 - INFO - OPENED LONG at 2070.36 | Stop loss: 2059.9886892857144 | Take profit: 2101.444666071429 +2025-03-10 12:57:41,485 - INFO - CLOSED long at 2070.7 | PnL: 0.02% | $-0.16 +2025-03-10 12:57:41,486 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.073010714286 | Take profit: 2039.6102339285715 +2025-03-10 12:57:41,637 - INFO - CLOSED short at 2067.6 | PnL: 0.15% | $0.09 +2025-03-10 12:57:41,638 - INFO - OPENED LONG at 2067.6 | Stop loss: 2057.2424892857143 | Take profit: 2098.6432660714286 +2025-03-10 12:57:41,675 - INFO - CLOSED long at 2067.51 | PnL: -0.00% | $-0.20 +2025-03-10 12:57:41,790 - INFO - OPENED LONG at 2065.99 | Stop loss: 2055.640539285714 | Take profit: 2097.0091160714283 +2025-03-10 12:57:41,863 - INFO - CLOSED long at 2066.29 | PnL: 0.01% | $-0.16 +2025-03-10 12:57:41,863 - INFO - OPENED SHORT at 2066.29 | Stop loss: 2076.6409607142855 | Take profit: 2035.2663839285713 +2025-03-10 12:57:41,908 - INFO - CLOSED short at 2065.08 | PnL: 0.06% | $-0.08 +2025-03-10 12:57:41,909 - INFO - OPENED LONG at 2065.08 | Stop loss: 2054.7350892857144 | Take profit: 2096.0854660714285 +2025-03-10 12:57:41,981 - INFO - CLOSED long at 2068.76 | PnL: 0.18% | $0.15 +2025-03-10 12:57:42,024 - INFO - OPENED LONG at 2068.9 | Stop loss: 2058.535989285714 | Take profit: 2099.9627660714286 +2025-03-10 12:57:42,132 - INFO - CLOSED long at 2069.7 | PnL: 0.04% | $-0.12 +2025-03-10 12:57:42,243 - INFO - OPENED LONG at 2071.4 | Stop loss: 2061.0234892857143 | Take profit: 2102.500266071429 +2025-03-10 12:57:42,387 - INFO - CLOSED long at 2073.11 | PnL: 0.08% | $-0.03 +2025-03-10 12:57:42,425 - INFO - OPENED LONG at 2072.7 | Stop loss: 2062.316989285714 | Take profit: 2103.8197660714286 +2025-03-10 12:57:42,535 - INFO - CLOSED long at 2073.9 | PnL: 0.06% | $-0.08 +2025-03-10 12:57:42,674 - INFO - OPENED LONG at 2069.46 | Stop loss: 2059.0931892857143 | Take profit: 2100.5311660714287 +2025-03-10 12:57:42,880 - INFO - CLOSED long at 2066.8 | PnL: -0.13% | $-0.43 +2025-03-10 12:57:42,881 - INFO - OPENED SHORT at 2066.8 | Stop loss: 2077.153510714286 | Take profit: 2035.7687339285717 +2025-03-10 12:57:42,916 - INFO - CLOSED short at 2065.49 | PnL: 0.06% | $-0.07 +2025-03-10 12:57:42,953 - INFO - OPENED LONG at 2063.61 | Stop loss: 2053.2724392857144 | Take profit: 2094.5934160714287 +2025-03-10 12:57:43,060 - INFO - CLOSED long at 2068.58 | PnL: 0.24% | $0.26 +2025-03-10 12:57:43,132 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.9737892857142 | Take profit: 2100.409366071429 +2025-03-10 12:57:43,199 - INFO - CLOSED long at 2067.59 | PnL: -0.08% | $-0.34 +2025-03-10 12:57:43,200 - INFO - OPENED SHORT at 2067.59 | Stop loss: 2077.947460714286 | Take profit: 2036.5468839285716 +2025-03-10 12:57:43,236 - INFO - CLOSED short at 2069.2 | PnL: -0.08% | $-0.33 +2025-03-10 12:57:43,237 - INFO - OPENED LONG at 2069.2 | Stop loss: 2058.834489285714 | Take profit: 2100.2672660714284 +2025-03-10 12:57:43,311 - INFO - CLOSED long at 2071.59 | PnL: 0.12% | $0.03 +2025-03-10 12:57:43,311 - INFO - OPENED SHORT at 2071.59 | Stop loss: 2081.967460714286 | Take profit: 2040.4868839285714 +2025-03-10 12:57:43,349 - INFO - CLOSED short at 2070.7 | PnL: 0.04% | $-0.11 +2025-03-10 12:57:43,350 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3269892857143 | Take profit: 2101.7897660714284 +2025-03-10 12:57:43,425 - INFO - CLOSED long at 2070.73 | PnL: 0.00% | $-0.18 +2025-03-10 12:57:43,465 - INFO - OPENED LONG at 2068.5 | Stop loss: 2058.137989285714 | Take profit: 2099.5567660714287 +2025-03-10 12:57:43,541 - INFO - CLOSED long at 2067.84 | PnL: -0.03% | $-0.24 +2025-03-10 12:57:43,541 - INFO - OPENED SHORT at 2067.84 | Stop loss: 2078.198710714286 | Take profit: 2036.7931339285717 +2025-03-10 12:57:43,686 - INFO - CLOSED short at 2066.1 | PnL: 0.08% | $-0.03 +2025-03-10 12:57:43,686 - INFO - OPENED LONG at 2066.1 | Stop loss: 2055.749989285714 | Take profit: 2097.1207660714285 +2025-03-10 12:57:43,876 - INFO - CLOSED long at 2067.8 | PnL: 0.08% | $-0.03 +2025-03-10 12:57:43,876 - INFO - OPENED SHORT at 2067.8 | Stop loss: 2078.158510714286 | Take profit: 2036.7537339285716 +2025-03-10 12:57:43,914 - INFO - CLOSED short at 2068.18 | PnL: -0.02% | $-0.22 +2025-03-10 12:57:43,914 - INFO - OPENED LONG at 2068.18 | Stop loss: 2057.8195892857143 | Take profit: 2099.2319660714284 +2025-03-10 12:57:43,952 - INFO - CLOSED long at 2065.69 | PnL: -0.12% | $-0.41 +2025-03-10 12:57:44,027 - INFO - OPENED SHORT at 2064.99 | Stop loss: 2075.3344607142853 | Take profit: 2033.9858839285712 +2025-03-10 12:57:44,066 - INFO - CLOSED short at 2065.83 | PnL: -0.04% | $-0.26 +2025-03-10 12:57:44,174 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.2239607142856 | Take profit: 2031.9173839285713 +2025-03-10 12:57:44,287 - INFO - CLOSED short at 2059.59 | PnL: 0.16% | $0.11 +2025-03-10 12:57:44,287 - INFO - OPENED LONG at 2059.59 | Stop loss: 2049.2725392857146 | Take profit: 2090.5131160714286 +2025-03-10 12:57:44,326 - INFO - CLOSED long at 2061.3 | PnL: 0.08% | $-0.03 +2025-03-10 12:57:44,327 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.6260107142857 | Take profit: 2030.3512339285714 +2025-03-10 12:57:44,365 - INFO - CLOSED short at 2063.59 | PnL: -0.11% | $-0.39 +2025-03-10 12:57:44,365 - INFO - OPENED LONG at 2063.59 | Stop loss: 2053.252539285714 | Take profit: 2094.5731160714286 +2025-03-10 12:57:44,403 - INFO - CLOSED long at 2064.96 | PnL: 0.07% | $-0.06 +2025-03-10 12:57:44,403 - INFO - OPENED SHORT at 2064.96 | Stop loss: 2075.3043107142857 | Take profit: 2033.9563339285714 +2025-03-10 12:57:44,440 - INFO - CLOSED short at 2066.24 | PnL: -0.06% | $-0.29 +2025-03-10 12:57:44,478 - INFO - OPENED LONG at 2067.1 | Stop loss: 2056.7449892857144 | Take profit: 2098.1357660714284 +2025-03-10 12:57:44,555 - INFO - CLOSED long at 2066.09 | PnL: -0.05% | $-0.27 +2025-03-10 12:57:44,557 - INFO - OPENED SHORT at 2066.09 | Stop loss: 2076.439960714286 | Take profit: 2035.0693839285716 +2025-03-10 12:57:44,633 - INFO - CLOSED short at 2064.08 | PnL: 0.10% | $-0.00 +2025-03-10 12:57:44,634 - INFO - OPENED LONG at 2064.08 | Stop loss: 2053.740089285714 | Take profit: 2095.0704660714287 +2025-03-10 12:57:44,704 - INFO - CLOSED long at 2062.89 | PnL: -0.06% | $-0.28 +2025-03-10 12:57:44,705 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.2239607142856 | Take profit: 2031.9173839285713 +2025-03-10 12:57:44,744 - INFO - CLOSED short at 2064.5 | PnL: -0.08% | $-0.32 +2025-03-10 12:57:44,782 - INFO - OPENED LONG at 2063.5 | Stop loss: 2053.162989285714 | Take profit: 2094.4817660714284 +2025-03-10 12:57:44,821 - INFO - CLOSED long at 2061.6 | PnL: -0.09% | $-0.34 +2025-03-10 12:57:44,821 - INFO - OPENED SHORT at 2061.6 | Stop loss: 2071.9275107142857 | Take profit: 2030.6467339285714 +2025-03-10 12:57:45,005 - INFO - CLOSED short at 2060.31 | PnL: 0.06% | $-0.07 +2025-03-10 12:57:45,040 - INFO - OPENED LONG at 2061.8 | Stop loss: 2051.4714892857146 | Take profit: 2092.7562660714284 +2025-03-10 12:57:45,255 - INFO - CLOSED long at 2061.9 | PnL: 0.00% | $-0.17 +2025-03-10 12:57:45,292 - INFO - OPENED SHORT at 2064.1 | Stop loss: 2074.4400107142856 | Take profit: 2033.1092339285713 +2025-03-10 12:57:45,331 - INFO - CLOSED short at 2065.36 | PnL: -0.06% | $-0.29 +2025-03-10 12:57:45,332 - INFO - OPENED LONG at 2065.36 | Stop loss: 2055.0136892857145 | Take profit: 2096.3696660714286 +2025-03-10 12:57:45,370 - INFO - CLOSED long at 2064.33 | PnL: -0.05% | $-0.27 +2025-03-10 12:57:45,371 - INFO - OPENED SHORT at 2064.33 | Stop loss: 2074.6711607142856 | Take profit: 2033.3357839285713 +2025-03-10 12:57:45,450 - INFO - CLOSED short at 2064.79 | PnL: -0.02% | $-0.22 +2025-03-10 12:57:45,451 - INFO - OPENED LONG at 2064.79 | Stop loss: 2054.446539285714 | Take profit: 2095.7911160714284 +2025-03-10 12:57:45,602 - INFO - CLOSED long at 2062.6 | PnL: -0.11% | $-0.36 +2025-03-10 12:57:45,643 - INFO - OPENED SHORT at 2061.89 | Stop loss: 2072.2189607142855 | Take profit: 2030.9323839285714 +2025-03-10 12:57:45,789 - INFO - CLOSED short at 2059.61 | PnL: 0.11% | $0.02 +2025-03-10 12:57:45,863 - INFO - OPENED SHORT at 2059.02 | Stop loss: 2069.3346107142856 | Take profit: 2028.1054339285713 +2025-03-10 12:57:45,935 - INFO - CLOSED short at 2059.96 | PnL: -0.05% | $-0.26 +2025-03-10 12:57:45,936 - INFO - OPENED LONG at 2059.96 | Stop loss: 2049.6406892857144 | Take profit: 2090.888666071429 +2025-03-10 12:57:45,973 - INFO - CLOSED long at 2059.46 | PnL: -0.02% | $-0.22 +2025-03-10 12:57:46,008 - INFO - OPENED LONG at 2057.4 | Stop loss: 2047.0934892857144 | Take profit: 2088.2902660714285 +2025-03-10 12:57:46,155 - INFO - CLOSED long at 2054.89 | PnL: -0.12% | $-0.39 +2025-03-10 12:57:46,156 - INFO - OPENED SHORT at 2054.89 | Stop loss: 2065.1839607142856 | Take profit: 2024.0373839285714 +2025-03-10 12:57:46,230 - INFO - CLOSED short at 2056.71 | PnL: -0.09% | $-0.33 +2025-03-10 12:57:46,230 - INFO - OPENED LONG at 2056.71 | Stop loss: 2046.4069392857143 | Take profit: 2087.5899160714284 +2025-03-10 12:57:46,266 - INFO - CLOSED long at 2058.15 | PnL: 0.07% | $-0.05 +2025-03-10 12:57:46,266 - INFO - OPENED SHORT at 2058.15 | Stop loss: 2068.4602607142856 | Take profit: 2027.2484839285717 +2025-03-10 12:57:46,342 - INFO - CLOSED short at 2061.66 | PnL: -0.17% | $-0.47 +2025-03-10 12:57:46,410 - INFO - OPENED LONG at 2061.5 | Stop loss: 2051.1729892857143 | Take profit: 2092.4517660714287 +2025-03-10 12:57:46,605 - INFO - CLOSED long at 2062.69 | PnL: 0.06% | $-0.07 +2025-03-10 12:57:46,699 - INFO - OPENED LONG at 2066.36 | Stop loss: 2056.0086892857144 | Take profit: 2097.3846660714285 +2025-03-10 12:57:46,830 - INFO - CLOSED long at 2064.49 | PnL: -0.09% | $-0.33 +2025-03-10 12:57:47,045 - INFO - OPENED SHORT at 2067.01 | Stop loss: 2077.3645607142857 | Take profit: 2035.9755839285715 +2025-03-10 12:57:47,095 - INFO - CLOSED short at 2065.69 | PnL: 0.06% | $-0.06 +2025-03-10 12:57:47,095 - INFO - OPENED LONG at 2065.69 | Stop loss: 2055.3420392857142 | Take profit: 2096.7046160714285 +2025-03-10 12:57:47,139 - INFO - CLOSED long at 2069.79 | PnL: 0.20% | $0.17 +2025-03-10 12:57:47,222 - INFO - OPENED SHORT at 2074.3 | Stop loss: 2084.691010714286 | Take profit: 2043.1562339285715 +2025-03-10 12:57:47,266 - INFO - CLOSED short at 2078.01 | PnL: -0.18% | $-0.48 +2025-03-10 12:57:47,267 - INFO - OPENED LONG at 2078.01 | Stop loss: 2067.6004392857144 | Take profit: 2109.209416071429 +2025-03-10 12:57:47,354 - INFO - CLOSED long at 2072.6 | PnL: -0.26% | $-0.62 +2025-03-10 12:57:47,355 - INFO - OPENED SHORT at 2072.6 | Stop loss: 2082.982510714286 | Take profit: 2041.4817339285714 +2025-03-10 12:57:47,482 - INFO - CLOSED short at 2071.6 | PnL: 0.05% | $-0.09 +2025-03-10 12:57:47,483 - INFO - OPENED LONG at 2071.6 | Stop loss: 2061.2224892857143 | Take profit: 2102.7032660714285 +2025-03-10 12:57:47,528 - INFO - CLOSED long at 2073.23 | PnL: 0.08% | $-0.04 +2025-03-10 12:57:47,575 - INFO - OPENED LONG at 2070.0 | Stop loss: 2059.6304892857142 | Take profit: 2101.0792660714287 +2025-03-10 12:57:47,743 - INFO - CLOSED long at 2069.03 | PnL: -0.05% | $-0.25 +2025-03-10 12:57:47,743 - INFO - OPENED SHORT at 2069.03 | Stop loss: 2079.394660714286 | Take profit: 2037.9652839285716 +2025-03-10 12:57:47,885 - INFO - CLOSED short at 2072.99 | PnL: -0.19% | $-0.49 +2025-03-10 12:57:47,885 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6055392857143 | Take profit: 2104.1141160714283 +2025-03-10 12:57:48,254 - INFO - CLOSED long at 2063.97 | PnL: -0.44% | $-0.90 +2025-03-10 12:57:48,254 - INFO - OPENED SHORT at 2063.97 | Stop loss: 2074.3093607142855 | Take profit: 2032.9811839285712 +2025-03-10 12:57:48,300 - INFO - CLOSED short at 2064.5 | PnL: -0.03% | $-0.21 +2025-03-10 12:57:48,300 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.1579892857144 | Take profit: 2095.4967660714287 +2025-03-10 12:57:48,577 - INFO - CLOSED long at 2065.29 | PnL: 0.04% | $-0.10 +2025-03-10 12:57:48,661 - INFO - OPENED SHORT at 2066.8 | Stop loss: 2077.153510714286 | Take profit: 2035.7687339285717 +2025-03-10 12:57:48,742 - INFO - CLOSED short at 2068.59 | PnL: -0.09% | $-0.31 +2025-03-10 12:57:48,834 - INFO - OPENED LONG at 2070.2 | Stop loss: 2059.8294892857143 | Take profit: 2101.2822660714282 +2025-03-10 12:57:48,957 - INFO - CLOSED long at 2069.69 | PnL: -0.02% | $-0.21 +2025-03-10 12:57:48,957 - INFO - OPENED SHORT at 2069.69 | Stop loss: 2080.057960714286 | Take profit: 2038.6153839285714 +2025-03-10 12:57:49,087 - INFO - CLOSED short at 2070.35 | PnL: -0.03% | $-0.22 +2025-03-10 12:57:49,088 - INFO - OPENED LONG at 2070.35 | Stop loss: 2059.9787392857143 | Take profit: 2101.4345160714283 +2025-03-10 12:57:49,130 - INFO - CLOSED long at 2070.61 | PnL: 0.01% | $-0.14 +2025-03-10 12:57:49,381 - INFO - OPENED SHORT at 2071.61 | Stop loss: 2081.987560714286 | Take profit: 2040.5065839285714 +2025-03-10 12:57:49,507 - INFO - CLOSED short at 2074.35 | PnL: -0.13% | $-0.38 +2025-03-10 12:57:49,550 - INFO - OPENED LONG at 2073.27 | Stop loss: 2062.8841392857144 | Take profit: 2104.3983160714283 +2025-03-10 12:57:49,596 - INFO - CLOSED long at 2073.99 | PnL: 0.03% | $-0.11 +2025-03-10 12:57:49,638 - INFO - OPENED LONG at 2075.32 | Stop loss: 2064.9238892857147 | Take profit: 2106.479066071429 +2025-03-10 12:57:49,680 - INFO - CLOSED long at 2075.29 | PnL: -0.00% | $-0.17 +2025-03-10 12:57:49,727 - INFO - OPENED LONG at 2076.9 | Stop loss: 2066.495989285714 | Take profit: 2108.0827660714285 +2025-03-10 12:57:49,772 - INFO - CLOSED long at 2075.61 | PnL: -0.06% | $-0.26 +2025-03-10 12:57:49,858 - INFO - OPENED LONG at 2072.09 | Stop loss: 2061.7100392857146 | Take profit: 2103.200616071429 +2025-03-10 12:57:50,242 - INFO - CLOSED long at 2068.1 | PnL: -0.19% | $-0.47 +2025-03-10 12:57:50,243 - INFO - OPENED SHORT at 2068.1 | Stop loss: 2078.4600107142855 | Take profit: 2037.0492339285713 +2025-03-10 12:57:50,493 - INFO - CLOSED short at 2065.7 | PnL: 0.12% | $0.03 +2025-03-10 12:57:50,493 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.351989285714 | Take profit: 2096.7147660714286 +2025-03-10 12:57:50,536 - INFO - CLOSED long at 2065.8 | PnL: 0.00% | $-0.15 +2025-03-10 12:57:50,537 - INFO - OPENED SHORT at 2065.8 | Stop loss: 2076.1485107142857 | Take profit: 2034.7837339285716 +2025-03-10 12:57:50,582 - INFO - CLOSED short at 2065.07 | PnL: 0.04% | $-0.10 +2025-03-10 12:57:50,708 - INFO - OPENED LONG at 2062.34 | Stop loss: 2052.0087892857146 | Take profit: 2093.304366071429 +2025-03-10 12:57:50,842 - INFO - CLOSED long at 2065.06 | PnL: 0.13% | $0.05 +2025-03-10 12:57:50,842 - INFO - OPENED SHORT at 2065.06 | Stop loss: 2075.4048107142858 | Take profit: 2034.0548339285713 +2025-03-10 12:57:50,887 - INFO - CLOSED short at 2064.11 | PnL: 0.05% | $-0.09 +2025-03-10 12:57:50,888 - INFO - OPENED LONG at 2064.11 | Stop loss: 2053.7699392857144 | Take profit: 2095.1009160714284 +2025-03-10 12:57:51,147 - INFO - CLOSED long at 2059.2 | PnL: -0.24% | $-0.54 +2025-03-10 12:57:51,230 - INFO - OPENED SHORT at 2058.65 | Stop loss: 2068.9627607142857 | Take profit: 2027.7409839285717 +2025-03-10 12:57:51,274 - INFO - CLOSED short at 2056.77 | PnL: 0.09% | $-0.01 +2025-03-10 12:57:51,318 - INFO - OPENED LONG at 2053.01 | Stop loss: 2042.7254392857144 | Take profit: 2083.8344160714287 +2025-03-10 12:57:51,533 - INFO - CLOSED long at 2056.85 | PnL: 0.19% | $0.14 +2025-03-10 12:57:51,582 - INFO - OPENED LONG at 2057.11 | Stop loss: 2046.8049392857145 | Take profit: 2087.995916071429 +2025-03-10 12:57:51,625 - INFO - CLOSED long at 2057.89 | PnL: 0.04% | $-0.10 +2025-03-10 12:57:51,625 - INFO - OPENED SHORT at 2057.89 | Stop loss: 2068.198960714286 | Take profit: 2026.9923839285711 +2025-03-10 12:57:51,712 - INFO - CLOSED short at 2063.9 | PnL: -0.29% | $-0.63 +2025-03-10 12:57:51,712 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.560989285714 | Take profit: 2094.8877660714284 +2025-03-10 12:57:51,851 - INFO - CLOSED long at 2062.55 | PnL: -0.07% | $-0.26 +2025-03-10 12:57:51,899 - INFO - OPENED LONG at 2065.12 | Stop loss: 2054.7748892857144 | Take profit: 2096.126066071429 +2025-03-10 12:57:51,942 - INFO - CLOSED long at 2068.33 | PnL: 0.16% | $0.09 +2025-03-10 12:57:51,942 - INFO - OPENED SHORT at 2068.33 | Stop loss: 2078.6911607142856 | Take profit: 2037.2757839285714 +2025-03-10 12:57:51,992 - INFO - CLOSED short at 2067.49 | PnL: 0.04% | $-0.09 +2025-03-10 12:57:51,993 - INFO - OPENED LONG at 2067.49 | Stop loss: 2057.133039285714 | Take profit: 2098.5316160714283 +2025-03-10 12:57:52,034 - INFO - CLOSED long at 2066.59 | PnL: -0.04% | $-0.23 +2025-03-10 12:57:52,035 - INFO - OPENED SHORT at 2066.59 | Stop loss: 2076.9424607142855 | Take profit: 2035.5618839285717 +2025-03-10 12:57:52,207 - INFO - CLOSED short at 2060.7 | PnL: 0.29% | $0.29 +2025-03-10 12:57:52,208 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.376989285714 | Take profit: 2091.6397660714288 +2025-03-10 12:57:52,246 - INFO - CLOSED long at 2061.84 | PnL: 0.06% | $-0.07 +2025-03-10 12:57:52,246 - INFO - OPENED SHORT at 2061.84 | Stop loss: 2072.168710714286 | Take profit: 2030.8831339285716 +2025-03-10 12:57:52,329 - INFO - CLOSED short at 2065.72 | PnL: -0.19% | $-0.46 +2025-03-10 12:57:52,371 - INFO - OPENED LONG at 2070.31 | Stop loss: 2059.9389392857142 | Take profit: 2101.3939160714285 +2025-03-10 12:57:52,414 - INFO - CLOSED long at 2070.24 | PnL: -0.00% | $-0.16 +2025-03-10 12:57:52,414 - INFO - OPENED SHORT at 2070.24 | Stop loss: 2080.6107107142852 | Take profit: 2039.157133928571 +2025-03-10 12:57:52,501 - INFO - CLOSED short at 2069.81 | PnL: 0.02% | $-0.12 +2025-03-10 12:57:52,588 - INFO - OPENED LONG at 2073.49 | Stop loss: 2063.103039285714 | Take profit: 2104.6216160714284 +2025-03-10 12:57:52,710 - INFO - CLOSED long at 2071.89 | PnL: -0.08% | $-0.28 +2025-03-10 12:57:52,711 - INFO - OPENED SHORT at 2071.89 | Stop loss: 2082.2689607142856 | Take profit: 2040.782383928571 +2025-03-10 12:57:52,755 - INFO - CLOSED short at 2071.8 | PnL: 0.00% | $-0.15 +2025-03-10 12:57:52,805 - INFO - OPENED LONG at 2074.9 | Stop loss: 2064.5059892857143 | Take profit: 2106.0527660714283 +2025-03-10 12:57:52,849 - INFO - CLOSED long at 2076.08 | PnL: 0.06% | $-0.07 +2025-03-10 12:57:52,892 - INFO - OPENED SHORT at 2077.61 | Stop loss: 2088.0175607142855 | Take profit: 2046.4165839285715 +2025-03-10 12:57:52,935 - INFO - CLOSED short at 2085.56 | PnL: -0.38% | $-0.75 +2025-03-10 12:57:53,193 - INFO - OPENED LONG at 2133.95 | Stop loss: 2123.260739285714 | Take profit: 2165.988516071428 +2025-03-10 12:57:53,236 - INFO - CLOSED long at 2137.59 | PnL: 0.17% | $0.11 +2025-03-10 12:57:53,237 - INFO - OPENED SHORT at 2137.59 | Stop loss: 2148.2974607142855 | Take profit: 2105.4968839285716 +2025-03-10 12:57:53,331 - INFO - CLOSED short at 2141.3 | PnL: -0.17% | $-0.42 +2025-03-10 12:57:53,331 - INFO - OPENED LONG at 2141.3 | Stop loss: 2130.5739892857146 | Take profit: 2173.4487660714285 +2025-03-10 12:57:53,518 - INFO - STOP LOSS hit for long at 2130.5739892857146 | PnL: -0.50% | $-0.92 +2025-03-10 12:57:53,562 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.6439892857147 | Take profit: 2159.238766071429 +2025-03-10 12:57:53,607 - INFO - CLOSED long at 2128.69 | PnL: 0.07% | $-0.05 +2025-03-10 12:57:53,824 - INFO - OPENED LONG at 2121.4 | Stop loss: 2110.7734892857143 | Take profit: 2153.2502660714285 +2025-03-10 12:57:53,996 - INFO - CLOSED long at 2115.28 | PnL: -0.29% | $-0.59 +2025-03-10 12:57:53,997 - INFO - OPENED SHORT at 2115.28 | Stop loss: 2125.875910714286 | Take profit: 2083.5215339285714 +2025-03-10 12:57:54,041 - INFO - CLOSED short at 2107.43 | PnL: 0.37% | $0.41 +2025-03-10 12:57:54,042 - INFO - OPENED LONG at 2107.43 | Stop loss: 2096.873339285714 | Take profit: 2139.0707160714283 +2025-03-10 12:57:54,106 - INFO - CLOSED long at 2110.6 | PnL: 0.15% | $0.08 +2025-03-10 12:57:54,176 - INFO - OPENED LONG at 2109.05 | Stop loss: 2098.4852392857147 | Take profit: 2140.7150160714286 +2025-03-10 12:57:54,291 - INFO - CLOSED long at 2112.95 | PnL: 0.18% | $0.13 +2025-03-10 12:57:54,292 - INFO - OPENED SHORT at 2112.95 | Stop loss: 2123.534260714285 | Take profit: 2081.2264839285713 +2025-03-10 12:57:54,359 - INFO - CLOSED short at 2112.46 | PnL: 0.02% | $-0.12 +2025-03-10 12:57:54,360 - INFO - OPENED LONG at 2112.46 | Stop loss: 2101.878189285714 | Take profit: 2144.1761660714287 +2025-03-10 12:57:54,475 - INFO - CLOSED long at 2112.99 | PnL: 0.03% | $-0.11 +2025-03-10 12:57:54,475 - INFO - OPENED SHORT at 2112.99 | Stop loss: 2123.5744607142856 | Take profit: 2081.265883928571 +2025-03-10 12:57:54,526 - INFO - CLOSED short at 2120.81 | PnL: -0.37% | $-0.71 +2025-03-10 12:57:54,526 - INFO - OPENED LONG at 2120.81 | Stop loss: 2110.186439285714 | Take profit: 2152.6514160714287 +2025-03-10 12:57:54,569 - INFO - CLOSED long at 2116.48 | PnL: -0.20% | $-0.46 +2025-03-10 12:57:54,617 - INFO - OPENED LONG at 2114.8 | Stop loss: 2104.2064892857143 | Take profit: 2146.551266071429 +2025-03-10 12:57:54,660 - INFO - CLOSED long at 2110.9 | PnL: -0.18% | $-0.42 +2025-03-10 12:57:54,661 - INFO - OPENED SHORT at 2110.9 | Stop loss: 2121.4740107142857 | Take profit: 2079.2072339285714 +2025-03-10 12:57:54,706 - INFO - CLOSED short at 2108.71 | PnL: 0.10% | $0.01 +2025-03-10 12:57:54,747 - INFO - OPENED SHORT at 2106.49 | Stop loss: 2117.0419607142853 | Take profit: 2074.8633839285712 +2025-03-10 12:57:54,789 - INFO - CLOSED short at 2108.06 | PnL: -0.07% | $-0.26 +2025-03-10 12:57:54,830 - INFO - OPENED LONG at 2103.33 | Stop loss: 2092.793839285714 | Take profit: 2134.9092160714285 +2025-03-10 12:57:54,874 - INFO - CLOSED long at 2100.5 | PnL: -0.13% | $-0.35 +2025-03-10 12:57:54,915 - INFO - OPENED SHORT at 2090.0 | Stop loss: 2100.4695107142857 | Take profit: 2058.6207339285716 +2025-03-10 12:57:54,999 - INFO - CLOSED short at 2098.1 | PnL: -0.39% | $-0.72 +2025-03-10 12:57:55,041 - INFO - OPENED LONG at 2102.19 | Stop loss: 2091.6595392857143 | Take profit: 2133.7521160714286 +2025-03-10 12:57:55,086 - INFO - CLOSED long at 2102.29 | PnL: 0.00% | $-0.14 +2025-03-10 12:57:55,086 - INFO - OPENED SHORT at 2102.29 | Stop loss: 2112.820960714286 | Take profit: 2070.7263839285715 +2025-03-10 12:57:55,214 - INFO - CLOSED short at 2100.69 | PnL: 0.08% | $-0.03 +2025-03-10 12:57:55,300 - INFO - OPENED LONG at 2106.39 | Stop loss: 2095.8385392857144 | Take profit: 2138.0151160714286 +2025-03-10 12:57:55,390 - INFO - CLOSED long at 2103.86 | PnL: -0.12% | $-0.32 +2025-03-10 12:57:55,437 - INFO - OPENED SHORT at 2104.68 | Stop loss: 2115.2229107142853 | Take profit: 2073.080533928571 +2025-03-10 12:57:55,528 - INFO - CLOSED short at 2099.59 | PnL: 0.24% | $0.20 +2025-03-10 12:57:55,529 - INFO - OPENED LONG at 2099.59 | Stop loss: 2089.0725392857144 | Take profit: 2131.1131160714285 +2025-03-10 12:57:55,573 - INFO - CLOSED long at 2100.02 | PnL: 0.02% | $-0.12 +2025-03-10 12:57:55,573 - INFO - OPENED SHORT at 2100.02 | Stop loss: 2110.5396107142856 | Take profit: 2068.4904339285713 +2025-03-10 12:57:55,622 - INFO - CLOSED short at 2098.39 | PnL: 0.08% | $-0.03 +2025-03-10 12:57:55,622 - INFO - OPENED LONG at 2098.39 | Stop loss: 2087.8785392857144 | Take profit: 2129.895116071428 +2025-03-10 12:57:55,671 - INFO - CLOSED long at 2095.29 | PnL: -0.15% | $-0.36 +2025-03-10 12:57:55,672 - INFO - OPENED SHORT at 2095.29 | Stop loss: 2105.785960714286 | Take profit: 2063.8313839285715 +2025-03-10 12:57:55,716 - INFO - CLOSED short at 2093.46 | PnL: 0.09% | $-0.02 +2025-03-10 12:57:56,007 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.8440892857143 | Take profit: 2114.558466071429 +2025-03-10 12:57:56,050 - INFO - CLOSED long at 2088.44 | PnL: 0.25% | $0.21 +2025-03-10 12:57:56,136 - INFO - OPENED LONG at 2085.3 | Stop loss: 2074.8539892857143 | Take profit: 2116.608766071429 +2025-03-10 12:57:56,266 - INFO - CLOSED long at 2080.38 | PnL: -0.24% | $-0.48 +2025-03-10 12:57:56,308 - INFO - OPENED LONG at 2081.25 | Stop loss: 2070.824239285714 | Take profit: 2112.4980160714285 +2025-03-10 12:57:56,433 - INFO - CLOSED long at 2083.59 | PnL: 0.11% | $0.02 +2025-03-10 12:57:56,520 - INFO - OPENED SHORT at 2085.8 | Stop loss: 2096.2485107142857 | Take profit: 2054.4837339285714 +2025-03-10 12:57:56,703 - INFO - CLOSED short at 2088.66 | PnL: -0.14% | $-0.34 +2025-03-10 12:57:56,704 - INFO - OPENED LONG at 2088.66 | Stop loss: 2078.197189285714 | Take profit: 2120.0191660714286 +2025-03-10 12:57:56,888 - INFO - CLOSED long at 2087.0 | PnL: -0.08% | $-0.26 +2025-03-10 12:57:56,888 - INFO - OPENED SHORT at 2087.0 | Stop loss: 2097.454510714286 | Take profit: 2055.6657339285716 +2025-03-10 12:57:56,943 - INFO - CLOSED short at 2087.47 | PnL: -0.02% | $-0.17 +2025-03-10 12:57:56,943 - INFO - OPENED LONG at 2087.47 | Stop loss: 2077.013139285714 | Take profit: 2118.8113160714283 +2025-03-10 12:57:57,076 - INFO - CLOSED long at 2089.79 | PnL: 0.11% | $0.02 +2025-03-10 12:57:57,120 - INFO - OPENED SHORT at 2085.67 | Stop loss: 2096.1178607142856 | Take profit: 2054.3556839285716 +2025-03-10 12:57:57,208 - INFO - CLOSED short at 2091.05 | PnL: -0.26% | $-0.51 +2025-03-10 12:57:57,208 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.5752392857144 | Take profit: 2122.4450160714287 +2025-03-10 12:57:57,292 - INFO - CLOSED long at 2091.95 | PnL: 0.04% | $-0.08 +2025-03-10 12:57:57,293 - INFO - OPENED SHORT at 2091.95 | Stop loss: 2102.4292607142856 | Take profit: 2060.5414839285713 +2025-03-10 12:57:57,464 - INFO - CLOSED short at 2101.64 | PnL: -0.46% | $-0.79 +2025-03-10 12:57:57,465 - INFO - OPENED LONG at 2101.64 | Stop loss: 2091.1122892857143 | Take profit: 2133.1938660714286 +2025-03-10 12:57:57,510 - INFO - CLOSED long at 2097.11 | PnL: -0.22% | $-0.44 +2025-03-10 12:57:57,593 - INFO - Trade Analysis: Win Rate=17.5% in uptrends, 0.0% in downtrends | Avg Win=$0.14, Avg Loss=$-0.27 +2025-03-10 12:57:57,594 - INFO - Episode 1: Reward=-121.11, Balance=$69.75, Win Rate=17.0%, Trades=153, Episode PnL=$-22.14, Total PnL=$-53.35, Max Drawdown=30.2%, Pred Accuracy=99.4% +2025-03-10 12:57:57,595 - ERROR - Error in episode 1: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 12:57:57,595 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1763, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 12:57:57,634 - INFO - Identified 26 optimal buy points and 27 optimal sell points +2025-03-10 12:57:57,918 - INFO - OPENED SHORT at 2051.66 | Stop loss: 2061.937810714285 | Take profit: 2020.8558339285712 +2025-03-10 12:57:57,965 - INFO - CLOSED short at 2052.16 | PnL: -0.02% | $-0.25 +2025-03-10 12:57:57,966 - INFO - OPENED LONG at 2052.16 | Stop loss: 2041.879689285714 | Take profit: 2082.9716660714284 +2025-03-10 12:57:58,009 - INFO - CLOSED long at 2053.1 | PnL: 0.05% | $-0.11 +2025-03-10 12:57:58,009 - INFO - OPENED SHORT at 2053.1 | Stop loss: 2063.3850107142857 | Take profit: 2022.2742339285714 +2025-03-10 12:57:58,057 - INFO - CLOSED short at 2052.25 | PnL: 0.04% | $-0.12 +2025-03-10 12:57:58,058 - INFO - OPENED LONG at 2052.25 | Stop loss: 2041.9692392857141 | Take profit: 2083.0630160714286 +2025-03-10 12:57:58,105 - INFO - CLOSED long at 2050.71 | PnL: -0.08% | $-0.35 +2025-03-10 12:57:58,152 - INFO - OPENED SHORT at 2050.44 | Stop loss: 2060.711710714286 | Take profit: 2019.6541339285714 +2025-03-10 12:57:58,194 - INFO - CLOSED short at 2049.49 | PnL: 0.05% | $-0.11 +2025-03-10 12:57:58,196 - INFO - OPENED LONG at 2049.49 | Stop loss: 2039.223039285714 | Take profit: 2080.2616160714283 +2025-03-10 12:57:58,242 - INFO - CLOSED long at 2050.2 | PnL: 0.03% | $-0.13 +2025-03-10 12:57:58,432 - INFO - OPENED LONG at 2049.24 | Stop loss: 2038.9742892857141 | Take profit: 2080.0078660714285 +2025-03-10 12:57:58,524 - INFO - CLOSED long at 2047.39 | PnL: -0.09% | $-0.37 +2025-03-10 12:57:58,525 - INFO - OPENED SHORT at 2047.39 | Stop loss: 2057.6464607142857 | Take profit: 2016.6498839285716 +2025-03-10 12:57:58,570 - INFO - CLOSED short at 2046.58 | PnL: 0.04% | $-0.12 +2025-03-10 12:57:58,657 - INFO - OPENED LONG at 2047.2 | Stop loss: 2036.9444892857143 | Take profit: 2077.9372660714284 +2025-03-10 12:57:58,699 - INFO - CLOSED long at 2045.99 | PnL: -0.06% | $-0.31 +2025-03-10 12:57:58,700 - INFO - OPENED SHORT at 2045.99 | Stop loss: 2056.239460714286 | Take profit: 2015.2708839285715 +2025-03-10 12:57:58,753 - INFO - CLOSED short at 2045.99 | PnL: 0.00% | $-0.19 +2025-03-10 12:57:58,753 - INFO - OPENED LONG at 2045.99 | Stop loss: 2035.7405392857142 | Take profit: 2076.7091160714285 +2025-03-10 12:57:58,840 - INFO - CLOSED long at 2048.13 | PnL: 0.10% | $0.01 +2025-03-10 12:57:58,840 - INFO - OPENED SHORT at 2048.13 | Stop loss: 2058.3901607142857 | Take profit: 2017.3787839285717 +2025-03-10 12:57:58,885 - INFO - CLOSED short at 2047.59 | PnL: 0.03% | $-0.14 +2025-03-10 12:57:59,051 - INFO - OPENED SHORT at 2049.89 | Stop loss: 2060.1589607142855 | Take profit: 2019.1123839285713 +2025-03-10 12:57:59,102 - INFO - CLOSED short at 2051.11 | PnL: -0.06% | $-0.31 +2025-03-10 12:57:59,103 - INFO - OPENED LONG at 2051.11 | Stop loss: 2040.8349392857144 | Take profit: 2081.9059160714287 +2025-03-10 12:57:59,275 - INFO - CLOSED long at 2055.69 | PnL: 0.22% | $0.24 +2025-03-10 12:57:59,276 - INFO - OPENED SHORT at 2055.69 | Stop loss: 2065.9879607142857 | Take profit: 2024.8253839285715 +2025-03-10 12:57:59,319 - INFO - CLOSED short at 2057.01 | PnL: -0.06% | $-0.32 +2025-03-10 12:57:59,363 - INFO - OPENED LONG at 2056.89 | Stop loss: 2046.5860392857142 | Take profit: 2087.7726160714283 +2025-03-10 12:57:59,583 - INFO - CLOSED long at 2063.29 | PnL: 0.31% | $0.41 +2025-03-10 12:57:59,680 - INFO - OPENED LONG at 2063.59 | Stop loss: 2053.252539285714 | Take profit: 2094.5731160714286 +2025-03-10 12:58:00,354 - INFO - CLOSED long at 2061.79 | PnL: -0.09% | $-0.36 +2025-03-10 12:58:00,355 - INFO - OPENED SHORT at 2061.79 | Stop loss: 2072.1184607142854 | Take profit: 2030.8338839285714 +2025-03-10 12:58:00,405 - INFO - CLOSED short at 2061.18 | PnL: 0.03% | $-0.14 +2025-03-10 12:58:00,406 - INFO - OPENED LONG at 2061.18 | Stop loss: 2050.854589285714 | Take profit: 2092.1269660714283 +2025-03-10 12:58:00,702 - INFO - CLOSED long at 2071.63 | PnL: 0.51% | $0.78 +2025-03-10 12:58:00,788 - INFO - OPENED SHORT at 2069.6 | Stop loss: 2079.9675107142853 | Take profit: 2038.5267339285715 +2025-03-10 12:58:00,838 - INFO - CLOSED short at 2068.65 | PnL: 0.05% | $-0.11 +2025-03-10 12:58:00,838 - INFO - OPENED LONG at 2068.65 | Stop loss: 2058.2872392857143 | Take profit: 2099.709016071429 +2025-03-10 12:58:00,923 - INFO - CLOSED long at 2067.9 | PnL: -0.04% | $-0.26 +2025-03-10 12:58:00,968 - INFO - OPENED SHORT at 2067.69 | Stop loss: 2078.0479607142856 | Take profit: 2036.6453839285714 +2025-03-10 12:58:01,011 - INFO - CLOSED short at 2070.26 | PnL: -0.12% | $-0.43 +2025-03-10 12:58:01,011 - INFO - OPENED LONG at 2070.26 | Stop loss: 2059.8891892857146 | Take profit: 2101.3431660714286 +2025-03-10 12:58:01,056 - INFO - CLOSED long at 2071.44 | PnL: 0.06% | $-0.08 +2025-03-10 12:58:01,103 - INFO - OPENED SHORT at 2073.73 | Stop loss: 2084.1181607142858 | Take profit: 2042.5947839285714 +2025-03-10 12:58:01,150 - INFO - CLOSED short at 2075.1 | PnL: -0.07% | $-0.32 +2025-03-10 12:58:01,196 - INFO - OPENED SHORT at 2072.91 | Stop loss: 2083.2940607142855 | Take profit: 2041.7870839285713 +2025-03-10 12:58:01,409 - INFO - CLOSED short at 2070.9 | PnL: 0.10% | $-0.01 +2025-03-10 12:58:01,453 - INFO - OPENED SHORT at 2072.8 | Stop loss: 2083.183510714286 | Take profit: 2041.6787339285718 +2025-03-10 12:58:01,536 - INFO - CLOSED short at 2070.28 | PnL: 0.12% | $0.04 +2025-03-10 12:58:01,583 - INFO - OPENED LONG at 2068.02 | Stop loss: 2057.6603892857142 | Take profit: 2099.069566071428 +2025-03-10 12:58:01,720 - INFO - CLOSED long at 2068.9 | PnL: 0.04% | $-0.11 +2025-03-10 12:58:01,720 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.264010714286 | Take profit: 2037.8372339285715 +2025-03-10 12:58:01,765 - INFO - CLOSED short at 2070.7 | PnL: -0.09% | $-0.36 +2025-03-10 12:58:01,766 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3269892857143 | Take profit: 2101.7897660714284 +2025-03-10 12:58:01,809 - INFO - CLOSED long at 2069.34 | PnL: -0.07% | $-0.32 +2025-03-10 12:58:01,940 - INFO - OPENED SHORT at 2067.6 | Stop loss: 2077.9575107142855 | Take profit: 2036.5567339285715 +2025-03-10 12:58:02,075 - INFO - CLOSED short at 2066.39 | PnL: 0.06% | $-0.08 +2025-03-10 12:58:02,125 - INFO - OPENED LONG at 2065.99 | Stop loss: 2055.640539285714 | Take profit: 2097.0091160714283 +2025-03-10 12:58:02,212 - INFO - CLOSED long at 2066.29 | PnL: 0.01% | $-0.16 +2025-03-10 12:58:02,298 - INFO - OPENED SHORT at 2066.18 | Stop loss: 2076.5304107142856 | Take profit: 2035.1580339285713 +2025-03-10 12:58:02,342 - INFO - CLOSED short at 2068.76 | PnL: -0.12% | $-0.43 +2025-03-10 12:58:02,479 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.2275392857146 | Take profit: 2099.648116071429 +2025-03-10 12:58:02,566 - INFO - CLOSED long at 2070.4 | PnL: 0.09% | $-0.02 +2025-03-10 12:58:02,567 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.771510714286 | Take profit: 2039.3147339285715 +2025-03-10 12:58:02,695 - INFO - CLOSED short at 2071.39 | PnL: -0.05% | $-0.28 +2025-03-10 12:58:02,695 - INFO - OPENED LONG at 2071.39 | Stop loss: 2061.013539285714 | Take profit: 2102.4901160714285 +2025-03-10 12:58:02,738 - INFO - CLOSED long at 2071.36 | PnL: -0.00% | $-0.19 +2025-03-10 12:58:02,739 - INFO - OPENED SHORT at 2071.36 | Stop loss: 2081.736310714286 | Take profit: 2040.2603339285715 +2025-03-10 12:58:03,030 - INFO - CLOSED short at 2071.92 | PnL: -0.03% | $-0.24 +2025-03-10 12:58:03,030 - INFO - OPENED LONG at 2071.92 | Stop loss: 2061.5408892857145 | Take profit: 2103.0280660714284 +2025-03-10 12:58:03,114 - INFO - CLOSED long at 2071.11 | PnL: -0.04% | $-0.26 +2025-03-10 12:58:03,115 - INFO - OPENED SHORT at 2071.11 | Stop loss: 2081.485060714286 | Take profit: 2040.0140839285716 +2025-03-10 12:58:03,158 - INFO - CLOSED short at 2069.46 | PnL: 0.08% | $-0.04 +2025-03-10 12:58:03,159 - INFO - OPENED LONG at 2069.46 | Stop loss: 2059.0931892857143 | Take profit: 2100.5311660714287 +2025-03-10 12:58:03,248 - INFO - CLOSED long at 2068.32 | PnL: -0.06% | $-0.29 +2025-03-10 12:58:03,249 - INFO - OPENED SHORT at 2068.32 | Stop loss: 2078.6811107142858 | Take profit: 2037.2659339285715 +2025-03-10 12:58:03,293 - INFO - CLOSED short at 2067.0 | PnL: 0.06% | $-0.07 +2025-03-10 12:58:03,381 - INFO - OPENED SHORT at 2067.46 | Stop loss: 2077.8168107142856 | Take profit: 2036.4188339285715 +2025-03-10 12:58:03,541 - INFO - CLOSED short at 2065.26 | PnL: 0.11% | $0.01 +2025-03-10 12:58:03,541 - INFO - OPENED LONG at 2065.26 | Stop loss: 2054.9141892857147 | Take profit: 2096.268166071429 +2025-03-10 12:58:03,668 - INFO - CLOSED long at 2068.8 | PnL: 0.17% | $0.13 +2025-03-10 12:58:03,757 - INFO - OPENED LONG at 2067.86 | Stop loss: 2057.501189285714 | Take profit: 2098.907166071429 +2025-03-10 12:58:03,841 - INFO - CLOSED long at 2069.2 | PnL: 0.06% | $-0.07 +2025-03-10 12:58:03,888 - INFO - OPENED LONG at 2070.3 | Stop loss: 2059.9289892857146 | Take profit: 2101.383766071429 +2025-03-10 12:58:03,932 - INFO - CLOSED long at 2071.59 | PnL: 0.06% | $-0.07 +2025-03-10 12:58:04,019 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.771510714286 | Take profit: 2039.3147339285715 +2025-03-10 12:58:04,063 - INFO - CLOSED short at 2070.73 | PnL: -0.02% | $-0.22 +2025-03-10 12:58:04,114 - INFO - OPENED LONG at 2068.5 | Stop loss: 2058.137989285714 | Take profit: 2099.5567660714287 +2025-03-10 12:58:04,282 - INFO - CLOSED long at 2067.86 | PnL: -0.03% | $-0.24 +2025-03-10 12:58:04,411 - INFO - OPENED LONG at 2065.28 | Stop loss: 2054.9340892857144 | Take profit: 2096.2884660714285 +2025-03-10 12:58:04,455 - INFO - CLOSED long at 2066.39 | PnL: 0.05% | $-0.09 +2025-03-10 12:58:04,455 - INFO - OPENED SHORT at 2066.39 | Stop loss: 2076.7414607142855 | Take profit: 2035.3648839285713 +2025-03-10 12:58:04,538 - INFO - CLOSED short at 2070.04 | PnL: -0.18% | $-0.51 +2025-03-10 12:58:04,622 - INFO - OPENED SHORT at 2068.18 | Stop loss: 2078.5404107142854 | Take profit: 2037.1280339285713 +2025-03-10 12:58:04,705 - INFO - CLOSED short at 2067.88 | PnL: 0.01% | $-0.16 +2025-03-10 12:58:04,749 - INFO - OPENED SHORT at 2064.99 | Stop loss: 2075.3344607142853 | Take profit: 2033.9858839285712 +2025-03-10 12:58:04,835 - INFO - CLOSED short at 2066.15 | PnL: -0.06% | $-0.29 +2025-03-10 12:58:04,835 - INFO - OPENED LONG at 2066.15 | Stop loss: 2055.799739285714 | Take profit: 2097.171516071429 +2025-03-10 12:58:04,923 - INFO - CLOSED long at 2062.89 | PnL: -0.16% | $-0.47 +2025-03-10 12:58:04,975 - INFO - OPENED LONG at 2062.65 | Stop loss: 2052.3172392857145 | Take profit: 2093.6190160714286 +2025-03-10 12:58:05,020 - INFO - CLOSED long at 2061.78 | PnL: -0.04% | $-0.26 +2025-03-10 12:58:05,065 - INFO - OPENED SHORT at 2059.59 | Stop loss: 2069.907460714286 | Take profit: 2028.6668839285717 +2025-03-10 12:58:05,111 - INFO - CLOSED short at 2061.3 | PnL: -0.08% | $-0.33 +2025-03-10 12:58:05,112 - INFO - OPENED LONG at 2061.3 | Stop loss: 2050.9739892857147 | Take profit: 2092.2487660714287 +2025-03-10 12:58:05,156 - INFO - CLOSED long at 2063.59 | PnL: 0.11% | $0.02 +2025-03-10 12:58:05,157 - INFO - OPENED SHORT at 2063.59 | Stop loss: 2073.927460714286 | Take profit: 2032.6068839285715 +2025-03-10 12:58:05,204 - INFO - CLOSED short at 2064.96 | PnL: -0.07% | $-0.30 +2025-03-10 12:58:05,205 - INFO - OPENED LONG at 2064.96 | Stop loss: 2054.6156892857143 | Take profit: 2095.9636660714286 +2025-03-10 12:58:05,250 - INFO - CLOSED long at 2066.24 | PnL: 0.06% | $-0.07 +2025-03-10 12:58:05,251 - INFO - OPENED SHORT at 2066.24 | Stop loss: 2076.5907107142853 | Take profit: 2035.2171339285712 +2025-03-10 12:58:05,348 - INFO - CLOSED short at 2065.54 | PnL: 0.03% | $-0.12 +2025-03-10 12:58:05,348 - INFO - OPENED LONG at 2065.54 | Stop loss: 2055.1927892857143 | Take profit: 2096.552366071429 +2025-03-10 12:58:05,394 - INFO - CLOSED long at 2066.09 | PnL: 0.03% | $-0.13 +2025-03-10 12:58:05,396 - INFO - OPENED SHORT at 2066.09 | Stop loss: 2076.439960714286 | Take profit: 2035.0693839285716 +2025-03-10 12:58:05,443 - INFO - CLOSED short at 2064.45 | PnL: 0.08% | $-0.04 +2025-03-10 12:58:05,444 - INFO - OPENED LONG at 2064.45 | Stop loss: 2054.1082392857143 | Take profit: 2095.4460160714284 +2025-03-10 12:58:05,701 - INFO - CLOSED long at 2061.6 | PnL: -0.14% | $-0.43 +2025-03-10 12:58:05,750 - INFO - OPENED LONG at 2060.9 | Stop loss: 2050.5759892857145 | Take profit: 2091.8427660714287 +2025-03-10 12:58:05,838 - INFO - CLOSED long at 2058.89 | PnL: -0.10% | $-0.35 +2025-03-10 12:58:05,839 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.2039607142856 | Take profit: 2027.9773839285715 +2025-03-10 12:58:05,924 - INFO - CLOSED short at 2060.31 | PnL: -0.07% | $-0.30 +2025-03-10 12:58:06,097 - INFO - OPENED SHORT at 2060.91 | Stop loss: 2071.2340607142855 | Take profit: 2029.9670839285714 +2025-03-10 12:58:06,188 - INFO - CLOSED short at 2061.13 | PnL: -0.01% | $-0.20 +2025-03-10 12:58:06,233 - INFO - OPENED SHORT at 2061.9 | Stop loss: 2072.229010714286 | Take profit: 2030.9422339285716 +2025-03-10 12:58:06,277 - INFO - CLOSED short at 2064.1 | PnL: -0.11% | $-0.37 +2025-03-10 12:58:06,277 - INFO - OPENED LONG at 2064.1 | Stop loss: 2053.7599892857143 | Take profit: 2095.0907660714283 +2025-03-10 12:58:06,322 - INFO - CLOSED long at 2065.36 | PnL: 0.06% | $-0.07 +2025-03-10 12:58:06,411 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.053539285714 | Take profit: 2094.3701160714286 +2025-03-10 12:58:06,455 - INFO - CLOSED long at 2064.79 | PnL: 0.07% | $-0.06 +2025-03-10 12:58:06,456 - INFO - OPENED SHORT at 2064.79 | Stop loss: 2075.133460714286 | Take profit: 2033.7888839285715 +2025-03-10 12:58:06,516 - INFO - CLOSED short at 2065.89 | PnL: -0.05% | $-0.27 +2025-03-10 12:58:06,560 - INFO - OPENED LONG at 2063.53 | Stop loss: 2053.1928392857144 | Take profit: 2094.5122160714286 +2025-03-10 12:58:06,809 - INFO - CLOSED long at 2061.09 | PnL: -0.12% | $-0.38 +2025-03-10 12:58:06,809 - INFO - OPENED SHORT at 2061.09 | Stop loss: 2071.4149607142863 | Take profit: 2030.1443839285716 +2025-03-10 12:58:06,857 - INFO - CLOSED short at 2059.61 | PnL: 0.07% | $-0.05 +2025-03-10 12:58:06,857 - INFO - OPENED LONG at 2059.61 | Stop loss: 2049.2924392857144 | Take profit: 2090.5334160714287 +2025-03-10 12:58:06,902 - INFO - CLOSED long at 2059.16 | PnL: -0.02% | $-0.21 +2025-03-10 12:58:06,989 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.2039607142856 | Take profit: 2027.9773839285715 +2025-03-10 12:58:07,041 - INFO - CLOSED short at 2059.96 | PnL: -0.05% | $-0.27 +2025-03-10 12:58:07,041 - INFO - OPENED LONG at 2059.96 | Stop loss: 2049.6406892857144 | Take profit: 2090.888666071429 +2025-03-10 12:58:07,084 - INFO - CLOSED long at 2059.46 | PnL: -0.02% | $-0.22 +2025-03-10 12:58:07,084 - INFO - OPENED SHORT at 2059.46 | Stop loss: 2069.776810714286 | Take profit: 2028.5388339285716 +2025-03-10 12:58:07,141 - INFO - CLOSED short at 2057.4 | PnL: 0.10% | $0.00 +2025-03-10 12:58:07,142 - INFO - OPENED LONG at 2057.4 | Stop loss: 2047.0934892857144 | Take profit: 2088.2902660714285 +2025-03-10 12:58:07,188 - INFO - CLOSED long at 2058.28 | PnL: 0.04% | $-0.10 +2025-03-10 12:58:07,234 - INFO - OPENED LONG at 2056.28 | Stop loss: 2045.9790892857145 | Take profit: 2087.1534660714287 +2025-03-10 12:58:07,365 - INFO - CLOSED long at 2054.83 | PnL: -0.07% | $-0.30 +2025-03-10 12:58:07,414 - INFO - OPENED SHORT at 2056.71 | Stop loss: 2067.0130607142855 | Take profit: 2025.8300839285714 +2025-03-10 12:58:07,501 - INFO - CLOSED short at 2059.8 | PnL: -0.15% | $-0.43 +2025-03-10 12:58:07,502 - INFO - OPENED LONG at 2059.8 | Stop loss: 2049.4814892857144 | Take profit: 2090.7262660714287 +2025-03-10 12:58:07,724 - INFO - CLOSED long at 2062.69 | PnL: 0.14% | $0.07 +2025-03-10 12:58:07,725 - INFO - OPENED SHORT at 2062.69 | Stop loss: 2073.022960714286 | Take profit: 2031.7203839285714 +2025-03-10 12:58:07,766 - INFO - CLOSED short at 2063.4 | PnL: -0.03% | $-0.23 +2025-03-10 12:58:07,766 - INFO - OPENED LONG at 2063.4 | Stop loss: 2053.0634892857142 | Take profit: 2094.3802660714287 +2025-03-10 12:58:07,848 - INFO - CLOSED long at 2066.01 | PnL: 0.13% | $0.05 +2025-03-10 12:58:07,849 - INFO - OPENED SHORT at 2066.01 | Stop loss: 2076.359560714286 | Take profit: 2034.9905839285716 +2025-03-10 12:58:07,898 - INFO - CLOSED short at 2063.9 | PnL: 0.10% | $0.00 +2025-03-10 12:58:07,898 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.560989285714 | Take profit: 2094.8877660714284 +2025-03-10 12:58:07,939 - INFO - CLOSED long at 2064.49 | PnL: 0.03% | $-0.12 +2025-03-10 12:58:08,113 - INFO - OPENED SHORT at 2067.33 | Stop loss: 2077.6861607142855 | Take profit: 2036.2907839285713 +2025-03-10 12:58:08,199 - INFO - CLOSED short at 2065.69 | PnL: 0.08% | $-0.04 +2025-03-10 12:58:08,199 - INFO - OPENED LONG at 2065.69 | Stop loss: 2055.3420392857142 | Take profit: 2096.7046160714285 +2025-03-10 12:58:08,287 - INFO - CLOSED long at 2072.0 | PnL: 0.31% | $0.35 +2025-03-10 12:58:08,288 - INFO - OPENED SHORT at 2072.0 | Stop loss: 2082.3795107142855 | Take profit: 2040.8907339285713 +2025-03-10 12:58:08,376 - INFO - CLOSED short at 2078.01 | PnL: -0.29% | $-0.67 +2025-03-10 12:58:08,638 - INFO - OPENED LONG at 2073.23 | Stop loss: 2062.8443392857143 | Take profit: 2104.3577160714285 +2025-03-10 12:58:08,722 - INFO - CLOSED long at 2068.15 | PnL: -0.25% | $-0.59 +2025-03-10 12:58:08,722 - INFO - OPENED SHORT at 2068.15 | Stop loss: 2078.510260714286 | Take profit: 2037.0984839285716 +2025-03-10 12:58:08,766 - INFO - CLOSED short at 2068.39 | PnL: -0.01% | $-0.19 +2025-03-10 12:58:08,767 - INFO - OPENED LONG at 2068.39 | Stop loss: 2058.028539285714 | Take profit: 2099.4451160714284 +2025-03-10 12:58:08,983 - INFO - CLOSED long at 2072.99 | PnL: 0.22% | $0.21 +2025-03-10 12:58:09,161 - INFO - OPENED LONG at 2066.38 | Stop loss: 2056.0285892857146 | Take profit: 2097.4049660714286 +2025-03-10 12:58:09,293 - INFO - CLOSED long at 2063.95 | PnL: -0.12% | $-0.37 +2025-03-10 12:58:09,388 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.1579892857144 | Take profit: 2095.4967660714287 +2025-03-10 12:58:09,564 - INFO - CLOSED long at 2065.5 | PnL: 0.05% | $-0.09 +2025-03-10 12:58:09,565 - INFO - OPENED SHORT at 2065.5 | Stop loss: 2075.8470107142857 | Take profit: 2034.4882339285716 +2025-03-10 12:58:09,607 - INFO - CLOSED short at 2067.53 | PnL: -0.10% | $-0.34 +2025-03-10 12:58:09,607 - INFO - OPENED LONG at 2067.53 | Stop loss: 2057.1728392857144 | Take profit: 2098.572216071429 +2025-03-10 12:58:09,739 - INFO - CLOSED long at 2066.8 | PnL: -0.04% | $-0.23 +2025-03-10 12:58:09,905 - INFO - OPENED SHORT at 2070.2 | Stop loss: 2080.5705107142853 | Take profit: 2039.1177339285712 +2025-03-10 12:58:10,126 - INFO - CLOSED short at 2070.8 | PnL: -0.03% | $-0.22 +2025-03-10 12:58:10,126 - INFO - OPENED LONG at 2070.8 | Stop loss: 2060.4264892857145 | Take profit: 2101.8912660714286 +2025-03-10 12:58:10,174 - INFO - CLOSED long at 2070.35 | PnL: -0.02% | $-0.20 +2025-03-10 12:58:10,304 - INFO - OPENED LONG at 2068.19 | Stop loss: 2057.8295392857144 | Take profit: 2099.2421160714284 +2025-03-10 12:58:10,395 - INFO - CLOSED long at 2070.67 | PnL: 0.12% | $0.03 +2025-03-10 12:58:10,396 - INFO - OPENED SHORT at 2070.67 | Stop loss: 2081.042860714286 | Take profit: 2039.5806839285715 +2025-03-10 12:58:10,438 - INFO - CLOSED short at 2069.78 | PnL: 0.04% | $-0.10 +2025-03-10 12:58:10,483 - INFO - OPENED LONG at 2071.61 | Stop loss: 2061.2324392857145 | Take profit: 2102.7134160714286 +2025-03-10 12:58:10,696 - INFO - CLOSED long at 2073.99 | PnL: 0.11% | $0.02 +2025-03-10 12:58:10,697 - INFO - OPENED SHORT at 2073.99 | Stop loss: 2084.3794607142854 | Take profit: 2042.8508839285712 +2025-03-10 12:58:10,742 - INFO - CLOSED short at 2075.32 | PnL: -0.06% | $-0.27 +2025-03-10 12:58:10,743 - INFO - OPENED LONG at 2075.32 | Stop loss: 2064.9238892857147 | Take profit: 2106.479066071429 +2025-03-10 12:58:10,831 - INFO - CLOSED long at 2076.9 | PnL: 0.08% | $-0.04 +2025-03-10 12:58:10,832 - INFO - OPENED SHORT at 2076.9 | Stop loss: 2087.3040107142856 | Take profit: 2045.7172339285714 +2025-03-10 12:58:11,002 - INFO - CLOSED short at 2069.97 | PnL: 0.33% | $0.39 +2025-03-10 12:58:11,003 - INFO - OPENED LONG at 2069.97 | Stop loss: 2059.600639285714 | Take profit: 2101.0488160714285 +2025-03-10 12:58:11,047 - INFO - CLOSED long at 2067.7 | PnL: -0.11% | $-0.35 +2025-03-10 12:58:11,091 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.3545107142854 | Take profit: 2035.9657339285714 +2025-03-10 12:58:11,267 - INFO - CLOSED short at 2067.88 | PnL: -0.04% | $-0.24 +2025-03-10 12:58:11,268 - INFO - OPENED LONG at 2067.88 | Stop loss: 2057.5210892857144 | Take profit: 2098.9274660714286 +2025-03-10 12:58:11,439 - INFO - CLOSED long at 2070.19 | PnL: 0.11% | $0.02 +2025-03-10 12:58:11,440 - INFO - OPENED SHORT at 2070.19 | Stop loss: 2080.560460714286 | Take profit: 2039.1078839285715 +2025-03-10 12:58:11,489 - INFO - CLOSED short at 2070.1 | PnL: 0.00% | $-0.16 +2025-03-10 12:58:11,489 - INFO - OPENED LONG at 2070.1 | Stop loss: 2059.729989285714 | Take profit: 2101.1807660714285 +2025-03-10 12:58:11,531 - INFO - CLOSED long at 2067.19 | PnL: -0.14% | $-0.40 +2025-03-10 12:58:11,532 - INFO - OPENED SHORT at 2067.19 | Stop loss: 2077.5454607142856 | Take profit: 2036.1528839285716 +2025-03-10 12:58:11,620 - INFO - CLOSED short at 2065.7 | PnL: 0.07% | $-0.05 +2025-03-10 12:58:11,621 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.351989285714 | Take profit: 2096.7147660714286 +2025-03-10 12:58:11,665 - INFO - CLOSED long at 2065.8 | PnL: 0.00% | $-0.16 +2025-03-10 12:58:11,666 - INFO - OPENED SHORT at 2065.8 | Stop loss: 2076.1485107142857 | Take profit: 2034.7837339285716 +2025-03-10 12:58:11,709 - INFO - CLOSED short at 2065.07 | PnL: 0.04% | $-0.11 +2025-03-10 12:58:11,754 - INFO - OPENED SHORT at 2066.09 | Stop loss: 2076.439960714286 | Take profit: 2035.0693839285716 +2025-03-10 12:58:11,929 - INFO - CLOSED short at 2066.1 | PnL: -0.00% | $-0.17 +2025-03-10 12:58:11,981 - INFO - OPENED LONG at 2065.06 | Stop loss: 2054.715189285714 | Take profit: 2096.0651660714284 +2025-03-10 12:58:12,028 - INFO - CLOSED long at 2064.11 | PnL: -0.05% | $-0.24 +2025-03-10 12:58:12,117 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.681160714286 | Take profit: 2035.3057839285714 +2025-03-10 12:58:12,169 - INFO - CLOSED short at 2063.01 | PnL: 0.16% | $0.10 +2025-03-10 12:58:12,169 - INFO - OPENED LONG at 2063.01 | Stop loss: 2052.6754392857147 | Take profit: 2093.984416071429 +2025-03-10 12:58:12,302 - INFO - CLOSED long at 2059.2 | PnL: -0.18% | $-0.47 +2025-03-10 12:58:12,303 - INFO - OPENED SHORT at 2059.2 | Stop loss: 2069.5155107142855 | Take profit: 2028.2827339285711 +2025-03-10 12:58:12,398 - INFO - CLOSED short at 2058.65 | PnL: 0.03% | $-0.12 +2025-03-10 12:58:12,399 - INFO - OPENED LONG at 2058.65 | Stop loss: 2048.337239285714 | Take profit: 2089.5590160714287 +2025-03-10 12:58:12,441 - INFO - CLOSED long at 2056.77 | PnL: -0.09% | $-0.31 +2025-03-10 12:58:12,488 - INFO - OPENED LONG at 2053.01 | Stop loss: 2042.7254392857144 | Take profit: 2083.8344160714287 +2025-03-10 12:58:12,529 - INFO - CLOSED long at 2049.21 | PnL: -0.19% | $-0.46 +2025-03-10 12:58:12,574 - INFO - OPENED SHORT at 2049.5 | Stop loss: 2059.767010714286 | Take profit: 2018.7282339285714 +2025-03-10 12:58:12,699 - INFO - CLOSED short at 2056.85 | PnL: -0.36% | $-0.74 +2025-03-10 12:58:12,700 - INFO - OPENED LONG at 2056.85 | Stop loss: 2046.5462392857141 | Take profit: 2087.7320160714285 +2025-03-10 12:58:12,916 - INFO - CLOSED long at 2065.1 | PnL: 0.40% | $0.48 +2025-03-10 12:58:12,959 - INFO - OPENED LONG at 2062.43 | Stop loss: 2052.0983392857142 | Take profit: 2093.395716071428 +2025-03-10 12:58:13,000 - INFO - CLOSED long at 2062.55 | PnL: 0.01% | $-0.15 +2025-03-10 12:58:13,041 - INFO - OPENED SHORT at 2065.12 | Stop loss: 2075.4651107142854 | Take profit: 2034.1139339285712 +2025-03-10 12:58:13,121 - INFO - CLOSED short at 2067.49 | PnL: -0.11% | $-0.34 +2025-03-10 12:58:13,168 - INFO - OPENED SHORT at 2066.59 | Stop loss: 2076.9424607142855 | Take profit: 2035.5618839285717 +2025-03-10 12:58:13,255 - INFO - CLOSED short at 2061.21 | PnL: 0.26% | $0.26 +2025-03-10 12:58:13,297 - INFO - OPENED SHORT at 2059.9 | Stop loss: 2070.2190107142856 | Take profit: 2028.9722339285715 +2025-03-10 12:58:13,388 - INFO - CLOSED short at 2061.84 | PnL: -0.09% | $-0.31 +2025-03-10 12:58:13,389 - INFO - OPENED LONG at 2061.84 | Stop loss: 2051.5112892857146 | Take profit: 2092.7968660714287 +2025-03-10 12:58:13,657 - INFO - CLOSED long at 2069.81 | PnL: 0.39% | $0.46 +2025-03-10 12:58:13,702 - INFO - OPENED SHORT at 2070.41 | Stop loss: 2080.7815607142857 | Take profit: 2039.3245839285712 +2025-03-10 12:58:13,835 - INFO - CLOSED short at 2072.99 | PnL: -0.12% | $-0.36 +2025-03-10 12:58:13,886 - INFO - OPENED LONG at 2071.89 | Stop loss: 2061.511039285714 | Take profit: 2102.997616071428 +2025-03-10 12:58:14,201 - INFO - TAKE PROFIT hit for long at 2102.997616071428 | PnL: 1.50% | $2.24 +2025-03-10 12:58:14,291 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.8227892857144 | Take profit: 2171.6623660714286 +2025-03-10 12:58:14,498 - INFO - CLOSED long at 2141.3 | PnL: 0.08% | $-0.03 +2025-03-10 12:58:14,539 - INFO - OPENED SHORT at 2142.68 | Stop loss: 2153.4129107142853 | Take profit: 2110.5105339285715 +2025-03-10 12:58:14,582 - INFO - CLOSED short at 2140.01 | PnL: 0.12% | $0.04 +2025-03-10 12:58:14,626 - INFO - OPENED LONG at 2134.78 | Stop loss: 2124.0865892857146 | Take profit: 2166.830966071429 +2025-03-10 12:58:14,669 - INFO - CLOSED long at 2126.99 | PnL: -0.36% | $-0.76 +2025-03-10 12:58:14,670 - INFO - OPENED SHORT at 2126.99 | Stop loss: 2137.6444607142857 | Take profit: 2095.0558839285713 +2025-03-10 12:58:14,805 - INFO - CLOSED short at 2121.09 | PnL: 0.28% | $0.29 +2025-03-10 12:58:14,852 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.5297392857146 | Take profit: 2151.981516071429 +2025-03-10 12:58:14,897 - INFO - CLOSED long at 2117.24 | PnL: -0.14% | $-0.39 +2025-03-10 12:58:14,898 - INFO - OPENED SHORT at 2117.24 | Stop loss: 2127.8457107142854 | Take profit: 2085.452133928571 +2025-03-10 12:58:15,035 - INFO - CLOSED short at 2118.52 | PnL: -0.06% | $-0.26 +2025-03-10 12:58:15,036 - INFO - OPENED LONG at 2118.52 | Stop loss: 2107.907889285714 | Take profit: 2150.3270660714284 +2025-03-10 12:58:15,224 - INFO - STOP LOSS hit for long at 2107.907889285714 | PnL: -0.50% | $-0.97 +2025-03-10 12:58:15,269 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.027489285714 | Take profit: 2142.2882660714286 +2025-03-10 12:58:15,362 - INFO - CLOSED long at 2112.09 | PnL: 0.07% | $-0.05 +2025-03-10 12:58:15,405 - INFO - OPENED LONG at 2112.95 | Stop loss: 2102.365739285714 | Take profit: 2144.6735160714284 +2025-03-10 12:58:15,578 - INFO - CLOSED long at 2120.81 | PnL: 0.37% | $0.43 +2025-03-10 12:58:15,579 - INFO - OPENED SHORT at 2120.81 | Stop loss: 2131.4335607142857 | Take profit: 2088.9685839285717 +2025-03-10 12:58:15,621 - INFO - CLOSED short at 2116.48 | PnL: 0.20% | $0.17 +2025-03-10 12:58:15,703 - INFO - OPENED SHORT at 2110.9 | Stop loss: 2121.4740107142857 | Take profit: 2079.2072339285714 +2025-03-10 12:58:15,755 - INFO - CLOSED short at 2108.71 | PnL: 0.10% | $0.01 +2025-03-10 12:58:15,755 - INFO - OPENED LONG at 2108.71 | Stop loss: 2098.1469392857143 | Take profit: 2140.3699160714286 +2025-03-10 12:58:15,799 - INFO - CLOSED long at 2106.49 | PnL: -0.11% | $-0.33 +2025-03-10 12:58:15,848 - INFO - OPENED LONG at 2108.06 | Stop loss: 2097.500189285714 | Take profit: 2139.710166071429 +2025-03-10 12:58:15,891 - INFO - CLOSED long at 2103.33 | PnL: -0.22% | $-0.52 +2025-03-10 12:58:15,891 - INFO - OPENED SHORT at 2103.33 | Stop loss: 2113.866160714286 | Take profit: 2071.7507839285713 +2025-03-10 12:58:15,937 - INFO - CLOSED short at 2100.5 | PnL: 0.13% | $0.06 +2025-03-10 12:58:15,939 - INFO - OPENED LONG at 2100.5 | Stop loss: 2089.9779892857146 | Take profit: 2132.0367660714287 +2025-03-10 12:58:15,981 - INFO - CLOSED long at 2090.0 | PnL: -0.50% | $-0.96 +2025-03-10 12:58:16,032 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0128392857146 | Take profit: 2131.052216071429 +2025-03-10 12:58:16,081 - INFO - CLOSED long at 2098.1 | PnL: -0.07% | $-0.26 +2025-03-10 12:58:16,130 - INFO - OPENED SHORT at 2102.19 | Stop loss: 2112.7204607142858 | Take profit: 2070.6278839285715 +2025-03-10 12:58:16,180 - INFO - CLOSED short at 2102.29 | PnL: -0.00% | $-0.16 +2025-03-10 12:58:16,180 - INFO - OPENED LONG at 2102.29 | Stop loss: 2091.759039285714 | Take profit: 2133.8536160714284 +2025-03-10 12:58:16,227 - INFO - CLOSED long at 2099.25 | PnL: -0.14% | $-0.38 +2025-03-10 12:58:16,227 - INFO - OPENED SHORT at 2099.25 | Stop loss: 2109.765760714286 | Take profit: 2067.7319839285715 +2025-03-10 12:58:16,446 - INFO - CLOSED short at 2100.74 | PnL: -0.07% | $-0.27 +2025-03-10 12:58:16,446 - INFO - OPENED LONG at 2100.74 | Stop loss: 2090.216789285714 | Take profit: 2132.2803660714285 +2025-03-10 12:58:16,653 - INFO - CLOSED long at 2100.02 | PnL: -0.03% | $-0.21 +2025-03-10 12:58:16,774 - INFO - OPENED LONG at 2093.46 | Stop loss: 2082.9731892857144 | Take profit: 2124.891166071429 +2025-03-10 12:58:16,986 - INFO - CLOSED long at 2094.08 | PnL: 0.03% | $-0.11 +2025-03-10 12:58:16,987 - INFO - OPENED SHORT at 2094.08 | Stop loss: 2104.5699107142855 | Take profit: 2062.6395339285714 +2025-03-10 12:58:17,034 - INFO - CLOSED short at 2088.35 | PnL: 0.27% | $0.27 +2025-03-10 12:58:17,035 - INFO - OPENED LONG at 2088.35 | Stop loss: 2077.888739285714 | Take profit: 2119.7045160714283 +2025-03-10 12:58:17,079 - INFO - CLOSED long at 2083.28 | PnL: -0.24% | $-0.53 +2025-03-10 12:58:17,079 - INFO - OPENED SHORT at 2083.28 | Stop loss: 2093.7159107142857 | Take profit: 2052.001533928572 +2025-03-10 12:58:17,123 - INFO - CLOSED short at 2088.44 | PnL: -0.25% | $-0.54 +2025-03-10 12:58:17,208 - INFO - OPENED LONG at 2085.3 | Stop loss: 2074.8539892857143 | Take profit: 2116.608766071429 +2025-03-10 12:58:17,351 - INFO - CLOSED long at 2080.38 | PnL: -0.24% | $-0.51 +2025-03-10 12:58:17,398 - INFO - OPENED LONG at 2081.25 | Stop loss: 2070.824239285714 | Take profit: 2112.4980160714285 +2025-03-10 12:58:17,446 - INFO - CLOSED long at 2083.41 | PnL: 0.10% | $0.01 +2025-03-10 12:58:17,446 - INFO - OPENED SHORT at 2083.41 | Stop loss: 2093.8465607142857 | Take profit: 2052.1295839285713 +2025-03-10 12:58:17,498 - INFO - CLOSED short at 2085.09 | PnL: -0.08% | $-0.27 +2025-03-10 12:58:17,499 - INFO - OPENED LONG at 2085.09 | Stop loss: 2074.6450392857146 | Take profit: 2116.395616071429 +2025-03-10 12:58:17,589 - INFO - CLOSED long at 2086.57 | PnL: 0.07% | $-0.04 +2025-03-10 12:58:17,680 - INFO - OPENED LONG at 2084.72 | Stop loss: 2074.2768892857143 | Take profit: 2116.020066071428 +2025-03-10 12:58:17,723 - INFO - CLOSED long at 2085.83 | PnL: 0.05% | $-0.07 +2025-03-10 12:58:17,724 - INFO - OPENED SHORT at 2085.83 | Stop loss: 2096.2786607142857 | Take profit: 2054.513283928571 +2025-03-10 12:58:17,861 - INFO - CLOSED short at 2088.32 | PnL: -0.12% | $-0.33 +2025-03-10 12:58:17,910 - INFO - OPENED LONG at 2088.1 | Stop loss: 2077.6399892857144 | Take profit: 2119.4507660714285 +2025-03-10 12:58:18,264 - INFO - CLOSED long at 2085.67 | PnL: -0.12% | $-0.33 +2025-03-10 12:58:18,264 - INFO - OPENED SHORT at 2085.67 | Stop loss: 2096.1178607142856 | Take profit: 2054.3556839285716 +2025-03-10 12:58:18,317 - INFO - CLOSED short at 2089.2 | PnL: -0.17% | $-0.40 +2025-03-10 12:58:18,317 - INFO - OPENED LONG at 2089.2 | Stop loss: 2078.734489285714 | Take profit: 2120.5672660714285 +2025-03-10 12:58:18,368 - INFO - CLOSED long at 2091.05 | PnL: 0.09% | $-0.02 +2025-03-10 12:58:18,369 - INFO - OPENED SHORT at 2091.05 | Stop loss: 2101.524760714286 | Take profit: 2059.6549839285717 +2025-03-10 12:58:18,464 - INFO - CLOSED short at 2091.95 | PnL: -0.04% | $-0.21 +2025-03-10 12:58:18,518 - INFO - OPENED LONG at 2094.7 | Stop loss: 2084.206989285714 | Take profit: 2126.149766071428 +2025-03-10 12:58:18,615 - INFO - CLOSED long at 2099.99 | PnL: 0.25% | $0.23 +2025-03-10 12:58:18,616 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.5094607142855 | Take profit: 2068.460883928571 +2025-03-10 12:58:18,670 - INFO - CLOSED short at 2101.64 | PnL: -0.08% | $-0.27 +2025-03-10 12:58:18,671 - INFO - OPENED LONG at 2101.64 | Stop loss: 2091.1122892857143 | Take profit: 2133.1938660714286 +2025-03-10 12:58:18,766 - INFO - CLOSED long at 2098.49 | PnL: -0.15% | $-0.37 +2025-03-10 12:58:18,767 - INFO - OPENED SHORT at 2098.49 | Stop loss: 2109.0019607142854 | Take profit: 2066.983383928571 +2025-03-10 12:58:18,812 - INFO - Trade Analysis: Win Rate=18.4% in uptrends, 0.0% in downtrends | Avg Win=$0.24, Avg Loss=$-0.26 +2025-03-10 12:58:18,813 - INFO - Episode 2: Reward=-113.91, Balance=$74.70, Win Rate=20.0%, Trades=160, Episode PnL=$-18.24, Total PnL=$-78.65, Max Drawdown=24.9%, Pred Accuracy=98.6% +2025-03-10 12:58:18,815 - ERROR - Error in episode 2: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 12:58:18,816 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1763, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 12:58:18,844 - INFO - Identified 26 optimal buy points and 27 optimal sell points +2025-03-10 12:58:19,195 - INFO - OPENED LONG at 2052.16 | Stop loss: 2041.879689285714 | Take profit: 2082.9716660714284 +2025-03-10 12:58:19,417 - INFO - CLOSED long at 2049.49 | PnL: -0.13% | $-0.46 +2025-03-10 12:58:19,465 - INFO - OPENED SHORT at 2050.2 | Stop loss: 2060.470510714286 | Take profit: 2019.4177339285714 +2025-03-10 12:58:19,555 - INFO - CLOSED short at 2051.99 | PnL: -0.09% | $-0.37 +2025-03-10 12:58:19,556 - INFO - OPENED LONG at 2051.99 | Stop loss: 2041.710539285714 | Take profit: 2082.7991160714287 +2025-03-10 12:58:19,600 - INFO - CLOSED long at 2049.61 | PnL: -0.12% | $-0.42 +2025-03-10 12:58:19,686 - INFO - OPENED LONG at 2048.48 | Stop loss: 2038.2180892857143 | Take profit: 2079.236466071429 +2025-03-10 12:58:19,819 - INFO - CLOSED long at 2047.4 | PnL: -0.05% | $-0.30 +2025-03-10 12:58:19,820 - INFO - OPENED SHORT at 2047.4 | Stop loss: 2057.656510714286 | Take profit: 2016.6597339285715 +2025-03-10 12:58:19,860 - INFO - CLOSED short at 2047.2 | PnL: 0.01% | $-0.18 +2025-03-10 12:58:19,861 - INFO - OPENED LONG at 2047.2 | Stop loss: 2036.9444892857143 | Take profit: 2077.9372660714284 +2025-03-10 12:58:19,901 - INFO - CLOSED long at 2045.99 | PnL: -0.06% | $-0.31 +2025-03-10 12:58:19,902 - INFO - OPENED SHORT at 2045.99 | Stop loss: 2056.239460714286 | Take profit: 2015.2708839285715 +2025-03-10 12:58:19,991 - INFO - CLOSED short at 2045.79 | PnL: 0.01% | $-0.18 +2025-03-10 12:58:19,991 - INFO - OPENED LONG at 2045.79 | Stop loss: 2035.5415392857142 | Take profit: 2076.5061160714286 +2025-03-10 12:58:20,033 - INFO - CLOSED long at 2048.13 | PnL: 0.11% | $0.03 +2025-03-10 12:58:20,034 - INFO - OPENED SHORT at 2048.13 | Stop loss: 2058.3901607142857 | Take profit: 2017.3787839285717 +2025-03-10 12:58:20,079 - INFO - CLOSED short at 2047.59 | PnL: 0.03% | $-0.14 +2025-03-10 12:58:20,080 - INFO - OPENED LONG at 2047.59 | Stop loss: 2037.3325392857141 | Take profit: 2078.3331160714283 +2025-03-10 12:58:20,212 - INFO - CLOSED long at 2050.24 | PnL: 0.13% | $0.06 +2025-03-10 12:58:20,302 - INFO - OPENED LONG at 2051.11 | Stop loss: 2040.8349392857144 | Take profit: 2081.9059160714287 +2025-03-10 12:58:20,609 - INFO - CLOSED long at 2058.39 | PnL: 0.35% | $0.49 +2025-03-10 12:58:20,659 - INFO - OPENED LONG at 2060.13 | Stop loss: 2049.8098392857146 | Take profit: 2091.0612160714286 +2025-03-10 12:58:20,845 - INFO - CLOSED long at 2064.61 | PnL: 0.22% | $0.23 +2025-03-10 12:58:20,845 - INFO - OPENED SHORT at 2064.61 | Stop loss: 2074.9525607142855 | Take profit: 2033.6115839285715 +2025-03-10 12:58:20,888 - INFO - CLOSED short at 2063.59 | PnL: 0.05% | $-0.10 +2025-03-10 12:58:20,979 - INFO - OPENED LONG at 2064.69 | Stop loss: 2054.3470392857143 | Take profit: 2095.6896160714286 +2025-03-10 12:58:21,113 - INFO - CLOSED long at 2058.3 | PnL: -0.31% | $-0.80 +2025-03-10 12:58:21,114 - INFO - OPENED SHORT at 2058.3 | Stop loss: 2068.6110107142863 | Take profit: 2027.3962339285715 +2025-03-10 12:58:21,166 - INFO - CLOSED short at 2060.0 | PnL: -0.08% | $-0.35 +2025-03-10 12:58:21,167 - INFO - OPENED LONG at 2060.0 | Stop loss: 2049.6804892857144 | Take profit: 2090.9292660714286 +2025-03-10 12:58:21,431 - INFO - CLOSED long at 2057.89 | PnL: -0.10% | $-0.39 +2025-03-10 12:58:21,474 - INFO - OPENED LONG at 2057.94 | Stop loss: 2047.6307892857142 | Take profit: 2088.838366071429 +2025-03-10 12:58:21,779 - INFO - CLOSED long at 2068.11 | PnL: 0.49% | $0.76 +2025-03-10 12:58:21,780 - INFO - OPENED SHORT at 2068.11 | Stop loss: 2078.4700607142854 | Take profit: 2037.0590839285715 +2025-03-10 12:58:21,867 - INFO - CLOSED short at 2067.89 | PnL: 0.01% | $-0.17 +2025-03-10 12:58:21,868 - INFO - OPENED LONG at 2067.89 | Stop loss: 2057.531039285714 | Take profit: 2098.9376160714282 +2025-03-10 12:58:21,956 - INFO - CLOSED long at 2070.99 | PnL: 0.15% | $0.10 +2025-03-10 12:58:22,002 - INFO - OPENED LONG at 2069.6 | Stop loss: 2059.232489285714 | Take profit: 2100.6732660714288 +2025-03-10 12:58:22,133 - INFO - CLOSED long at 2067.9 | PnL: -0.08% | $-0.35 +2025-03-10 12:58:22,134 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.2590107142855 | Take profit: 2036.8522339285716 +2025-03-10 12:58:22,176 - INFO - CLOSED short at 2067.69 | PnL: 0.01% | $-0.17 +2025-03-10 12:58:22,302 - INFO - OPENED LONG at 2073.73 | Stop loss: 2063.3418392857143 | Take profit: 2104.8652160714287 +2025-03-10 12:58:22,472 - INFO - CLOSED long at 2071.38 | PnL: -0.11% | $-0.41 +2025-03-10 12:58:22,512 - INFO - OPENED LONG at 2071.41 | Stop loss: 2061.0334392857144 | Take profit: 2102.5104160714286 +2025-03-10 12:58:22,631 - INFO - CLOSED long at 2072.8 | PnL: 0.07% | $-0.06 +2025-03-10 12:58:22,801 - INFO - OPENED SHORT at 2067.2 | Stop loss: 2077.5555107142854 | Take profit: 2036.1627339285712 +2025-03-10 12:58:22,927 - INFO - CLOSED short at 2070.7 | PnL: -0.17% | $-0.51 +2025-03-10 12:58:22,927 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3269892857143 | Take profit: 2101.7897660714284 +2025-03-10 12:58:23,059 - INFO - CLOSED long at 2068.8 | PnL: -0.09% | $-0.36 +2025-03-10 12:58:23,152 - INFO - OPENED LONG at 2067.51 | Stop loss: 2057.1529392857146 | Take profit: 2098.551916071429 +2025-03-10 12:58:23,234 - INFO - CLOSED long at 2066.39 | PnL: -0.05% | $-0.29 +2025-03-10 12:58:23,277 - INFO - OPENED LONG at 2065.99 | Stop loss: 2055.640539285714 | Take profit: 2097.0091160714283 +2025-03-10 12:58:23,401 - INFO - CLOSED long at 2065.08 | PnL: -0.04% | $-0.27 +2025-03-10 12:58:23,401 - INFO - OPENED SHORT at 2065.08 | Stop loss: 2075.424910714286 | Take profit: 2034.0745339285713 +2025-03-10 12:58:23,441 - INFO - CLOSED short at 2066.18 | PnL: -0.05% | $-0.29 +2025-03-10 12:58:23,485 - INFO - OPENED LONG at 2068.76 | Stop loss: 2058.3966892857147 | Take profit: 2099.8206660714286 +2025-03-10 12:58:23,613 - INFO - CLOSED long at 2068.59 | PnL: -0.01% | $-0.20 +2025-03-10 12:58:23,614 - INFO - OPENED SHORT at 2068.59 | Stop loss: 2078.9524607142857 | Take profit: 2037.5318839285715 +2025-03-10 12:58:23,658 - INFO - CLOSED short at 2069.7 | PnL: -0.05% | $-0.29 +2025-03-10 12:58:23,658 - INFO - OPENED LONG at 2069.7 | Stop loss: 2059.331989285714 | Take profit: 2100.774766071428 +2025-03-10 12:58:23,742 - INFO - CLOSED long at 2069.96 | PnL: 0.01% | $-0.16 +2025-03-10 12:58:23,742 - INFO - OPENED SHORT at 2069.96 | Stop loss: 2080.329310714286 | Take profit: 2038.8813339285714 +2025-03-10 12:58:23,793 - INFO - CLOSED short at 2071.4 | PnL: -0.07% | $-0.32 +2025-03-10 12:58:23,793 - INFO - OPENED LONG at 2071.4 | Stop loss: 2061.0234892857143 | Take profit: 2102.500266071429 +2025-03-10 12:58:23,834 - INFO - CLOSED long at 2071.39 | PnL: -0.00% | $-0.19 +2025-03-10 12:58:23,919 - INFO - OPENED SHORT at 2072.75 | Stop loss: 2083.133260714286 | Take profit: 2041.6294839285713 +2025-03-10 12:58:24,084 - INFO - CLOSED short at 2074.29 | PnL: -0.07% | $-0.32 +2025-03-10 12:58:24,255 - INFO - OPENED LONG at 2071.11 | Stop loss: 2060.7349392857145 | Take profit: 2102.2059160714284 +2025-03-10 12:58:24,340 - INFO - CLOSED long at 2069.35 | PnL: -0.08% | $-0.34 +2025-03-10 12:58:24,340 - INFO - OPENED SHORT at 2069.35 | Stop loss: 2079.7162607142855 | Take profit: 2038.2804839285714 +2025-03-10 12:58:24,389 - INFO - CLOSED short at 2068.32 | PnL: 0.05% | $-0.09 +2025-03-10 12:58:24,389 - INFO - OPENED LONG at 2068.32 | Stop loss: 2057.9588892857146 | Take profit: 2099.374066071429 +2025-03-10 12:58:24,433 - INFO - CLOSED long at 2067.0 | PnL: -0.06% | $-0.30 +2025-03-10 12:58:24,516 - INFO - OPENED LONG at 2067.46 | Stop loss: 2057.103189285714 | Take profit: 2098.5011660714285 +2025-03-10 12:58:24,635 - INFO - CLOSED long at 2063.61 | PnL: -0.19% | $-0.52 +2025-03-10 12:58:24,636 - INFO - OPENED SHORT at 2063.61 | Stop loss: 2073.947560714286 | Take profit: 2032.6265839285716 +2025-03-10 12:58:24,755 - INFO - CLOSED short at 2068.58 | PnL: -0.24% | $-0.62 +2025-03-10 12:58:24,805 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.4364892857143 | Take profit: 2099.861266071429 +2025-03-10 12:58:24,888 - INFO - CLOSED long at 2067.86 | PnL: -0.05% | $-0.26 +2025-03-10 12:58:24,929 - INFO - OPENED LONG at 2067.59 | Stop loss: 2057.2325392857147 | Take profit: 2098.6331160714285 +2025-03-10 12:58:24,973 - INFO - CLOSED long at 2069.2 | PnL: 0.08% | $-0.04 +2025-03-10 12:58:24,974 - INFO - OPENED SHORT at 2069.2 | Stop loss: 2079.5655107142857 | Take profit: 2038.1327339285713 +2025-03-10 12:58:25,015 - INFO - CLOSED short at 2070.3 | PnL: -0.05% | $-0.28 +2025-03-10 12:58:25,015 - INFO - OPENED LONG at 2070.3 | Stop loss: 2059.9289892857146 | Take profit: 2101.383766071429 +2025-03-10 12:58:25,055 - INFO - CLOSED long at 2071.59 | PnL: 0.06% | $-0.07 +2025-03-10 12:58:25,098 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3269892857143 | Take profit: 2101.7897660714284 +2025-03-10 12:58:25,142 - INFO - CLOSED long at 2070.4 | PnL: -0.01% | $-0.21 +2025-03-10 12:58:25,143 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.771510714286 | Take profit: 2039.3147339285715 +2025-03-10 12:58:25,192 - INFO - CLOSED short at 2070.73 | PnL: -0.02% | $-0.21 +2025-03-10 12:58:25,193 - INFO - OPENED LONG at 2070.73 | Stop loss: 2060.356839285714 | Take profit: 2101.8202160714286 +2025-03-10 12:58:25,234 - INFO - CLOSED long at 2068.5 | PnL: -0.11% | $-0.37 +2025-03-10 12:58:25,278 - INFO - OPENED SHORT at 2068.69 | Stop loss: 2079.0529607142857 | Take profit: 2037.6303839285715 +2025-03-10 12:58:25,324 - INFO - CLOSED short at 2067.84 | PnL: 0.04% | $-0.11 +2025-03-10 12:58:25,325 - INFO - OPENED LONG at 2067.84 | Stop loss: 2057.4812892857144 | Take profit: 2098.886866071429 +2025-03-10 12:58:25,457 - INFO - CLOSED long at 2066.4 | PnL: -0.07% | $-0.30 +2025-03-10 12:58:25,458 - INFO - OPENED SHORT at 2066.4 | Stop loss: 2076.751510714286 | Take profit: 2035.3747339285715 +2025-03-10 12:58:25,541 - INFO - CLOSED short at 2065.28 | PnL: 0.05% | $-0.08 +2025-03-10 12:58:25,582 - INFO - OPENED SHORT at 2066.39 | Stop loss: 2076.7414607142855 | Take profit: 2035.3648839285713 +2025-03-10 12:58:25,629 - INFO - CLOSED short at 2064.47 | PnL: 0.09% | $-0.01 +2025-03-10 12:58:25,676 - INFO - OPENED LONG at 2070.04 | Stop loss: 2059.6702892857143 | Take profit: 2101.1198660714285 +2025-03-10 12:58:25,804 - INFO - CLOSED long at 2065.69 | PnL: -0.21% | $-0.55 +2025-03-10 12:58:25,846 - INFO - OPENED LONG at 2067.88 | Stop loss: 2057.5210892857144 | Take profit: 2098.9274660714286 +2025-03-10 12:58:25,976 - INFO - CLOSED long at 2066.15 | PnL: -0.08% | $-0.32 +2025-03-10 12:58:26,024 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.6058107142862 | Take profit: 2034.2518339285716 +2025-03-10 12:58:26,112 - INFO - CLOSED short at 2062.65 | PnL: 0.13% | $0.05 +2025-03-10 12:58:26,112 - INFO - OPENED LONG at 2062.65 | Stop loss: 2052.3172392857145 | Take profit: 2093.6190160714286 +2025-03-10 12:58:26,204 - INFO - CLOSED long at 2059.59 | PnL: -0.15% | $-0.44 +2025-03-10 12:58:26,246 - INFO - OPENED LONG at 2061.3 | Stop loss: 2050.9739892857147 | Take profit: 2092.2487660714287 +2025-03-10 12:58:26,379 - INFO - CLOSED long at 2066.24 | PnL: 0.24% | $0.24 +2025-03-10 12:58:26,380 - INFO - OPENED SHORT at 2066.24 | Stop loss: 2076.5907107142853 | Take profit: 2035.2171339285712 +2025-03-10 12:58:26,562 - INFO - CLOSED short at 2064.45 | PnL: 0.09% | $-0.02 +2025-03-10 12:58:26,649 - INFO - OPENED LONG at 2062.71 | Stop loss: 2052.3769392857143 | Take profit: 2093.6799160714286 +2025-03-10 12:58:26,695 - INFO - CLOSED long at 2062.89 | PnL: 0.01% | $-0.16 +2025-03-10 12:58:26,696 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.2239607142856 | Take profit: 2031.9173839285713 +2025-03-10 12:58:26,741 - INFO - CLOSED short at 2064.5 | PnL: -0.08% | $-0.31 +2025-03-10 12:58:26,741 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.1579892857144 | Take profit: 2095.4967660714287 +2025-03-10 12:58:26,788 - INFO - CLOSED long at 2063.5 | PnL: -0.05% | $-0.26 +2025-03-10 12:58:26,833 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.272489285714 | Take profit: 2092.5532660714284 +2025-03-10 12:58:26,929 - INFO - CLOSED long at 2060.65 | PnL: -0.05% | $-0.25 +2025-03-10 12:58:26,974 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.2039607142856 | Take profit: 2027.9773839285715 +2025-03-10 12:58:27,017 - INFO - CLOSED short at 2059.3 | PnL: -0.02% | $-0.21 +2025-03-10 12:58:27,017 - INFO - OPENED LONG at 2059.3 | Stop loss: 2048.9839892857144 | Take profit: 2090.2187660714285 +2025-03-10 12:58:27,112 - INFO - CLOSED long at 2061.8 | PnL: 0.12% | $0.04 +2025-03-10 12:58:27,112 - INFO - OPENED SHORT at 2061.8 | Stop loss: 2072.1285107142858 | Take profit: 2030.8437339285715 +2025-03-10 12:58:27,251 - INFO - CLOSED short at 2060.91 | PnL: 0.04% | $-0.10 +2025-03-10 12:58:27,252 - INFO - OPENED LONG at 2060.91 | Stop loss: 2050.585939285714 | Take profit: 2091.8529160714284 +2025-03-10 12:58:27,435 - INFO - CLOSED long at 2064.1 | PnL: 0.15% | $0.09 +2025-03-10 12:58:27,484 - INFO - OPENED LONG at 2065.36 | Stop loss: 2055.0136892857145 | Take profit: 2096.3696660714286 +2025-03-10 12:58:27,529 - INFO - CLOSED long at 2064.33 | PnL: -0.05% | $-0.26 +2025-03-10 12:58:27,530 - INFO - OPENED SHORT at 2064.33 | Stop loss: 2074.6711607142856 | Take profit: 2033.3357839285713 +2025-03-10 12:58:27,580 - INFO - CLOSED short at 2063.39 | PnL: 0.05% | $-0.09 +2025-03-10 12:58:27,580 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.053539285714 | Take profit: 2094.3701160714286 +2025-03-10 12:58:27,766 - INFO - CLOSED long at 2063.0 | PnL: -0.02% | $-0.20 +2025-03-10 12:58:27,766 - INFO - OPENED SHORT at 2063.0 | Stop loss: 2073.334510714286 | Take profit: 2032.0257339285715 +2025-03-10 12:58:28,080 - INFO - CLOSED short at 2059.16 | PnL: 0.19% | $0.15 +2025-03-10 12:58:28,080 - INFO - OPENED LONG at 2059.16 | Stop loss: 2048.844689285714 | Take profit: 2090.0766660714285 +2025-03-10 12:58:28,180 - INFO - CLOSED long at 2058.89 | PnL: -0.01% | $-0.19 +2025-03-10 12:58:28,180 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.2039607142856 | Take profit: 2027.9773839285715 +2025-03-10 12:58:28,229 - INFO - CLOSED short at 2059.96 | PnL: -0.05% | $-0.26 +2025-03-10 12:58:28,230 - INFO - OPENED LONG at 2059.96 | Stop loss: 2049.6406892857144 | Take profit: 2090.888666071429 +2025-03-10 12:58:28,346 - INFO - CLOSED long at 2057.4 | PnL: -0.12% | $-0.38 +2025-03-10 12:58:28,402 - INFO - OPENED LONG at 2058.28 | Stop loss: 2047.9690892857145 | Take profit: 2089.183466071429 +2025-03-10 12:58:28,449 - INFO - CLOSED long at 2056.28 | PnL: -0.10% | $-0.34 +2025-03-10 12:58:28,450 - INFO - OPENED SHORT at 2056.28 | Stop loss: 2066.580910714286 | Take profit: 2025.4065339285717 +2025-03-10 12:58:28,500 - INFO - CLOSED short at 2055.6 | PnL: 0.03% | $-0.11 +2025-03-10 12:58:28,558 - INFO - OPENED LONG at 2054.89 | Stop loss: 2044.5960392857144 | Take profit: 2085.7426160714285 +2025-03-10 12:58:28,605 - INFO - CLOSED long at 2054.83 | PnL: -0.00% | $-0.17 +2025-03-10 12:58:28,606 - INFO - OPENED SHORT at 2054.83 | Stop loss: 2065.1236607142855 | Take profit: 2023.9782839285713 +2025-03-10 12:58:28,660 - INFO - CLOSED short at 2056.71 | PnL: -0.09% | $-0.32 +2025-03-10 12:58:28,660 - INFO - OPENED LONG at 2056.71 | Stop loss: 2046.4069392857143 | Take profit: 2087.5899160714284 +2025-03-10 12:58:28,708 - INFO - CLOSED long at 2058.15 | PnL: 0.07% | $-0.05 +2025-03-10 12:58:28,806 - INFO - OPENED SHORT at 2061.66 | Stop loss: 2071.9878107142854 | Take profit: 2030.7058339285713 +2025-03-10 12:58:28,860 - INFO - CLOSED short at 2061.5 | PnL: 0.01% | $-0.16 +2025-03-10 12:58:28,861 - INFO - OPENED LONG at 2061.5 | Stop loss: 2051.1729892857143 | Take profit: 2092.4517660714287 +2025-03-10 12:58:28,905 - INFO - CLOSED long at 2061.6 | PnL: 0.00% | $-0.16 +2025-03-10 12:58:28,951 - INFO - OPENED LONG at 2061.3 | Stop loss: 2050.9739892857147 | Take profit: 2092.2487660714287 +2025-03-10 12:58:29,085 - INFO - CLOSED long at 2066.36 | PnL: 0.25% | $0.24 +2025-03-10 12:58:29,086 - INFO - OPENED SHORT at 2066.36 | Stop loss: 2076.711310714286 | Take profit: 2035.3353339285716 +2025-03-10 12:58:29,129 - INFO - CLOSED short at 2066.01 | PnL: 0.02% | $-0.14 +2025-03-10 12:58:29,178 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.560989285714 | Take profit: 2094.8877660714284 +2025-03-10 12:58:29,274 - INFO - CLOSED long at 2066.33 | PnL: 0.12% | $0.03 +2025-03-10 12:58:29,322 - INFO - OPENED LONG at 2066.34 | Stop loss: 2055.9887892857146 | Take profit: 2097.364366071429 +2025-03-10 12:58:29,553 - INFO - CLOSED long at 2069.79 | PnL: 0.17% | $0.11 +2025-03-10 12:58:29,554 - INFO - OPENED SHORT at 2069.79 | Stop loss: 2080.158460714286 | Take profit: 2038.7138839285715 +2025-03-10 12:58:29,605 - INFO - CLOSED short at 2072.0 | PnL: -0.11% | $-0.35 +2025-03-10 12:58:29,605 - INFO - OPENED LONG at 2072.0 | Stop loss: 2061.620489285714 | Take profit: 2103.1092660714285 +2025-03-10 12:58:29,847 - INFO - CLOSED long at 2071.04 | PnL: -0.05% | $-0.25 +2025-03-10 12:58:29,848 - INFO - OPENED SHORT at 2071.04 | Stop loss: 2081.414710714286 | Take profit: 2039.9451339285715 +2025-03-10 12:58:29,899 - INFO - CLOSED short at 2070.01 | PnL: 0.05% | $-0.08 +2025-03-10 12:58:29,899 - INFO - OPENED LONG at 2070.01 | Stop loss: 2059.640439285715 | Take profit: 2101.089416071429 +2025-03-10 12:58:29,943 - INFO - CLOSED long at 2071.6 | PnL: 0.08% | $-0.04 +2025-03-10 12:58:30,075 - INFO - OPENED LONG at 2068.15 | Stop loss: 2057.7897392857144 | Take profit: 2099.2015160714286 +2025-03-10 12:58:30,117 - INFO - CLOSED long at 2068.39 | PnL: 0.01% | $-0.15 +2025-03-10 13:02:30,047 - INFO - Using GPU: NVIDIA GeForce RTX 4060 Laptop GPU +2025-03-10 13:02:30,068 - INFO - Exchange initialized with standard CCXT: mexc +2025-03-10 13:02:30,069 - INFO - Fetching initial data for ETH/USDT +2025-03-10 13:02:33,841 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 13:02:33,857 - INFO - Initialized environment with 500 candles +2025-03-10 13:02:36,337 - INFO - Starting training for 1000 episodes... +2025-03-10 13:02:36,337 - INFO - Starting training on device: cuda +2025-03-10 13:02:36,368 - INFO - Identified 25 optimal buy points and 28 optimal sell points +2025-03-10 13:02:36,635 - INFO - OPENED SHORT at 2050.44 | Stop loss: 2060.710857142857 | Take profit: 2019.6554142857142 +2025-03-10 13:02:36,636 - INFO - CLOSED short at 2049.49 | PnL: 0.05% | $-0.11 +2025-03-10 13:02:36,637 - INFO - OPENED LONG at 2049.49 | Stop loss: 2039.2238928571428 | Take profit: 2080.2603357142852 +2025-03-10 13:02:36,638 - INFO - CLOSED long at 2049.24 | PnL: -0.01% | $-0.22 +2025-03-10 13:02:36,638 - INFO - OPENED SHORT at 2049.24 | Stop loss: 2059.504857142857 | Take profit: 2018.473414285714 +2025-03-10 13:02:36,639 - INFO - CLOSED short at 2048.48 | PnL: 0.04% | $-0.12 +2025-03-10 13:02:36,639 - INFO - OPENED LONG at 2048.48 | Stop loss: 2038.2189428571428 | Take profit: 2079.2351857142858 +2025-03-10 13:02:36,640 - INFO - CLOSED long at 2046.58 | PnL: -0.09% | $-0.38 +2025-03-10 13:02:36,640 - INFO - OPENED SHORT at 2047.4 | Stop loss: 2057.6556571428573 | Take profit: 2016.6610142857144 +2025-03-10 13:02:36,640 - INFO - CLOSED short at 2047.2 | PnL: 0.01% | $-0.18 +2025-03-10 13:02:36,641 - INFO - OPENED SHORT at 2045.99 | Stop loss: 2056.2386071428573 | Take profit: 2015.2721642857143 +2025-03-10 13:02:36,642 - INFO - CLOSED short at 2045.99 | PnL: 0.00% | $-0.20 +2025-03-10 13:02:36,642 - INFO - OPENED SHORT at 2045.79 | Stop loss: 2056.0376071428573 | Take profit: 2015.0751642857144 +2025-03-10 13:02:36,643 - INFO - CLOSED short at 2048.51 | PnL: -0.13% | $-0.46 +2025-03-10 13:02:36,643 - INFO - OPENED LONG at 2048.51 | Stop loss: 2038.2487928571431 | Take profit: 2079.265635714286 +2025-03-10 13:02:36,643 - INFO - CLOSED long at 2050.24 | PnL: 0.08% | $-0.03 +2025-03-10 13:02:36,645 - INFO - OPENED SHORT at 2049.89 | Stop loss: 2060.158107142857 | Take profit: 2019.1136642857143 +2025-03-10 13:02:36,646 - INFO - CLOSED short at 2051.11 | PnL: -0.06% | $-0.31 +2025-03-10 13:02:36,646 - INFO - OPENED LONG at 2051.11 | Stop loss: 2040.835792857143 | Take profit: 2081.9046357142856 +2025-03-10 13:02:36,648 - INFO - CLOSED long at 2056.89 | PnL: 0.28% | $0.35 +2025-03-10 13:02:36,648 - INFO - OPENED LONG at 2058.39 | Stop loss: 2048.0793928571425 | Take profit: 2089.2938357142857 +2025-03-10 13:02:36,649 - INFO - CLOSED long at 2060.13 | PnL: 0.08% | $-0.03 +2025-03-10 13:02:36,649 - INFO - OPENED LONG at 2059.7 | Stop loss: 2049.382842857143 | Take profit: 2090.6234857142854 +2025-03-10 13:02:36,650 - INFO - CLOSED long at 2061.49 | PnL: 0.09% | $-0.03 +2025-03-10 13:02:36,650 - INFO - OPENED SHORT at 2061.49 | Stop loss: 2071.8161071428567 | Take profit: 2030.539664285714 +2025-03-10 13:02:36,651 - INFO - CLOSED short at 2063.29 | PnL: -0.09% | $-0.36 +2025-03-10 13:02:36,652 - INFO - OPENED LONG at 2064.69 | Stop loss: 2054.347892857143 | Take profit: 2095.6883357142856 +2025-03-10 13:02:36,652 - INFO - CLOSED long at 2060.99 | PnL: -0.18% | $-0.54 +2025-03-10 13:02:36,652 - INFO - OPENED SHORT at 2060.99 | Stop loss: 2071.313607142857 | Take profit: 2030.047164285714 +2025-03-10 13:02:36,653 - INFO - CLOSED short at 2060.0 | PnL: 0.05% | $-0.10 +2025-03-10 13:02:36,654 - INFO - OPENED LONG at 2060.0 | Stop loss: 2049.681342857143 | Take profit: 2090.9279857142856 +2025-03-10 13:02:36,654 - INFO - CLOSED long at 2061.89 | PnL: 0.09% | $-0.02 +2025-03-10 13:02:36,655 - INFO - OPENED SHORT at 2061.89 | Stop loss: 2072.218107142857 | Take profit: 2030.9336642857143 +2025-03-10 13:02:36,656 - INFO - CLOSED short at 2059.49 | PnL: 0.12% | $0.03 +2025-03-10 13:02:36,656 - INFO - OPENED LONG at 2059.49 | Stop loss: 2049.1738928571426 | Take profit: 2090.4103357142853 +2025-03-10 13:02:36,657 - INFO - CLOSED long at 2057.8 | PnL: -0.08% | $-0.35 +2025-03-10 13:02:36,657 - INFO - OPENED LONG at 2057.89 | Stop loss: 2047.5818928571427 | Take profit: 2088.786335714286 +2025-03-10 13:02:36,658 - INFO - CLOSED long at 2057.94 | PnL: 0.00% | $-0.19 +2025-03-10 13:02:36,658 - INFO - OPENED SHORT at 2064.32 | Stop loss: 2074.660257142857 | Take profit: 2033.3272142857143 +2025-03-10 13:02:36,659 - INFO - CLOSED short at 2065.86 | PnL: -0.07% | $-0.33 +2025-03-10 13:02:36,660 - INFO - OPENED SHORT at 2070.58 | Stop loss: 2080.951557142857 | Take profit: 2039.4933142857142 +2025-03-10 13:02:36,660 - INFO - CLOSED short at 2068.11 | PnL: 0.12% | $0.04 +2025-03-10 13:02:36,661 - INFO - OPENED LONG at 2068.29 | Stop loss: 2057.929892857143 | Take profit: 2099.3423357142856 +2025-03-10 13:02:36,661 - INFO - CLOSED long at 2067.89 | PnL: -0.02% | $-0.23 +2025-03-10 13:02:36,662 - INFO - OPENED SHORT at 2067.89 | Stop loss: 2078.248107142857 | Take profit: 2036.843664285714 +2025-03-10 13:02:36,663 - INFO - CLOSED short at 2068.99 | PnL: -0.05% | $-0.29 +2025-03-10 13:02:36,664 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.2581571428573 | Take profit: 2036.8535142857145 +2025-03-10 13:02:36,664 - INFO - CLOSED short at 2067.69 | PnL: 0.01% | $-0.17 +2025-03-10 13:02:36,667 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,669 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,672 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,673 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,673 - INFO - OPENED SHORT at 2071.44 | Stop loss: 2081.815857142857 | Take profit: 2040.3404142857144 +2025-03-10 13:02:36,674 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,675 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,677 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,678 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,679 - INFO - CLOSED short at 2075.1 | PnL: -0.18% | $-0.53 +2025-03-10 13:02:36,679 - INFO - OPENED LONG at 2075.1 | Stop loss: 2064.7058428571427 | Take profit: 2106.2544857142857 +2025-03-10 13:02:36,681 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,681 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,682 - INFO - CLOSED long at 2072.91 | PnL: -0.11% | $-0.39 +2025-03-10 13:02:36,684 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,685 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,685 - INFO - OPENED LONG at 2072.33 | Stop loss: 2061.949692857143 | Take profit: 2103.442935714286 +2025-03-10 13:02:36,686 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,687 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,688 - INFO - CLOSED long at 2071.38 | PnL: -0.05% | $-0.27 +2025-03-10 13:02:36,688 - INFO - OPENED SHORT at 2071.38 | Stop loss: 2081.7555571428575 | Take profit: 2040.2813142857144 +2025-03-10 13:02:36,689 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,691 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,692 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,693 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,694 - INFO - CLOSED short at 2069.37 | PnL: 0.10% | $-0.01 +2025-03-10 13:02:36,694 - INFO - OPENED LONG at 2069.37 | Stop loss: 2059.004492857143 | Take profit: 2100.4385357142855 +2025-03-10 13:02:36,695 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,696 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,696 - INFO - CLOSED long at 2070.9 | PnL: 0.07% | $-0.05 +2025-03-10 13:02:36,696 - INFO - OPENED SHORT at 2070.9 | Stop loss: 2081.273157142857 | Take profit: 2039.8085142857144 +2025-03-10 13:02:36,697 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,698 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,699 - INFO - CLOSED short at 2072.8 | PnL: -0.09% | $-0.36 +2025-03-10 13:02:36,699 - INFO - OPENED LONG at 2072.8 | Stop loss: 2062.417342857143 | Take profit: 2103.919985714286 +2025-03-10 13:02:36,700 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,701 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,701 - INFO - CLOSED long at 2070.79 | PnL: -0.10% | $-0.37 +2025-03-10 13:02:36,703 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,704 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,706 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,707 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,707 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.3787571428575 | Take profit: 2036.9717142857144 +2025-03-10 13:02:36,709 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,709 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,710 - INFO - CLOSED short at 2067.2 | PnL: 0.04% | $-0.11 +2025-03-10 13:02:36,710 - INFO - OPENED LONG at 2067.2 | Stop loss: 2056.8453428571424 | Take profit: 2098.2359857142856 +2025-03-10 13:02:36,711 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,712 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,713 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,714 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,716 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,716 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,717 - INFO - CLOSED long at 2070.7 | PnL: 0.17% | $0.13 +2025-03-10 13:02:36,717 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.072157142857 | Take profit: 2039.611514285714 +2025-03-10 13:02:36,719 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,720 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,721 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,722 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,723 - INFO - CLOSED short at 2069.19 | PnL: 0.07% | $-0.05 +2025-03-10 13:02:36,723 - INFO - OPENED LONG at 2069.19 | Stop loss: 2058.825392857143 | Take profit: 2100.2558357142857 +2025-03-10 13:02:36,724 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,725 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,727 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,728 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,729 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,731 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,732 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,733 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,734 - INFO - CLOSED long at 2069.01 | PnL: -0.01% | $-0.20 +2025-03-10 13:02:36,735 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,735 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,737 - INFO - OPENED SHORT at 2066.39 | Stop loss: 2076.7406071428572 | Take profit: 2035.3661642857141 +2025-03-10 13:02:36,738 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,740 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,740 - INFO - CLOSED short at 2065.99 | PnL: 0.02% | $-0.15 +2025-03-10 13:02:36,740 - INFO - OPENED LONG at 2065.99 | Stop loss: 2055.6413928571424 | Take profit: 2097.0078357142856 +2025-03-10 13:02:36,741 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,742 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,743 - INFO - CLOSED long at 2066.19 | PnL: 0.01% | $-0.17 +2025-03-10 13:02:36,743 - INFO - OPENED SHORT at 2066.19 | Stop loss: 2076.539607142857 | Take profit: 2035.1691642857143 +2025-03-10 13:02:36,744 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,746 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,746 - INFO - CLOSED short at 2066.29 | PnL: -0.00% | $-0.19 +2025-03-10 13:02:36,746 - INFO - OPENED LONG at 2066.29 | Stop loss: 2055.9398928571427 | Take profit: 2097.3123357142854 +2025-03-10 13:02:36,747 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,749 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,749 - INFO - CLOSED long at 2065.08 | PnL: -0.06% | $-0.29 +2025-03-10 13:02:36,750 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,751 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,752 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,753 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,754 - INFO - OPENED LONG at 2068.76 | Stop loss: 2058.397542857143 | Take profit: 2099.819385714286 +2025-03-10 13:02:36,755 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,755 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,757 - INFO - CLOSED long at 2068.9 | PnL: 0.01% | $-0.17 +2025-03-10 13:02:36,757 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.263157142857 | Take profit: 2037.8385142857144 +2025-03-10 13:02:36,758 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,758 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,760 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,761 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,762 - INFO - CLOSED short at 2068.59 | PnL: 0.01% | $-0.16 +2025-03-10 13:02:36,763 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,763 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,764 - INFO - OPENED LONG at 2069.7 | Stop loss: 2059.3328428571426 | Take profit: 2100.7734857142855 +2025-03-10 13:02:36,764 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,766 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,767 - INFO - CLOSED long at 2070.4 | PnL: 0.03% | $-0.12 +2025-03-10 13:02:36,768 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,769 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,771 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,771 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,773 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,774 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,776 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,777 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,777 - INFO - OPENED SHORT at 2071.36 | Stop loss: 2081.7354571428573 | Take profit: 2040.2616142857146 +2025-03-10 13:02:36,779 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,780 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,810 - INFO - CLOSED short at 2072.75 | PnL: -0.07% | $-0.31 +2025-03-10 13:02:36,811 - INFO - OPENED LONG at 2072.75 | Stop loss: 2062.367592857143 | Take profit: 2103.869235714286 +2025-03-10 13:02:36,812 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,814 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,814 - INFO - CLOSED long at 2073.11 | PnL: 0.02% | $-0.15 +2025-03-10 13:02:36,815 - INFO - OPENED SHORT at 2073.11 | Stop loss: 2083.4942071428572 | Take profit: 2041.9853642857142 +2025-03-10 13:02:36,816 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,817 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,818 - INFO - CLOSED short at 2072.7 | PnL: 0.02% | $-0.15 +2025-03-10 13:02:36,818 - INFO - OPENED LONG at 2072.7 | Stop loss: 2062.3178428571428 | Take profit: 2103.8184857142855 +2025-03-10 13:02:36,819 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,819 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,820 - INFO - CLOSED long at 2072.15 | PnL: -0.03% | $-0.23 +2025-03-10 13:02:36,822 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,823 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,825 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,825 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,827 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,828 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,829 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,830 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,831 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,832 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,833 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,834 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,835 - INFO - OPENED SHORT at 2069.46 | Stop loss: 2079.825957142857 | Take profit: 2038.3901142857142 +2025-03-10 13:02:36,836 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,837 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,838 - INFO - CLOSED short at 2069.35 | PnL: 0.01% | $-0.17 +2025-03-10 13:02:36,838 - INFO - OPENED LONG at 2069.35 | Stop loss: 2058.984592857143 | Take profit: 2100.418235714286 +2025-03-10 13:02:36,839 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,840 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,842 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,844 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,844 - INFO - CLOSED long at 2067.0 | PnL: -0.11% | $-0.39 +2025-03-10 13:02:36,845 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,846 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,847 - INFO - OPENED LONG at 2067.79 | Stop loss: 2057.4323928571425 | Take profit: 2098.834835714286 +2025-03-10 13:02:36,848 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,850 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,850 - INFO - CLOSED long at 2067.46 | PnL: -0.02% | $-0.21 +2025-03-10 13:02:36,850 - INFO - OPENED SHORT at 2067.46 | Stop loss: 2077.815957142857 | Take profit: 2036.4201142857144 +2025-03-10 13:02:36,851 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,852 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,853 - INFO - CLOSED short at 2066.8 | PnL: 0.03% | $-0.12 +2025-03-10 13:02:36,854 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,855 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,856 - INFO - OPENED LONG at 2065.49 | Stop loss: 2055.143892857143 | Take profit: 2096.5003357142855 +2025-03-10 13:02:36,856 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,858 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,860 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,861 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,861 - INFO - CLOSED long at 2065.26 | PnL: -0.01% | $-0.20 +2025-03-10 13:02:36,861 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.6049571428575 | Take profit: 2034.2531142857144 +2025-03-10 13:02:36,863 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,863 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,863 - INFO - CLOSED short at 2067.89 | PnL: -0.13% | $-0.41 +2025-03-10 13:02:36,865 - INFO - OPENED LONG at 2067.89 | Stop loss: 2057.531892857143 | Take profit: 2098.9363357142856 +2025-03-10 13:02:36,866 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,867 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,868 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,870 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,871 - INFO - CLOSED long at 2068.8 | PnL: 0.04% | $-0.10 +2025-03-10 13:02:36,872 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,873 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,875 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,875 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,876 - INFO - OPENED LONG at 2067.86 | Stop loss: 2057.502042857143 | Take profit: 2098.905885714286 +2025-03-10 13:02:36,877 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,878 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,878 - INFO - CLOSED long at 2067.59 | PnL: -0.01% | $-0.20 +2025-03-10 13:02:36,879 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,880 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,880 - INFO - OPENED SHORT at 2069.2 | Stop loss: 2079.564657142857 | Take profit: 2038.134014285714 +2025-03-10 13:02:36,882 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,883 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,884 - INFO - CLOSED short at 2070.3 | PnL: -0.05% | $-0.27 +2025-03-10 13:02:36,885 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,886 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,886 - INFO - OPENED SHORT at 2071.59 | Stop loss: 2081.9666071428574 | Take profit: 2040.4881642857144 +2025-03-10 13:02:36,887 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,888 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,889 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,890 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,891 - INFO - CLOSED short at 2070.4 | PnL: 0.06% | $-0.08 +2025-03-10 13:02:36,891 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.029342857143 | Take profit: 2101.4839857142856 +2025-03-10 13:02:36,893 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,894 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,894 - INFO - CLOSED long at 2070.73 | PnL: 0.02% | $-0.15 +2025-03-10 13:02:36,896 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,896 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,897 - INFO - OPENED LONG at 2068.5 | Stop loss: 2058.1388428571427 | Take profit: 2099.5554857142856 +2025-03-10 13:02:36,898 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,899 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,900 - INFO - CLOSED long at 2068.69 | PnL: 0.01% | $-0.16 +2025-03-10 13:02:36,901 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,902 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,902 - INFO - OPENED LONG at 2067.84 | Stop loss: 2057.482142857143 | Take profit: 2098.8855857142858 +2025-03-10 13:02:36,904 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,904 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,906 - INFO - CLOSED long at 2067.11 | PnL: -0.04% | $-0.24 +2025-03-10 13:02:36,907 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,908 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,909 - INFO - OPENED LONG at 2067.86 | Stop loss: 2057.502042857143 | Take profit: 2098.905885714286 +2025-03-10 13:02:36,910 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,911 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,912 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,913 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,915 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,916 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,917 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,918 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,918 - INFO - CLOSED long at 2066.39 | PnL: -0.07% | $-0.30 +2025-03-10 13:02:36,919 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,920 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,921 - INFO - OPENED LONG at 2064.47 | Stop loss: 2054.1289928571427 | Take profit: 2095.4650357142855 +2025-03-10 13:02:36,923 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,923 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,924 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,926 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,926 - INFO - CLOSED long at 2067.8 | PnL: 0.16% | $0.11 +2025-03-10 13:02:36,926 - INFO - OPENED SHORT at 2067.8 | Stop loss: 2078.1576571428573 | Take profit: 2036.7550142857144 +2025-03-10 13:02:36,928 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,929 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,930 - INFO - CLOSED short at 2068.18 | PnL: -0.02% | $-0.21 +2025-03-10 13:02:36,931 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,932 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,932 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.037107142857 | Take profit: 2034.6766642857144 +2025-03-10 13:02:36,933 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,934 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,935 - INFO - CLOSED short at 2067.88 | PnL: -0.11% | $-0.36 +2025-03-10 13:02:36,935 - INFO - OPENED LONG at 2067.88 | Stop loss: 2057.521942857143 | Take profit: 2098.9261857142856 +2025-03-10 13:02:36,936 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,937 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,938 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,939 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,940 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,941 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,942 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,943 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,945 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,946 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,946 - INFO - CLOSED long at 2062.89 | PnL: -0.24% | $-0.60 +2025-03-10 13:02:36,946 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.223107142857 | Take profit: 2031.9186642857142 +2025-03-10 13:02:36,947 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,948 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,949 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,951 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,952 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,952 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,954 - INFO - CLOSED short at 2059.59 | PnL: 0.16% | $0.10 +2025-03-10 13:02:36,955 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,956 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,957 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,959 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,960 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,960 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,961 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,963 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,964 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,965 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,966 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,968 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,969 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,970 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,971 - INFO - OPENED SHORT at 2066.09 | Stop loss: 2076.439107142857 | Take profit: 2035.0706642857144 +2025-03-10 13:02:36,972 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,973 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,974 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,976 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,976 - INFO - CLOSED short at 2064.08 | PnL: 0.10% | $-0.00 +2025-03-10 13:02:36,977 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,978 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,979 - INFO - OPENED SHORT at 2062.71 | Stop loss: 2073.0422071428575 | Take profit: 2031.7413642857143 +2025-03-10 13:02:36,980 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,981 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,982 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,983 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,983 - INFO - CLOSED short at 2064.5 | PnL: -0.09% | $-0.32 +2025-03-10 13:02:36,983 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.1588428571426 | Take profit: 2095.4954857142857 +2025-03-10 13:02:36,985 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,986 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,987 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,988 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,990 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,991 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,992 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,993 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,994 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,995 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,996 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,997 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,998 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:36,999 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:36,999 - INFO - CLOSED long at 2060.31 | PnL: -0.20% | $-0.52 +2025-03-10 13:02:37,000 - INFO - OPENED SHORT at 2060.31 | Stop loss: 2070.630207142857 | Take profit: 2029.377364285714 +2025-03-10 13:02:37,001 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,002 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,003 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,004 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,004 - INFO - CLOSED short at 2064.7 | PnL: -0.21% | $-0.54 +2025-03-10 13:02:37,005 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,006 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,007 - INFO - OPENED LONG at 2062.61 | Stop loss: 2052.278292857143 | Take profit: 2093.577135714286 +2025-03-10 13:02:37,008 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,010 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,011 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,012 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,012 - INFO - CLOSED long at 2060.3 | PnL: -0.11% | $-0.36 +2025-03-10 13:02:37,014 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,014 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,015 - INFO - OPENED LONG at 2061.13 | Stop loss: 2050.805692857143 | Take profit: 2092.074935714286 +2025-03-10 13:02:37,016 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,017 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,017 - INFO - CLOSED long at 2061.9 | PnL: 0.04% | $-0.11 +2025-03-10 13:02:37,020 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,021 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,023 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,023 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,024 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,025 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,026 - INFO - OPENED SHORT at 2064.33 | Stop loss: 2074.6703071428574 | Take profit: 2033.3370642857142 +2025-03-10 13:02:37,027 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,028 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,029 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,030 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,031 - INFO - CLOSED short at 2064.79 | PnL: -0.02% | $-0.21 +2025-03-10 13:02:37,031 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,032 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,034 - INFO - OPENED LONG at 2065.89 | Stop loss: 2055.5418928571426 | Take profit: 2096.906335714286 +2025-03-10 13:02:37,035 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,036 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,037 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,038 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,039 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,040 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,040 - INFO - CLOSED long at 2062.6 | PnL: -0.16% | $-0.44 +2025-03-10 13:02:37,041 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,043 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,043 - INFO - OPENED SHORT at 2061.89 | Stop loss: 2072.218107142857 | Take profit: 2030.9336642857143 +2025-03-10 13:02:37,045 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,045 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,046 - INFO - CLOSED short at 2061.7 | PnL: 0.01% | $-0.15 +2025-03-10 13:02:37,046 - INFO - OPENED LONG at 2061.7 | Stop loss: 2051.3728428571426 | Take profit: 2092.6534857142856 +2025-03-10 13:02:37,047 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,048 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,048 - INFO - CLOSED long at 2060.7 | PnL: -0.05% | $-0.25 +2025-03-10 13:02:37,048 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,050 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,051 - INFO - OPENED SHORT at 2061.09 | Stop loss: 2071.414107142857 | Take profit: 2030.1456642857145 +2025-03-10 13:02:37,052 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,053 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,054 - INFO - CLOSED short at 2059.61 | PnL: 0.07% | $-0.05 +2025-03-10 13:02:37,054 - INFO - OPENED LONG at 2059.61 | Stop loss: 2049.2932928571427 | Take profit: 2090.5321357142857 +2025-03-10 13:02:37,055 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,056 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,057 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,058 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,059 - INFO - CLOSED long at 2059.02 | PnL: -0.03% | $-0.22 +2025-03-10 13:02:37,059 - INFO - OPENED SHORT at 2059.02 | Stop loss: 2069.3337571428574 | Take profit: 2028.1067142857144 +2025-03-10 13:02:37,060 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,061 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,062 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,063 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,063 - INFO - CLOSED short at 2059.96 | PnL: -0.05% | $-0.24 +2025-03-10 13:02:37,065 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,066 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,068 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,069 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,069 - INFO - OPENED LONG at 2057.4 | Stop loss: 2047.0943428571431 | Take profit: 2088.2889857142854 +2025-03-10 13:02:37,070 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,071 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,072 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,073 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,074 - INFO - CLOSED long at 2056.28 | PnL: -0.05% | $-0.26 +2025-03-10 13:02:37,074 - INFO - OPENED SHORT at 2056.28 | Stop loss: 2066.5800571428576 | Take profit: 2025.4078142857145 +2025-03-10 13:02:37,075 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,076 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,076 - INFO - CLOSED short at 2055.6 | PnL: 0.03% | $-0.11 +2025-03-10 13:02:37,077 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,079 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,081 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,081 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,083 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,084 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,085 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,087 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,087 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,088 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,090 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,090 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,093 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,094 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,094 - INFO - OPENED LONG at 2061.5 | Stop loss: 2051.173842857143 | Take profit: 2092.4504857142856 +2025-03-10 13:02:37,095 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,097 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,097 - INFO - CLOSED long at 2061.6 | PnL: 0.00% | $-0.16 +2025-03-10 13:02:37,098 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,099 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,100 - INFO - OPENED LONG at 2061.3 | Stop loss: 2050.974842857143 | Take profit: 2092.247485714286 +2025-03-10 13:02:37,101 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,102 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,103 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,104 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,105 - INFO - CLOSED long at 2063.4 | PnL: 0.10% | $0.00 +2025-03-10 13:02:37,105 - INFO - OPENED SHORT at 2063.4 | Stop loss: 2073.7356571428572 | Take profit: 2032.4210142857144 +2025-03-10 13:02:37,106 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,106 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,108 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,108 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,110 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,111 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,112 - INFO - CLOSED short at 2063.9 | PnL: -0.02% | $-0.21 +2025-03-10 13:02:37,112 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.561842857143 | Take profit: 2094.8864857142858 +2025-03-10 13:02:37,112 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,113 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,116 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,116 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,117 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,118 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,119 - INFO - CLOSED long at 2066.34 | PnL: 0.12% | $0.03 +2025-03-10 13:02:37,119 - INFO - OPENED SHORT at 2066.34 | Stop loss: 2076.690357142857 | Take profit: 2035.3169142857143 +2025-03-10 13:02:37,120 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,122 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,123 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,123 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,124 - INFO - CLOSED short at 2067.33 | PnL: -0.05% | $-0.24 +2025-03-10 13:02:37,124 - INFO - OPENED LONG at 2067.33 | Stop loss: 2056.974692857143 | Take profit: 2098.3679357142855 +2025-03-10 13:02:37,124 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,125 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,128 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,129 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,129 - INFO - CLOSED long at 2065.69 | PnL: -0.08% | $-0.30 +2025-03-10 13:02:37,129 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.037107142857 | Take profit: 2034.6766642857144 +2025-03-10 13:02:37,130 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,131 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,132 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,133 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,134 - INFO - CLOSED short at 2072.0 | PnL: -0.31% | $-0.67 +2025-03-10 13:02:37,134 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,137 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,138 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,139 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,140 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,141 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,141 - INFO - OPENED LONG at 2075.01 | Stop loss: 2064.616292857143 | Take profit: 2106.163135714286 +2025-03-10 13:02:37,143 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,145 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,146 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,147 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,147 - INFO - CLOSED long at 2071.04 | PnL: -0.19% | $-0.47 +2025-03-10 13:02:37,147 - INFO - OPENED SHORT at 2071.04 | Stop loss: 2081.413857142857 | Take profit: 2039.9464142857141 +2025-03-10 13:02:37,149 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,149 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,151 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,152 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,152 - INFO - CLOSED short at 2071.6 | PnL: -0.03% | $-0.21 +2025-03-10 13:02:37,153 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,154 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,160 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,161 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,162 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,162 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,163 - INFO - OPENED SHORT at 2068.15 | Stop loss: 2078.5094071428575 | Take profit: 2037.0997642857144 +2025-03-10 13:02:37,164 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,165 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,167 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,168 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,170 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,170 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,171 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,172 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,173 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,175 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,175 - INFO - CLOSED short at 2068.79 | PnL: -0.03% | $-0.21 +2025-03-10 13:02:37,176 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,177 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,177 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6063928571425 | Take profit: 2104.1128357142857 +2025-03-10 13:02:37,180 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,181 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,182 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,182 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,183 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,185 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,185 - INFO - CLOSED long at 2067.33 | PnL: -0.27% | $-0.60 +2025-03-10 13:02:37,185 - INFO - OPENED SHORT at 2067.33 | Stop loss: 2077.685307142857 | Take profit: 2036.292064285714 +2025-03-10 13:02:37,187 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,188 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,191 - INFO - CLOSED short at 2066.38 | PnL: 0.05% | $-0.09 +2025-03-10 13:02:37,192 - INFO - OPENED LONG at 2066.38 | Stop loss: 2056.029442857143 | Take profit: 2097.403685714286 +2025-03-10 13:02:37,192 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,194 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,194 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,196 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,201 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,202 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,203 - INFO - CLOSED long at 2063.95 | PnL: -0.12% | $-0.35 +2025-03-10 13:02:37,203 - INFO - OPENED SHORT at 2063.95 | Stop loss: 2074.288407142857 | Take profit: 2032.962764285714 +2025-03-10 13:02:37,204 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,205 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,206 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,207 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,208 - INFO - CLOSED short at 2064.5 | PnL: -0.03% | $-0.20 +2025-03-10 13:02:37,209 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,210 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,210 - INFO - OPENED LONG at 2065.3 | Stop loss: 2054.954842857143 | Take profit: 2096.307485714286 +2025-03-10 13:02:37,211 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,212 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,214 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,215 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,215 - INFO - CLOSED long at 2064.31 | PnL: -0.05% | $-0.23 +2025-03-10 13:02:37,216 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,218 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,218 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,219 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,220 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,221 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,222 - INFO - OPENED SHORT at 2065.29 | Stop loss: 2075.635107142857 | Take profit: 2034.2826642857144 +2025-03-10 13:02:37,223 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,224 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,225 - INFO - CLOSED short at 2065.31 | PnL: -0.00% | $-0.16 +2025-03-10 13:02:37,225 - INFO - OPENED LONG at 2065.31 | Stop loss: 2054.9647928571426 | Take profit: 2096.3176357142856 +2025-03-10 13:02:37,227 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,228 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,228 - INFO - CLOSED long at 2066.8 | PnL: 0.07% | $-0.04 +2025-03-10 13:02:37,229 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,230 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,231 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,232 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,233 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.228392857143 | Take profit: 2099.6468357142858 +2025-03-10 13:02:37,233 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,234 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,235 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,236 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,237 - INFO - CLOSED long at 2070.2 | PnL: 0.08% | $-0.03 +2025-03-10 13:02:37,238 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,239 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,240 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,241 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,243 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,245 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,245 - INFO - OPENED LONG at 2069.69 | Stop loss: 2059.322892857143 | Take profit: 2100.763335714286 +2025-03-10 13:02:37,246 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,247 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,247 - INFO - CLOSED long at 2070.7 | PnL: 0.05% | $-0.08 +2025-03-10 13:02:37,247 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.072157142857 | Take profit: 2039.611514285714 +2025-03-10 13:02:37,249 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,250 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,250 - INFO - CLOSED short at 2070.8 | PnL: -0.00% | $-0.17 +2025-03-10 13:02:37,252 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,253 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,253 - INFO - OPENED LONG at 2070.35 | Stop loss: 2059.979592857143 | Take profit: 2101.4332357142857 +2025-03-10 13:02:37,255 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,256 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,257 - INFO - CLOSED long at 2070.61 | PnL: 0.01% | $-0.14 +2025-03-10 13:02:37,257 - INFO - OPENED SHORT at 2070.61 | Stop loss: 2080.981707142857 | Take profit: 2039.5228642857146 +2025-03-10 13:02:37,258 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,258 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,259 - INFO - CLOSED short at 2071.99 | PnL: -0.07% | $-0.26 +2025-03-10 13:02:37,259 - INFO - OPENED LONG at 2071.99 | Stop loss: 2061.6113928571426 | Take profit: 2103.0978357142853 +2025-03-10 13:02:37,261 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,262 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,262 - INFO - CLOSED long at 2068.19 | PnL: -0.18% | $-0.44 +2025-03-10 13:02:37,264 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,265 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,265 - INFO - OPENED LONG at 2068.67 | Stop loss: 2058.307992857143 | Take profit: 2099.728035714286 +2025-03-10 13:02:37,266 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,267 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,268 - INFO - CLOSED long at 2070.67 | PnL: 0.10% | $-0.01 +2025-03-10 13:02:37,269 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,270 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,272 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,272 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,273 - INFO - OPENED SHORT at 2071.61 | Stop loss: 2081.986707142857 | Take profit: 2040.5078642857145 +2025-03-10 13:02:37,274 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,275 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,276 - INFO - CLOSED short at 2074.37 | PnL: -0.13% | $-0.36 +2025-03-10 13:02:37,276 - INFO - OPENED LONG at 2074.37 | Stop loss: 2063.9794928571428 | Take profit: 2105.513535714286 +2025-03-10 13:02:37,278 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,278 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,279 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,280 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,282 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,284 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,285 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,286 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,287 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,288 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,288 - INFO - CLOSED long at 2075.32 | PnL: 0.05% | $-0.08 +2025-03-10 13:02:37,288 - INFO - OPENED SHORT at 2075.32 | Stop loss: 2085.7152571428574 | Take profit: 2044.1622142857143 +2025-03-10 13:02:37,290 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,291 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,293 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,294 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,295 - INFO - CLOSED short at 2076.9 | PnL: -0.08% | $-0.27 +2025-03-10 13:02:37,296 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,296 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,298 - INFO - OPENED SHORT at 2075.61 | Stop loss: 2086.006707142857 | Take profit: 2044.4478642857146 +2025-03-10 13:02:37,299 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,300 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,301 - INFO - CLOSED short at 2074.0 | PnL: 0.08% | $-0.03 +2025-03-10 13:02:37,301 - INFO - OPENED LONG at 2074.0 | Stop loss: 2063.611342857143 | Take profit: 2105.137985714286 +2025-03-10 13:02:37,303 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,303 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,304 - INFO - CLOSED long at 2072.09 | PnL: -0.09% | $-0.30 +2025-03-10 13:02:37,305 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,307 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,307 - INFO - OPENED SHORT at 2069.97 | Stop loss: 2080.3385071428565 | Take profit: 2038.8924642857141 +2025-03-10 13:02:37,309 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,310 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,311 - INFO - CLOSED short at 2067.7 | PnL: 0.11% | $0.01 +2025-03-10 13:02:37,312 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,313 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,313 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.353657142857 | Take profit: 2035.9670142857144 +2025-03-10 13:02:37,314 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,315 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,316 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,318 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,318 - INFO - CLOSED short at 2066.4 | PnL: 0.03% | $-0.11 +2025-03-10 13:02:37,319 - INFO - OPENED LONG at 2066.4 | Stop loss: 2056.049342857143 | Take profit: 2097.423985714286 +2025-03-10 13:02:37,319 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,321 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,322 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,323 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,325 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,326 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,326 - INFO - CLOSED long at 2065.45 | PnL: -0.05% | $-0.22 +2025-03-10 13:02:37,328 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,328 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,329 - INFO - OPENED SHORT at 2068.1 | Stop loss: 2078.459157142857 | Take profit: 2037.0505142857141 +2025-03-10 13:02:37,331 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,331 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,333 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,334 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,336 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,337 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,337 - INFO - CLOSED short at 2070.1 | PnL: -0.10% | $-0.30 +2025-03-10 13:02:37,339 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,340 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,342 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,343 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,344 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,345 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,347 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,348 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,349 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,350 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,352 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,353 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,355 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,357 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,357 - INFO - OPENED SHORT at 2063.39 | Stop loss: 2073.725607142857 | Take profit: 2032.4111642857142 +2025-03-10 13:02:37,358 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,359 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,361 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,362 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,363 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,364 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,365 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,368 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,369 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,370 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,372 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,373 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,374 - INFO - CLOSED short at 2064.5 | PnL: -0.05% | $-0.23 +2025-03-10 13:02:37,374 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.1588428571426 | Take profit: 2095.4954857142857 +2025-03-10 13:02:37,375 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,376 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,376 - INFO - CLOSED long at 2066.33 | PnL: 0.09% | $-0.02 +2025-03-10 13:02:37,377 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,378 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,379 - INFO - OPENED LONG at 2063.01 | Stop loss: 2052.676292857143 | Take profit: 2093.983135714286 +2025-03-10 13:02:37,380 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,381 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,381 - INFO - CLOSED long at 2060.7 | PnL: -0.11% | $-0.32 +2025-03-10 13:02:37,383 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,384 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,385 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,386 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,388 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,389 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,390 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,391 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,393 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,394 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,394 - INFO - OPENED SHORT at 2056.77 | Stop loss: 2067.0725071428574 | Take profit: 2025.8904642857142 +2025-03-10 13:02:37,396 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,397 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,397 - INFO - CLOSED short at 2053.01 | PnL: 0.18% | $0.13 +2025-03-10 13:02:37,399 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,400 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,401 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,402 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,403 - INFO - OPENED LONG at 2049.5 | Stop loss: 2039.2338428571427 | Take profit: 2080.2704857142858 +2025-03-10 13:02:37,403 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,405 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,406 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,408 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,409 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,410 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,412 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,413 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,414 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,415 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,415 - INFO - CLOSED long at 2057.89 | PnL: 0.41% | $0.47 +2025-03-10 13:02:37,417 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,417 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,418 - INFO - OPENED SHORT at 2062.83 | Stop loss: 2073.162807142857 | Take profit: 2031.8595642857142 +2025-03-10 13:02:37,420 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,420 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,421 - INFO - CLOSED short at 2063.9 | PnL: -0.05% | $-0.23 +2025-03-10 13:02:37,422 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,423 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,424 - INFO - OPENED LONG at 2065.1 | Stop loss: 2054.755842857143 | Take profit: 2096.1044857142856 +2025-03-10 13:02:37,426 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,427 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,427 - INFO - CLOSED long at 2062.43 | PnL: -0.13% | $-0.35 +2025-03-10 13:02:37,429 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,430 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,431 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,432 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,434 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,435 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,435 - INFO - OPENED SHORT at 2068.33 | Stop loss: 2078.6903071428574 | Take profit: 2037.2770642857142 +2025-03-10 13:02:37,436 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,437 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,439 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,440 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,441 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,443 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,444 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,445 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,446 - INFO - CLOSED short at 2061.21 | PnL: 0.34% | $0.37 +2025-03-10 13:02:37,447 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,448 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,449 - INFO - OPENED SHORT at 2059.9 | Stop loss: 2070.218157142857 | Take profit: 2028.9735142857144 +2025-03-10 13:02:37,449 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,451 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,451 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,452 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,454 - INFO - CLOSED short at 2061.84 | PnL: -0.09% | $-0.30 +2025-03-10 13:02:37,454 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,456 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,457 - INFO - OPENED SHORT at 2062.54 | Stop loss: 2072.8713571428575 | Take profit: 2031.5739142857142 +2025-03-10 13:02:37,457 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,459 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,460 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,460 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,462 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,463 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,464 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,465 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,467 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,468 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,468 - INFO - CLOSED short at 2069.81 | PnL: -0.35% | $-0.68 +2025-03-10 13:02:37,469 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,470 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,471 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,473 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,474 - INFO - OPENED SHORT at 2073.49 | Stop loss: 2083.876107142857 | Take profit: 2042.359664285714 +2025-03-10 13:02:37,474 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,476 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,476 - INFO - CLOSED short at 2074.05 | PnL: -0.03% | $-0.19 +2025-03-10 13:02:37,477 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,479 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,480 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,480 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,482 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,482 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,484 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,485 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,486 - INFO - OPENED LONG at 2074.9 | Stop loss: 2064.506842857143 | Take profit: 2106.0514857142857 +2025-03-10 13:02:37,487 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,489 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,490 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,491 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,492 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,493 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,495 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,495 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,499 - INFO - CLOSED long at 2090.49 | PnL: 0.75% | $0.97 +2025-03-10 13:02:37,500 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,501 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,503 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,504 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,504 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.372157142857 | Take profit: 2098.711514285714 +2025-03-10 13:02:37,505 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,506 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,510 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,511 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,512 - INFO - CLOSED short at 2131.78 | PnL: -0.05% | $-0.23 +2025-03-10 13:02:37,512 - INFO - OPENED LONG at 2131.78 | Stop loss: 2121.102442857143 | Take profit: 2163.7846857142863 +2025-03-10 13:02:37,512 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,514 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,514 - INFO - CLOSED long at 2133.95 | PnL: 0.10% | $0.00 +2025-03-10 13:02:37,514 - INFO - OPENED SHORT at 2133.95 | Stop loss: 2144.638407142857 | Take profit: 2101.9127642857143 +2025-03-10 13:02:37,517 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,517 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,518 - INFO - CLOSED short at 2137.59 | PnL: -0.17% | $-0.41 +2025-03-10 13:02:37,518 - INFO - OPENED LONG at 2137.59 | Stop loss: 2126.883392857143 | Take profit: 2169.6818357142856 +2025-03-10 13:02:37,519 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,520 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,521 - INFO - CLOSED long at 2141.41 | PnL: 0.18% | $0.12 +2025-03-10 13:02:37,523 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,524 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,525 - INFO - OPENED LONG at 2141.3 | Stop loss: 2130.574842857143 | Take profit: 2173.447485714286 +2025-03-10 13:02:37,526 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,527 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,532 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,533 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,534 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,535 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,537 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,538 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,539 - INFO - CLOSED long at 2126.99 | PnL: -0.67% | $-1.16 +2025-03-10 13:02:37,539 - INFO - OPENED SHORT at 2126.99 | Stop loss: 2137.6436071428566 | Take profit: 2095.057164285714 +2025-03-10 13:02:37,540 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,540 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,542 - INFO - CLOSED short at 2127.3 | PnL: -0.01% | $-0.17 +2025-03-10 13:02:37,542 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.644842857143 | Take profit: 2159.2374857142863 +2025-03-10 13:02:37,544 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,544 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,545 - INFO - CLOSED long at 2128.69 | PnL: 0.07% | $-0.05 +2025-03-10 13:02:37,545 - INFO - OPENED SHORT at 2128.69 | Stop loss: 2139.352107142857 | Take profit: 2096.731664285714 +2025-03-10 13:02:37,547 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,548 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,548 - INFO - CLOSED short at 2121.09 | PnL: 0.36% | $0.38 +2025-03-10 13:02:37,549 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,551 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,552 - INFO - OPENED SHORT at 2120.15 | Stop loss: 2130.769407142857 | Take profit: 2088.3197642857144 +2025-03-10 13:02:37,553 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,554 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,555 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,556 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,557 - INFO - CLOSED short at 2119.93 | PnL: 0.01% | $-0.13 +2025-03-10 13:02:37,558 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,558 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,560 - INFO - OPENED LONG at 2121.4 | Stop loss: 2110.774342857143 | Take profit: 2153.248985714286 +2025-03-10 13:02:37,562 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,562 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,567 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,568 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,568 - INFO - CLOSED long at 2119.14 | PnL: -0.11% | $-0.31 +2025-03-10 13:02:37,569 - INFO - OPENED SHORT at 2119.14 | Stop loss: 2129.7543571428573 | Take profit: 2087.324914285714 +2025-03-10 13:02:37,570 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,570 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,572 - INFO - CLOSED short at 2119.07 | PnL: 0.00% | $-0.14 +2025-03-10 13:02:37,573 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,574 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,576 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,577 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,578 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,579 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,581 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,581 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,582 - INFO - OPENED LONG at 2109.05 | Stop loss: 2098.486092857143 | Take profit: 2140.7137357142856 +2025-03-10 13:02:37,584 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,584 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,585 - INFO - CLOSED long at 2112.09 | PnL: 0.14% | $0.07 +2025-03-10 13:02:37,586 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,586 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,588 - INFO - OPENED SHORT at 2112.95 | Stop loss: 2123.533407142857 | Take profit: 2081.2277642857143 +2025-03-10 13:02:37,589 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,590 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,592 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,593 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,594 - INFO - CLOSED short at 2113.24 | PnL: -0.01% | $-0.17 +2025-03-10 13:02:37,594 - INFO - OPENED LONG at 2113.24 | Stop loss: 2102.655142857143 | Take profit: 2144.9665857142854 +2025-03-10 13:02:37,595 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,596 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,597 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,598 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,599 - INFO - CLOSED long at 2120.81 | PnL: 0.36% | $0.38 +2025-03-10 13:02:37,599 - INFO - OPENED SHORT at 2120.81 | Stop loss: 2131.432707142857 | Take profit: 2088.9698642857143 +2025-03-10 13:02:37,600 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,601 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,601 - INFO - CLOSED short at 2116.48 | PnL: 0.20% | $0.15 +2025-03-10 13:02:37,602 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,603 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,604 - INFO - OPENED SHORT at 2114.8 | Stop loss: 2125.3926571428574 | Take profit: 2083.0500142857145 +2025-03-10 13:02:37,606 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,607 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,608 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,609 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,611 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,611 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,612 - INFO - CLOSED short at 2106.49 | PnL: 0.39% | $0.43 +2025-03-10 13:02:37,612 - INFO - OPENED LONG at 2106.49 | Stop loss: 2095.938892857143 | Take profit: 2138.1153357142853 +2025-03-10 13:02:37,614 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,614 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,615 - INFO - CLOSED long at 2108.06 | PnL: 0.07% | $-0.04 +2025-03-10 13:02:37,615 - INFO - OPENED SHORT at 2108.06 | Stop loss: 2118.6189571428567 | Take profit: 2076.411114285714 +2025-03-10 13:02:37,616 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,617 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,618 - INFO - CLOSED short at 2103.33 | PnL: 0.22% | $0.19 +2025-03-10 13:02:37,619 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,619 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,621 - INFO - OPENED SHORT at 2100.5 | Stop loss: 2111.021157142857 | Take profit: 2068.9645142857144 +2025-03-10 13:02:37,622 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,622 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,624 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,625 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,626 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,628 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,629 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,630 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,631 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,632 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,632 - INFO - CLOSED short at 2102.29 | PnL: -0.09% | $-0.28 +2025-03-10 13:02:37,634 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,635 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,636 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,637 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,638 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,639 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,641 - INFO - OPENED LONG at 2100.69 | Stop loss: 2090.1678928571428 | Take profit: 2132.2283357142855 +2025-03-10 13:02:37,642 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,643 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,644 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,645 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,646 - INFO - CLOSED long at 2106.39 | PnL: 0.27% | $0.26 +2025-03-10 13:02:37,646 - INFO - OPENED SHORT at 2106.39 | Stop loss: 2116.940607142857 | Take profit: 2074.7661642857142 +2025-03-10 13:02:37,647 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,648 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,649 - INFO - CLOSED short at 2100.74 | PnL: 0.27% | $0.25 +2025-03-10 13:02:37,649 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,651 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,651 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,652 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,655 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,656 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,657 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,658 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,659 - INFO - OPENED SHORT at 2099.59 | Stop loss: 2110.1066071428572 | Take profit: 2068.0681642857144 +2025-03-10 13:02:37,660 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,661 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,664 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,666 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,666 - INFO - CLOSED short at 2098.39 | PnL: 0.06% | $-0.06 +2025-03-10 13:02:37,666 - INFO - OPENED LONG at 2098.39 | Stop loss: 2087.8793928571426 | Take profit: 2129.8938357142856 +2025-03-10 13:02:37,668 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,669 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,670 - INFO - CLOSED long at 2095.29 | PnL: -0.15% | $-0.37 +2025-03-10 13:02:37,671 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,672 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,674 - INFO - OPENED SHORT at 2093.46 | Stop loss: 2103.945957142857 | Take profit: 2062.0301142857143 +2025-03-10 13:02:37,675 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,676 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,678 - INFO - CLOSED short at 2093.33 | PnL: 0.01% | $-0.14 +2025-03-10 13:02:37,679 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,680 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,682 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,683 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,684 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,686 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,687 - INFO - OPENED LONG at 2094.72 | Stop loss: 2084.227742857143 | Take profit: 2126.1687857142856 +2025-03-10 13:02:37,689 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,690 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,691 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,693 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,694 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,695 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,696 - INFO - CLOSED long at 2083.28 | PnL: -0.55% | $-0.96 +2025-03-10 13:02:37,696 - INFO - OPENED SHORT at 2083.28 | Stop loss: 2093.7150571428574 | Take profit: 2052.0028142857145 +2025-03-10 13:02:37,698 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,700 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,701 - INFO - CLOSED short at 2088.44 | PnL: -0.25% | $-0.51 +2025-03-10 13:02:37,702 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,704 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,704 - INFO - OPENED LONG at 2083.97 | Stop loss: 2073.5314928571424 | Take profit: 2115.2575357142855 +2025-03-10 13:02:37,706 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,707 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,708 - INFO - CLOSED long at 2085.3 | PnL: 0.06% | $-0.05 +2025-03-10 13:02:37,709 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,711 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,713 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,714 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,716 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,717 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,719 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,720 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,722 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,723 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,724 - INFO - OPENED SHORT at 2083.41 | Stop loss: 2093.845707142857 | Take profit: 2052.130864285714 +2025-03-10 13:02:37,726 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,727 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,728 - INFO - CLOSED short at 2085.09 | PnL: -0.08% | $-0.26 +2025-03-10 13:02:37,729 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,731 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,731 - INFO - OPENED SHORT at 2083.59 | Stop loss: 2094.0266071428573 | Take profit: 2052.308164285714 +2025-03-10 13:02:37,733 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,735 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,735 - INFO - CLOSED short at 2086.57 | PnL: -0.14% | $-0.35 +2025-03-10 13:02:37,737 - INFO - OPENED LONG at 2086.57 | Stop loss: 2076.118492857143 | Take profit: 2117.8965357142856 +2025-03-10 13:02:37,738 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,739 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,741 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,743 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,744 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,746 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,749 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,751 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,753 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,755 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,755 - INFO - CLOSED long at 2088.66 | PnL: 0.10% | $0.00 +2025-03-10 13:02:37,756 - INFO - OPENED SHORT at 2088.66 | Stop loss: 2099.121957142857 | Take profit: 2057.302114285714 +2025-03-10 13:02:37,759 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,761 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,762 - INFO - CLOSED short at 2088.32 | PnL: 0.02% | $-0.12 +2025-03-10 13:02:37,763 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,765 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,766 - INFO - OPENED SHORT at 2088.1 | Stop loss: 2098.559157142857 | Take profit: 2056.750514285714 +2025-03-10 13:02:37,767 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,769 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,771 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,773 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,773 - INFO - CLOSED short at 2087.0 | PnL: 0.05% | $-0.07 +2025-03-10 13:02:37,773 - INFO - OPENED LONG at 2087.0 | Stop loss: 2076.546342857143 | Take profit: 2118.3329857142858 +2025-03-10 13:02:37,775 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,777 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,779 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,781 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,786 - INFO - CLOSED long at 2087.78 | PnL: 0.04% | $-0.09 +2025-03-10 13:02:37,788 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,790 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,790 - INFO - OPENED SHORT at 2086.81 | Stop loss: 2097.2627071428574 | Take profit: 2055.479864285714 +2025-03-10 13:02:37,792 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,793 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,794 - INFO - CLOSED short at 2089.79 | PnL: -0.14% | $-0.35 +2025-03-10 13:02:37,795 - INFO - OPENED LONG at 2089.79 | Stop loss: 2079.322392857143 | Take profit: 2121.164835714286 +2025-03-10 13:02:37,796 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,798 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,798 - INFO - CLOSED long at 2085.67 | PnL: -0.20% | $-0.43 +2025-03-10 13:02:37,799 - INFO - OPENED SHORT at 2085.67 | Stop loss: 2096.117007142857 | Take profit: 2054.3569642857146 +2025-03-10 13:02:37,801 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,803 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,805 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,806 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,807 - INFO - CLOSED short at 2091.05 | PnL: -0.26% | $-0.51 +2025-03-10 13:02:37,807 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.576092857143 | Take profit: 2122.4437357142856 +2025-03-10 13:02:37,809 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,810 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,811 - INFO - CLOSED long at 2091.05 | PnL: 0.00% | $-0.14 +2025-03-10 13:02:37,811 - INFO - OPENED SHORT at 2091.05 | Stop loss: 2101.5239071428573 | Take profit: 2059.6562642857148 +2025-03-10 13:02:37,813 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,814 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,817 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,818 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,821 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,822 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,823 - INFO - CLOSED short at 2097.8 | PnL: -0.32% | $-0.60 +2025-03-10 13:02:37,825 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,827 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,833 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,835 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,835 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.166857142857 | Take profit: 2070.087414285714 +2025-03-10 13:02:37,837 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,838 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,840 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,841 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,842 - INFO - CLOSED short at 2098.49 | PnL: 0.15% | $0.07 +2025-03-10 13:02:37,842 - INFO - OPENED LONG at 2098.49 | Stop loss: 2087.9788928571425 | Take profit: 2129.995335714286 +2025-03-10 13:02:37,845 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,846 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,847 - INFO - CLOSED long at 2099.89 | PnL: 0.07% | $-0.05 +2025-03-10 13:02:37,848 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,849 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,850 - INFO - OPENED SHORT at 2100.89 | Stop loss: 2111.413107142857 | Take profit: 2069.348664285714 +2025-03-10 13:02:37,851 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,852 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,854 - INFO - CLOSED short at 2099.73 | PnL: 0.06% | $-0.06 +2025-03-10 13:02:37,855 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,856 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,857 - INFO - OPENED LONG at 2106.15 | Stop loss: 2095.600592857143 | Take profit: 2137.7702357142857 +2025-03-10 13:02:37,858 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,860 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,861 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:37,862 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:37,864 - INFO - Trade Analysis: Win Rate=7.1% in uptrends, 0.0% in downtrends | Avg Win=$0.20, Avg Loss=$-0.24 +2025-03-10 13:02:37,865 - INFO - Episode 0: Reward=-166.89, Balance=$70.55, Win Rate=15.1%, Trades=166, Episode PnL=$-21.40, Total PnL=$-29.45, Max Drawdown=29.4%, Pred Accuracy=97.9% +2025-03-10 13:02:37,866 - ERROR - Error in episode 0: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:02:37,867 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1763, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:02:37,898 - INFO - Identified 25 optimal buy points and 28 optimal sell points +2025-03-10 13:02:38,080 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,081 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,082 - INFO - OPENED SHORT at 2049.49 | Stop loss: 2059.756107142857 | Take profit: 2018.719664285714 +2025-03-10 13:02:38,083 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,084 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,084 - INFO - CLOSED short at 2050.2 | PnL: -0.03% | $-0.27 +2025-03-10 13:02:38,086 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,088 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,093 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,094 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,096 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,097 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,098 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,099 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,100 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,101 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,103 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,104 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,104 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,105 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,107 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,108 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,109 - INFO - OPENED SHORT at 2047.4 | Stop loss: 2057.6556571428573 | Take profit: 2016.6610142857144 +2025-03-10 13:02:38,110 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,111 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,112 - INFO - CLOSED short at 2047.2 | PnL: 0.01% | $-0.18 +2025-03-10 13:02:38,112 - INFO - OPENED LONG at 2047.2 | Stop loss: 2036.9453428571428 | Take profit: 2077.935985714286 +2025-03-10 13:02:38,113 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,115 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,116 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,117 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,117 - INFO - CLOSED long at 2045.99 | PnL: -0.06% | $-0.31 +2025-03-10 13:02:38,118 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,119 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,120 - INFO - OPENED LONG at 2045.79 | Stop loss: 2035.5423928571429 | Take profit: 2076.5048357142855 +2025-03-10 13:02:38,122 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,123 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,123 - INFO - CLOSED long at 2048.13 | PnL: 0.11% | $0.03 +2025-03-10 13:02:38,123 - INFO - OPENED SHORT at 2048.13 | Stop loss: 2058.3893071428574 | Take profit: 2017.3800642857143 +2025-03-10 13:02:38,124 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,125 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,127 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,128 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,129 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,131 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,132 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,132 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,134 - INFO - CLOSED short at 2050.24 | PnL: -0.10% | $-0.40 +2025-03-10 13:02:38,134 - INFO - OPENED LONG at 2050.24 | Stop loss: 2039.9701428571425 | Take profit: 2081.0215857142853 +2025-03-10 13:02:38,135 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,135 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,136 - INFO - CLOSED long at 2049.89 | PnL: -0.02% | $-0.23 +2025-03-10 13:02:38,136 - INFO - OPENED SHORT at 2049.89 | Stop loss: 2060.158107142857 | Take profit: 2019.1136642857143 +2025-03-10 13:02:38,138 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,139 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,139 - INFO - CLOSED short at 2051.11 | PnL: -0.06% | $-0.31 +2025-03-10 13:02:38,139 - INFO - OPENED LONG at 2051.11 | Stop loss: 2040.835792857143 | Take profit: 2081.9046357142856 +2025-03-10 13:02:38,141 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,142 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,142 - INFO - CLOSED long at 2053.26 | PnL: 0.10% | $0.01 +2025-03-10 13:02:38,143 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,144 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,146 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,147 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,147 - INFO - OPENED LONG at 2052.3 | Stop loss: 2042.0198428571432 | Take profit: 2083.112485714286 +2025-03-10 13:02:38,148 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,149 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,153 - INFO - CLOSED long at 2055.69 | PnL: 0.17% | $0.13 +2025-03-10 13:02:38,154 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,155 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,157 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,158 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,158 - INFO - OPENED SHORT at 2056.89 | Stop loss: 2067.1931071428567 | Take profit: 2026.008664285714 +2025-03-10 13:02:38,159 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,160 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,161 - INFO - CLOSED short at 2058.39 | PnL: -0.07% | $-0.34 +2025-03-10 13:02:38,161 - INFO - OPENED LONG at 2058.39 | Stop loss: 2048.0793928571425 | Take profit: 2089.2938357142857 +2025-03-10 13:02:38,162 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,163 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,164 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,166 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,166 - INFO - CLOSED long at 2059.7 | PnL: 0.06% | $-0.07 +2025-03-10 13:02:38,166 - INFO - OPENED SHORT at 2059.7 | Stop loss: 2070.0171571428573 | Take profit: 2028.776514285714 +2025-03-10 13:02:38,168 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,169 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,169 - INFO - CLOSED short at 2061.49 | PnL: -0.09% | $-0.36 +2025-03-10 13:02:38,170 - INFO - OPENED LONG at 2061.49 | Stop loss: 2051.163892857143 | Take profit: 2092.4403357142855 +2025-03-10 13:02:38,171 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,172 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,173 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,175 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,175 - INFO - CLOSED long at 2064.61 | PnL: 0.15% | $0.10 +2025-03-10 13:02:38,176 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,177 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,178 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,180 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,181 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,182 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,182 - INFO - OPENED LONG at 2064.69 | Stop loss: 2054.347892857143 | Take profit: 2095.6883357142856 +2025-03-10 13:02:38,183 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,184 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,185 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,187 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,188 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,189 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,189 - INFO - CLOSED long at 2058.3 | PnL: -0.31% | $-0.79 +2025-03-10 13:02:38,190 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,192 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,193 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,194 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,195 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,196 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,198 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,199 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,200 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,201 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,201 - INFO - OPENED SHORT at 2059.49 | Stop loss: 2069.806107142857 | Take profit: 2028.569664285714 +2025-03-10 13:02:38,204 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,205 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,206 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,206 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,209 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,210 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,210 - INFO - CLOSED short at 2057.94 | PnL: 0.08% | $-0.05 +2025-03-10 13:02:38,211 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,211 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,213 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.8007928571428 | Take profit: 2089.0096357142857 +2025-03-10 13:02:38,213 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,214 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,215 - INFO - CLOSED long at 2061.79 | PnL: 0.18% | $0.15 +2025-03-10 13:02:38,216 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,216 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,218 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,219 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,220 - INFO - OPENED LONG at 2064.32 | Stop loss: 2053.979742857143 | Take profit: 2095.312785714286 +2025-03-10 13:02:38,221 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,222 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,222 - INFO - CLOSED long at 2065.86 | PnL: 0.07% | $-0.05 +2025-03-10 13:02:38,224 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,224 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,225 - INFO - OPENED SHORT at 2070.58 | Stop loss: 2080.951557142857 | Take profit: 2039.4933142857142 +2025-03-10 13:02:38,227 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,228 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,229 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,231 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,232 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,233 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,234 - INFO - CLOSED short at 2067.89 | PnL: 0.13% | $0.06 +2025-03-10 13:02:38,234 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,236 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,236 - INFO - OPENED SHORT at 2071.63 | Stop loss: 2082.0068071428573 | Take profit: 2040.5275642857143 +2025-03-10 13:02:38,237 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,238 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,239 - INFO - CLOSED short at 2070.99 | PnL: 0.03% | $-0.13 +2025-03-10 13:02:38,239 - INFO - OPENED LONG at 2070.99 | Stop loss: 2060.6163928571427 | Take profit: 2102.0828357142855 +2025-03-10 13:02:38,240 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,241 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,241 - INFO - CLOSED long at 2069.6 | PnL: -0.07% | $-0.32 +2025-03-10 13:02:38,244 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,245 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,245 - INFO - OPENED SHORT at 2068.65 | Stop loss: 2079.011907142857 | Take profit: 2037.5922642857145 +2025-03-10 13:02:38,246 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,247 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,247 - INFO - CLOSED short at 2068.99 | PnL: -0.02% | $-0.22 +2025-03-10 13:02:38,248 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,249 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,250 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,251 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,255 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,256 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,260 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,261 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,262 - INFO - OPENED SHORT at 2071.44 | Stop loss: 2081.815857142857 | Take profit: 2040.3404142857144 +2025-03-10 13:02:38,263 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,263 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,265 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,266 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,267 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,269 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,269 - INFO - CLOSED short at 2072.91 | PnL: -0.07% | $-0.33 +2025-03-10 13:02:38,270 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,271 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,271 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,273 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,273 - INFO - OPENED SHORT at 2071.38 | Stop loss: 2081.7555571428575 | Take profit: 2040.2813142857144 +2025-03-10 13:02:38,275 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,276 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,277 - INFO - CLOSED short at 2071.41 | PnL: -0.00% | $-0.19 +2025-03-10 13:02:38,277 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,279 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,279 - INFO - OPENED SHORT at 2069.37 | Stop loss: 2079.7355071428574 | Take profit: 2038.301464285714 +2025-03-10 13:02:38,281 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,282 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,283 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,284 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,285 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,286 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,288 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,289 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,290 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,291 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,293 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,294 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,295 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,296 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,297 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,298 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,299 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,300 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,301 - INFO - CLOSED short at 2070.7 | PnL: -0.06% | $-0.31 +2025-03-10 13:02:38,302 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,303 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,304 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,305 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,306 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,307 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,308 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.437342857143 | Take profit: 2099.859985714286 +2025-03-10 13:02:38,308 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,310 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,312 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,313 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,314 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,314 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,316 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,317 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,319 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,319 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,320 - INFO - CLOSED long at 2065.99 | PnL: -0.14% | $-0.45 +2025-03-10 13:02:38,322 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,322 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,323 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,324 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,325 - INFO - OPENED LONG at 2066.29 | Stop loss: 2055.9398928571427 | Take profit: 2097.3123357142854 +2025-03-10 13:02:38,326 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,327 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,328 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,328 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,330 - INFO - CLOSED long at 2066.18 | PnL: -0.01% | $-0.20 +2025-03-10 13:02:38,330 - INFO - OPENED SHORT at 2066.18 | Stop loss: 2076.529557142857 | Take profit: 2035.1593142857141 +2025-03-10 13:02:38,331 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,332 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,333 - INFO - CLOSED short at 2068.76 | PnL: -0.12% | $-0.42 +2025-03-10 13:02:38,333 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,334 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,335 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.263157142857 | Take profit: 2037.8385142857144 +2025-03-10 13:02:38,335 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,338 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,339 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,340 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,342 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,343 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,343 - INFO - CLOSED short at 2069.7 | PnL: -0.04% | $-0.26 +2025-03-10 13:02:38,344 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,345 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,348 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.029342857143 | Take profit: 2101.4839857142856 +2025-03-10 13:02:38,350 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,351 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,352 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,353 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,356 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,357 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,358 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,359 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,359 - INFO - CLOSED long at 2071.36 | PnL: 0.05% | $-0.10 +2025-03-10 13:02:38,360 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,361 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,362 - INFO - OPENED SHORT at 2072.75 | Stop loss: 2083.132407142857 | Take profit: 2041.6307642857143 +2025-03-10 13:02:38,363 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,364 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,365 - INFO - CLOSED short at 2073.11 | PnL: -0.02% | $-0.22 +2025-03-10 13:02:38,365 - INFO - OPENED LONG at 2073.11 | Stop loss: 2062.725792857143 | Take profit: 2104.2346357142856 +2025-03-10 13:02:38,366 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,367 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,368 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,369 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,369 - INFO - CLOSED long at 2072.15 | PnL: -0.05% | $-0.27 +2025-03-10 13:02:38,371 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,373 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,373 - INFO - OPENED LONG at 2074.29 | Stop loss: 2063.8998928571427 | Take profit: 2105.4323357142857 +2025-03-10 13:02:38,374 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,375 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,376 - INFO - CLOSED long at 2073.9 | PnL: -0.02% | $-0.22 +2025-03-10 13:02:38,377 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,378 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,379 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,380 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,382 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,383 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,384 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,385 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,386 - INFO - OPENED LONG at 2069.46 | Stop loss: 2059.094042857143 | Take profit: 2100.5298857142857 +2025-03-10 13:02:38,387 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,388 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,389 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,390 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,391 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,392 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,392 - INFO - CLOSED long at 2067.0 | PnL: -0.12% | $-0.41 +2025-03-10 13:02:38,394 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,395 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,396 - INFO - OPENED LONG at 2067.79 | Stop loss: 2057.4323928571425 | Take profit: 2098.834835714286 +2025-03-10 13:02:38,397 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,398 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,399 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,400 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,401 - INFO - CLOSED long at 2066.8 | PnL: -0.05% | $-0.27 +2025-03-10 13:02:38,401 - INFO - OPENED SHORT at 2066.8 | Stop loss: 2077.152657142857 | Take profit: 2035.7700142857145 +2025-03-10 13:02:38,402 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,403 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,404 - INFO - CLOSED short at 2065.49 | PnL: 0.06% | $-0.07 +2025-03-10 13:02:38,405 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,406 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,406 - INFO - OPENED LONG at 2063.61 | Stop loss: 2053.273292857143 | Take profit: 2094.592135714286 +2025-03-10 13:02:38,407 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,408 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,409 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,410 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,410 - INFO - CLOSED long at 2067.89 | PnL: 0.21% | $0.20 +2025-03-10 13:02:38,412 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,413 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,414 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,415 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,419 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,420 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,421 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,421 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,423 - INFO - OPENED SHORT at 2067.86 | Stop loss: 2078.2179571428574 | Take profit: 2036.8141142857144 +2025-03-10 13:02:38,424 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,426 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,427 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,428 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,428 - INFO - CLOSED short at 2069.2 | PnL: -0.06% | $-0.30 +2025-03-10 13:02:38,430 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,431 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,431 - INFO - OPENED SHORT at 2070.3 | Stop loss: 2080.6701571428575 | Take profit: 2039.2175142857143 +2025-03-10 13:02:38,432 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,433 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,434 - INFO - CLOSED short at 2071.59 | PnL: -0.06% | $-0.30 +2025-03-10 13:02:38,434 - INFO - OPENED LONG at 2071.59 | Stop loss: 2061.213392857143 | Take profit: 2102.691835714286 +2025-03-10 13:02:38,435 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,436 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,438 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,439 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,440 - INFO - CLOSED long at 2070.4 | PnL: -0.06% | $-0.29 +2025-03-10 13:02:38,440 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.770657142857 | Take profit: 2039.3160142857146 +2025-03-10 13:02:38,442 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,442 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,443 - INFO - CLOSED short at 2070.73 | PnL: -0.02% | $-0.21 +2025-03-10 13:02:38,444 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,445 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,446 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,447 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,447 - INFO - OPENED SHORT at 2068.69 | Stop loss: 2079.052107142857 | Take profit: 2037.6316642857144 +2025-03-10 13:02:38,448 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,449 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,451 - INFO - CLOSED short at 2067.84 | PnL: 0.04% | $-0.11 +2025-03-10 13:02:38,451 - INFO - OPENED LONG at 2067.84 | Stop loss: 2057.482142857143 | Take profit: 2098.8855857142858 +2025-03-10 13:02:38,452 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,453 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,459 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,460 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,461 - INFO - CLOSED long at 2067.86 | PnL: 0.00% | $-0.18 +2025-03-10 13:02:38,462 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,463 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,464 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,464 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,467 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,467 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,472 - INFO - OPENED LONG at 2065.28 | Stop loss: 2054.934942857143 | Take profit: 2096.287185714286 +2025-03-10 13:02:38,473 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,474 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,475 - INFO - CLOSED long at 2066.39 | PnL: 0.05% | $-0.08 +2025-03-10 13:02:38,476 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,476 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,478 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,479 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,480 - INFO - OPENED SHORT at 2070.04 | Stop loss: 2080.408857142857 | Take profit: 2038.9614142857142 +2025-03-10 13:02:38,481 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,482 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,483 - INFO - CLOSED short at 2067.8 | PnL: 0.11% | $0.01 +2025-03-10 13:02:38,483 - INFO - OPENED LONG at 2067.8 | Stop loss: 2057.442342857143 | Take profit: 2098.844985714286 +2025-03-10 13:02:38,485 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,485 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,487 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,488 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,489 - INFO - CLOSED long at 2065.69 | PnL: -0.10% | $-0.37 +2025-03-10 13:02:38,491 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,492 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,493 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,494 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,495 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,496 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,496 - INFO - OPENED LONG at 2065.83 | Stop loss: 2055.4821928571428 | Take profit: 2096.845435714286 +2025-03-10 13:02:38,498 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,499 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,501 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,502 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,502 - INFO - CLOSED long at 2065.26 | PnL: -0.03% | $-0.23 +2025-03-10 13:02:38,502 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.6049571428575 | Take profit: 2034.2531142857144 +2025-03-10 13:02:38,504 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,505 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,506 - INFO - CLOSED short at 2062.89 | PnL: 0.11% | $0.03 +2025-03-10 13:02:38,506 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.556892857143 | Take profit: 2093.8613357142854 +2025-03-10 13:02:38,507 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,508 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,509 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,510 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,510 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,513 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,513 - INFO - CLOSED long at 2059.59 | PnL: -0.16% | $-0.47 +2025-03-10 13:02:38,514 - INFO - OPENED SHORT at 2059.59 | Stop loss: 2069.9066071428574 | Take profit: 2028.6681642857145 +2025-03-10 13:02:38,515 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,516 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,518 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,519 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,520 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,521 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,521 - INFO - CLOSED short at 2064.96 | PnL: -0.26% | $-0.65 +2025-03-10 13:02:38,521 - INFO - OPENED LONG at 2064.96 | Stop loss: 2054.616542857143 | Take profit: 2095.9623857142856 +2025-03-10 13:02:38,523 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,524 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,524 - INFO - CLOSED long at 2066.24 | PnL: 0.06% | $-0.07 +2025-03-10 13:02:38,525 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,527 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,527 - INFO - OPENED SHORT at 2067.1 | Stop loss: 2077.454157142857 | Take profit: 2036.0655142857142 +2025-03-10 13:02:38,528 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,529 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,531 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,532 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,534 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,534 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,535 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,536 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,539 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,540 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,541 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,542 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,543 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,544 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,545 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,547 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,548 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,549 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,550 - INFO - CLOSED short at 2061.6 | PnL: 0.27% | $0.30 +2025-03-10 13:02:38,550 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.273342857143 | Take profit: 2092.551985714286 +2025-03-10 13:02:38,551 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,551 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,553 - INFO - CLOSED long at 2060.9 | PnL: -0.03% | $-0.24 +2025-03-10 13:02:38,554 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,555 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,555 - INFO - OPENED SHORT at 2060.65 | Stop loss: 2070.971907142857 | Take profit: 2029.7122642857146 +2025-03-10 13:02:38,556 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,557 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,558 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,559 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,560 - INFO - CLOSED short at 2059.3 | PnL: 0.07% | $-0.06 +2025-03-10 13:02:38,560 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,562 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,563 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,564 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,566 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,567 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,567 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,570 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,570 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,571 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,572 - INFO - OPENED LONG at 2060.91 | Stop loss: 2050.586792857143 | Take profit: 2091.8516357142853 +2025-03-10 13:02:38,572 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,574 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,575 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,576 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,577 - INFO - CLOSED long at 2061.13 | PnL: 0.01% | $-0.16 +2025-03-10 13:02:38,577 - INFO - OPENED SHORT at 2061.13 | Stop loss: 2071.4543071428575 | Take profit: 2030.1850642857146 +2025-03-10 13:02:38,578 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,578 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,580 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,581 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,583 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,583 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,586 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,586 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,588 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,589 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,590 - INFO - CLOSED short at 2063.39 | PnL: -0.11% | $-0.37 +2025-03-10 13:02:38,590 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.054392857143 | Take profit: 2094.368835714286 +2025-03-10 13:02:38,591 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,592 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,593 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,594 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,595 - INFO - CLOSED long at 2065.89 | PnL: 0.12% | $0.04 +2025-03-10 13:02:38,595 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,597 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,598 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,599 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,601 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,602 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,603 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,603 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,605 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,607 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,612 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,613 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,614 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3778428571427 | Take profit: 2091.6384857142853 +2025-03-10 13:02:38,615 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,615 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,617 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,617 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,619 - INFO - CLOSED long at 2059.61 | PnL: -0.05% | $-0.27 +2025-03-10 13:02:38,620 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,621 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,622 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,623 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,624 - INFO - OPENED LONG at 2059.02 | Stop loss: 2048.706242857143 | Take profit: 2089.933285714286 +2025-03-10 13:02:38,625 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,626 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,627 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,627 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,629 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,630 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,630 - INFO - CLOSED long at 2059.46 | PnL: 0.02% | $-0.14 +2025-03-10 13:02:38,630 - INFO - OPENED SHORT at 2059.46 | Stop loss: 2069.7759571428574 | Take profit: 2028.5401142857145 +2025-03-10 13:02:38,633 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,633 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,635 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,636 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,637 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,638 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,639 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,640 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,641 - INFO - CLOSED short at 2055.6 | PnL: 0.19% | $0.15 +2025-03-10 13:02:38,641 - INFO - OPENED LONG at 2055.6 | Stop loss: 2045.3033428571428 | Take profit: 2086.4619857142857 +2025-03-10 13:02:38,642 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,643 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,644 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,646 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,646 - INFO - CLOSED long at 2054.83 | PnL: -0.04% | $-0.24 +2025-03-10 13:02:38,646 - INFO - OPENED SHORT at 2054.83 | Stop loss: 2065.122807142857 | Take profit: 2023.979564285714 +2025-03-10 13:02:38,648 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,649 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,650 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,651 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,652 - INFO - CLOSED short at 2058.15 | PnL: -0.16% | $-0.46 +2025-03-10 13:02:38,652 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,653 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,654 - INFO - OPENED LONG at 2059.8 | Stop loss: 2049.482342857143 | Take profit: 2090.724985714286 +2025-03-10 13:02:38,655 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,656 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,656 - INFO - CLOSED long at 2061.66 | PnL: 0.09% | $-0.02 +2025-03-10 13:02:38,657 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,658 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,660 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,661 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,662 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.273342857143 | Take profit: 2092.551985714286 +2025-03-10 13:02:38,663 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,663 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,665 - INFO - CLOSED long at 2061.3 | PnL: -0.01% | $-0.20 +2025-03-10 13:02:38,666 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,666 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,667 - INFO - OPENED LONG at 2062.69 | Stop loss: 2052.357892857143 | Take profit: 2093.658335714286 +2025-03-10 13:02:38,669 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,670 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,675 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,676 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,678 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,679 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,681 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,681 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,682 - INFO - CLOSED long at 2063.9 | PnL: 0.06% | $-0.07 +2025-03-10 13:02:38,682 - INFO - OPENED SHORT at 2063.9 | Stop loss: 2074.2381571428573 | Take profit: 2032.9135142857144 +2025-03-10 13:02:38,683 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,685 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,685 - INFO - CLOSED short at 2064.49 | PnL: -0.03% | $-0.22 +2025-03-10 13:02:38,686 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,687 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,687 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.9796928571427 | Take profit: 2097.3529357142856 +2025-03-10 13:02:38,688 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,689 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,691 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,692 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,692 - INFO - CLOSED long at 2066.79 | PnL: 0.02% | $-0.14 +2025-03-10 13:02:38,694 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,694 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,695 - INFO - OPENED SHORT at 2067.33 | Stop loss: 2077.685307142857 | Take profit: 2036.292064285714 +2025-03-10 13:02:38,696 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,697 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,698 - INFO - CLOSED short at 2067.01 | PnL: 0.02% | $-0.15 +2025-03-10 13:02:38,698 - INFO - OPENED LONG at 2067.01 | Stop loss: 2056.656292857143 | Take profit: 2098.043135714286 +2025-03-10 13:02:38,699 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,700 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,700 - INFO - CLOSED long at 2065.69 | PnL: -0.06% | $-0.28 +2025-03-10 13:02:38,701 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,702 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,702 - INFO - OPENED SHORT at 2069.79 | Stop loss: 2080.157607142857 | Take profit: 2038.715164285714 +2025-03-10 13:02:38,703 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,704 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,705 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,707 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,707 - INFO - CLOSED short at 2074.3 | PnL: -0.22% | $-0.55 +2025-03-10 13:02:38,707 - INFO - OPENED LONG at 2074.3 | Stop loss: 2063.909842857143 | Take profit: 2105.442485714286 +2025-03-10 13:02:38,709 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,709 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,711 - INFO - CLOSED long at 2078.01 | PnL: 0.18% | $0.14 +2025-03-10 13:02:38,712 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,713 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,719 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,720 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,720 - INFO - OPENED LONG at 2072.6 | Stop loss: 2062.218342857143 | Take profit: 2103.716985714286 +2025-03-10 13:02:38,722 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,723 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,723 - INFO - CLOSED long at 2071.04 | PnL: -0.08% | $-0.30 +2025-03-10 13:02:38,724 - INFO - OPENED SHORT at 2071.04 | Stop loss: 2081.413857142857 | Take profit: 2039.9464142857141 +2025-03-10 13:02:38,725 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,726 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,727 - INFO - CLOSED short at 2070.01 | PnL: 0.05% | $-0.09 +2025-03-10 13:02:38,728 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,731 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,732 - INFO - OPENED LONG at 2071.6 | Stop loss: 2061.223342857143 | Take profit: 2102.701985714286 +2025-03-10 13:02:38,733 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,734 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,740 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,740 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,742 - INFO - CLOSED long at 2070.0 | PnL: -0.08% | $-0.30 +2025-03-10 13:02:38,742 - INFO - OPENED SHORT at 2070.0 | Stop loss: 2080.368657142857 | Take profit: 2038.922014285714 +2025-03-10 13:02:38,743 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,743 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,745 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,746 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,747 - INFO - CLOSED short at 2068.39 | PnL: 0.08% | $-0.04 +2025-03-10 13:02:38,748 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,749 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,750 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,752 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,753 - INFO - OPENED LONG at 2069.03 | Stop loss: 2058.666192857143 | Take profit: 2100.0934357142855 +2025-03-10 13:02:38,754 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,755 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,756 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,757 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,758 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,759 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,761 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,761 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,762 - INFO - CLOSED long at 2071.49 | PnL: 0.12% | $0.03 +2025-03-10 13:02:38,764 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,764 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,766 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,768 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,768 - INFO - OPENED SHORT at 2067.33 | Stop loss: 2077.685307142857 | Take profit: 2036.292064285714 +2025-03-10 13:02:38,769 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,770 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,771 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,772 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,773 - INFO - CLOSED short at 2065.7 | PnL: 0.08% | $-0.04 +2025-03-10 13:02:38,773 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.3528428571426 | Take profit: 2096.713485714286 +2025-03-10 13:02:38,774 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,775 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,777 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,778 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,778 - INFO - CLOSED long at 2063.95 | PnL: -0.08% | $-0.31 +2025-03-10 13:02:38,779 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,780 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,781 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,782 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,783 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.1588428571426 | Take profit: 2095.4954857142857 +2025-03-10 13:02:38,784 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,785 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,786 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,788 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,788 - INFO - CLOSED long at 2064.4 | PnL: -0.00% | $-0.18 +2025-03-10 13:02:38,789 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,790 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,791 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,794 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,797 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,799 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,800 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,801 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,801 - INFO - OPENED SHORT at 2065.29 | Stop loss: 2075.635107142857 | Take profit: 2034.2826642857144 +2025-03-10 13:02:38,802 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,803 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,805 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,806 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,810 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,811 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,812 - INFO - CLOSED short at 2066.5 | PnL: -0.06% | $-0.27 +2025-03-10 13:02:38,812 - INFO - OPENED LONG at 2066.5 | Stop loss: 2056.148842857143 | Take profit: 2097.5254857142854 +2025-03-10 13:02:38,814 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,815 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,817 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,818 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,818 - INFO - CLOSED long at 2071.59 | PnL: 0.25% | $0.25 +2025-03-10 13:02:38,819 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,820 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,821 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,822 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,823 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,824 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,825 - INFO - OPENED LONG at 2070.9 | Stop loss: 2060.526842857143 | Take profit: 2101.991485714286 +2025-03-10 13:02:38,825 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,828 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,828 - INFO - CLOSED long at 2069.69 | PnL: -0.06% | $-0.27 +2025-03-10 13:02:38,829 - INFO - OPENED SHORT at 2069.69 | Stop loss: 2080.057107142857 | Take profit: 2038.6166642857143 +2025-03-10 13:02:38,830 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,831 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,831 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,833 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,834 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,834 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,835 - INFO - CLOSED short at 2070.35 | PnL: -0.03% | $-0.22 +2025-03-10 13:02:38,835 - INFO - OPENED LONG at 2070.35 | Stop loss: 2059.979592857143 | Take profit: 2101.4332357142857 +2025-03-10 13:02:38,837 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,838 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,839 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,840 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,840 - INFO - CLOSED long at 2071.99 | PnL: 0.08% | $-0.04 +2025-03-10 13:02:38,840 - INFO - OPENED SHORT at 2071.99 | Stop loss: 2082.368607142857 | Take profit: 2040.8821642857142 +2025-03-10 13:02:38,842 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,842 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,844 - INFO - CLOSED short at 2068.19 | PnL: 0.18% | $0.14 +2025-03-10 13:02:38,844 - INFO - OPENED LONG at 2068.19 | Stop loss: 2057.830392857143 | Take profit: 2099.240835714286 +2025-03-10 13:02:38,845 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,846 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,846 - INFO - CLOSED long at 2068.67 | PnL: 0.02% | $-0.13 +2025-03-10 13:02:38,848 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,848 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,849 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,851 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,852 - INFO - OPENED SHORT at 2069.78 | Stop loss: 2080.1475571428573 | Take profit: 2038.7053142857144 +2025-03-10 13:02:38,852 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,853 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,854 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,856 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,857 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,858 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,860 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,860 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,861 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,863 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,864 - INFO - CLOSED short at 2073.27 | PnL: -0.17% | $-0.45 +2025-03-10 13:02:38,865 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,866 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,867 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,868 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,870 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,871 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,872 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,873 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,875 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,876 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,876 - INFO - OPENED LONG at 2075.61 | Stop loss: 2065.2132928571427 | Take profit: 2106.772135714286 +2025-03-10 13:02:38,877 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,878 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,878 - INFO - CLOSED long at 2074.0 | PnL: -0.08% | $-0.30 +2025-03-10 13:02:38,878 - INFO - OPENED SHORT at 2074.0 | Stop loss: 2084.388657142857 | Take profit: 2042.8620142857144 +2025-03-10 13:02:38,880 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,881 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,881 - INFO - CLOSED short at 2072.09 | PnL: 0.09% | $-0.01 +2025-03-10 13:02:38,882 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,883 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,885 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,885 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,887 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,888 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,889 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.353657142857 | Take profit: 2035.9670142857144 +2025-03-10 13:02:38,890 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,891 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,892 - INFO - CLOSED short at 2067.9 | PnL: -0.04% | $-0.24 +2025-03-10 13:02:38,892 - INFO - OPENED LONG at 2067.9 | Stop loss: 2057.541842857143 | Take profit: 2098.9464857142857 +2025-03-10 13:02:38,893 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,894 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,895 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,896 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,898 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,899 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,900 - INFO - CLOSED long at 2067.88 | PnL: -0.00% | $-0.17 +2025-03-10 13:02:38,900 - INFO - OPENED SHORT at 2067.88 | Stop loss: 2078.2380571428575 | Take profit: 2036.8338142857144 +2025-03-10 13:02:38,901 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,902 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,903 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,904 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,908 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,909 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,911 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,911 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,912 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,914 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,916 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,917 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,917 - INFO - CLOSED short at 2067.19 | PnL: 0.03% | $-0.11 +2025-03-10 13:02:38,918 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,919 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,920 - INFO - OPENED SHORT at 2065.5 | Stop loss: 2075.8461571428575 | Take profit: 2034.4895142857142 +2025-03-10 13:02:38,921 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,922 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,922 - INFO - CLOSED short at 2065.7 | PnL: -0.01% | $-0.18 +2025-03-10 13:02:38,923 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.3528428571426 | Take profit: 2096.713485714286 +2025-03-10 13:02:38,923 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,925 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,925 - INFO - CLOSED long at 2065.8 | PnL: 0.00% | $-0.16 +2025-03-10 13:02:38,927 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,927 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,933 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,935 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,936 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,937 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,937 - INFO - OPENED SHORT at 2063.39 | Stop loss: 2073.725607142857 | Take profit: 2032.4111642857142 +2025-03-10 13:02:38,938 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,939 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,940 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,941 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,942 - INFO - CLOSED short at 2063.98 | PnL: -0.03% | $-0.21 +2025-03-10 13:02:38,942 - INFO - OPENED LONG at 2063.98 | Stop loss: 2053.641442857143 | Take profit: 2094.967685714286 +2025-03-10 13:02:38,944 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,944 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,945 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,947 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,948 - INFO - CLOSED long at 2065.06 | PnL: 0.05% | $-0.08 +2025-03-10 13:02:38,948 - INFO - OPENED SHORT at 2065.06 | Stop loss: 2075.403957142857 | Take profit: 2034.056114285714 +2025-03-10 13:02:38,949 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,950 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,951 - INFO - CLOSED short at 2064.11 | PnL: 0.05% | $-0.09 +2025-03-10 13:02:38,951 - INFO - OPENED LONG at 2064.11 | Stop loss: 2053.770792857143 | Take profit: 2095.099635714286 +2025-03-10 13:02:38,952 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,953 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,954 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,956 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,956 - INFO - CLOSED long at 2066.33 | PnL: 0.11% | $0.01 +2025-03-10 13:02:38,958 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,959 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,960 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,960 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,963 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,963 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,969 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,970 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,971 - INFO - OPENED LONG at 2059.2 | Stop loss: 2048.885342857143 | Take profit: 2090.1159857142857 +2025-03-10 13:02:38,972 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,973 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,975 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,976 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,977 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,979 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,980 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,981 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,982 - INFO - CLOSED long at 2053.01 | PnL: -0.30% | $-0.66 +2025-03-10 13:02:38,983 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,984 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,985 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,986 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,988 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,989 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,990 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,991 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,995 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,997 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:38,998 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:38,998 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,001 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,002 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,003 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,004 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,004 - INFO - OPENED LONG at 2062.83 | Stop loss: 2052.4971928571426 | Take profit: 2093.8004357142854 +2025-03-10 13:02:39,006 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,006 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,007 - INFO - CLOSED long at 2063.9 | PnL: 0.05% | $-0.08 +2025-03-10 13:02:39,007 - INFO - OPENED SHORT at 2063.9 | Stop loss: 2074.2381571428573 | Take profit: 2032.9135142857144 +2025-03-10 13:02:39,008 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,010 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,010 - INFO - CLOSED short at 2065.1 | PnL: -0.06% | $-0.26 +2025-03-10 13:02:39,010 - INFO - OPENED LONG at 2065.1 | Stop loss: 2054.755842857143 | Take profit: 2096.1044857142856 +2025-03-10 13:02:39,012 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,012 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,014 - INFO - CLOSED long at 2062.43 | PnL: -0.13% | $-0.37 +2025-03-10 13:02:39,015 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,015 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,016 - INFO - OPENED LONG at 2062.55 | Stop loss: 2052.218592857143 | Take profit: 2093.516235714286 +2025-03-10 13:02:39,017 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,017 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,018 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,020 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,021 - INFO - CLOSED long at 2068.33 | PnL: 0.28% | $0.29 +2025-03-10 13:02:39,021 - INFO - OPENED SHORT at 2068.33 | Stop loss: 2078.6903071428574 | Take profit: 2037.2770642857142 +2025-03-10 13:02:39,022 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,023 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,024 - INFO - CLOSED short at 2067.49 | PnL: 0.04% | $-0.10 +2025-03-10 13:02:39,025 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,026 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,030 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,031 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,032 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,034 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,034 - INFO - OPENED LONG at 2061.21 | Stop loss: 2050.8852928571428 | Take profit: 2092.1561357142855 +2025-03-10 13:02:39,035 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,035 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,038 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,039 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,040 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,041 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,042 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,044 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,044 - INFO - CLOSED long at 2062.54 | PnL: 0.06% | $-0.06 +2025-03-10 13:02:39,044 - INFO - OPENED SHORT at 2062.54 | Stop loss: 2072.8713571428575 | Take profit: 2031.5739142857142 +2025-03-10 13:02:39,045 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,047 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,047 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,048 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,049 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,050 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,050 - INFO - CLOSED short at 2070.24 | PnL: -0.37% | $-0.77 +2025-03-10 13:02:39,052 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,053 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,054 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,056 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,057 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,058 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,059 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,061 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,062 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,063 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,064 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,065 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,066 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6063928571425 | Take profit: 2104.1128357142857 +2025-03-10 13:02:39,067 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,068 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,069 - INFO - CLOSED long at 2071.89 | PnL: -0.05% | $-0.25 +2025-03-10 13:02:39,069 - INFO - OPENED SHORT at 2071.89 | Stop loss: 2082.268107142857 | Take profit: 2040.7836642857142 +2025-03-10 13:02:39,070 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,071 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,071 - INFO - CLOSED short at 2071.8 | PnL: 0.00% | $-0.15 +2025-03-10 13:02:39,072 - INFO - OPENED LONG at 2071.8 | Stop loss: 2061.422342857143 | Take profit: 2102.904985714286 +2025-03-10 13:02:39,073 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,074 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,075 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,076 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,076 - INFO - CLOSED long at 2076.08 | PnL: 0.21% | $0.17 +2025-03-10 13:02:39,077 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,078 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,078 - INFO - OPENED SHORT at 2077.61 | Stop loss: 2088.0167071428573 | Take profit: 2046.4178642857144 +2025-03-10 13:02:39,080 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,081 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,083 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,083 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,084 - INFO - CLOSED short at 2090.49 | PnL: -0.62% | $-1.15 +2025-03-10 13:02:39,085 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,086 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,088 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,088 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,090 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,090 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,090 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2563571428573 | Take profit: 2107.4189142857144 +2025-03-10 13:02:39,092 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,093 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,094 - INFO - CLOSED short at 2131.78 | PnL: 0.36% | $0.41 +2025-03-10 13:02:39,094 - INFO - OPENED LONG at 2131.78 | Stop loss: 2121.102442857143 | Take profit: 2163.7846857142863 +2025-03-10 13:02:39,095 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,095 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,097 - INFO - CLOSED long at 2133.95 | PnL: 0.10% | $0.00 +2025-03-10 13:02:39,097 - INFO - OPENED SHORT at 2133.95 | Stop loss: 2144.638407142857 | Take profit: 2101.9127642857143 +2025-03-10 13:02:39,098 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,099 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,100 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,102 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,102 - INFO - CLOSED short at 2141.41 | PnL: -0.35% | $-0.71 +2025-03-10 13:02:39,102 - INFO - OPENED LONG at 2141.41 | Stop loss: 2130.6842928571427 | Take profit: 2173.5591357142853 +2025-03-10 13:02:39,103 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,104 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,105 - INFO - CLOSED long at 2141.3 | PnL: -0.01% | $-0.17 +2025-03-10 13:02:39,106 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,108 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,109 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,109 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,111 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,112 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,112 - INFO - OPENED LONG at 2134.78 | Stop loss: 2124.0874428571433 | Take profit: 2166.829685714286 +2025-03-10 13:02:39,114 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,115 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,115 - INFO - CLOSED long at 2126.99 | PnL: -0.36% | $-0.73 +2025-03-10 13:02:39,116 - INFO - OPENED SHORT at 2126.99 | Stop loss: 2137.6436071428566 | Take profit: 2095.057164285714 +2025-03-10 13:02:39,117 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,117 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,119 - INFO - CLOSED short at 2127.3 | PnL: -0.01% | $-0.18 +2025-03-10 13:02:39,119 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.644842857143 | Take profit: 2159.2374857142863 +2025-03-10 13:02:39,121 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,121 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,123 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,124 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,125 - INFO - CLOSED long at 2121.09 | PnL: -0.29% | $-0.61 +2025-03-10 13:02:39,125 - INFO - OPENED SHORT at 2121.09 | Stop loss: 2131.7141071428573 | Take profit: 2089.2456642857146 +2025-03-10 13:02:39,125 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,126 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,127 - INFO - CLOSED short at 2120.15 | PnL: 0.04% | $-0.09 +2025-03-10 13:02:39,127 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.530592857143 | Take profit: 2151.9802357142858 +2025-03-10 13:02:39,128 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,130 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,131 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,131 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,133 - INFO - CLOSED long at 2119.93 | PnL: -0.01% | $-0.17 +2025-03-10 13:02:39,134 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,136 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,136 - INFO - OPENED SHORT at 2121.4 | Stop loss: 2132.0256571428577 | Take profit: 2089.5510142857142 +2025-03-10 13:02:39,137 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,138 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,139 - INFO - CLOSED short at 2118.52 | PnL: 0.14% | $0.05 +2025-03-10 13:02:39,139 - INFO - OPENED LONG at 2118.52 | Stop loss: 2107.908742857143 | Take profit: 2150.3257857142858 +2025-03-10 13:02:39,140 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,141 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,143 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,144 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,145 - INFO - CLOSED long at 2119.07 | PnL: 0.03% | $-0.11 +2025-03-10 13:02:39,146 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,147 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,148 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,149 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,150 - INFO - OPENED SHORT at 2107.43 | Stop loss: 2117.985807142857 | Take profit: 2075.790564285714 +2025-03-10 13:02:39,151 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,152 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,152 - INFO - CLOSED short at 2110.6 | PnL: -0.15% | $-0.38 +2025-03-10 13:02:39,153 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,153 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,154 - INFO - OPENED SHORT at 2109.05 | Stop loss: 2119.6139071428574 | Take profit: 2077.3862642857143 +2025-03-10 13:02:39,156 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,157 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,157 - INFO - CLOSED short at 2112.09 | PnL: -0.14% | $-0.37 +2025-03-10 13:02:39,158 - INFO - OPENED LONG at 2112.09 | Stop loss: 2101.510892857143 | Take profit: 2143.799335714286 +2025-03-10 13:02:39,159 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,160 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,160 - INFO - CLOSED long at 2112.95 | PnL: 0.04% | $-0.09 +2025-03-10 13:02:39,160 - INFO - OPENED SHORT at 2112.95 | Stop loss: 2123.533407142857 | Take profit: 2081.2277642857143 +2025-03-10 13:02:39,162 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,164 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,164 - INFO - CLOSED short at 2112.46 | PnL: 0.02% | $-0.12 +2025-03-10 13:02:39,164 - INFO - OPENED LONG at 2112.46 | Stop loss: 2101.879042857143 | Take profit: 2144.174885714286 +2025-03-10 13:02:39,165 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,166 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,167 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,169 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,169 - INFO - CLOSED long at 2112.99 | PnL: 0.03% | $-0.11 +2025-03-10 13:02:39,170 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,171 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,171 - INFO - OPENED LONG at 2120.81 | Stop loss: 2110.187292857143 | Take profit: 2152.6501357142856 +2025-03-10 13:02:39,173 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,175 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,176 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,178 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,179 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,180 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,182 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,183 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,183 - INFO - CLOSED long at 2108.71 | PnL: -0.57% | $-1.01 +2025-03-10 13:02:39,184 - INFO - OPENED SHORT at 2108.71 | Stop loss: 2119.272207142857 | Take profit: 2077.0513642857145 +2025-03-10 13:02:39,185 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,185 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,187 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,188 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,188 - INFO - CLOSED short at 2108.06 | PnL: 0.03% | $-0.10 +2025-03-10 13:02:39,189 - INFO - OPENED LONG at 2108.06 | Stop loss: 2097.5010428571427 | Take profit: 2139.7088857142858 +2025-03-10 13:02:39,190 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,191 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,191 - INFO - CLOSED long at 2103.33 | PnL: -0.22% | $-0.48 +2025-03-10 13:02:39,192 - INFO - OPENED SHORT at 2103.33 | Stop loss: 2113.865307142857 | Take profit: 2071.7520642857144 +2025-03-10 13:02:39,194 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,195 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,199 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,199 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,200 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,201 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,202 - INFO - CLOSED short at 2099.53 | PnL: 0.18% | $0.12 +2025-03-10 13:02:39,204 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,204 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,205 - INFO - OPENED SHORT at 2098.1 | Stop loss: 2108.609157142857 | Take profit: 2066.6005142857143 +2025-03-10 13:02:39,206 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,208 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,209 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,210 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,210 - INFO - CLOSED short at 2102.29 | PnL: -0.20% | $-0.44 +2025-03-10 13:02:39,211 - INFO - OPENED LONG at 2102.29 | Stop loss: 2091.759892857143 | Take profit: 2133.852335714286 +2025-03-10 13:02:39,212 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,213 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,213 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,215 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,215 - INFO - CLOSED long at 2098.9 | PnL: -0.16% | $-0.38 +2025-03-10 13:02:39,217 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,217 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,218 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,219 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,221 - INFO - OPENED SHORT at 2104.83 | Stop loss: 2115.3728071428573 | Take profit: 2073.2295642857143 +2025-03-10 13:02:39,222 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,223 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,224 - INFO - CLOSED short at 2106.39 | PnL: -0.07% | $-0.26 +2025-03-10 13:02:39,224 - INFO - OPENED LONG at 2106.39 | Stop loss: 2095.8393928571427 | Take profit: 2138.0138357142855 +2025-03-10 13:02:39,225 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,226 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,230 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,231 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,232 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,234 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,234 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,235 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,237 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,237 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,240 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,240 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,241 - INFO - CLOSED long at 2100.02 | PnL: -0.30% | $-0.59 +2025-03-10 13:02:39,241 - INFO - OPENED SHORT at 2100.02 | Stop loss: 2110.538757142857 | Take profit: 2068.4917142857144 +2025-03-10 13:02:39,242 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,244 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,245 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,247 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,247 - INFO - CLOSED short at 2095.29 | PnL: 0.23% | $0.18 +2025-03-10 13:02:39,248 - INFO - OPENED LONG at 2095.29 | Stop loss: 2084.7948928571427 | Take profit: 2126.747335714286 +2025-03-10 13:02:39,249 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,249 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,249 - INFO - CLOSED long at 2093.46 | PnL: -0.09% | $-0.27 +2025-03-10 13:02:39,249 - INFO - OPENED SHORT at 2093.46 | Stop loss: 2103.945957142857 | Take profit: 2062.0301142857143 +2025-03-10 13:02:39,251 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,252 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,253 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,254 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,255 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,256 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,258 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,259 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,259 - INFO - CLOSED short at 2094.72 | PnL: -0.06% | $-0.23 +2025-03-10 13:02:39,260 - INFO - OPENED LONG at 2094.72 | Stop loss: 2084.227742857143 | Take profit: 2126.1687857142856 +2025-03-10 13:02:39,262 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,263 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,263 - INFO - CLOSED long at 2094.08 | PnL: -0.03% | $-0.19 +2025-03-10 13:02:39,263 - INFO - OPENED SHORT at 2094.08 | Stop loss: 2104.569057142857 | Take profit: 2062.640814285714 +2025-03-10 13:02:39,264 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,266 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,266 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,268 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,268 - INFO - CLOSED short at 2083.28 | PnL: 0.52% | $0.60 +2025-03-10 13:02:39,268 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.844942857143 | Take profit: 2114.557185714286 +2025-03-10 13:02:39,270 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,270 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,272 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,274 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,275 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,276 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,277 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,279 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,280 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,282 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,283 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,284 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,284 - INFO - CLOSED long at 2080.38 | PnL: -0.14% | $-0.35 +2025-03-10 13:02:39,285 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,285 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,287 - INFO - OPENED SHORT at 2081.25 | Stop loss: 2091.674907142857 | Take profit: 2050.003264285714 +2025-03-10 13:02:39,288 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,288 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,290 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,291 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,292 - INFO - CLOSED short at 2085.09 | PnL: -0.18% | $-0.41 +2025-03-10 13:02:39,292 - INFO - OPENED LONG at 2085.09 | Stop loss: 2074.645892857143 | Take profit: 2116.3943357142857 +2025-03-10 13:02:39,293 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,294 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,295 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,297 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,298 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,299 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,301 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,301 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,302 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,303 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,306 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,306 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,307 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,308 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,309 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,311 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,312 - INFO - CLOSED long at 2088.32 | PnL: 0.15% | $0.08 +2025-03-10 13:02:39,313 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,313 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,315 - INFO - OPENED LONG at 2088.1 | Stop loss: 2077.640842857143 | Take profit: 2119.449485714286 +2025-03-10 13:02:39,316 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,316 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,317 - INFO - CLOSED long at 2089.96 | PnL: 0.09% | $-0.02 +2025-03-10 13:02:39,317 - INFO - OPENED SHORT at 2089.96 | Stop loss: 2100.4284571428575 | Take profit: 2058.582614285714 +2025-03-10 13:02:39,319 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,320 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,324 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,325 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,330 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,331 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,331 - INFO - CLOSED short at 2087.78 | PnL: 0.10% | $0.01 +2025-03-10 13:02:39,333 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,333 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,334 - INFO - OPENED SHORT at 2086.81 | Stop loss: 2097.2627071428574 | Take profit: 2055.479864285714 +2025-03-10 13:02:39,335 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,336 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,337 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,338 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,338 - INFO - CLOSED short at 2085.67 | PnL: 0.05% | $-0.07 +2025-03-10 13:02:39,338 - INFO - OPENED LONG at 2085.67 | Stop loss: 2075.222992857143 | Take profit: 2116.9830357142855 +2025-03-10 13:02:39,341 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,341 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,342 - INFO - CLOSED long at 2089.2 | PnL: 0.17% | $0.10 +2025-03-10 13:02:39,344 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,344 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,345 - INFO - OPENED SHORT at 2091.05 | Stop loss: 2101.5239071428573 | Take profit: 2059.6562642857148 +2025-03-10 13:02:39,346 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,346 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,347 - INFO - CLOSED short at 2091.05 | PnL: 0.00% | $-0.14 +2025-03-10 13:02:39,347 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.576092857143 | Take profit: 2122.4437357142856 +2025-03-10 13:02:39,350 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,350 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,351 - INFO - CLOSED long at 2091.95 | PnL: 0.04% | $-0.08 +2025-03-10 13:02:39,351 - INFO - OPENED SHORT at 2091.95 | Stop loss: 2102.428407142857 | Take profit: 2060.542764285714 +2025-03-10 13:02:39,353 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,354 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,356 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,357 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,361 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,362 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,363 - INFO - CLOSED short at 2099.99 | PnL: -0.38% | $-0.69 +2025-03-10 13:02:39,364 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,365 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,370 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,371 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,372 - INFO - OPENED SHORT at 2097.11 | Stop loss: 2107.614207142857 | Take profit: 2065.625364285714 +2025-03-10 13:02:39,373 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,374 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,376 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,377 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,377 - INFO - CLOSED short at 2099.89 | PnL: -0.13% | $-0.33 +2025-03-10 13:02:39,378 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,380 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,381 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,382 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,383 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,384 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,386 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,386 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,387 - INFO - OPENED SHORT at 2103.48 | Stop loss: 2114.0160571428573 | Take profit: 2071.8998142857145 +2025-03-10 13:02:39,389 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,390 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,391 - INFO - Trade Analysis: Win Rate=20.9% in uptrends, 0.0% in downtrends | Avg Win=$0.14, Avg Loss=$-0.27 +2025-03-10 13:02:39,392 - INFO - Episode 1: Reward=-142.50, Balance=$71.29, Win Rate=18.8%, Trades=149, Episode PnL=$-20.76, Total PnL=$-58.16, Max Drawdown=28.7%, Pred Accuracy=99.2% +2025-03-10 13:02:39,392 - ERROR - Error in episode 1: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:02:39,393 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1763, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:02:39,413 - INFO - Identified 25 optimal buy points and 28 optimal sell points +2025-03-10 13:02:39,592 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,593 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,594 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,595 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,599 - INFO - OPENED LONG at 2050.2 | Stop loss: 2039.9303428571427 | Take profit: 2080.9809857142855 +2025-03-10 13:02:39,600 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,601 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,602 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,604 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,604 - INFO - CLOSED long at 2051.99 | PnL: 0.09% | $-0.03 +2025-03-10 13:02:39,604 - INFO - OPENED SHORT at 2051.99 | Stop loss: 2062.268607142857 | Take profit: 2021.182164285714 +2025-03-10 13:02:39,605 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,607 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,608 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,609 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,610 - INFO - CLOSED short at 2049.24 | PnL: 0.13% | $0.07 +2025-03-10 13:02:39,610 - INFO - OPENED LONG at 2049.24 | Stop loss: 2038.9751428571426 | Take profit: 2080.0065857142854 +2025-03-10 13:02:39,611 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,612 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,613 - INFO - CLOSED long at 2048.48 | PnL: -0.04% | $-0.27 +2025-03-10 13:02:39,614 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,615 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,615 - INFO - OPENED SHORT at 2047.39 | Stop loss: 2057.6456071428574 | Take profit: 2016.6511642857145 +2025-03-10 13:02:39,617 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,618 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,623 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,623 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,624 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,626 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,626 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,627 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,629 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,631 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,632 - INFO - CLOSED short at 2045.99 | PnL: 0.07% | $-0.06 +2025-03-10 13:02:39,633 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,634 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,634 - INFO - OPENED LONG at 2045.79 | Stop loss: 2035.5423928571429 | Take profit: 2076.5048357142855 +2025-03-10 13:02:39,636 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,637 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,638 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,639 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,640 - INFO - CLOSED long at 2047.59 | PnL: 0.09% | $-0.02 +2025-03-10 13:02:39,642 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,643 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,643 - INFO - OPENED SHORT at 2048.51 | Stop loss: 2058.7712071428573 | Take profit: 2017.7543642857145 +2025-03-10 13:02:39,644 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,645 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,645 - INFO - CLOSED short at 2050.0 | PnL: -0.07% | $-0.34 +2025-03-10 13:02:39,647 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,648 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,648 - INFO - OPENED LONG at 2050.24 | Stop loss: 2039.9701428571425 | Take profit: 2081.0215857142853 +2025-03-10 13:02:39,650 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,651 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,652 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,652 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,653 - INFO - CLOSED long at 2051.11 | PnL: 0.04% | $-0.11 +2025-03-10 13:02:39,653 - INFO - OPENED SHORT at 2051.11 | Stop loss: 2061.384207142857 | Take profit: 2020.3153642857144 +2025-03-10 13:02:39,655 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,656 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,658 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,658 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,660 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,661 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,663 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,664 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,665 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,666 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,667 - INFO - CLOSED short at 2057.01 | PnL: -0.29% | $-0.76 +2025-03-10 13:02:39,668 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,669 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,669 - INFO - OPENED SHORT at 2056.89 | Stop loss: 2067.1931071428567 | Take profit: 2026.008664285714 +2025-03-10 13:02:39,671 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,671 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,673 - INFO - CLOSED short at 2058.39 | PnL: -0.07% | $-0.34 +2025-03-10 13:02:39,673 - INFO - OPENED LONG at 2058.39 | Stop loss: 2048.0793928571425 | Take profit: 2089.2938357142857 +2025-03-10 13:02:39,674 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,676 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,676 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,678 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,678 - INFO - CLOSED long at 2059.7 | PnL: 0.06% | $-0.07 +2025-03-10 13:02:39,679 - INFO - OPENED SHORT at 2059.7 | Stop loss: 2070.0171571428573 | Take profit: 2028.776514285714 +2025-03-10 13:02:39,680 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,681 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,681 - INFO - CLOSED short at 2061.49 | PnL: -0.09% | $-0.36 +2025-03-10 13:02:39,682 - INFO - OPENED LONG at 2061.49 | Stop loss: 2051.163892857143 | Take profit: 2092.4403357142855 +2025-03-10 13:02:39,682 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,684 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,685 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,687 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,687 - INFO - CLOSED long at 2064.61 | PnL: 0.15% | $0.10 +2025-03-10 13:02:39,687 - INFO - OPENED SHORT at 2064.61 | Stop loss: 2074.9517071428572 | Take profit: 2033.6128642857143 +2025-03-10 13:02:39,689 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,689 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,690 - INFO - CLOSED short at 2063.59 | PnL: 0.05% | $-0.10 +2025-03-10 13:02:39,690 - INFO - OPENED LONG at 2063.59 | Stop loss: 2053.253392857143 | Take profit: 2094.5718357142855 +2025-03-10 13:02:39,690 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,693 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,693 - INFO - CLOSED long at 2061.61 | PnL: -0.10% | $-0.38 +2025-03-10 13:02:39,694 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,695 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,696 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,697 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,699 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,700 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,700 - INFO - OPENED SHORT at 2060.99 | Stop loss: 2071.313607142857 | Take profit: 2030.047164285714 +2025-03-10 13:02:39,702 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,703 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,704 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,705 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,706 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,707 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,708 - INFO - CLOSED short at 2061.89 | PnL: -0.04% | $-0.28 +2025-03-10 13:02:39,708 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.5618928571425 | Take profit: 2092.846335714286 +2025-03-10 13:02:39,709 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,710 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,712 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,713 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,714 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,715 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,718 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,719 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,720 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,721 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,722 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,723 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,726 - INFO - CLOSED long at 2057.94 | PnL: -0.19% | $-0.56 +2025-03-10 13:02:39,727 - INFO - OPENED SHORT at 2057.94 | Stop loss: 2068.248357142857 | Take profit: 2027.0429142857142 +2025-03-10 13:02:39,727 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,728 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,732 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,733 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,734 - INFO - CLOSED short at 2061.79 | PnL: -0.19% | $-0.55 +2025-03-10 13:02:39,736 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,736 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,736 - INFO - OPENED SHORT at 2061.18 | Stop loss: 2071.5045571428573 | Take profit: 2030.2343142857142 +2025-03-10 13:02:39,737 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,739 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,740 - INFO - CLOSED short at 2064.32 | PnL: -0.15% | $-0.48 +2025-03-10 13:02:39,741 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,742 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,742 - INFO - OPENED LONG at 2065.86 | Stop loss: 2055.512042857143 | Take profit: 2096.875885714286 +2025-03-10 13:02:39,743 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,745 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,745 - INFO - CLOSED long at 2070.58 | PnL: 0.23% | $0.24 +2025-03-10 13:02:39,746 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,746 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,749 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,750 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,751 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,751 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,754 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,755 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,755 - INFO - OPENED SHORT at 2071.63 | Stop loss: 2082.0068071428573 | Take profit: 2040.5275642857143 +2025-03-10 13:02:39,756 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,757 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,757 - INFO - CLOSED short at 2070.99 | PnL: 0.03% | $-0.13 +2025-03-10 13:02:39,757 - INFO - OPENED LONG at 2070.99 | Stop loss: 2060.6163928571427 | Take profit: 2102.0828357142855 +2025-03-10 13:02:39,759 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,760 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,761 - INFO - CLOSED long at 2069.6 | PnL: -0.07% | $-0.32 +2025-03-10 13:02:39,761 - INFO - OPENED SHORT at 2069.6 | Stop loss: 2079.9666571428575 | Take profit: 2038.528014285714 +2025-03-10 13:02:39,762 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,763 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,764 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,764 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,766 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,768 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,769 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,770 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,771 - INFO - CLOSED short at 2067.69 | PnL: 0.09% | $-0.01 +2025-03-10 13:02:39,771 - INFO - OPENED LONG at 2067.69 | Stop loss: 2057.3328928571427 | Take profit: 2098.733335714286 +2025-03-10 13:02:39,772 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,773 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,774 - INFO - CLOSED long at 2070.26 | PnL: 0.12% | $0.05 +2025-03-10 13:02:39,775 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,776 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,778 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,780 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,781 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,782 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,782 - INFO - OPENED LONG at 2075.1 | Stop loss: 2064.7058428571427 | Take profit: 2106.2544857142857 +2025-03-10 13:02:39,783 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,784 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,785 - INFO - CLOSED long at 2072.91 | PnL: -0.11% | $-0.39 +2025-03-10 13:02:39,786 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,788 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,788 - INFO - OPENED SHORT at 2072.33 | Stop loss: 2082.710307142857 | Take profit: 2041.2170642857143 +2025-03-10 13:02:39,789 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,790 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,791 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,793 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,794 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,795 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,796 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,797 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,798 - INFO - CLOSED short at 2070.9 | PnL: 0.07% | $-0.06 +2025-03-10 13:02:39,799 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,800 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,802 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,803 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,804 - INFO - OPENED SHORT at 2070.79 | Stop loss: 2081.1626071428573 | Take profit: 2039.7001642857142 +2025-03-10 13:02:39,805 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,806 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,807 - INFO - CLOSED short at 2070.28 | PnL: 0.02% | $-0.14 +2025-03-10 13:02:39,807 - INFO - OPENED LONG at 2070.28 | Stop loss: 2059.909942857143 | Take profit: 2101.3621857142857 +2025-03-10 13:02:39,808 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,809 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,810 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,812 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,812 - INFO - CLOSED long at 2067.2 | PnL: -0.15% | $-0.47 +2025-03-10 13:02:39,812 - INFO - OPENED SHORT at 2067.2 | Stop loss: 2077.5546571428567 | Take profit: 2036.1640142857143 +2025-03-10 13:02:39,813 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,814 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,819 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,820 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,821 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,822 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,823 - INFO - CLOSED short at 2070.7 | PnL: -0.17% | $-0.50 +2025-03-10 13:02:39,823 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3278428571425 | Take profit: 2101.7884857142853 +2025-03-10 13:02:39,823 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,826 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,827 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,828 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,828 - INFO - CLOSED long at 2069.19 | PnL: -0.07% | $-0.32 +2025-03-10 13:02:39,828 - INFO - OPENED SHORT at 2069.19 | Stop loss: 2079.5546071428575 | Take profit: 2038.1241642857142 +2025-03-10 13:02:39,830 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,830 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,832 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,833 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,834 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,835 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,836 - INFO - CLOSED short at 2067.51 | PnL: 0.08% | $-0.03 +2025-03-10 13:02:39,836 - INFO - OPENED LONG at 2067.51 | Stop loss: 2057.1537928571433 | Take profit: 2098.550635714286 +2025-03-10 13:02:39,838 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,839 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,839 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,840 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,842 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,843 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,844 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,845 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,846 - INFO - CLOSED long at 2066.19 | PnL: -0.06% | $-0.30 +2025-03-10 13:02:39,846 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,848 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,849 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,850 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,853 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,854 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,858 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,859 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,860 - INFO - OPENED SHORT at 2068.76 | Stop loss: 2079.1224571428575 | Take profit: 2037.7006142857147 +2025-03-10 13:02:39,861 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,862 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,863 - INFO - CLOSED short at 2068.9 | PnL: -0.01% | $-0.20 +2025-03-10 13:02:39,863 - INFO - OPENED LONG at 2068.9 | Stop loss: 2058.536842857143 | Take profit: 2099.9614857142856 +2025-03-10 13:02:39,864 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,865 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,866 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,867 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,872 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,873 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,874 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,876 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,877 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,878 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,884 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,885 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,885 - INFO - CLOSED long at 2071.4 | PnL: 0.12% | $0.04 +2025-03-10 13:02:39,886 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,888 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,889 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,890 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,890 - INFO - OPENED SHORT at 2071.36 | Stop loss: 2081.7354571428573 | Take profit: 2040.2616142857146 +2025-03-10 13:02:39,892 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,893 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,893 - INFO - CLOSED short at 2072.75 | PnL: -0.07% | $-0.31 +2025-03-10 13:02:39,894 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,895 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,896 - INFO - OPENED SHORT at 2073.11 | Stop loss: 2083.4942071428572 | Take profit: 2041.9853642857142 +2025-03-10 13:02:39,896 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,897 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,899 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,900 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,903 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,904 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,904 - INFO - CLOSED short at 2074.29 | PnL: -0.06% | $-0.29 +2025-03-10 13:02:39,905 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,906 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,907 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,908 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,909 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,910 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,911 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.770657142857 | Take profit: 2039.3160142857146 +2025-03-10 13:02:39,912 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,913 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,918 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,919 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,920 - INFO - CLOSED short at 2069.46 | PnL: 0.05% | $-0.10 +2025-03-10 13:02:39,921 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,922 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,923 - INFO - OPENED SHORT at 2069.35 | Stop loss: 2079.7154071428567 | Take profit: 2038.2817642857142 +2025-03-10 13:02:39,924 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,925 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,927 - INFO - CLOSED short at 2068.32 | PnL: 0.05% | $-0.09 +2025-03-10 13:02:39,928 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,929 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,929 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.353657142857 | Take profit: 2035.9670142857144 +2025-03-10 13:02:39,930 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,931 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,932 - INFO - CLOSED short at 2067.79 | PnL: -0.04% | $-0.25 +2025-03-10 13:02:39,932 - INFO - OPENED LONG at 2067.79 | Stop loss: 2057.4323928571425 | Take profit: 2098.834835714286 +2025-03-10 13:02:39,933 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,934 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,935 - INFO - CLOSED long at 2067.46 | PnL: -0.02% | $-0.21 +2025-03-10 13:02:39,935 - INFO - OPENED SHORT at 2067.46 | Stop loss: 2077.815957142857 | Take profit: 2036.4201142857144 +2025-03-10 13:02:39,936 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,937 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,938 - INFO - CLOSED short at 2066.8 | PnL: 0.03% | $-0.12 +2025-03-10 13:02:39,939 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,939 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,941 - INFO - OPENED SHORT at 2065.49 | Stop loss: 2075.8361071428567 | Take profit: 2034.479664285714 +2025-03-10 13:02:39,942 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,942 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,948 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,949 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,950 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,951 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,952 - INFO - CLOSED short at 2067.89 | PnL: -0.12% | $-0.39 +2025-03-10 13:02:39,952 - INFO - OPENED LONG at 2067.89 | Stop loss: 2057.531892857143 | Take profit: 2098.9363357142856 +2025-03-10 13:02:39,953 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,954 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,955 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,956 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,957 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,959 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,959 - INFO - CLOSED long at 2069.34 | PnL: 0.07% | $-0.05 +2025-03-10 13:02:39,960 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.7053571428573 | Take profit: 2038.2719142857143 +2025-03-10 13:02:39,961 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,962 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,965 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,966 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,967 - INFO - CLOSED short at 2067.59 | PnL: 0.08% | $-0.03 +2025-03-10 13:02:39,967 - INFO - OPENED LONG at 2067.59 | Stop loss: 2057.233392857143 | Take profit: 2098.631835714286 +2025-03-10 13:02:39,968 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,969 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,970 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,971 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,972 - INFO - CLOSED long at 2070.3 | PnL: 0.13% | $0.06 +2025-03-10 13:02:39,973 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,974 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,975 - INFO - OPENED SHORT at 2071.59 | Stop loss: 2081.9666071428574 | Take profit: 2040.4881642857144 +2025-03-10 13:02:39,976 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,977 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,977 - INFO - CLOSED short at 2070.7 | PnL: 0.04% | $-0.10 +2025-03-10 13:02:39,978 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,980 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,980 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.029342857143 | Take profit: 2101.4839857142856 +2025-03-10 13:02:39,982 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,983 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,984 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,985 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,990 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,991 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,993 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,994 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,994 - INFO - CLOSED long at 2067.84 | PnL: -0.12% | $-0.40 +2025-03-10 13:02:39,995 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,996 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:39,998 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:39,999 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,000 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,001 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,001 - INFO - OPENED LONG at 2066.4 | Stop loss: 2056.049342857143 | Take profit: 2097.423985714286 +2025-03-10 13:02:40,002 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,004 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,004 - INFO - CLOSED long at 2066.1 | PnL: -0.01% | $-0.21 +2025-03-10 13:02:40,004 - INFO - OPENED SHORT at 2066.1 | Stop loss: 2076.449157142857 | Take profit: 2035.0805142857141 +2025-03-10 13:02:40,005 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,007 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,009 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,010 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,012 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,012 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,014 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,014 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,015 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,016 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,019 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,020 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,021 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,022 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,023 - INFO - CLOSED short at 2065.69 | PnL: 0.02% | $-0.14 +2025-03-10 13:02:40,023 - INFO - OPENED LONG at 2065.69 | Stop loss: 2055.342892857143 | Take profit: 2096.703335714286 +2025-03-10 13:02:40,024 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,025 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,027 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,028 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,029 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,030 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,031 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,032 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,033 - INFO - CLOSED long at 2066.15 | PnL: 0.02% | $-0.14 +2025-03-10 13:02:40,033 - INFO - OPENED SHORT at 2066.15 | Stop loss: 2076.4994071428573 | Take profit: 2035.1297642857144 +2025-03-10 13:02:40,034 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,036 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,037 - INFO - CLOSED short at 2065.26 | PnL: 0.04% | $-0.10 +2025-03-10 13:02:40,038 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,039 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,040 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,040 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,042 - INFO - OPENED SHORT at 2062.65 | Stop loss: 2072.9819071428574 | Take profit: 2031.6822642857144 +2025-03-10 13:02:40,043 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,044 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,045 - INFO - CLOSED short at 2061.78 | PnL: 0.04% | $-0.10 +2025-03-10 13:02:40,046 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,046 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,048 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,050 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,055 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,056 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,057 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,058 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,058 - INFO - OPENED SHORT at 2064.96 | Stop loss: 2075.303457142857 | Take profit: 2033.9576142857143 +2025-03-10 13:02:40,059 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,060 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,065 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,066 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,071 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,073 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,074 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,075 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,079 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,080 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,082 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,083 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,085 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,086 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,086 - INFO - CLOSED short at 2062.71 | PnL: 0.11% | $0.02 +2025-03-10 13:02:40,087 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,089 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,090 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,091 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,093 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,094 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,095 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,096 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,097 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.273342857143 | Take profit: 2092.551985714286 +2025-03-10 13:02:40,098 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,099 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,099 - INFO - CLOSED long at 2060.9 | PnL: -0.03% | $-0.24 +2025-03-10 13:02:40,100 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,101 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,103 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,104 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,105 - INFO - OPENED LONG at 2058.89 | Stop loss: 2048.576892857143 | Take profit: 2089.8013357142854 +2025-03-10 13:02:40,106 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,107 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,108 - INFO - CLOSED long at 2059.3 | PnL: 0.02% | $-0.14 +2025-03-10 13:02:40,109 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,109 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,110 - INFO - OPENED SHORT at 2060.31 | Stop loss: 2070.630207142857 | Take profit: 2029.377364285714 +2025-03-10 13:02:40,111 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,112 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,113 - INFO - CLOSED short at 2061.8 | PnL: -0.07% | $-0.31 +2025-03-10 13:02:40,113 - INFO - OPENED LONG at 2061.8 | Stop loss: 2051.4723428571433 | Take profit: 2092.754985714286 +2025-03-10 13:02:40,113 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,114 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,116 - INFO - CLOSED long at 2064.7 | PnL: 0.14% | $0.07 +2025-03-10 13:02:40,116 - INFO - OPENED SHORT at 2064.7 | Stop loss: 2075.042157142857 | Take profit: 2033.7015142857142 +2025-03-10 13:02:40,117 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,118 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,121 - INFO - CLOSED short at 2062.61 | PnL: 0.10% | $0.00 +2025-03-10 13:02:40,122 - INFO - OPENED LONG at 2062.61 | Stop loss: 2052.278292857143 | Take profit: 2093.577135714286 +2025-03-10 13:02:40,122 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,124 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,126 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,127 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,127 - INFO - CLOSED long at 2060.3 | PnL: -0.11% | $-0.38 +2025-03-10 13:02:40,128 - INFO - OPENED SHORT at 2060.3 | Stop loss: 2070.6201571428574 | Take profit: 2029.3675142857144 +2025-03-10 13:02:40,130 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,130 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,132 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,132 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,133 - INFO - CLOSED short at 2061.9 | PnL: -0.08% | $-0.31 +2025-03-10 13:02:40,135 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,135 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,136 - INFO - OPENED LONG at 2064.1 | Stop loss: 2053.760842857143 | Take profit: 2095.0894857142857 +2025-03-10 13:02:40,136 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,138 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,140 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,141 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,145 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,147 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,148 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,149 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,151 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,151 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,153 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,153 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,155 - INFO - CLOSED long at 2063.53 | PnL: -0.03% | $-0.22 +2025-03-10 13:02:40,155 - INFO - OPENED SHORT at 2063.53 | Stop loss: 2073.8663071428573 | Take profit: 2032.5490642857144 +2025-03-10 13:02:40,156 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,158 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,158 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,160 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,161 - INFO - CLOSED short at 2062.6 | PnL: 0.05% | $-0.10 +2025-03-10 13:02:40,161 - INFO - OPENED LONG at 2062.6 | Stop loss: 2052.2683428571427 | Take profit: 2093.5669857142852 +2025-03-10 13:02:40,162 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,162 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,164 - INFO - CLOSED long at 2061.89 | PnL: -0.03% | $-0.24 +2025-03-10 13:02:40,164 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,165 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,166 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,168 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,168 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.022157142857 | Take profit: 2029.7615142857142 +2025-03-10 13:02:40,169 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,171 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,171 - INFO - CLOSED short at 2061.09 | PnL: -0.02% | $-0.21 +2025-03-10 13:02:40,172 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,172 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,174 - INFO - OPENED LONG at 2059.61 | Stop loss: 2049.2932928571427 | Take profit: 2090.5321357142857 +2025-03-10 13:02:40,175 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,176 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,176 - INFO - CLOSED long at 2059.16 | PnL: -0.02% | $-0.21 +2025-03-10 13:02:40,176 - INFO - OPENED SHORT at 2059.16 | Stop loss: 2069.474457142857 | Take profit: 2028.244614285714 +2025-03-10 13:02:40,178 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,178 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,179 - INFO - CLOSED short at 2059.02 | PnL: 0.01% | $-0.16 +2025-03-10 13:02:40,179 - INFO - OPENED LONG at 2059.02 | Stop loss: 2048.706242857143 | Take profit: 2089.933285714286 +2025-03-10 13:02:40,181 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,182 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,182 - INFO - CLOSED long at 2058.89 | PnL: -0.01% | $-0.18 +2025-03-10 13:02:40,182 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.203107142857 | Take profit: 2027.978664285714 +2025-03-10 13:02:40,184 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,184 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,185 - INFO - CLOSED short at 2059.96 | PnL: -0.05% | $-0.26 +2025-03-10 13:02:40,187 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,188 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,189 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,190 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,191 - INFO - OPENED LONG at 2057.4 | Stop loss: 2047.0943428571431 | Take profit: 2088.2889857142854 +2025-03-10 13:02:40,191 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,192 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,197 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,198 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,199 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,201 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,201 - INFO - CLOSED long at 2055.6 | PnL: -0.09% | $-0.32 +2025-03-10 13:02:40,203 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,203 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,206 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,207 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,210 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,211 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,212 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,214 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,218 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,219 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,220 - INFO - OPENED SHORT at 2059.8 | Stop loss: 2070.1176571428573 | Take profit: 2028.8750142857145 +2025-03-10 13:02:40,221 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,222 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,223 - INFO - CLOSED short at 2061.66 | PnL: -0.09% | $-0.33 +2025-03-10 13:02:40,224 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,224 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,229 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,230 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,231 - INFO - OPENED SHORT at 2061.6 | Stop loss: 2071.926657142857 | Take profit: 2030.6480142857142 +2025-03-10 13:02:40,233 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,233 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,236 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,236 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,237 - INFO - CLOSED short at 2062.69 | PnL: -0.05% | $-0.26 +2025-03-10 13:02:40,237 - INFO - OPENED LONG at 2062.69 | Stop loss: 2052.357892857143 | Take profit: 2093.658335714286 +2025-03-10 13:02:40,238 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,239 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,239 - INFO - CLOSED long at 2063.4 | PnL: 0.03% | $-0.11 +2025-03-10 13:02:40,240 - INFO - OPENED SHORT at 2063.4 | Stop loss: 2073.7356571428572 | Take profit: 2032.4210142857144 +2025-03-10 13:02:40,241 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,243 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,244 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,245 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,246 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,247 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,248 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,249 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,250 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,251 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,252 - INFO - CLOSED short at 2066.33 | PnL: -0.14% | $-0.41 +2025-03-10 13:02:40,252 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.9796928571427 | Take profit: 2097.3529357142856 +2025-03-10 13:02:40,253 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,254 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,254 - INFO - CLOSED long at 2066.34 | PnL: 0.00% | $-0.17 +2025-03-10 13:02:40,255 - INFO - OPENED SHORT at 2066.34 | Stop loss: 2076.690357142857 | Take profit: 2035.3169142857143 +2025-03-10 13:02:40,255 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,257 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,258 - INFO - CLOSED short at 2066.79 | PnL: -0.02% | $-0.21 +2025-03-10 13:02:40,259 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,260 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,261 - INFO - OPENED LONG at 2067.33 | Stop loss: 2056.974692857143 | Take profit: 2098.3679357142855 +2025-03-10 13:02:40,262 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,263 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,263 - INFO - CLOSED long at 2067.01 | PnL: -0.02% | $-0.20 +2025-03-10 13:02:40,264 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,265 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,266 - INFO - OPENED LONG at 2065.69 | Stop loss: 2055.342892857143 | Take profit: 2096.703335714286 +2025-03-10 13:02:40,266 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,267 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,269 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,270 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,274 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,275 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,277 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,278 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,278 - INFO - CLOSED long at 2078.01 | PnL: 0.60% | $0.84 +2025-03-10 13:02:40,279 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,280 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,281 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.4037071428575 | Take profit: 2043.8568642857144 +2025-03-10 13:02:40,283 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,284 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,285 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,286 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,286 - INFO - CLOSED short at 2071.04 | PnL: 0.19% | $0.16 +2025-03-10 13:02:40,288 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,289 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,289 - INFO - OPENED SHORT at 2070.01 | Stop loss: 2080.3787071428574 | Take profit: 2038.9318642857145 +2025-03-10 13:02:40,291 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,292 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,292 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,293 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,293 - INFO - CLOSED short at 2073.23 | PnL: -0.16% | $-0.44 +2025-03-10 13:02:40,295 - INFO - OPENED LONG at 2073.23 | Stop loss: 2062.8451928571426 | Take profit: 2104.356435714286 +2025-03-10 13:02:40,296 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,297 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,297 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,298 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,299 - INFO - CLOSED long at 2068.15 | PnL: -0.25% | $-0.59 +2025-03-10 13:02:40,300 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,301 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,306 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,308 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,308 - INFO - OPENED LONG at 2069.69 | Stop loss: 2059.322892857143 | Take profit: 2100.763335714286 +2025-03-10 13:02:40,308 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,310 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,311 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,313 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,314 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,315 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,316 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,317 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,322 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,324 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,328 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,329 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,330 - INFO - CLOSED long at 2069.87 | PnL: 0.01% | $-0.15 +2025-03-10 13:02:40,332 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,333 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,334 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,335 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,336 - INFO - OPENED LONG at 2066.38 | Stop loss: 2056.029442857143 | Take profit: 2097.403685714286 +2025-03-10 13:02:40,337 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,339 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,339 - INFO - CLOSED long at 2065.7 | PnL: -0.03% | $-0.22 +2025-03-10 13:02:40,340 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,341 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,342 - INFO - OPENED SHORT at 2065.66 | Stop loss: 2076.006957142857 | Take profit: 2034.6471142857142 +2025-03-10 13:02:40,343 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,344 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,345 - INFO - CLOSED short at 2063.95 | PnL: 0.08% | $-0.03 +2025-03-10 13:02:40,347 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,349 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,349 - INFO - OPENED LONG at 2063.97 | Stop loss: 2053.631492857143 | Take profit: 2094.9575357142853 +2025-03-10 13:02:40,350 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,352 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,352 - INFO - CLOSED long at 2064.5 | PnL: 0.03% | $-0.12 +2025-03-10 13:02:40,354 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,355 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,356 - INFO - OPENED LONG at 2065.3 | Stop loss: 2054.954842857143 | Take profit: 2096.307485714286 +2025-03-10 13:02:40,356 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,357 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,359 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,360 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,361 - INFO - CLOSED long at 2064.31 | PnL: -0.05% | $-0.25 +2025-03-10 13:02:40,362 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,363 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,363 - INFO - OPENED SHORT at 2065.5 | Stop loss: 2075.8461571428575 | Take profit: 2034.4895142857142 +2025-03-10 13:02:40,365 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,365 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,369 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,369 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,370 - INFO - CLOSED short at 2065.29 | PnL: 0.01% | $-0.15 +2025-03-10 13:02:40,370 - INFO - OPENED LONG at 2065.29 | Stop loss: 2054.944892857143 | Take profit: 2096.2973357142855 +2025-03-10 13:02:40,371 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,373 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,373 - INFO - CLOSED long at 2065.31 | PnL: 0.00% | $-0.17 +2025-03-10 13:02:40,374 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,375 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,376 - INFO - OPENED SHORT at 2066.8 | Stop loss: 2077.152657142857 | Take profit: 2035.7700142857145 +2025-03-10 13:02:40,377 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,377 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,385 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,385 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,386 - INFO - CLOSED short at 2068.59 | PnL: -0.09% | $-0.31 +2025-03-10 13:02:40,386 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.228392857143 | Take profit: 2099.6468357142858 +2025-03-10 13:02:40,387 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,388 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,389 - INFO - CLOSED long at 2071.59 | PnL: 0.15% | $0.07 +2025-03-10 13:02:40,389 - INFO - OPENED SHORT at 2071.59 | Stop loss: 2081.9666071428574 | Take profit: 2040.4881642857144 +2025-03-10 13:02:40,390 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,391 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,392 - INFO - CLOSED short at 2070.2 | PnL: 0.07% | $-0.05 +2025-03-10 13:02:40,393 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,394 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,396 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,397 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,397 - INFO - OPENED SHORT at 2070.9 | Stop loss: 2081.273157142857 | Take profit: 2039.8085142857144 +2025-03-10 13:02:40,398 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,401 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,402 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,402 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,403 - INFO - CLOSED short at 2070.7 | PnL: 0.01% | $-0.15 +2025-03-10 13:02:40,403 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3278428571425 | Take profit: 2101.7884857142853 +2025-03-10 13:02:40,404 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,406 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,406 - INFO - CLOSED long at 2070.8 | PnL: 0.00% | $-0.16 +2025-03-10 13:02:40,407 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,408 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,409 - INFO - OPENED SHORT at 2070.35 | Stop loss: 2080.7204071428573 | Take profit: 2039.2667642857143 +2025-03-10 13:02:40,411 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,412 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,413 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,414 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,415 - INFO - CLOSED short at 2071.99 | PnL: -0.08% | $-0.30 +2025-03-10 13:02:40,415 - INFO - OPENED LONG at 2071.99 | Stop loss: 2061.6113928571426 | Take profit: 2103.0978357142853 +2025-03-10 13:02:40,416 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,418 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,423 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,424 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,425 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,426 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,431 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,432 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,433 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,435 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,435 - INFO - CLOSED long at 2071.61 | PnL: -0.02% | $-0.19 +2025-03-10 13:02:40,436 - INFO - OPENED SHORT at 2071.61 | Stop loss: 2081.986707142857 | Take profit: 2040.5078642857145 +2025-03-10 13:02:40,437 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,438 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,443 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,444 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,445 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,447 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,448 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,450 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,455 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,456 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,456 - INFO - CLOSED short at 2073.99 | PnL: -0.11% | $-0.35 +2025-03-10 13:02:40,457 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,458 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,460 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,461 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,461 - INFO - OPENED SHORT at 2075.29 | Stop loss: 2085.6851071428573 | Take profit: 2044.1326642857143 +2025-03-10 13:02:40,464 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,464 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,467 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,468 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,469 - INFO - CLOSED short at 2075.61 | PnL: -0.02% | $-0.19 +2025-03-10 13:02:40,469 - INFO - OPENED LONG at 2075.61 | Stop loss: 2065.2132928571427 | Take profit: 2106.772135714286 +2025-03-10 13:02:40,471 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,472 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,473 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,475 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,477 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,478 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,479 - INFO - CLOSED long at 2069.97 | PnL: -0.27% | $-0.61 +2025-03-10 13:02:40,479 - INFO - OPENED SHORT at 2069.97 | Stop loss: 2080.3385071428565 | Take profit: 2038.8924642857141 +2025-03-10 13:02:40,481 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,482 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,483 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,485 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,486 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,487 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,488 - INFO - CLOSED short at 2067.9 | PnL: 0.10% | $0.00 +2025-03-10 13:02:40,489 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,491 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,491 - INFO - OPENED SHORT at 2066.4 | Stop loss: 2076.750657142857 | Take profit: 2035.3760142857143 +2025-03-10 13:02:40,492 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,495 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,496 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,497 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,498 - INFO - CLOSED short at 2067.88 | PnL: -0.07% | $-0.28 +2025-03-10 13:02:40,499 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,501 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,506 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,507 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,508 - INFO - OPENED SHORT at 2068.1 | Stop loss: 2078.459157142857 | Take profit: 2037.0505142857141 +2025-03-10 13:02:40,509 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,511 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,512 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,513 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,515 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,516 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,519 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,520 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,522 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,523 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,523 - INFO - CLOSED short at 2065.5 | PnL: 0.13% | $0.04 +2025-03-10 13:02:40,525 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,527 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,529 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,531 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,531 - INFO - OPENED LONG at 2065.8 | Stop loss: 2055.452342857143 | Take profit: 2096.814985714286 +2025-03-10 13:02:40,532 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,533 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,534 - INFO - CLOSED long at 2065.07 | PnL: -0.04% | $-0.22 +2025-03-10 13:02:40,534 - INFO - OPENED SHORT at 2065.07 | Stop loss: 2075.4140071428574 | Take profit: 2034.0659642857145 +2025-03-10 13:02:40,535 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,537 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,537 - INFO - CLOSED short at 2066.09 | PnL: -0.05% | $-0.24 +2025-03-10 13:02:40,539 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,540 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,540 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.054392857143 | Take profit: 2094.368835714286 +2025-03-10 13:02:40,542 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,543 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,550 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,551 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,552 - INFO - CLOSED long at 2063.98 | PnL: 0.03% | $-0.11 +2025-03-10 13:02:40,552 - INFO - OPENED SHORT at 2063.98 | Stop loss: 2074.318557142857 | Take profit: 2032.9923142857144 +2025-03-10 13:02:40,554 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,555 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,560 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,562 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,563 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,565 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,571 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,572 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,573 - INFO - CLOSED short at 2064.5 | PnL: -0.03% | $-0.20 +2025-03-10 13:02:40,573 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.1588428571426 | Take profit: 2095.4954857142857 +2025-03-10 13:02:40,575 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,576 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,577 - INFO - CLOSED long at 2066.33 | PnL: 0.09% | $-0.02 +2025-03-10 13:02:40,577 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.6803071428567 | Take profit: 2035.3070642857142 +2025-03-10 13:02:40,579 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,580 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,582 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,584 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,584 - INFO - CLOSED short at 2060.7 | PnL: 0.27% | $0.28 +2025-03-10 13:02:40,586 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,587 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,588 - INFO - OPENED LONG at 2060.2 | Stop loss: 2049.8803428571428 | Take profit: 2091.1309857142855 +2025-03-10 13:02:40,589 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,591 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,592 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,594 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,599 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,600 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,602 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,604 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,605 - INFO - CLOSED long at 2056.77 | PnL: -0.17% | $-0.43 +2025-03-10 13:02:40,605 - INFO - OPENED SHORT at 2056.77 | Stop loss: 2067.0725071428574 | Take profit: 2025.8904642857142 +2025-03-10 13:02:40,607 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,608 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,609 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,611 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,612 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,613 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,615 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,617 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,618 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,620 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,620 - INFO - CLOSED short at 2058.3 | PnL: -0.07% | $-0.28 +2025-03-10 13:02:40,621 - INFO - OPENED LONG at 2058.3 | Stop loss: 2047.989842857143 | Take profit: 2089.2024857142856 +2025-03-10 13:02:40,621 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,623 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,623 - INFO - CLOSED long at 2056.85 | PnL: -0.07% | $-0.27 +2025-03-10 13:02:40,625 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,627 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,628 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,630 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,635 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,637 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,638 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,640 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,641 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,642 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,643 - INFO - OPENED LONG at 2065.1 | Stop loss: 2054.755842857143 | Take profit: 2096.1044857142856 +2025-03-10 13:02:40,644 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,646 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,646 - INFO - CLOSED long at 2062.43 | PnL: -0.13% | $-0.36 +2025-03-10 13:02:40,648 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,649 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,649 - INFO - OPENED LONG at 2062.55 | Stop loss: 2052.218592857143 | Take profit: 2093.516235714286 +2025-03-10 13:02:40,651 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,652 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,654 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,655 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,657 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,658 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,660 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,661 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,663 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,664 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,665 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,666 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,667 - INFO - CLOSED long at 2061.21 | PnL: -0.06% | $-0.26 +2025-03-10 13:02:40,668 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,669 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,671 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,673 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,674 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,675 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,676 - INFO - OPENED LONG at 2061.84 | Stop loss: 2051.5121428571433 | Take profit: 2092.7955857142856 +2025-03-10 13:02:40,677 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,678 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,683 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,683 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,685 - INFO - CLOSED long at 2065.72 | PnL: 0.19% | $0.14 +2025-03-10 13:02:40,685 - INFO - OPENED SHORT at 2065.72 | Stop loss: 2076.0672571428568 | Take profit: 2034.7062142857142 +2025-03-10 13:02:40,687 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,689 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,690 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,692 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,692 - INFO - CLOSED short at 2070.24 | PnL: -0.22% | $-0.50 +2025-03-10 13:02:40,693 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,694 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,695 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.974642857143 | Take profit: 2100.408085714286 +2025-03-10 13:02:40,696 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,697 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,698 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,700 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,701 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,701 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,703 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,705 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,705 - INFO - CLOSED long at 2074.05 | PnL: 0.23% | $0.20 +2025-03-10 13:02:40,706 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,707 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,708 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,710 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,710 - INFO - OPENED LONG at 2071.89 | Stop loss: 2061.511892857143 | Take profit: 2102.9963357142856 +2025-03-10 13:02:40,711 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,713 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,714 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,715 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,716 - INFO - CLOSED long at 2074.9 | PnL: 0.15% | $0.07 +2025-03-10 13:02:40,716 - INFO - OPENED SHORT at 2074.9 | Stop loss: 2085.293157142857 | Take profit: 2043.7485142857142 +2025-03-10 13:02:40,718 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,719 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,720 - INFO - CLOSED short at 2076.08 | PnL: -0.06% | $-0.25 +2025-03-10 13:02:40,720 - INFO - OPENED LONG at 2076.08 | Stop loss: 2065.680942857143 | Take profit: 2107.2491857142854 +2025-03-10 13:02:40,721 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,722 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,723 - INFO - CLOSED long at 2077.61 | PnL: 0.07% | $-0.04 +2025-03-10 13:02:40,723 - INFO - OPENED SHORT at 2077.61 | Stop loss: 2088.0167071428573 | Take profit: 2046.4178642857144 +2025-03-10 13:02:40,724 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,725 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,727 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,728 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,729 - INFO - CLOSED short at 2090.49 | PnL: -0.62% | $-1.13 +2025-03-10 13:02:40,729 - INFO - OPENED LONG at 2090.49 | Stop loss: 2080.0188928571424 | Take profit: 2121.8753357142855 +2025-03-10 13:02:40,730 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,731 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,733 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,734 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,735 - INFO - CLOSED long at 2130.7 | PnL: 1.92% | $2.81 +2025-03-10 13:02:40,736 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,738 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,739 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,740 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,741 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,742 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,745 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,745 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,746 - INFO - OPENED SHORT at 2137.59 | Stop loss: 2148.2966071428573 | Take profit: 2105.498164285714 +2025-03-10 13:02:40,747 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,748 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,749 - INFO - CLOSED short at 2141.41 | PnL: -0.18% | $-0.45 +2025-03-10 13:02:40,750 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,751 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,752 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,753 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,754 - INFO - OPENED SHORT at 2142.68 | Stop loss: 2153.412057142857 | Take profit: 2110.511814285714 +2025-03-10 13:02:40,755 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,756 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,762 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,763 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,763 - INFO - CLOSED short at 2134.78 | PnL: 0.37% | $0.43 +2025-03-10 13:02:40,764 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,765 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,767 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,769 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,770 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,771 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,775 - INFO - OPENED LONG at 2128.69 | Stop loss: 2118.027892857143 | Take profit: 2160.648335714286 +2025-03-10 13:02:40,776 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,777 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,780 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,780 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,785 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,786 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,788 - INFO - STOP LOSS hit for long at 2118.027892857143 | PnL: -0.50% | $-0.96 +2025-03-10 13:02:40,789 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,790 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,790 - INFO - OPENED SHORT at 2119.93 | Stop loss: 2130.5483071428566 | Take profit: 2088.103064285714 +2025-03-10 13:02:40,792 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,793 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,793 - INFO - CLOSED short at 2121.4 | PnL: -0.07% | $-0.27 +2025-03-10 13:02:40,793 - INFO - OPENED LONG at 2121.4 | Stop loss: 2110.774342857143 | Take profit: 2153.248985714286 +2025-03-10 13:02:40,795 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,796 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,798 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,798 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,805 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,806 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,806 - INFO - CLOSED long at 2119.07 | PnL: -0.11% | $-0.33 +2025-03-10 13:02:40,808 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,808 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,810 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,811 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,811 - INFO - OPENED LONG at 2107.43 | Stop loss: 2096.8741928571426 | Take profit: 2139.0694357142856 +2025-03-10 13:02:40,813 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,814 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,816 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,817 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,822 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,823 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,824 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,825 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,826 - INFO - CLOSED long at 2112.95 | PnL: 0.26% | $0.25 +2025-03-10 13:02:40,828 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,829 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,834 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,835 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,841 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,842 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,842 - INFO - OPENED SHORT at 2112.99 | Stop loss: 2123.573607142857 | Take profit: 2081.267164285714 +2025-03-10 13:02:40,844 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,845 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,845 - INFO - CLOSED short at 2120.81 | PnL: -0.37% | $-0.74 +2025-03-10 13:02:40,847 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,847 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,852 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,854 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,855 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,856 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,858 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,859 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,860 - INFO - OPENED SHORT at 2108.71 | Stop loss: 2119.272207142857 | Take profit: 2077.0513642857145 +2025-03-10 13:02:40,862 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,863 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,864 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,865 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,866 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,868 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,873 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,873 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,876 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,877 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,877 - INFO - CLOSED short at 2090.0 | PnL: 0.89% | $1.23 +2025-03-10 13:02:40,877 - INFO - OPENED LONG at 2090.0 | Stop loss: 2079.5313428571426 | Take profit: 2121.377985714286 +2025-03-10 13:02:40,878 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,880 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,880 - INFO - CLOSED long at 2099.53 | PnL: 0.46% | $0.56 +2025-03-10 13:02:40,881 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,882 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,884 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,885 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,885 - INFO - OPENED LONG at 2102.19 | Stop loss: 2091.660392857143 | Take profit: 2133.7508357142856 +2025-03-10 13:02:40,888 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,889 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,890 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,891 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,892 - INFO - CLOSED long at 2099.25 | PnL: -0.14% | $-0.38 +2025-03-10 13:02:40,892 - INFO - OPENED SHORT at 2099.25 | Stop loss: 2109.7649071428573 | Take profit: 2067.7332642857145 +2025-03-10 13:02:40,893 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,895 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,895 - INFO - CLOSED short at 2098.9 | PnL: 0.02% | $-0.13 +2025-03-10 13:02:40,896 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,898 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,904 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,905 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,912 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,912 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,917 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,918 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,919 - INFO - OPENED LONG at 2100.74 | Stop loss: 2090.2176428571424 | Take profit: 2132.2790857142854 +2025-03-10 13:02:40,920 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,922 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,923 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,924 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,926 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,927 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,928 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,928 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,929 - INFO - CLOSED long at 2099.59 | PnL: -0.05% | $-0.24 +2025-03-10 13:02:40,930 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,931 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,939 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,940 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,941 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,943 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,944 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,945 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,946 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,948 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,950 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,951 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,952 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,953 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,958 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,959 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,967 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,968 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,969 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,971 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,972 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,973 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,975 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,976 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,977 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,978 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,979 - INFO - OPENED SHORT at 2083.97 | Stop loss: 2094.4085071428567 | Take profit: 2052.682464285714 +2025-03-10 13:02:40,980 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,982 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,983 - INFO - CLOSED short at 2085.3 | PnL: -0.06% | $-0.26 +2025-03-10 13:02:40,983 - INFO - OPENED LONG at 2085.3 | Stop loss: 2074.854842857143 | Take profit: 2116.607485714286 +2025-03-10 13:02:40,983 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,985 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,985 - INFO - CLOSED long at 2082.44 | PnL: -0.14% | $-0.37 +2025-03-10 13:02:40,985 - INFO - OPENED SHORT at 2082.44 | Stop loss: 2092.8708571428574 | Take profit: 2051.1754142857144 +2025-03-10 13:02:40,987 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,987 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,989 - INFO - CLOSED short at 2081.49 | PnL: 0.05% | $-0.09 +2025-03-10 13:02:40,989 - INFO - OPENED LONG at 2081.49 | Stop loss: 2071.0638928571425 | Take profit: 2112.7403357142853 +2025-03-10 13:02:40,991 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,992 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,992 - INFO - CLOSED long at 2080.38 | PnL: -0.05% | $-0.24 +2025-03-10 13:02:40,993 - INFO - OPENED SHORT at 2080.38 | Stop loss: 2090.8005571428575 | Take profit: 2049.146314285714 +2025-03-10 13:02:40,994 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,995 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,996 - INFO - CLOSED short at 2081.25 | PnL: -0.04% | $-0.22 +2025-03-10 13:02:40,996 - INFO - OPENED LONG at 2081.25 | Stop loss: 2070.825092857143 | Take profit: 2112.4967357142855 +2025-03-10 13:02:40,997 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:40,998 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:40,999 - INFO - CLOSED long at 2083.41 | PnL: 0.10% | $0.01 +2025-03-10 13:02:40,999 - INFO - OPENED SHORT at 2083.41 | Stop loss: 2093.845707142857 | Take profit: 2052.130864285714 +2025-03-10 13:02:41,000 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,000 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,002 - INFO - CLOSED short at 2085.09 | PnL: -0.08% | $-0.28 +2025-03-10 13:02:41,003 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,004 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,006 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,006 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,011 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,013 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,013 - INFO - OPENED SHORT at 2085.8 | Stop loss: 2096.2476571428574 | Take profit: 2054.4850142857144 +2025-03-10 13:02:41,014 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,015 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,016 - INFO - CLOSED short at 2084.72 | PnL: 0.05% | $-0.07 +2025-03-10 13:02:41,017 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,018 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,019 - INFO - OPENED LONG at 2085.83 | Stop loss: 2075.382192857143 | Take profit: 2117.1454357142857 +2025-03-10 13:02:41,020 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,021 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,021 - INFO - CLOSED long at 2085.85 | PnL: 0.00% | $-0.15 +2025-03-10 13:02:41,023 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,024 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,025 - INFO - OPENED LONG at 2088.66 | Stop loss: 2078.198042857143 | Take profit: 2120.0178857142855 +2025-03-10 13:02:41,026 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,026 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,028 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,029 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,031 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,032 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,032 - INFO - CLOSED long at 2089.96 | PnL: 0.06% | $-0.06 +2025-03-10 13:02:41,033 - INFO - OPENED SHORT at 2089.96 | Stop loss: 2100.4284571428575 | Take profit: 2058.582614285714 +2025-03-10 13:02:41,034 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,035 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,037 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,038 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,039 - INFO - CLOSED short at 2087.47 | PnL: 0.12% | $0.03 +2025-03-10 13:02:41,039 - INFO - OPENED LONG at 2087.47 | Stop loss: 2077.0139928571425 | Take profit: 2118.8100357142853 +2025-03-10 13:02:41,040 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,041 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,042 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,043 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,045 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,046 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,047 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,049 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,049 - INFO - CLOSED long at 2085.67 | PnL: -0.09% | $-0.29 +2025-03-10 13:02:41,050 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,051 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,053 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,054 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,056 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,057 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,059 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,060 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,060 - INFO - OPENED LONG at 2091.95 | Stop loss: 2081.4715928571427 | Take profit: 2123.3572357142853 +2025-03-10 13:02:41,062 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,063 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,064 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,065 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,067 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,068 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,069 - INFO - CLOSED long at 2099.99 | PnL: 0.38% | $0.44 +2025-03-10 13:02:41,070 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,072 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,072 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.166857142857 | Take profit: 2070.087414285714 +2025-03-10 13:02:41,073 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,075 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,076 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,077 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,078 - INFO - CLOSED short at 2098.49 | PnL: 0.15% | $0.08 +2025-03-10 13:02:41,078 - INFO - OPENED LONG at 2098.49 | Stop loss: 2087.9788928571425 | Take profit: 2129.995335714286 +2025-03-10 13:02:41,079 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,080 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,082 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,083 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,084 - INFO - CLOSED long at 2100.89 | PnL: 0.11% | $0.02 +2025-03-10 13:02:41,085 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,086 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,089 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,090 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,090 - INFO - OPENED SHORT at 2106.15 | Stop loss: 2116.699407142857 | Take profit: 2074.5297642857145 +2025-03-10 13:02:41,091 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,093 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,093 - INFO - CLOSED short at 2103.48 | PnL: 0.13% | $0.04 +2025-03-10 13:02:41,094 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,095 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,098 - INFO - Trade Analysis: Win Rate=12.8% in uptrends, 0.0% in downtrends | Avg Win=$0.29, Avg Loss=$-0.26 +2025-03-10 13:02:41,098 - INFO - Episode 2: Reward=-132.35, Balance=$78.18, Win Rate=19.9%, Trades=146, Episode PnL=$-15.85, Total PnL=$-79.98, Max Drawdown=22.4%, Pred Accuracy=98.5% +2025-03-10 13:02:41,099 - ERROR - Error in episode 2: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:02:41,100 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1763, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:02:41,121 - INFO - Identified 25 optimal buy points and 28 optimal sell points +2025-03-10 13:02:41,472 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,474 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,479 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,480 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,481 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,482 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,483 - INFO - OPENED LONG at 2049.6 | Stop loss: 2039.3333428571427 | Take profit: 2080.3719857142855 +2025-03-10 13:02:41,484 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,486 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,487 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,488 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,489 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,490 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,492 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,493 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,494 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,495 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,495 - INFO - CLOSED long at 2047.39 | PnL: -0.11% | $-0.41 +2025-03-10 13:02:41,496 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,498 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,498 - INFO - OPENED SHORT at 2046.58 | Stop loss: 2056.8315571428575 | Take profit: 2015.8533142857143 +2025-03-10 13:02:41,499 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,501 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,501 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,503 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,504 - INFO - CLOSED short at 2047.2 | PnL: -0.03% | $-0.26 +2025-03-10 13:02:41,504 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,505 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,506 - INFO - OPENED SHORT at 2045.99 | Stop loss: 2056.2386071428573 | Take profit: 2015.2721642857143 +2025-03-10 13:02:41,507 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,508 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,509 - INFO - CLOSED short at 2045.99 | PnL: 0.00% | $-0.20 +2025-03-10 13:02:41,509 - INFO - OPENED LONG at 2045.99 | Stop loss: 2035.741392857143 | Take profit: 2076.707835714286 +2025-03-10 13:02:41,510 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,511 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,512 - INFO - CLOSED long at 2045.79 | PnL: -0.01% | $-0.22 +2025-03-10 13:02:41,512 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,513 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,515 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,517 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,517 - INFO - OPENED LONG at 2047.59 | Stop loss: 2037.3333928571428 | Take profit: 2078.3318357142857 +2025-03-10 13:02:41,518 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,519 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,524 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,524 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,525 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,526 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,527 - INFO - CLOSED long at 2050.24 | PnL: 0.13% | $0.06 +2025-03-10 13:02:41,529 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,530 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,531 - INFO - OPENED SHORT at 2049.89 | Stop loss: 2060.158107142857 | Take profit: 2019.1136642857143 +2025-03-10 13:02:41,531 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,532 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,533 - INFO - CLOSED short at 2051.11 | PnL: -0.06% | $-0.31 +2025-03-10 13:02:41,535 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,536 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,540 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,541 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,542 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,543 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,545 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,546 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,552 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,553 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,555 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,556 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,558 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,559 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,559 - INFO - OPENED LONG at 2058.39 | Stop loss: 2048.0793928571425 | Take profit: 2089.2938357142857 +2025-03-10 13:02:41,560 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,561 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,566 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,567 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,568 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,569 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,570 - INFO - CLOSED long at 2061.49 | PnL: 0.15% | $0.10 +2025-03-10 13:02:41,570 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,572 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,572 - INFO - OPENED LONG at 2063.29 | Stop loss: 2052.9548928571426 | Take profit: 2094.2673357142858 +2025-03-10 13:02:41,573 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,574 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,576 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,577 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,578 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,580 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,581 - INFO - CLOSED long at 2061.61 | PnL: -0.08% | $-0.36 +2025-03-10 13:02:41,581 - INFO - OPENED SHORT at 2061.61 | Stop loss: 2071.9367071428574 | Take profit: 2030.6578642857144 +2025-03-10 13:02:41,583 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,584 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,585 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,586 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,586 - INFO - CLOSED short at 2063.01 | PnL: -0.07% | $-0.33 +2025-03-10 13:02:41,588 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,589 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,589 - INFO - OPENED SHORT at 2060.99 | Stop loss: 2071.313607142857 | Take profit: 2030.047164285714 +2025-03-10 13:02:41,590 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,592 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,593 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,594 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,596 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,596 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,597 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,598 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,599 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,600 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,601 - INFO - CLOSED short at 2060.31 | PnL: 0.03% | $-0.13 +2025-03-10 13:02:41,601 - INFO - OPENED LONG at 2060.31 | Stop loss: 2049.9897928571427 | Take profit: 2091.2426357142854 +2025-03-10 13:02:41,603 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,603 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,605 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,607 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,607 - INFO - CLOSED long at 2057.8 | PnL: -0.12% | $-0.43 +2025-03-10 13:02:41,608 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,609 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,609 - INFO - OPENED SHORT at 2057.89 | Stop loss: 2068.198107142857 | Take profit: 2026.9936642857142 +2025-03-10 13:02:41,611 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,611 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,616 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,618 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,618 - INFO - CLOSED short at 2058.11 | PnL: -0.01% | $-0.21 +2025-03-10 13:02:41,619 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,620 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,620 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,622 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,624 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,625 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,625 - INFO - OPENED SHORT at 2064.32 | Stop loss: 2074.660257142857 | Take profit: 2033.3272142857143 +2025-03-10 13:02:41,627 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,627 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,629 - INFO - CLOSED short at 2065.86 | PnL: -0.07% | $-0.34 +2025-03-10 13:02:41,629 - INFO - OPENED LONG at 2065.86 | Stop loss: 2055.512042857143 | Take profit: 2096.875885714286 +2025-03-10 13:02:41,630 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,630 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,632 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,633 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,634 - INFO - CLOSED long at 2068.11 | PnL: 0.11% | $0.02 +2025-03-10 13:02:41,634 - INFO - OPENED SHORT at 2068.11 | Stop loss: 2078.4692071428576 | Take profit: 2037.0603642857143 +2025-03-10 13:02:41,635 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,636 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,637 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,638 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,639 - INFO - CLOSED short at 2067.89 | PnL: 0.01% | $-0.17 +2025-03-10 13:02:41,640 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,642 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,642 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,644 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,644 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,646 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,647 - INFO - OPENED LONG at 2069.6 | Stop loss: 2059.233342857143 | Take profit: 2100.6719857142857 +2025-03-10 13:02:41,648 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,649 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,649 - INFO - CLOSED long at 2068.65 | PnL: -0.05% | $-0.28 +2025-03-10 13:02:41,651 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,651 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,652 - INFO - OPENED LONG at 2068.99 | Stop loss: 2058.6263928571425 | Take profit: 2100.0528357142853 +2025-03-10 13:02:41,653 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,653 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,655 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,656 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,657 - INFO - CLOSED long at 2067.69 | PnL: -0.06% | $-0.31 +2025-03-10 13:02:41,658 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,658 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,659 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,661 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,662 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,663 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,664 - INFO - OPENED SHORT at 2073.73 | Stop loss: 2084.117307142857 | Take profit: 2042.5960642857142 +2025-03-10 13:02:41,665 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,666 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,667 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,669 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,669 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,671 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,673 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,674 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,675 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,676 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,683 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,685 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,686 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,687 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,688 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,690 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,690 - INFO - CLOSED short at 2072.8 | PnL: 0.04% | $-0.11 +2025-03-10 13:02:41,690 - INFO - OPENED LONG at 2072.8 | Stop loss: 2062.417342857143 | Take profit: 2103.919985714286 +2025-03-10 13:02:41,692 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,693 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,694 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,695 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,696 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,697 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,698 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,700 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,700 - INFO - CLOSED long at 2067.2 | PnL: -0.27% | $-0.71 +2025-03-10 13:02:41,700 - INFO - OPENED SHORT at 2067.2 | Stop loss: 2077.5546571428567 | Take profit: 2036.1640142857143 +2025-03-10 13:02:41,701 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,703 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,704 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,705 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,706 - INFO - CLOSED short at 2068.9 | PnL: -0.08% | $-0.34 +2025-03-10 13:02:41,707 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,708 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,710 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,710 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,711 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.974642857143 | Take profit: 2100.408085714286 +2025-03-10 13:02:41,712 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,712 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,714 - INFO - CLOSED long at 2069.19 | PnL: -0.01% | $-0.20 +2025-03-10 13:02:41,714 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,716 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,717 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,719 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,719 - INFO - OPENED SHORT at 2067.6 | Stop loss: 2077.956657142857 | Take profit: 2036.558014285714 +2025-03-10 13:02:41,720 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,721 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,722 - INFO - CLOSED short at 2067.51 | PnL: 0.00% | $-0.18 +2025-03-10 13:02:41,723 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,724 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,725 - INFO - OPENED LONG at 2069.01 | Stop loss: 2058.646292857143 | Take profit: 2100.073135714286 +2025-03-10 13:02:41,726 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,727 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,727 - INFO - CLOSED long at 2066.39 | PnL: -0.13% | $-0.43 +2025-03-10 13:02:41,728 - INFO - OPENED SHORT at 2066.39 | Stop loss: 2076.7406071428572 | Take profit: 2035.3661642857141 +2025-03-10 13:02:41,729 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,730 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,732 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,733 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,733 - INFO - CLOSED short at 2066.19 | PnL: 0.01% | $-0.17 +2025-03-10 13:02:41,733 - INFO - OPENED LONG at 2066.19 | Stop loss: 2055.840392857143 | Take profit: 2097.210835714286 +2025-03-10 13:02:41,735 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,736 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,736 - INFO - CLOSED long at 2066.29 | PnL: 0.00% | $-0.18 +2025-03-10 13:02:41,737 - INFO - OPENED SHORT at 2066.29 | Stop loss: 2076.6401071428572 | Take profit: 2035.2676642857143 +2025-03-10 13:02:41,738 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,738 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,740 - INFO - CLOSED short at 2065.08 | PnL: 0.06% | $-0.08 +2025-03-10 13:02:41,740 - INFO - OPENED LONG at 2065.08 | Stop loss: 2054.7359428571426 | Take profit: 2096.084185714286 +2025-03-10 13:02:41,741 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,742 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,742 - INFO - CLOSED long at 2066.18 | PnL: 0.05% | $-0.09 +2025-03-10 13:02:41,742 - INFO - OPENED SHORT at 2066.18 | Stop loss: 2076.529557142857 | Take profit: 2035.1593142857141 +2025-03-10 13:02:41,744 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,745 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,746 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,747 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,751 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,752 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,754 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,755 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,759 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,760 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,761 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,762 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,764 - INFO - CLOSED short at 2070.4 | PnL: -0.20% | $-0.57 +2025-03-10 13:02:41,764 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.029342857143 | Take profit: 2101.4839857142856 +2025-03-10 13:02:41,765 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,766 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,767 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,768 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,772 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,773 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,775 - INFO - CLOSED long at 2071.39 | PnL: 0.05% | $-0.10 +2025-03-10 13:02:41,775 - INFO - OPENED SHORT at 2071.39 | Stop loss: 2081.765607142857 | Take profit: 2040.291164285714 +2025-03-10 13:02:41,776 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,776 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,777 - INFO - CLOSED short at 2071.36 | PnL: 0.00% | $-0.18 +2025-03-10 13:02:41,777 - INFO - OPENED LONG at 2071.36 | Stop loss: 2060.984542857143 | Take profit: 2102.458385714286 +2025-03-10 13:02:41,779 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,779 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,781 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,782 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,782 - INFO - CLOSED long at 2073.11 | PnL: 0.08% | $-0.03 +2025-03-10 13:02:41,783 - INFO - OPENED SHORT at 2073.11 | Stop loss: 2083.4942071428572 | Take profit: 2041.9853642857142 +2025-03-10 13:02:41,783 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,784 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,787 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,787 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,788 - INFO - CLOSED short at 2072.15 | PnL: 0.05% | $-0.10 +2025-03-10 13:02:41,789 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,790 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,790 - INFO - OPENED SHORT at 2074.29 | Stop loss: 2084.680107142857 | Take profit: 2043.1476642857142 +2025-03-10 13:02:41,792 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,794 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,795 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,796 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,797 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,798 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,801 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,801 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,803 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,803 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,805 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,806 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,808 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,809 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,813 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,815 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,817 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,817 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,818 - INFO - CLOSED short at 2067.79 | PnL: 0.31% | $0.39 +2025-03-10 13:02:41,820 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,821 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,821 - INFO - OPENED LONG at 2067.46 | Stop loss: 2057.1040428571428 | Take profit: 2098.4998857142855 +2025-03-10 13:02:41,822 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,823 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,824 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,824 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,829 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,830 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,831 - INFO - CLOSED long at 2063.61 | PnL: -0.19% | $-0.53 +2025-03-10 13:02:41,832 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,833 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,834 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.6049571428575 | Take profit: 2034.2531142857144 +2025-03-10 13:02:41,836 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,837 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,837 - INFO - CLOSED short at 2067.89 | PnL: -0.13% | $-0.42 +2025-03-10 13:02:41,838 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,840 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,845 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,845 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,847 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,848 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,852 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,853 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,854 - INFO - OPENED LONG at 2067.86 | Stop loss: 2057.502042857143 | Take profit: 2098.905885714286 +2025-03-10 13:02:41,855 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,856 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,860 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,861 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,861 - INFO - CLOSED long at 2069.2 | PnL: 0.06% | $-0.06 +2025-03-10 13:02:41,862 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,863 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,868 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,869 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,870 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,871 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,873 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,874 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,876 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,878 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,882 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,883 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,885 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,886 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,888 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,888 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,890 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,890 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,892 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,893 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,896 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,897 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,898 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,899 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,899 - INFO - OPENED LONG at 2066.1 | Stop loss: 2055.7508428571427 | Take profit: 2097.1194857142855 +2025-03-10 13:02:41,901 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,901 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,902 - INFO - CLOSED long at 2065.28 | PnL: -0.04% | $-0.26 +2025-03-10 13:02:41,902 - INFO - OPENED SHORT at 2065.28 | Stop loss: 2075.6250571428577 | Take profit: 2034.2728142857145 +2025-03-10 13:02:41,904 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,905 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,906 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,907 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,908 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,909 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,911 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,912 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,916 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,918 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,919 - INFO - CLOSED short at 2068.18 | PnL: -0.14% | $-0.44 +2025-03-10 13:02:41,919 - INFO - OPENED LONG at 2068.18 | Stop loss: 2057.8204428571426 | Take profit: 2099.2306857142858 +2025-03-10 13:02:41,920 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,920 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,921 - INFO - CLOSED long at 2065.69 | PnL: -0.12% | $-0.40 +2025-03-10 13:02:41,921 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.037107142857 | Take profit: 2034.6766642857144 +2025-03-10 13:02:41,922 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,922 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,929 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,930 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,931 - INFO - CLOSED short at 2064.99 | PnL: 0.03% | $-0.12 +2025-03-10 13:02:41,931 - INFO - OPENED LONG at 2064.99 | Stop loss: 2054.6463928571425 | Take profit: 2095.9928357142853 +2025-03-10 13:02:41,933 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,934 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,935 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,937 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,937 - INFO - CLOSED long at 2066.15 | PnL: 0.06% | $-0.08 +2025-03-10 13:02:41,937 - INFO - OPENED SHORT at 2066.15 | Stop loss: 2076.4994071428573 | Take profit: 2035.1297642857144 +2025-03-10 13:02:41,939 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,940 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,941 - INFO - CLOSED short at 2065.26 | PnL: 0.04% | $-0.10 +2025-03-10 13:02:41,941 - INFO - OPENED LONG at 2065.26 | Stop loss: 2054.915042857143 | Take profit: 2096.2668857142858 +2025-03-10 13:02:41,943 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,944 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,944 - INFO - CLOSED long at 2062.89 | PnL: -0.11% | $-0.39 +2025-03-10 13:02:41,944 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.223107142857 | Take profit: 2031.9186642857142 +2025-03-10 13:02:41,945 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,945 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,947 - INFO - CLOSED short at 2062.65 | PnL: 0.01% | $-0.16 +2025-03-10 13:02:41,948 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,949 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,949 - INFO - OPENED SHORT at 2061.78 | Stop loss: 2072.1075571428573 | Take profit: 2030.8253142857145 +2025-03-10 13:02:41,950 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,951 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,952 - INFO - CLOSED short at 2059.59 | PnL: 0.11% | $0.01 +2025-03-10 13:02:41,954 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,955 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,956 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,957 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,959 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,960 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,961 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,963 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,964 - INFO - OPENED LONG at 2066.24 | Stop loss: 2055.8901428571426 | Take profit: 2097.2615857142855 +2025-03-10 13:02:41,965 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,966 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,968 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,969 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,970 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,972 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,972 - INFO - CLOSED long at 2066.09 | PnL: -0.01% | $-0.19 +2025-03-10 13:02:41,973 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,974 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,975 - INFO - OPENED SHORT at 2064.45 | Stop loss: 2074.790907142857 | Take profit: 2033.455264285714 +2025-03-10 13:02:41,976 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,978 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,979 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,980 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,981 - INFO - CLOSED short at 2062.71 | PnL: 0.08% | $-0.03 +2025-03-10 13:02:41,981 - INFO - OPENED LONG at 2062.71 | Stop loss: 2052.3777928571426 | Take profit: 2093.678635714286 +2025-03-10 13:02:41,982 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,983 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,984 - INFO - CLOSED long at 2062.89 | PnL: 0.01% | $-0.16 +2025-03-10 13:02:41,985 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,986 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,987 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.1588428571426 | Take profit: 2095.4954857142857 +2025-03-10 13:02:41,988 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,989 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,994 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,994 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:41,995 - INFO - CLOSED long at 2061.6 | PnL: -0.14% | $-0.43 +2025-03-10 13:02:41,996 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:41,998 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,003 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,004 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,005 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,006 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,007 - INFO - OPENED LONG at 2058.89 | Stop loss: 2048.576892857143 | Take profit: 2089.8013357142854 +2025-03-10 13:02:42,008 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,008 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,010 - INFO - CLOSED long at 2059.3 | PnL: 0.02% | $-0.14 +2025-03-10 13:02:42,011 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,011 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,012 - INFO - OPENED LONG at 2060.31 | Stop loss: 2049.9897928571427 | Take profit: 2091.2426357142854 +2025-03-10 13:02:42,013 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,013 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,014 - INFO - CLOSED long at 2061.8 | PnL: 0.07% | $-0.05 +2025-03-10 13:02:42,014 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,017 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,018 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,019 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,019 - INFO - OPENED SHORT at 2062.61 | Stop loss: 2072.941707142857 | Take profit: 2031.6428642857145 +2025-03-10 13:02:42,021 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,021 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,023 - INFO - CLOSED short at 2060.91 | PnL: 0.08% | $-0.03 +2025-03-10 13:02:42,024 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,025 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,025 - INFO - OPENED LONG at 2060.3 | Stop loss: 2049.979842857143 | Take profit: 2091.2324857142858 +2025-03-10 13:02:42,026 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,027 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,028 - INFO - CLOSED long at 2061.13 | PnL: 0.04% | $-0.11 +2025-03-10 13:02:42,028 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,030 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,030 - INFO - OPENED SHORT at 2061.9 | Stop loss: 2072.228157142857 | Take profit: 2030.9435142857144 +2025-03-10 13:02:42,032 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,033 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,034 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,035 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,036 - INFO - CLOSED short at 2065.36 | PnL: -0.17% | $-0.47 +2025-03-10 13:02:42,036 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,038 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,039 - INFO - OPENED LONG at 2064.33 | Stop loss: 2053.9896928571425 | Take profit: 2095.3229357142854 +2025-03-10 13:02:42,040 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,041 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,041 - INFO - CLOSED long at 2063.39 | PnL: -0.05% | $-0.26 +2025-03-10 13:02:42,042 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,043 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,044 - INFO - OPENED LONG at 2064.79 | Stop loss: 2054.447392857143 | Take profit: 2095.789835714286 +2025-03-10 13:02:42,046 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,047 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,050 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,051 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,052 - INFO - CLOSED long at 2063.53 | PnL: -0.06% | $-0.28 +2025-03-10 13:02:42,052 - INFO - OPENED SHORT at 2063.53 | Stop loss: 2073.8663071428573 | Take profit: 2032.5490642857144 +2025-03-10 13:02:42,054 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,055 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,056 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,058 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,059 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,060 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,060 - INFO - CLOSED short at 2061.89 | PnL: 0.08% | $-0.04 +2025-03-10 13:02:42,060 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.5618928571425 | Take profit: 2092.846335714286 +2025-03-10 13:02:42,062 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,063 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,068 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,069 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,073 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,074 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,076 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,077 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,082 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,083 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,084 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,085 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,085 - INFO - CLOSED long at 2059.02 | PnL: -0.14% | $-0.42 +2025-03-10 13:02:42,086 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,087 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,089 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,091 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,097 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,098 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,099 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,100 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,101 - INFO - OPENED SHORT at 2057.4 | Stop loss: 2067.7056571428575 | Take profit: 2026.5110142857143 +2025-03-10 13:02:42,102 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,103 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,105 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,106 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,110 - INFO - CLOSED short at 2056.28 | PnL: 0.05% | $-0.08 +2025-03-10 13:02:42,111 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,112 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,113 - INFO - OPENED SHORT at 2055.6 | Stop loss: 2065.8966571428573 | Take profit: 2024.7380142857141 +2025-03-10 13:02:42,115 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,116 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,118 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,118 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,119 - INFO - CLOSED short at 2054.83 | PnL: 0.04% | $-0.11 +2025-03-10 13:02:42,119 - INFO - OPENED LONG at 2054.83 | Stop loss: 2044.5371928571428 | Take profit: 2085.6804357142855 +2025-03-10 13:02:42,120 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,122 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,122 - INFO - CLOSED long at 2056.71 | PnL: 0.09% | $-0.01 +2025-03-10 13:02:42,123 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,125 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,125 - INFO - OPENED LONG at 2058.15 | Stop loss: 2047.8405928571428 | Take profit: 2089.050235714286 +2025-03-10 13:02:42,127 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,127 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,128 - INFO - CLOSED long at 2059.8 | PnL: 0.08% | $-0.03 +2025-03-10 13:02:42,128 - INFO - OPENED SHORT at 2059.8 | Stop loss: 2070.1176571428573 | Take profit: 2028.8750142857145 +2025-03-10 13:02:42,130 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,131 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,132 - INFO - CLOSED short at 2061.66 | PnL: -0.09% | $-0.33 +2025-03-10 13:02:42,133 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,134 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,139 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,140 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,140 - INFO - OPENED SHORT at 2061.6 | Stop loss: 2071.926657142857 | Take profit: 2030.6480142857142 +2025-03-10 13:02:42,142 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,143 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,144 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,145 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,146 - INFO - CLOSED short at 2062.69 | PnL: -0.05% | $-0.26 +2025-03-10 13:02:42,147 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,148 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,149 - INFO - OPENED LONG at 2063.4 | Stop loss: 2053.064342857143 | Take profit: 2094.378985714286 +2025-03-10 13:02:42,150 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,151 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,157 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,158 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,158 - INFO - CLOSED long at 2066.01 | PnL: 0.13% | $0.05 +2025-03-10 13:02:42,160 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,160 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,162 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,163 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,165 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,166 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,170 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,171 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,172 - INFO - OPENED LONG at 2066.34 | Stop loss: 2055.9896428571433 | Take profit: 2097.3630857142857 +2025-03-10 13:02:42,173 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,174 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,174 - INFO - CLOSED long at 2066.79 | PnL: 0.02% | $-0.13 +2025-03-10 13:02:42,175 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,176 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,181 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,182 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,184 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,185 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,191 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,191 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,193 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,194 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,196 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,197 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,198 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,199 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,200 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,201 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,202 - INFO - OPENED LONG at 2075.01 | Stop loss: 2064.616292857143 | Take profit: 2106.163135714286 +2025-03-10 13:02:42,203 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,204 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,208 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,209 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,211 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,212 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,213 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,214 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,216 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,217 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,221 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,222 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,224 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,225 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,225 - INFO - CLOSED long at 2068.15 | PnL: -0.33% | $-0.74 +2025-03-10 13:02:42,226 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,227 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,228 - INFO - OPENED LONG at 2068.39 | Stop loss: 2058.0293928571427 | Take profit: 2099.4438357142853 +2025-03-10 13:02:42,229 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,230 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,232 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,232 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,239 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,240 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,241 - INFO - CLOSED long at 2067.44 | PnL: -0.05% | $-0.25 +2025-03-10 13:02:42,242 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,242 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,243 - INFO - OPENED LONG at 2068.79 | Stop loss: 2058.427392857143 | Take profit: 2099.8498357142853 +2025-03-10 13:02:42,245 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,246 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,247 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,248 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,250 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,251 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,257 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,258 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,258 - INFO - CLOSED long at 2067.33 | PnL: -0.07% | $-0.29 +2025-03-10 13:02:42,258 - INFO - OPENED SHORT at 2067.33 | Stop loss: 2077.685307142857 | Take profit: 2036.292064285714 +2025-03-10 13:02:42,259 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,260 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,266 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,267 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,268 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,269 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,269 - INFO - CLOSED short at 2065.66 | PnL: 0.08% | $-0.03 +2025-03-10 13:02:42,269 - INFO - OPENED LONG at 2065.66 | Stop loss: 2055.3130428571426 | Take profit: 2096.6728857142857 +2025-03-10 13:02:42,271 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,272 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,273 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,275 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,276 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,277 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,278 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,279 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,280 - INFO - CLOSED long at 2065.3 | PnL: -0.02% | $-0.20 +2025-03-10 13:02:42,280 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,281 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,282 - INFO - OPENED LONG at 2064.4 | Stop loss: 2054.059342857143 | Take profit: 2095.393985714286 +2025-03-10 13:02:42,283 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,284 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,284 - INFO - CLOSED long at 2064.31 | PnL: -0.00% | $-0.18 +2025-03-10 13:02:42,286 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,287 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,287 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,289 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,290 - INFO - OPENED SHORT at 2067.53 | Stop loss: 2077.8863071428573 | Take profit: 2036.4890642857147 +2025-03-10 13:02:42,291 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,292 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,296 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,298 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,299 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,300 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,301 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,303 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,307 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,308 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,310 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,311 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,313 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,314 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,319 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,320 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,321 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,323 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,324 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,325 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,326 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,327 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,328 - INFO - CLOSED short at 2070.7 | PnL: -0.15% | $-0.43 +2025-03-10 13:02:42,328 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,329 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,336 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,336 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,339 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,339 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,340 - INFO - OPENED LONG at 2070.61 | Stop loss: 2060.238292857143 | Take profit: 2101.6971357142857 +2025-03-10 13:02:42,341 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,342 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,348 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,348 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,351 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,352 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,352 - INFO - CLOSED long at 2068.67 | PnL: -0.09% | $-0.32 +2025-03-10 13:02:42,352 - INFO - OPENED SHORT at 2068.67 | Stop loss: 2079.0320071428573 | Take profit: 2037.6119642857143 +2025-03-10 13:02:42,353 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,355 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,355 - INFO - CLOSED short at 2070.67 | PnL: -0.10% | $-0.33 +2025-03-10 13:02:42,356 - INFO - OPENED LONG at 2070.67 | Stop loss: 2060.2979928571426 | Take profit: 2101.7580357142856 +2025-03-10 13:02:42,357 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,358 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,358 - INFO - CLOSED long at 2069.78 | PnL: -0.04% | $-0.24 +2025-03-10 13:02:42,359 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,360 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,366 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,367 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,368 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,369 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,371 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,372 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,374 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,376 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,376 - INFO - OPENED SHORT at 2073.27 | Stop loss: 2083.655007142857 | Take profit: 2042.1429642857142 +2025-03-10 13:02:42,377 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,378 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,383 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,384 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,384 - INFO - CLOSED short at 2075.32 | PnL: -0.10% | $-0.33 +2025-03-10 13:02:42,386 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,387 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,391 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,392 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,393 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,394 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,395 - INFO - OPENED SHORT at 2075.61 | Stop loss: 2086.006707142857 | Take profit: 2044.4478642857146 +2025-03-10 13:02:42,395 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,397 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,398 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,399 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,401 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,402 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,402 - INFO - CLOSED short at 2069.97 | PnL: 0.27% | $0.28 +2025-03-10 13:02:42,403 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,404 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,404 - INFO - OPENED SHORT at 2067.7 | Stop loss: 2078.057157142857 | Take profit: 2036.6565142857141 +2025-03-10 13:02:42,406 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,407 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,408 - INFO - CLOSED short at 2067.0 | PnL: 0.03% | $-0.11 +2025-03-10 13:02:42,408 - INFO - OPENED LONG at 2067.0 | Stop loss: 2056.646342857143 | Take profit: 2098.032985714286 +2025-03-10 13:02:42,409 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,409 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,410 - INFO - CLOSED long at 2067.9 | PnL: 0.04% | $-0.09 +2025-03-10 13:02:42,410 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,411 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,412 - INFO - OPENED SHORT at 2066.4 | Stop loss: 2076.750657142857 | Take profit: 2035.3760142857143 +2025-03-10 13:02:42,413 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,414 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,415 - INFO - CLOSED short at 2066.89 | PnL: -0.02% | $-0.20 +2025-03-10 13:02:42,416 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,417 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,419 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,421 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,421 - INFO - OPENED SHORT at 2065.45 | Stop loss: 2075.795907142857 | Take profit: 2034.4402642857142 +2025-03-10 13:02:42,422 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,423 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,424 - INFO - CLOSED short at 2068.1 | PnL: -0.13% | $-0.38 +2025-03-10 13:02:42,424 - INFO - OPENED LONG at 2068.1 | Stop loss: 2057.740842857143 | Take profit: 2099.1494857142857 +2025-03-10 13:02:42,425 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,426 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,427 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,428 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,433 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,434 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,434 - INFO - CLOSED long at 2070.1 | PnL: 0.10% | $-0.01 +2025-03-10 13:02:42,435 - INFO - OPENED SHORT at 2070.1 | Stop loss: 2080.469157142857 | Take profit: 2039.0205142857142 +2025-03-10 13:02:42,435 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,436 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,438 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,439 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,440 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,441 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,442 - INFO - CLOSED short at 2065.7 | PnL: 0.21% | $0.18 +2025-03-10 13:02:42,442 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.3528428571426 | Take profit: 2096.713485714286 +2025-03-10 13:02:42,443 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,445 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,449 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,451 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,451 - INFO - CLOSED long at 2065.07 | PnL: -0.03% | $-0.21 +2025-03-10 13:02:42,451 - INFO - OPENED SHORT at 2065.07 | Stop loss: 2075.4140071428574 | Take profit: 2034.0659642857145 +2025-03-10 13:02:42,452 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,454 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,454 - INFO - CLOSED short at 2066.09 | PnL: -0.05% | $-0.25 +2025-03-10 13:02:42,454 - INFO - OPENED LONG at 2066.09 | Stop loss: 2055.740892857143 | Take profit: 2097.109335714286 +2025-03-10 13:02:42,455 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,456 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,457 - INFO - CLOSED long at 2063.39 | PnL: -0.13% | $-0.38 +2025-03-10 13:02:42,459 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,459 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,460 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,461 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,467 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,468 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,470 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,470 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,472 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,473 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,473 - INFO - OPENED SHORT at 2064.11 | Stop loss: 2074.449207142857 | Take profit: 2033.1203642857145 +2025-03-10 13:02:42,474 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,475 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,480 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,482 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,482 - INFO - CLOSED short at 2066.33 | PnL: -0.11% | $-0.34 +2025-03-10 13:02:42,483 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.9796928571427 | Take profit: 2097.3529357142856 +2025-03-10 13:02:42,484 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,485 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,487 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,488 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,488 - INFO - CLOSED long at 2060.7 | PnL: -0.27% | $-0.60 +2025-03-10 13:02:42,489 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.022157142857 | Take profit: 2029.7615142857142 +2025-03-10 13:02:42,490 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,491 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,492 - INFO - CLOSED short at 2060.2 | PnL: 0.02% | $-0.12 +2025-03-10 13:02:42,492 - INFO - OPENED LONG at 2060.2 | Stop loss: 2049.8803428571428 | Take profit: 2091.1309857142855 +2025-03-10 13:02:42,493 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,494 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,495 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,496 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,501 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,502 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,504 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,505 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,505 - INFO - CLOSED long at 2056.77 | PnL: -0.17% | $-0.43 +2025-03-10 13:02:42,505 - INFO - OPENED SHORT at 2056.77 | Stop loss: 2067.0725071428574 | Take profit: 2025.8904642857142 +2025-03-10 13:02:42,506 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,507 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,508 - INFO - CLOSED short at 2053.01 | PnL: 0.18% | $0.13 +2025-03-10 13:02:42,509 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,510 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,511 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,513 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,513 - INFO - OPENED SHORT at 2049.5 | Stop loss: 2059.766157142857 | Take profit: 2018.7295142857145 +2025-03-10 13:02:42,514 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,515 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,515 - INFO - CLOSED short at 2051.99 | PnL: -0.12% | $-0.35 +2025-03-10 13:02:42,517 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,518 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,518 - INFO - OPENED LONG at 2058.3 | Stop loss: 2047.989842857143 | Take profit: 2089.2024857142856 +2025-03-10 13:02:42,519 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,519 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,521 - INFO - CLOSED long at 2056.85 | PnL: -0.07% | $-0.27 +2025-03-10 13:02:42,521 - INFO - OPENED SHORT at 2056.85 | Stop loss: 2067.1529071428567 | Take profit: 2025.9692642857142 +2025-03-10 13:02:42,523 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,524 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,525 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,526 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,527 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,528 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,529 - INFO - CLOSED short at 2062.83 | PnL: -0.29% | $-0.62 +2025-03-10 13:02:42,530 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,531 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,536 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,536 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,537 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,538 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,542 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,545 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,546 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,547 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,549 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,550 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,550 - INFO - OPENED SHORT at 2068.33 | Stop loss: 2078.6903071428574 | Take profit: 2037.2770642857142 +2025-03-10 13:02:42,552 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,552 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,555 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,556 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,557 - INFO - CLOSED short at 2066.59 | PnL: 0.08% | $-0.03 +2025-03-10 13:02:42,558 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,559 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,565 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,566 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,570 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,571 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,573 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,574 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,575 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.022157142857 | Take profit: 2029.7615142857142 +2025-03-10 13:02:42,576 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,578 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,579 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,580 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,581 - INFO - CLOSED short at 2062.54 | PnL: -0.09% | $-0.30 +2025-03-10 13:02:42,581 - INFO - OPENED LONG at 2062.54 | Stop loss: 2052.208642857143 | Take profit: 2093.5060857142857 +2025-03-10 13:02:42,583 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,584 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,586 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,587 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,587 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,589 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,589 - INFO - CLOSED long at 2070.24 | PnL: 0.37% | $0.43 +2025-03-10 13:02:42,591 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,592 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,592 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.7053571428573 | Take profit: 2038.2719142857143 +2025-03-10 13:02:42,593 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,594 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,595 - INFO - CLOSED short at 2069.81 | PnL: -0.02% | $-0.19 +2025-03-10 13:02:42,595 - INFO - OPENED LONG at 2069.81 | Stop loss: 2059.4422928571425 | Take profit: 2100.8851357142858 +2025-03-10 13:02:42,597 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,598 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,599 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,600 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,601 - INFO - CLOSED long at 2073.49 | PnL: 0.18% | $0.12 +2025-03-10 13:02:42,602 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,603 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,607 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,608 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,609 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,610 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,611 - INFO - OPENED SHORT at 2071.89 | Stop loss: 2082.268107142857 | Take profit: 2040.7836642857142 +2025-03-10 13:02:42,611 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,613 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,614 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,615 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,616 - INFO - CLOSED short at 2074.9 | PnL: -0.15% | $-0.39 +2025-03-10 13:02:42,616 - INFO - OPENED LONG at 2074.9 | Stop loss: 2064.506842857143 | Take profit: 2106.0514857142857 +2025-03-10 13:02:42,618 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,618 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,620 - INFO - CLOSED long at 2076.08 | PnL: 0.06% | $-0.07 +2025-03-10 13:02:42,621 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,622 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,623 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,624 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,625 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,626 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,628 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,628 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,629 - INFO - OPENED LONG at 2103.02 | Stop loss: 2092.4862428571428 | Take profit: 2134.5932857142857 +2025-03-10 13:02:42,630 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,630 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,632 - INFO - CLOSED long at 2130.7 | PnL: 1.32% | $1.91 +2025-03-10 13:02:42,632 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.372157142857 | Take profit: 2098.711514285714 +2025-03-10 13:02:42,633 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,634 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,636 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,637 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,637 - INFO - CLOSED short at 2131.78 | PnL: -0.05% | $-0.24 +2025-03-10 13:02:42,638 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,639 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,641 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,642 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,644 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,645 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,646 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,647 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,648 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,649 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,650 - INFO - OPENED LONG at 2142.68 | Stop loss: 2131.9479428571426 | Take profit: 2174.8481857142856 +2025-03-10 13:02:42,652 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,653 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,654 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,655 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,655 - INFO - CLOSED long at 2134.78 | PnL: -0.37% | $-0.75 +2025-03-10 13:02:42,656 - INFO - OPENED SHORT at 2134.78 | Stop loss: 2145.4725571428576 | Take profit: 2102.7303142857145 +2025-03-10 13:02:42,656 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,658 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,658 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,660 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,662 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,663 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,664 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,666 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,666 - INFO - CLOSED short at 2121.09 | PnL: 0.64% | $0.86 +2025-03-10 13:02:42,667 - INFO - OPENED LONG at 2121.09 | Stop loss: 2110.465892857143 | Take profit: 2152.9343357142857 +2025-03-10 13:02:42,668 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,670 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,671 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,671 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,672 - INFO - CLOSED long at 2117.24 | PnL: -0.18% | $-0.45 +2025-03-10 13:02:42,672 - INFO - OPENED SHORT at 2117.24 | Stop loss: 2127.844857142857 | Take profit: 2085.453414285714 +2025-03-10 13:02:42,674 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,675 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,676 - INFO - CLOSED short at 2119.93 | PnL: -0.13% | $-0.36 +2025-03-10 13:02:42,676 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.3116928571426 | Take profit: 2151.7569357142856 +2025-03-10 13:02:42,677 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,678 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,685 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,686 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,686 - INFO - CLOSED long at 2118.52 | PnL: -0.07% | $-0.26 +2025-03-10 13:02:42,688 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,689 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,689 - INFO - OPENED SHORT at 2119.14 | Stop loss: 2129.7543571428573 | Take profit: 2087.324914285714 +2025-03-10 13:02:42,690 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,691 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,691 - INFO - CLOSED short at 2119.07 | PnL: 0.00% | $-0.15 +2025-03-10 13:02:42,692 - INFO - OPENED LONG at 2119.07 | Stop loss: 2108.455992857143 | Take profit: 2150.884035714286 +2025-03-10 13:02:42,693 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,695 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,695 - INFO - CLOSED long at 2115.28 | PnL: -0.18% | $-0.44 +2025-03-10 13:02:42,696 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,697 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,698 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,700 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,700 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.028342857143 | Take profit: 2142.2869857142855 +2025-03-10 13:02:42,701 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,702 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,703 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,704 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,705 - INFO - CLOSED long at 2112.09 | PnL: 0.07% | $-0.05 +2025-03-10 13:02:42,706 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,706 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,708 - INFO - OPENED SHORT at 2112.95 | Stop loss: 2123.533407142857 | Take profit: 2081.2277642857143 +2025-03-10 13:02:42,709 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,709 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,711 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,712 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,712 - INFO - CLOSED short at 2113.24 | PnL: -0.01% | $-0.18 +2025-03-10 13:02:42,713 - INFO - OPENED LONG at 2113.24 | Stop loss: 2102.655142857143 | Take profit: 2144.9665857142854 +2025-03-10 13:02:42,714 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,714 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,716 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,717 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,719 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,720 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,720 - INFO - CLOSED long at 2116.48 | PnL: 0.15% | $0.08 +2025-03-10 13:02:42,723 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,724 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,728 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,730 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,734 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,735 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,739 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,740 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,742 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,744 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,749 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,751 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,751 - INFO - OPENED SHORT at 2103.33 | Stop loss: 2113.865307142857 | Take profit: 2071.7520642857144 +2025-03-10 13:02:42,753 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,754 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,758 - INFO - CLOSED short at 2100.5 | PnL: 0.13% | $0.05 +2025-03-10 13:02:42,759 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,760 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,760 - INFO - OPENED SHORT at 2090.0 | Stop loss: 2100.468657142857 | Take profit: 2058.622014285714 +2025-03-10 13:02:42,762 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,763 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,764 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,765 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,767 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,767 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,769 - INFO - CLOSED short at 2102.19 | PnL: -0.58% | $-1.07 +2025-03-10 13:02:42,770 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,771 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,772 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,773 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,775 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,775 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,777 - INFO - OPENED SHORT at 2098.9 | Stop loss: 2109.4131571428575 | Take profit: 2067.3885142857143 +2025-03-10 13:02:42,778 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,779 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,784 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,785 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,786 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,787 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,787 - INFO - CLOSED short at 2106.39 | PnL: -0.36% | $-0.71 +2025-03-10 13:02:42,789 - INFO - OPENED LONG at 2106.39 | Stop loss: 2095.8393928571427 | Take profit: 2138.0138357142855 +2025-03-10 13:02:42,790 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,791 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,791 - INFO - CLOSED long at 2100.74 | PnL: -0.27% | $-0.57 +2025-03-10 13:02:42,791 - INFO - OPENED SHORT at 2100.74 | Stop loss: 2111.262357142857 | Take profit: 2069.200914285714 +2025-03-10 13:02:42,793 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,793 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,795 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,796 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,797 - INFO - CLOSED short at 2104.68 | PnL: -0.19% | $-0.44 +2025-03-10 13:02:42,798 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,799 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,800 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,802 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,803 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,805 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,805 - INFO - OPENED SHORT at 2100.02 | Stop loss: 2110.538757142857 | Take profit: 2068.4917142857144 +2025-03-10 13:02:42,807 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,808 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,808 - INFO - CLOSED short at 2098.39 | PnL: 0.08% | $-0.03 +2025-03-10 13:02:42,809 - INFO - OPENED LONG at 2098.39 | Stop loss: 2087.8793928571426 | Take profit: 2129.8938357142856 +2025-03-10 13:02:42,810 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,810 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,815 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,816 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,817 - INFO - CLOSED long at 2093.46 | PnL: -0.23% | $-0.51 +2025-03-10 13:02:42,817 - INFO - OPENED SHORT at 2093.46 | Stop loss: 2103.945957142857 | Take profit: 2062.0301142857143 +2025-03-10 13:02:42,819 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,820 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,825 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,826 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,827 - INFO - CLOSED short at 2092.46 | PnL: 0.05% | $-0.08 +2025-03-10 13:02:42,828 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,829 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,836 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,837 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,838 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,839 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,840 - INFO - OPENED SHORT at 2094.08 | Stop loss: 2104.569057142857 | Take profit: 2062.640814285714 +2025-03-10 13:02:42,841 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,842 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,843 - INFO - CLOSED short at 2088.35 | PnL: 0.27% | $0.26 +2025-03-10 13:02:42,844 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,845 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,850 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,851 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,851 - INFO - OPENED LONG at 2088.44 | Stop loss: 2077.979142857143 | Take profit: 2119.7945857142854 +2025-03-10 13:02:42,853 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,854 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,855 - INFO - CLOSED long at 2083.97 | PnL: -0.21% | $-0.47 +2025-03-10 13:02:42,856 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,857 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,858 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,859 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,860 - INFO - OPENED LONG at 2082.44 | Stop loss: 2072.0091428571427 | Take profit: 2113.7045857142857 +2025-03-10 13:02:42,861 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,862 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,863 - INFO - CLOSED long at 2081.49 | PnL: -0.05% | $-0.22 +2025-03-10 13:02:42,863 - INFO - OPENED SHORT at 2081.49 | Stop loss: 2091.916107142857 | Take profit: 2050.239664285714 +2025-03-10 13:02:42,864 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,865 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,866 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,867 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,873 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,874 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,876 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,877 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,882 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,883 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,886 - INFO - CLOSED short at 2083.59 | PnL: -0.10% | $-0.30 +2025-03-10 13:02:42,887 - INFO - OPENED LONG at 2083.59 | Stop loss: 2073.153392857143 | Take profit: 2114.871835714286 +2025-03-10 13:02:42,887 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,890 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,891 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,892 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,897 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,898 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,902 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,903 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,905 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,905 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,906 - INFO - CLOSED long at 2085.85 | PnL: 0.11% | $0.01 +2025-03-10 13:02:42,907 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,908 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,909 - INFO - OPENED SHORT at 2088.66 | Stop loss: 2099.121957142857 | Take profit: 2057.302114285714 +2025-03-10 13:02:42,910 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,912 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,912 - INFO - CLOSED short at 2088.32 | PnL: 0.02% | $-0.12 +2025-03-10 13:02:42,914 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,915 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,915 - INFO - OPENED SHORT at 2088.1 | Stop loss: 2098.559157142857 | Take profit: 2056.750514285714 +2025-03-10 13:02:42,916 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,917 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,920 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,921 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,922 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,924 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,924 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,927 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,928 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,928 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,929 - INFO - CLOSED short at 2086.81 | PnL: 0.06% | $-0.06 +2025-03-10 13:02:42,929 - INFO - OPENED LONG at 2086.81 | Stop loss: 2076.3572928571425 | Take profit: 2118.1401357142854 +2025-03-10 13:02:42,931 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,932 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,932 - INFO - CLOSED long at 2089.79 | PnL: 0.14% | $0.06 +2025-03-10 13:02:42,934 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,934 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,936 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,937 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,942 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,943 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,943 - INFO - OPENED SHORT at 2091.05 | Stop loss: 2101.5239071428573 | Take profit: 2059.6562642857148 +2025-03-10 13:02:42,944 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,946 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,946 - INFO - CLOSED short at 2091.05 | PnL: 0.00% | $-0.15 +2025-03-10 13:02:42,946 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.576092857143 | Take profit: 2122.4437357142856 +2025-03-10 13:02:42,947 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,948 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,949 - INFO - CLOSED long at 2091.95 | PnL: 0.04% | $-0.08 +2025-03-10 13:02:42,950 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,951 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,953 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,954 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,955 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,956 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,958 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,959 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,960 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,961 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,962 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,964 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,965 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,966 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,968 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,969 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,971 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,972 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,977 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,978 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,979 - INFO - OPENED LONG at 2106.15 | Stop loss: 2095.600592857143 | Take profit: 2137.7702357142857 +2025-03-10 13:02:42,980 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,981 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,984 - INFO - CLOSED long at 2103.48 | PnL: -0.13% | $-0.34 +2025-03-10 13:02:42,985 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:42,987 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:42,988 - INFO - Trade Analysis: Win Rate=5.9% in uptrends, 0.0% in downtrends | Avg Win=$0.28, Avg Loss=$-0.27 +2025-03-10 13:02:42,988 - INFO - Episode 3: Reward=-148.63, Balance=$74.40, Win Rate=13.5%, Trades=133, Episode PnL=$-19.59, Total PnL=$-105.59, Max Drawdown=25.6%, Pred Accuracy=98.6% +2025-03-10 13:02:42,988 - ERROR - Error in episode 3: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:02:42,990 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1763, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:02:43,010 - INFO - Identified 25 optimal buy points and 28 optimal sell points +2025-03-10 13:02:43,198 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,200 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,200 - INFO - OPENED SHORT at 2049.49 | Stop loss: 2059.756107142857 | Take profit: 2018.719664285714 +2025-03-10 13:02:43,202 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,203 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,205 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,206 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,208 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,210 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,212 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,213 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,216 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,217 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,218 - INFO - CLOSED short at 2049.24 | PnL: 0.01% | $-0.17 +2025-03-10 13:02:43,219 - INFO - OPENED LONG at 2049.24 | Stop loss: 2038.9751428571426 | Take profit: 2080.0065857142854 +2025-03-10 13:02:43,220 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,222 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,224 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,225 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,227 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,229 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,229 - INFO - CLOSED long at 2046.58 | PnL: -0.13% | $-0.45 +2025-03-10 13:02:43,230 - INFO - OPENED SHORT at 2046.58 | Stop loss: 2056.8315571428575 | Take profit: 2015.8533142857143 +2025-03-10 13:02:43,232 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,233 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,235 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,236 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,238 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,240 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,247 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,249 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,250 - INFO - CLOSED short at 2045.99 | PnL: 0.03% | $-0.14 +2025-03-10 13:02:43,251 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,253 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,253 - INFO - OPENED LONG at 2045.79 | Stop loss: 2035.5423928571429 | Take profit: 2076.5048357142855 +2025-03-10 13:02:43,255 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,256 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,258 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,259 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,261 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,262 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,264 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,266 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,266 - INFO - CLOSED long at 2050.0 | PnL: 0.21% | $0.21 +2025-03-10 13:02:43,267 - INFO - OPENED SHORT at 2050.0 | Stop loss: 2060.268657142857 | Take profit: 2019.2220142857143 +2025-03-10 13:02:43,268 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,269 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,271 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,272 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,274 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,276 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,278 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,279 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,281 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,283 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,289 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,290 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,292 - INFO - CLOSED short at 2052.3 | PnL: -0.11% | $-0.42 +2025-03-10 13:02:43,292 - INFO - OPENED LONG at 2052.3 | Stop loss: 2042.0198428571432 | Take profit: 2083.112485714286 +2025-03-10 13:02:43,294 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,296 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,296 - INFO - CLOSED long at 2055.69 | PnL: 0.17% | $0.13 +2025-03-10 13:02:43,298 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,299 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,300 - INFO - OPENED SHORT at 2057.01 | Stop loss: 2067.3137071428573 | Take profit: 2026.1268642857144 +2025-03-10 13:02:43,301 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,303 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,304 - INFO - CLOSED short at 2056.89 | PnL: 0.01% | $-0.19 +2025-03-10 13:02:43,305 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,307 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,308 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,310 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,311 - INFO - OPENED LONG at 2060.13 | Stop loss: 2049.810692857143 | Take profit: 2091.059935714286 +2025-03-10 13:02:43,313 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,314 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,315 - INFO - CLOSED long at 2059.7 | PnL: -0.02% | $-0.24 +2025-03-10 13:02:43,317 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,318 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,320 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,321 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,322 - INFO - OPENED SHORT at 2063.29 | Stop loss: 2073.6251071428574 | Take profit: 2032.3126642857144 +2025-03-10 13:02:43,323 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,324 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,325 - INFO - CLOSED short at 2064.61 | PnL: -0.06% | $-0.32 +2025-03-10 13:02:43,325 - INFO - OPENED LONG at 2064.61 | Stop loss: 2054.268292857143 | Take profit: 2095.6071357142855 +2025-03-10 13:02:43,327 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,328 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,329 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,331 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,333 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,333 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,336 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,337 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,338 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,339 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,340 - INFO - CLOSED long at 2060.99 | PnL: -0.18% | $-0.54 +2025-03-10 13:02:43,342 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,343 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,345 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,346 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,348 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,349 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,351 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,351 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,352 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.556892857143 | Take profit: 2093.8613357142854 +2025-03-10 13:02:43,354 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,356 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,357 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,358 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,360 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,361 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,362 - INFO - CLOSED long at 2057.8 | PnL: -0.25% | $-0.67 +2025-03-10 13:02:43,363 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,364 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,366 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,367 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,369 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,369 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,370 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.8007928571428 | Take profit: 2089.0096357142857 +2025-03-10 13:02:43,371 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,373 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,374 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,375 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,380 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,381 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,384 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,385 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,389 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,391 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,391 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,393 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,393 - INFO - CLOSED long at 2068.11 | PnL: 0.49% | $0.74 +2025-03-10 13:02:43,394 - INFO - OPENED SHORT at 2068.11 | Stop loss: 2078.4692071428576 | Take profit: 2037.0603642857143 +2025-03-10 13:02:43,395 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,396 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,402 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,403 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,403 - INFO - CLOSED short at 2067.89 | PnL: 0.01% | $-0.17 +2025-03-10 13:02:43,405 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,406 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,406 - INFO - OPENED LONG at 2071.63 | Stop loss: 2061.253192857143 | Take profit: 2102.7324357142857 +2025-03-10 13:02:43,408 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,408 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,410 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,411 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,412 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,413 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,414 - INFO - CLOSED long at 2068.65 | PnL: -0.14% | $-0.47 +2025-03-10 13:02:43,415 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,417 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,418 - INFO - OPENED LONG at 2068.99 | Stop loss: 2058.6263928571425 | Take profit: 2100.0528357142853 +2025-03-10 13:02:43,419 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,421 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,427 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,428 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,429 - INFO - CLOSED long at 2067.69 | PnL: -0.06% | $-0.31 +2025-03-10 13:02:43,430 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,431 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,436 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,437 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,442 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,443 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,447 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,448 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,449 - INFO - OPENED SHORT at 2075.1 | Stop loss: 2085.4941571428567 | Take profit: 2043.9455142857141 +2025-03-10 13:02:43,450 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,451 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,453 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,454 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,454 - INFO - CLOSED short at 2072.33 | PnL: 0.13% | $0.06 +2025-03-10 13:02:43,456 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,457 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,457 - INFO - OPENED LONG at 2071.38 | Stop loss: 2061.0044428571427 | Take profit: 2102.478685714286 +2025-03-10 13:02:43,459 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,460 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,460 - INFO - CLOSED long at 2071.41 | PnL: 0.00% | $-0.19 +2025-03-10 13:02:43,461 - INFO - OPENED SHORT at 2071.41 | Stop loss: 2081.785707142857 | Take profit: 2040.3108642857142 +2025-03-10 13:02:43,462 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,463 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,467 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,468 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,470 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,471 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,473 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,474 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,474 - INFO - CLOSED short at 2070.79 | PnL: 0.03% | $-0.13 +2025-03-10 13:02:43,475 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,476 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,478 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,479 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,481 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,483 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,483 - INFO - OPENED LONG at 2067.2 | Stop loss: 2056.8453428571424 | Take profit: 2098.2359857142856 +2025-03-10 13:02:43,484 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,485 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,486 - INFO - CLOSED long at 2070.36 | PnL: 0.15% | $0.10 +2025-03-10 13:02:43,487 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,488 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,490 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,491 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,492 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,493 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,494 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,495 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,496 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,497 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,498 - INFO - OPENED SHORT at 2068.8 | Stop loss: 2079.1626571428574 | Take profit: 2037.7400142857143 +2025-03-10 13:02:43,499 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,501 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,501 - INFO - CLOSED short at 2067.6 | PnL: 0.06% | $-0.08 +2025-03-10 13:02:43,501 - INFO - OPENED LONG at 2067.6 | Stop loss: 2057.2433428571426 | Take profit: 2098.6419857142855 +2025-03-10 13:02:43,503 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,503 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,505 - INFO - CLOSED long at 2067.51 | PnL: -0.00% | $-0.20 +2025-03-10 13:02:43,505 - INFO - OPENED SHORT at 2067.51 | Stop loss: 2077.8662071428575 | Take profit: 2036.4693642857146 +2025-03-10 13:02:43,506 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,507 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,508 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,509 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,511 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,512 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,513 - INFO - CLOSED short at 2065.99 | PnL: 0.07% | $-0.05 +2025-03-10 13:02:43,513 - INFO - OPENED LONG at 2065.99 | Stop loss: 2055.6413928571424 | Take profit: 2097.0078357142856 +2025-03-10 13:02:43,514 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,515 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,517 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,518 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,519 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,520 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,524 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,526 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,526 - INFO - CLOSED long at 2066.18 | PnL: 0.01% | $-0.17 +2025-03-10 13:02:43,526 - INFO - OPENED SHORT at 2066.18 | Stop loss: 2076.529557142857 | Take profit: 2035.1593142857141 +2025-03-10 13:02:43,528 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,529 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,534 - INFO - CLOSED short at 2068.76 | PnL: -0.12% | $-0.43 +2025-03-10 13:02:43,535 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,536 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,538 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,539 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,540 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,541 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,541 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.228392857143 | Take profit: 2099.6468357142858 +2025-03-10 13:02:43,543 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,544 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,546 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,547 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,548 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,549 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,550 - INFO - CLOSED long at 2069.96 | PnL: 0.07% | $-0.06 +2025-03-10 13:02:43,550 - INFO - OPENED SHORT at 2069.96 | Stop loss: 2080.328457142857 | Take profit: 2038.8826142857142 +2025-03-10 13:02:43,551 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,552 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,553 - INFO - CLOSED short at 2071.4 | PnL: -0.07% | $-0.32 +2025-03-10 13:02:43,553 - INFO - OPENED LONG at 2071.4 | Stop loss: 2061.024342857143 | Take profit: 2102.498985714286 +2025-03-10 13:02:43,555 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,556 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,556 - INFO - CLOSED long at 2071.39 | PnL: -0.00% | $-0.19 +2025-03-10 13:02:43,556 - INFO - OPENED SHORT at 2071.39 | Stop loss: 2081.765607142857 | Take profit: 2040.291164285714 +2025-03-10 13:02:43,558 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,559 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,559 - INFO - CLOSED short at 2071.36 | PnL: 0.00% | $-0.19 +2025-03-10 13:02:43,561 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,561 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,562 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,564 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,569 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,570 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,575 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,577 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,577 - INFO - OPENED LONG at 2072.15 | Stop loss: 2061.770592857143 | Take profit: 2103.2602357142855 +2025-03-10 13:02:43,578 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,579 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,581 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,582 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,584 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,585 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,587 - INFO - CLOSED long at 2071.92 | PnL: -0.01% | $-0.21 +2025-03-10 13:02:43,588 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,588 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,589 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.770657142857 | Take profit: 2039.3160142857146 +2025-03-10 13:02:43,591 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,592 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,594 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,595 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,596 - INFO - CLOSED short at 2069.46 | PnL: 0.05% | $-0.10 +2025-03-10 13:02:43,596 - INFO - OPENED LONG at 2069.46 | Stop loss: 2059.094042857143 | Take profit: 2100.5298857142857 +2025-03-10 13:02:43,598 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,599 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,605 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,606 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,607 - INFO - CLOSED long at 2068.32 | PnL: -0.06% | $-0.29 +2025-03-10 13:02:43,608 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,609 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,611 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,612 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,613 - INFO - OPENED SHORT at 2067.79 | Stop loss: 2078.1476071428574 | Take profit: 2036.7451642857143 +2025-03-10 13:02:43,615 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,616 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,618 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,619 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,620 - INFO - CLOSED short at 2066.8 | PnL: 0.05% | $-0.10 +2025-03-10 13:02:43,620 - INFO - OPENED LONG at 2066.8 | Stop loss: 2056.447342857143 | Take profit: 2097.829985714286 +2025-03-10 13:02:43,622 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,623 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,629 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,630 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,631 - INFO - CLOSED long at 2063.61 | PnL: -0.15% | $-0.48 +2025-03-10 13:02:43,632 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,634 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,635 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,636 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,637 - INFO - OPENED LONG at 2067.89 | Stop loss: 2057.531892857143 | Take profit: 2098.9363357142856 +2025-03-10 13:02:43,638 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,640 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,641 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,643 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,643 - INFO - CLOSED long at 2068.8 | PnL: 0.04% | $-0.10 +2025-03-10 13:02:43,643 - INFO - OPENED SHORT at 2068.8 | Stop loss: 2079.1626571428574 | Take profit: 2037.7400142857143 +2025-03-10 13:02:43,645 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,646 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,647 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,649 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,650 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,651 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,653 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,654 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,658 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,660 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,661 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,662 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,662 - INFO - CLOSED short at 2071.59 | PnL: -0.13% | $-0.44 +2025-03-10 13:02:43,664 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,665 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,666 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3278428571425 | Take profit: 2101.7884857142853 +2025-03-10 13:02:43,667 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,668 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,675 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,676 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,681 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,682 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,686 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,688 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,689 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,691 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,692 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,693 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,694 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,695 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,697 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,698 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,700 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,702 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,702 - INFO - CLOSED long at 2066.1 | PnL: -0.22% | $-0.60 +2025-03-10 13:02:43,703 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,704 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,705 - INFO - OPENED LONG at 2065.28 | Stop loss: 2054.934942857143 | Take profit: 2096.287185714286 +2025-03-10 13:02:43,706 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,707 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,707 - INFO - CLOSED long at 2066.39 | PnL: 0.05% | $-0.09 +2025-03-10 13:02:43,708 - INFO - OPENED SHORT at 2066.39 | Stop loss: 2076.7406071428572 | Take profit: 2035.3661642857141 +2025-03-10 13:02:43,709 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,710 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,711 - INFO - CLOSED short at 2064.47 | PnL: 0.09% | $-0.01 +2025-03-10 13:02:43,712 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,713 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,715 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,716 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,718 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,719 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,719 - INFO - OPENED SHORT at 2068.18 | Stop loss: 2078.539557142857 | Take profit: 2037.1293142857141 +2025-03-10 13:02:43,720 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,722 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,722 - INFO - CLOSED short at 2065.69 | PnL: 0.12% | $0.04 +2025-03-10 13:02:43,723 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,724 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,725 - INFO - OPENED SHORT at 2067.88 | Stop loss: 2078.2380571428575 | Take profit: 2036.8338142857144 +2025-03-10 13:02:43,726 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,727 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,729 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,730 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,731 - INFO - CLOSED short at 2065.83 | PnL: 0.10% | $-0.00 +2025-03-10 13:02:43,732 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,733 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,734 - INFO - OPENED LONG at 2066.15 | Stop loss: 2055.800592857143 | Take profit: 2097.170235714286 +2025-03-10 13:02:43,735 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,736 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,738 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,739 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,739 - INFO - CLOSED long at 2062.89 | PnL: -0.16% | $-0.47 +2025-03-10 13:02:43,739 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.223107142857 | Take profit: 2031.9186642857142 +2025-03-10 13:02:43,741 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,742 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,743 - INFO - CLOSED short at 2062.65 | PnL: 0.01% | $-0.16 +2025-03-10 13:02:43,743 - INFO - OPENED LONG at 2062.65 | Stop loss: 2052.318092857143 | Take profit: 2093.617735714286 +2025-03-10 13:02:43,744 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,745 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,747 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,748 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,749 - INFO - CLOSED long at 2059.59 | PnL: -0.15% | $-0.45 +2025-03-10 13:02:43,749 - INFO - OPENED SHORT at 2059.59 | Stop loss: 2069.9066071428574 | Take profit: 2028.6681642857145 +2025-03-10 13:02:43,750 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,752 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,752 - INFO - CLOSED short at 2061.3 | PnL: -0.08% | $-0.33 +2025-03-10 13:02:43,753 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,754 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,759 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,760 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,761 - INFO - OPENED LONG at 2064.96 | Stop loss: 2054.616542857143 | Take profit: 2095.9623857142856 +2025-03-10 13:02:43,762 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,763 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,768 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,769 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,769 - INFO - CLOSED long at 2067.1 | PnL: 0.10% | $0.01 +2025-03-10 13:02:43,771 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,771 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,772 - INFO - OPENED SHORT at 2065.54 | Stop loss: 2075.8863571428574 | Take profit: 2034.528914285714 +2025-03-10 13:02:43,773 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,774 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,774 - INFO - CLOSED short at 2066.09 | PnL: -0.03% | $-0.23 +2025-03-10 13:02:43,776 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,777 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,779 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,780 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,784 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,785 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,787 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,788 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,788 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.556892857143 | Take profit: 2093.8613357142854 +2025-03-10 13:02:43,789 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,790 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,791 - INFO - CLOSED long at 2064.5 | PnL: 0.08% | $-0.04 +2025-03-10 13:02:43,792 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,793 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,793 - INFO - OPENED SHORT at 2063.5 | Stop loss: 2073.8361571428572 | Take profit: 2032.5195142857144 +2025-03-10 13:02:43,794 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,795 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,796 - INFO - CLOSED short at 2061.6 | PnL: 0.09% | $-0.01 +2025-03-10 13:02:43,797 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,798 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,803 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,804 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,805 - INFO - OPENED SHORT at 2060.65 | Stop loss: 2070.971907142857 | Take profit: 2029.7122642857146 +2025-03-10 13:02:43,806 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,808 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,809 - INFO - CLOSED short at 2058.89 | PnL: 0.09% | $-0.03 +2025-03-10 13:02:43,809 - INFO - OPENED LONG at 2058.89 | Stop loss: 2048.576892857143 | Take profit: 2089.8013357142854 +2025-03-10 13:02:43,810 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,811 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,815 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,817 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,817 - INFO - CLOSED long at 2060.31 | PnL: 0.07% | $-0.06 +2025-03-10 13:02:43,817 - INFO - OPENED SHORT at 2060.31 | Stop loss: 2070.630207142857 | Take profit: 2029.377364285714 +2025-03-10 13:02:43,819 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,820 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,821 - INFO - CLOSED short at 2061.8 | PnL: -0.07% | $-0.31 +2025-03-10 13:02:43,822 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,823 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,823 - INFO - OPENED SHORT at 2064.7 | Stop loss: 2075.042157142857 | Take profit: 2033.7015142857142 +2025-03-10 13:02:43,825 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,826 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,827 - INFO - CLOSED short at 2062.61 | PnL: 0.10% | $0.00 +2025-03-10 13:02:43,827 - INFO - OPENED LONG at 2062.61 | Stop loss: 2052.278292857143 | Take profit: 2093.577135714286 +2025-03-10 13:02:43,829 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,830 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,830 - INFO - CLOSED long at 2060.91 | PnL: -0.08% | $-0.33 +2025-03-10 13:02:43,831 - INFO - OPENED SHORT at 2060.91 | Stop loss: 2071.233207142857 | Take profit: 2029.968364285714 +2025-03-10 13:02:43,832 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,833 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,835 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,836 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,837 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,838 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,840 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,840 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,841 - INFO - CLOSED short at 2064.1 | PnL: -0.15% | $-0.46 +2025-03-10 13:02:43,842 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,843 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,847 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,848 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,855 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,856 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,857 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,858 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,859 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,860 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,862 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,863 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,864 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,866 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,869 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,872 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,873 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,874 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,875 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,877 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,877 - INFO - OPENED LONG at 2061.7 | Stop loss: 2051.3728428571426 | Take profit: 2092.6534857142856 +2025-03-10 13:02:43,879 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,880 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,880 - INFO - CLOSED long at 2060.7 | PnL: -0.05% | $-0.26 +2025-03-10 13:02:43,880 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.022157142857 | Take profit: 2029.7615142857142 +2025-03-10 13:02:43,882 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,883 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,885 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,886 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,886 - INFO - CLOSED short at 2059.61 | PnL: 0.05% | $-0.08 +2025-03-10 13:02:43,887 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,888 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,889 - INFO - OPENED LONG at 2059.16 | Stop loss: 2048.845542857143 | Take profit: 2090.075385714286 +2025-03-10 13:02:43,890 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,892 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,892 - INFO - CLOSED long at 2059.02 | PnL: -0.01% | $-0.19 +2025-03-10 13:02:43,893 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,894 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,896 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,897 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,899 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,900 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,902 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,903 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,904 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,905 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,907 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,909 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,914 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,915 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,916 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,917 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,918 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,919 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,921 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,922 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,923 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,924 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,926 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,927 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,927 - INFO - OPENED LONG at 2059.8 | Stop loss: 2049.482342857143 | Take profit: 2090.724985714286 +2025-03-10 13:02:43,928 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,929 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,930 - INFO - CLOSED long at 2061.66 | PnL: 0.09% | $-0.02 +2025-03-10 13:02:43,930 - INFO - OPENED SHORT at 2061.66 | Stop loss: 2071.9869571428567 | Take profit: 2030.707114285714 +2025-03-10 13:02:43,931 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,932 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,933 - INFO - CLOSED short at 2061.5 | PnL: 0.01% | $-0.16 +2025-03-10 13:02:43,934 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,935 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,940 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,941 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,941 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.6251571428575 | Take profit: 2030.3525142857145 +2025-03-10 13:02:43,942 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,943 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,944 - INFO - CLOSED short at 2062.69 | PnL: -0.07% | $-0.30 +2025-03-10 13:02:43,946 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,947 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,952 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,953 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,954 - INFO - OPENED SHORT at 2066.36 | Stop loss: 2076.7104571428576 | Take profit: 2035.3366142857144 +2025-03-10 13:02:43,955 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,956 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,956 - INFO - CLOSED short at 2066.01 | PnL: 0.02% | $-0.15 +2025-03-10 13:02:43,957 - INFO - OPENED LONG at 2066.01 | Stop loss: 2055.661292857143 | Take profit: 2097.0281357142862 +2025-03-10 13:02:43,958 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,959 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,959 - INFO - CLOSED long at 2063.9 | PnL: -0.10% | $-0.36 +2025-03-10 13:02:43,961 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,962 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,967 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,968 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,968 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.6803071428567 | Take profit: 2035.3070642857142 +2025-03-10 13:02:43,970 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,971 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,973 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,974 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,975 - INFO - CLOSED short at 2066.79 | PnL: -0.02% | $-0.21 +2025-03-10 13:02:43,975 - INFO - OPENED LONG at 2066.79 | Stop loss: 2056.4373928571426 | Take profit: 2097.8198357142855 +2025-03-10 13:02:43,976 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,977 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,979 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,979 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,982 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,983 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,983 - INFO - CLOSED long at 2065.69 | PnL: -0.05% | $-0.27 +2025-03-10 13:02:43,985 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,985 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,987 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,989 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,989 - INFO - OPENED SHORT at 2072.0 | Stop loss: 2082.3786571428573 | Take profit: 2040.8920142857141 +2025-03-10 13:02:43,991 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,992 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,993 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:43,994 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:43,999 - INFO - CLOSED short at 2078.01 | PnL: -0.29% | $-0.68 +2025-03-10 13:02:43,999 - INFO - OPENED LONG at 2078.01 | Stop loss: 2067.601292857143 | Take profit: 2109.208135714286 +2025-03-10 13:02:44,000 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,001 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,003 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,004 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,005 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,007 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,007 - INFO - CLOSED long at 2071.04 | PnL: -0.34% | $-0.75 +2025-03-10 13:02:44,008 - INFO - OPENED SHORT at 2071.04 | Stop loss: 2081.413857142857 | Take profit: 2039.9464142857141 +2025-03-10 13:02:44,009 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,010 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,011 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,012 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,012 - INFO - CLOSED short at 2071.6 | PnL: -0.03% | $-0.22 +2025-03-10 13:02:44,015 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,016 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,017 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,018 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,019 - INFO - OPENED SHORT at 2070.0 | Stop loss: 2080.368657142857 | Take profit: 2038.922014285714 +2025-03-10 13:02:44,020 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,021 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,023 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,024 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,025 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,026 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,026 - INFO - CLOSED short at 2069.69 | PnL: 0.01% | $-0.15 +2025-03-10 13:02:44,028 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,029 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,030 - INFO - OPENED SHORT at 2069.03 | Stop loss: 2079.3938071428574 | Take profit: 2037.9665642857144 +2025-03-10 13:02:44,031 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,032 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,033 - INFO - CLOSED short at 2067.44 | PnL: 0.08% | $-0.04 +2025-03-10 13:02:44,033 - INFO - OPENED LONG at 2067.44 | Stop loss: 2057.084142857143 | Take profit: 2098.479585714286 +2025-03-10 13:02:44,034 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,036 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,036 - INFO - CLOSED long at 2068.79 | PnL: 0.07% | $-0.06 +2025-03-10 13:02:44,038 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,039 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,039 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6063928571425 | Take profit: 2104.1128357142857 +2025-03-10 13:02:44,040 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,041 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,042 - INFO - CLOSED long at 2071.49 | PnL: -0.07% | $-0.29 +2025-03-10 13:02:44,043 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,044 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,044 - INFO - OPENED LONG at 2069.87 | Stop loss: 2059.501992857143 | Take profit: 2100.9460357142857 +2025-03-10 13:02:44,046 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,048 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,049 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,051 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,051 - INFO - CLOSED long at 2066.38 | PnL: -0.17% | $-0.46 +2025-03-10 13:02:44,053 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,054 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,054 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.3528428571426 | Take profit: 2096.713485714286 +2025-03-10 13:02:44,056 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,057 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,062 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,063 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,063 - INFO - CLOSED long at 2063.95 | PnL: -0.08% | $-0.31 +2025-03-10 13:02:44,063 - INFO - OPENED SHORT at 2063.95 | Stop loss: 2074.288407142857 | Take profit: 2032.962764285714 +2025-03-10 13:02:44,065 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,066 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,067 - INFO - CLOSED short at 2063.97 | PnL: -0.00% | $-0.17 +2025-03-10 13:02:44,067 - INFO - OPENED LONG at 2063.97 | Stop loss: 2053.631492857143 | Take profit: 2094.9575357142853 +2025-03-10 13:02:44,068 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,069 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,073 - INFO - CLOSED long at 2064.5 | PnL: 0.03% | $-0.12 +2025-03-10 13:02:44,074 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,075 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,080 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,081 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,088 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,089 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,089 - INFO - OPENED SHORT at 2064.31 | Stop loss: 2074.650207142857 | Take profit: 2033.3173642857143 +2025-03-10 13:02:44,090 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,091 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,092 - INFO - CLOSED short at 2065.5 | PnL: -0.06% | $-0.26 +2025-03-10 13:02:44,093 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,094 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,096 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,096 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,097 - INFO - OPENED SHORT at 2065.29 | Stop loss: 2075.635107142857 | Take profit: 2034.2826642857144 +2025-03-10 13:02:44,098 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,100 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,100 - INFO - CLOSED short at 2065.31 | PnL: -0.00% | $-0.17 +2025-03-10 13:02:44,101 - INFO - OPENED LONG at 2065.31 | Stop loss: 2054.9647928571426 | Take profit: 2096.3176357142856 +2025-03-10 13:02:44,102 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,103 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,103 - INFO - CLOSED long at 2066.8 | PnL: 0.07% | $-0.05 +2025-03-10 13:02:44,105 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,105 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,106 - INFO - OPENED SHORT at 2066.5 | Stop loss: 2076.851157142857 | Take profit: 2035.4745142857143 +2025-03-10 13:02:44,107 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,109 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,110 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,111 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,112 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,114 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,115 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,116 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,117 - INFO - CLOSED short at 2071.35 | PnL: -0.23% | $-0.56 +2025-03-10 13:02:44,118 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,119 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,120 - INFO - OPENED SHORT at 2070.9 | Stop loss: 2081.273157142857 | Take profit: 2039.8085142857144 +2025-03-10 13:02:44,121 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,122 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,123 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,124 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,126 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,127 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,128 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,130 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,134 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,135 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,137 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,138 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,143 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,144 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,145 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,146 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,148 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,149 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,153 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,154 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,156 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,157 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,158 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,159 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,160 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,161 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,162 - INFO - CLOSED short at 2075.07 | PnL: -0.20% | $-0.50 +2025-03-10 13:02:44,162 - INFO - OPENED LONG at 2075.07 | Stop loss: 2064.6759928571432 | Take profit: 2106.224035714286 +2025-03-10 13:02:44,163 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,164 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,166 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,166 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,168 - INFO - CLOSED long at 2073.27 | PnL: -0.09% | $-0.31 +2025-03-10 13:02:44,169 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,170 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,170 - INFO - OPENED SHORT at 2073.99 | Stop loss: 2084.378607142857 | Take profit: 2042.852164285714 +2025-03-10 13:02:44,171 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,173 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,173 - INFO - CLOSED short at 2075.32 | PnL: -0.06% | $-0.27 +2025-03-10 13:02:44,174 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,175 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,176 - INFO - OPENED SHORT at 2075.29 | Stop loss: 2085.6851071428573 | Take profit: 2044.1326642857143 +2025-03-10 13:02:44,177 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,178 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,179 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,180 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,182 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,184 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,184 - INFO - CLOSED short at 2074.0 | PnL: 0.06% | $-0.06 +2025-03-10 13:02:44,185 - INFO - OPENED LONG at 2074.0 | Stop loss: 2063.611342857143 | Take profit: 2105.137985714286 +2025-03-10 13:02:44,186 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,187 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,192 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,193 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,198 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,199 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,199 - INFO - CLOSED long at 2067.7 | PnL: -0.30% | $-0.66 +2025-03-10 13:02:44,200 - INFO - OPENED SHORT at 2067.7 | Stop loss: 2078.057157142857 | Take profit: 2036.6565142857141 +2025-03-10 13:02:44,201 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,202 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,204 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,205 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,206 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,207 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,209 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,210 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,211 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,212 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,214 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,215 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,219 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,220 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,221 - INFO - CLOSED short at 2068.1 | PnL: -0.02% | $-0.19 +2025-03-10 13:02:44,221 - INFO - OPENED LONG at 2068.1 | Stop loss: 2057.740842857143 | Take profit: 2099.1494857142857 +2025-03-10 13:02:44,222 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,224 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,224 - INFO - CLOSED long at 2069.0 | PnL: 0.04% | $-0.09 +2025-03-10 13:02:44,224 - INFO - OPENED SHORT at 2069.0 | Stop loss: 2079.363657142857 | Take profit: 2037.9370142857144 +2025-03-10 13:02:44,225 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,226 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,229 - INFO - CLOSED short at 2070.19 | PnL: -0.06% | $-0.25 +2025-03-10 13:02:44,230 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,232 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,233 - INFO - OPENED LONG at 2070.1 | Stop loss: 2059.7308428571428 | Take profit: 2101.1794857142854 +2025-03-10 13:02:44,234 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,235 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,239 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,240 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,246 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,247 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,247 - INFO - CLOSED long at 2065.7 | PnL: -0.21% | $-0.50 +2025-03-10 13:02:44,248 - INFO - OPENED SHORT at 2065.7 | Stop loss: 2076.047157142857 | Take profit: 2034.686514285714 +2025-03-10 13:02:44,250 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,251 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,251 - INFO - CLOSED short at 2065.8 | PnL: -0.00% | $-0.17 +2025-03-10 13:02:44,252 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,253 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,258 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,259 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,261 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,262 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,264 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,265 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,266 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,267 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,271 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,273 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,274 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,275 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,276 - INFO - OPENED LONG at 2065.06 | Stop loss: 2054.716042857143 | Take profit: 2096.063885714286 +2025-03-10 13:02:44,277 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,279 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,280 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,281 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,281 - INFO - CLOSED long at 2064.5 | PnL: -0.03% | $-0.20 +2025-03-10 13:02:44,283 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,284 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,285 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,286 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,286 - INFO - OPENED SHORT at 2063.01 | Stop loss: 2073.3437071428575 | Take profit: 2032.0368642857145 +2025-03-10 13:02:44,287 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,289 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,289 - INFO - CLOSED short at 2060.7 | PnL: 0.11% | $0.02 +2025-03-10 13:02:44,289 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3778428571427 | Take profit: 2091.6384857142853 +2025-03-10 13:02:44,291 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,292 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,292 - INFO - CLOSED long at 2060.2 | PnL: -0.02% | $-0.20 +2025-03-10 13:02:44,293 - INFO - OPENED SHORT at 2060.2 | Stop loss: 2070.519657142857 | Take profit: 2029.269014285714 +2025-03-10 13:02:44,294 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,295 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,296 - INFO - CLOSED short at 2059.2 | PnL: 0.05% | $-0.08 +2025-03-10 13:02:44,296 - INFO - OPENED LONG at 2059.2 | Stop loss: 2048.885342857143 | Take profit: 2090.1159857142857 +2025-03-10 13:02:44,297 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,298 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,299 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,300 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,301 - INFO - CLOSED long at 2058.65 | PnL: -0.03% | $-0.20 +2025-03-10 13:02:44,301 - INFO - OPENED SHORT at 2058.65 | Stop loss: 2068.9619071428574 | Take profit: 2027.7422642857143 +2025-03-10 13:02:44,302 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,303 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,308 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,309 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,309 - INFO - CLOSED short at 2053.01 | PnL: 0.27% | $0.28 +2025-03-10 13:02:44,310 - INFO - OPENED LONG at 2053.01 | Stop loss: 2042.726292857143 | Take profit: 2083.8331357142856 +2025-03-10 13:02:44,311 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,312 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,312 - INFO - CLOSED long at 2049.21 | PnL: -0.19% | $-0.45 +2025-03-10 13:02:44,313 - INFO - OPENED SHORT at 2049.21 | Stop loss: 2059.474707142857 | Take profit: 2018.4438642857142 +2025-03-10 13:02:44,314 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,315 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,321 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,322 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,328 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,329 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,330 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,331 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,333 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,335 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,336 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,337 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,342 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,342 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,347 - INFO - STOP LOSS hit for short at 2059.474707142857 | PnL: -0.50% | $-0.95 +2025-03-10 13:02:44,349 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,350 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,355 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,357 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,359 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,361 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,362 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,363 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,364 - INFO - OPENED SHORT at 2062.55 | Stop loss: 2072.881407142857 | Take profit: 2031.5837642857146 +2025-03-10 13:02:44,365 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,366 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,367 - INFO - CLOSED short at 2065.12 | PnL: -0.12% | $-0.35 +2025-03-10 13:02:44,367 - INFO - OPENED LONG at 2065.12 | Stop loss: 2054.7757428571426 | Take profit: 2096.1247857142857 +2025-03-10 13:02:44,368 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,369 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,370 - INFO - CLOSED long at 2068.33 | PnL: 0.16% | $0.09 +2025-03-10 13:02:44,370 - INFO - OPENED SHORT at 2068.33 | Stop loss: 2078.6903071428574 | Take profit: 2037.2770642857142 +2025-03-10 13:02:44,372 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,374 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,374 - INFO - CLOSED short at 2067.49 | PnL: 0.04% | $-0.09 +2025-03-10 13:02:44,375 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,377 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,379 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,380 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,380 - INFO - OPENED SHORT at 2064.08 | Stop loss: 2074.419057142857 | Take profit: 2033.0908142857143 +2025-03-10 13:02:44,382 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,383 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,390 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,391 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,392 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,393 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,395 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,396 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,397 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,398 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,404 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,405 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,405 - INFO - CLOSED short at 2065.72 | PnL: -0.08% | $-0.28 +2025-03-10 13:02:44,406 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,407 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,408 - INFO - OPENED LONG at 2070.31 | Stop loss: 2059.939792857143 | Take profit: 2101.3926357142855 +2025-03-10 13:02:44,410 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,411 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,416 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,417 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,419 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,420 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,421 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,422 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,427 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,428 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,430 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,432 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,433 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,434 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,439 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,440 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,441 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,442 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,443 - INFO - CLOSED long at 2071.8 | PnL: 0.07% | $-0.04 +2025-03-10 13:02:44,444 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,445 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,449 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,451 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,452 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,453 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,454 - INFO - OPENED LONG at 2077.61 | Stop loss: 2067.203292857143 | Take profit: 2108.8021357142857 +2025-03-10 13:02:44,455 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,456 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,460 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,461 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,462 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,463 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,465 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,466 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,467 - INFO - TAKE PROFIT hit for long at 2108.8021357142857 | PnL: 1.50% | $2.17 +2025-03-10 13:02:44,468 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,469 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,470 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,471 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,472 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,473 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,476 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,477 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,479 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,480 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,482 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,483 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,484 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,485 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,486 - INFO - OPENED SHORT at 2142.68 | Stop loss: 2153.412057142857 | Take profit: 2110.511814285714 +2025-03-10 13:02:44,487 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,489 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,493 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,494 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,496 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,497 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,503 - INFO - CLOSED short at 2126.99 | PnL: 0.73% | $1.01 +2025-03-10 13:02:44,503 - INFO - OPENED LONG at 2126.99 | Stop loss: 2116.336392857143 | Take profit: 2158.9228357142856 +2025-03-10 13:02:44,505 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,506 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,510 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,510 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,512 - INFO - CLOSED long at 2128.69 | PnL: 0.08% | $-0.03 +2025-03-10 13:02:44,512 - INFO - OPENED SHORT at 2128.69 | Stop loss: 2139.352107142857 | Take profit: 2096.731664285714 +2025-03-10 13:02:44,513 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,514 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,515 - INFO - CLOSED short at 2121.09 | PnL: 0.36% | $0.41 +2025-03-10 13:02:44,516 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,517 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,517 - INFO - OPENED SHORT at 2120.15 | Stop loss: 2130.769407142857 | Take profit: 2088.3197642857144 +2025-03-10 13:02:44,518 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,519 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,520 - INFO - CLOSED short at 2117.24 | PnL: 0.14% | $0.06 +2025-03-10 13:02:44,521 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,522 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,523 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.3116928571426 | Take profit: 2151.7569357142856 +2025-03-10 13:02:44,525 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,526 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,527 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,529 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,529 - INFO - CLOSED long at 2118.52 | PnL: -0.07% | $-0.27 +2025-03-10 13:02:44,529 - INFO - OPENED SHORT at 2118.52 | Stop loss: 2129.131257142857 | Take profit: 2086.714214285714 +2025-03-10 13:02:44,531 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,532 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,533 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,534 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,535 - INFO - CLOSED short at 2119.07 | PnL: -0.03% | $-0.20 +2025-03-10 13:02:44,537 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,538 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,539 - INFO - OPENED SHORT at 2115.28 | Stop loss: 2125.8750571428573 | Take profit: 2083.5228142857145 +2025-03-10 13:02:44,540 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,541 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,546 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,547 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,548 - INFO - CLOSED short at 2110.6 | PnL: 0.22% | $0.20 +2025-03-10 13:02:44,549 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,551 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,555 - INFO - OPENED LONG at 2109.05 | Stop loss: 2098.486092857143 | Take profit: 2140.7137357142856 +2025-03-10 13:02:44,556 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,558 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,558 - INFO - CLOSED long at 2112.09 | PnL: 0.14% | $0.07 +2025-03-10 13:02:44,558 - INFO - OPENED SHORT at 2112.09 | Stop loss: 2122.6691071428572 | Take profit: 2080.3806642857144 +2025-03-10 13:02:44,560 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,561 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,566 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,568 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,572 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,573 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,574 - INFO - CLOSED short at 2113.24 | PnL: -0.05% | $-0.25 +2025-03-10 13:02:44,574 - INFO - OPENED LONG at 2113.24 | Stop loss: 2102.655142857143 | Take profit: 2144.9665857142854 +2025-03-10 13:02:44,576 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,577 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,579 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,580 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,580 - INFO - CLOSED long at 2120.81 | PnL: 0.36% | $0.42 +2025-03-10 13:02:44,581 - INFO - OPENED SHORT at 2120.81 | Stop loss: 2131.432707142857 | Take profit: 2088.9698642857143 +2025-03-10 13:02:44,582 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,583 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,585 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,586 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,586 - INFO - CLOSED short at 2114.8 | PnL: 0.28% | $0.30 +2025-03-10 13:02:44,588 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,589 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,590 - INFO - OPENED SHORT at 2110.9 | Stop loss: 2121.4731571428574 | Take profit: 2079.2085142857145 +2025-03-10 13:02:44,591 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,592 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,594 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,595 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,595 - INFO - CLOSED short at 2106.49 | PnL: 0.21% | $0.18 +2025-03-10 13:02:44,595 - INFO - OPENED LONG at 2106.49 | Stop loss: 2095.938892857143 | Take profit: 2138.1153357142853 +2025-03-10 13:02:44,596 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,597 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,598 - INFO - CLOSED long at 2108.06 | PnL: 0.07% | $-0.04 +2025-03-10 13:02:44,600 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,601 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,601 - INFO - OPENED LONG at 2103.33 | Stop loss: 2092.7946928571428 | Take profit: 2134.907935714286 +2025-03-10 13:02:44,603 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,604 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,609 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,610 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,614 - INFO - STOP LOSS hit for long at 2092.7946928571428 | PnL: -0.50% | $-0.98 +2025-03-10 13:02:44,615 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,617 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,618 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,619 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,620 - INFO - OPENED SHORT at 2098.1 | Stop loss: 2108.609157142857 | Take profit: 2066.6005142857143 +2025-03-10 13:02:44,621 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,622 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,622 - INFO - CLOSED short at 2102.19 | PnL: -0.19% | $-0.47 +2025-03-10 13:02:44,623 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,624 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,625 - INFO - OPENED SHORT at 2102.29 | Stop loss: 2112.820107142857 | Take profit: 2070.727664285714 +2025-03-10 13:02:44,626 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,627 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,629 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,630 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,630 - INFO - CLOSED short at 2098.9 | PnL: 0.16% | $0.10 +2025-03-10 13:02:44,631 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,633 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,638 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,639 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,640 - INFO - OPENED SHORT at 2104.83 | Stop loss: 2115.3728071428573 | Take profit: 2073.2295642857143 +2025-03-10 13:02:44,641 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,642 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,643 - INFO - CLOSED short at 2106.39 | PnL: -0.07% | $-0.28 +2025-03-10 13:02:44,643 - INFO - OPENED LONG at 2106.39 | Stop loss: 2095.8393928571427 | Take profit: 2138.0138357142855 +2025-03-10 13:02:44,644 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,645 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,647 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,648 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,648 - INFO - CLOSED long at 2103.86 | PnL: -0.12% | $-0.35 +2025-03-10 13:02:44,650 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,651 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,656 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,657 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,657 - INFO - OPENED SHORT at 2101.51 | Stop loss: 2112.0362071428576 | Take profit: 2069.9593642857144 +2025-03-10 13:02:44,659 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,660 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,661 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,663 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,666 - INFO - CLOSED short at 2100.02 | PnL: 0.07% | $-0.05 +2025-03-10 13:02:44,667 - INFO - OPENED LONG at 2100.02 | Stop loss: 2089.501242857143 | Take profit: 2131.5482857142856 +2025-03-10 13:02:44,668 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,669 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,669 - INFO - CLOSED long at 2098.39 | PnL: -0.08% | $-0.28 +2025-03-10 13:02:44,670 - INFO - OPENED SHORT at 2098.39 | Stop loss: 2108.900607142857 | Take profit: 2066.886164285714 +2025-03-10 13:02:44,671 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,672 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,673 - INFO - CLOSED short at 2095.29 | PnL: 0.15% | $0.08 +2025-03-10 13:02:44,674 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,675 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,680 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,681 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,687 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,688 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,693 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,694 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,698 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,699 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,700 - INFO - OPENED SHORT at 2094.72 | Stop loss: 2105.212257142857 | Take profit: 2063.271214285714 +2025-03-10 13:02:44,701 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,701 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,703 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,704 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,705 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,706 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,707 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,709 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,710 - INFO - CLOSED short at 2088.44 | PnL: 0.30% | $0.32 +2025-03-10 13:02:44,710 - INFO - OPENED LONG at 2088.44 | Stop loss: 2077.979142857143 | Take profit: 2119.7945857142854 +2025-03-10 13:02:44,711 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,712 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,713 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,714 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,718 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,719 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,720 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,721 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,726 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,727 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,729 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,730 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,731 - INFO - CLOSED long at 2081.25 | PnL: -0.34% | $-0.71 +2025-03-10 13:02:44,731 - INFO - OPENED SHORT at 2081.25 | Stop loss: 2091.674907142857 | Take profit: 2050.003264285714 +2025-03-10 13:02:44,733 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,734 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,734 - INFO - CLOSED short at 2083.41 | PnL: -0.10% | $-0.32 +2025-03-10 13:02:44,735 - INFO - OPENED LONG at 2083.41 | Stop loss: 2072.9742928571427 | Take profit: 2114.6891357142854 +2025-03-10 13:02:44,735 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,737 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,737 - INFO - CLOSED long at 2085.09 | PnL: 0.08% | $-0.03 +2025-03-10 13:02:44,738 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,739 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,742 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,743 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,744 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,745 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,745 - INFO - OPENED SHORT at 2085.8 | Stop loss: 2096.2476571428574 | Take profit: 2054.4850142857144 +2025-03-10 13:02:44,746 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,747 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,748 - INFO - CLOSED short at 2084.72 | PnL: 0.05% | $-0.08 +2025-03-10 13:02:44,749 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,750 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,751 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,752 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,753 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,754 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,755 - INFO - OPENED LONG at 2088.66 | Stop loss: 2078.198042857143 | Take profit: 2120.0178857142855 +2025-03-10 13:02:44,756 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,757 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,758 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,759 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,766 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,767 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,768 - INFO - CLOSED long at 2089.96 | PnL: 0.06% | $-0.06 +2025-03-10 13:02:44,768 - INFO - OPENED SHORT at 2089.96 | Stop loss: 2100.4284571428575 | Take profit: 2058.582614285714 +2025-03-10 13:02:44,769 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,770 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,771 - INFO - CLOSED short at 2087.0 | PnL: 0.14% | $0.07 +2025-03-10 13:02:44,772 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,773 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,777 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,778 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,779 - INFO - OPENED LONG at 2087.78 | Stop loss: 2077.322442857143 | Take profit: 2119.124685714286 +2025-03-10 13:02:44,780 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,781 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,787 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,788 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,790 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,791 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,791 - INFO - CLOSED long at 2085.67 | PnL: -0.10% | $-0.32 +2025-03-10 13:02:44,792 - INFO - OPENED SHORT at 2085.67 | Stop loss: 2096.117007142857 | Take profit: 2054.3569642857146 +2025-03-10 13:02:44,793 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,794 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,795 - INFO - CLOSED short at 2089.2 | PnL: -0.17% | $-0.42 +2025-03-10 13:02:44,796 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,797 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,802 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,803 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,804 - INFO - OPENED SHORT at 2091.05 | Stop loss: 2101.5239071428573 | Take profit: 2059.6562642857148 +2025-03-10 13:02:44,806 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,807 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,807 - INFO - CLOSED short at 2091.95 | PnL: -0.04% | $-0.22 +2025-03-10 13:02:44,808 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,809 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,811 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,812 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,812 - INFO - OPENED LONG at 2097.8 | Stop loss: 2087.292342857143 | Take profit: 2129.2949857142858 +2025-03-10 13:02:44,814 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,815 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,815 - INFO - CLOSED long at 2099.99 | PnL: 0.10% | $0.01 +2025-03-10 13:02:44,816 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.508607142857 | Take profit: 2068.462164285714 +2025-03-10 13:02:44,817 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,819 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,820 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,821 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,822 - INFO - CLOSED short at 2097.11 | PnL: 0.14% | $0.06 +2025-03-10 13:02:44,822 - INFO - OPENED LONG at 2097.11 | Stop loss: 2086.605792857143 | Take profit: 2128.5946357142857 +2025-03-10 13:02:44,823 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,825 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,826 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,827 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,828 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,829 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,829 - INFO - CLOSED long at 2100.89 | PnL: 0.18% | $0.12 +2025-03-10 13:02:44,829 - INFO - OPENED SHORT at 2100.89 | Stop loss: 2111.413107142857 | Take profit: 2069.348664285714 +2025-03-10 13:02:44,830 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,831 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,832 - INFO - CLOSED short at 2099.73 | PnL: 0.06% | $-0.07 +2025-03-10 13:02:44,833 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,834 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,840 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,842 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,842 - INFO - OPENED LONG at 2103.48 | Stop loss: 2092.9439428571427 | Take profit: 2135.060185714286 +2025-03-10 13:02:44,843 - ERROR - Error during learning: mat1 and mat2 must have the same dtype, but got Double and Half +2025-03-10 13:02:44,844 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1453, in learn + current_q_values = self.policy_net(states).gather(1, actions.unsqueeze(1)) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 144, in forward + x = self.fc1(x) + ^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1739, in _wrapped_call_impl + return self._call_impl(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\module.py", line 1750, in _call_impl + return forward_call(*args, **kwargs) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\nn\modules\linear.py", line 125, in forward + return F.linear(input, self.weight, self.bias) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: mat1 and mat2 must have the same dtype, but got Double and Half + +2025-03-10 13:02:44,846 - INFO - Trade Analysis: Win Rate=22.9% in uptrends, 0.0% in downtrends | Avg Win=$0.27, Avg Loss=$-0.26 +2025-03-10 13:02:44,847 - INFO - Episode 4: Reward=-130.86, Balance=$78.23, Win Rate=19.6%, Trades=138, Episode PnL=$-15.53, Total PnL=$-127.36, Max Drawdown=21.9%, Pred Accuracy=99.1% +2025-03-10 13:02:44,847 - ERROR - Error in episode 4: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:02:44,848 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1763, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:02:44,869 - INFO - Identified 25 optimal buy points and 28 optimal sell points +2025-03-10 13:08:30,320 - INFO - Using GPU: NVIDIA GeForce RTX 4060 Laptop GPU +2025-03-10 13:08:30,341 - INFO - Exchange initialized with standard CCXT: mexc +2025-03-10 13:08:30,341 - INFO - Fetching initial data for ETH/USDT +2025-03-10 13:08:34,135 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 13:08:34,153 - INFO - Initialized environment with 500 candles +2025-03-10 13:08:34,363 - INFO - Exchange connection closed +2025-03-10 13:09:59,572 - INFO - Using GPU: NVIDIA GeForce RTX 4060 Laptop GPU +2025-03-10 13:09:59,593 - INFO - Exchange initialized with standard CCXT: mexc +2025-03-10 13:09:59,593 - INFO - Fetching initial data for ETH/USDT +2025-03-10 13:10:03,364 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 13:10:03,382 - INFO - Initialized environment with 500 candles +2025-03-10 13:10:06,284 - INFO - Starting training for 1000 episodes... +2025-03-10 13:10:06,284 - INFO - Starting training on device: cuda +2025-03-10 13:10:06,319 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:06,606 - ERROR - Error in episode 0: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:06,613 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:06,638 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:06,809 - ERROR - Error in episode 1: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:06,812 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:06,831 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:07,017 - ERROR - Error in episode 2: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:07,021 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:07,052 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:07,251 - ERROR - Error in episode 3: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:07,254 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:07,282 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:07,487 - ERROR - Error in episode 4: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:07,487 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:07,517 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:07,709 - ERROR - Error in episode 5: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:07,715 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:07,735 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:07,912 - ERROR - Error in episode 6: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:07,915 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:07,937 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:08,106 - ERROR - Error in episode 7: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:08,106 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:08,138 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:08,315 - ERROR - Error in episode 8: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:08,320 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:08,353 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:08,548 - ERROR - Error in episode 9: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:08,553 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:08,580 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:08,761 - ERROR - Error in episode 10: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:08,770 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:08,796 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:08,986 - ERROR - Error in episode 11: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:08,991 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:09,020 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:09,204 - ERROR - Error in episode 12: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:09,209 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:09,237 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:09,413 - ERROR - Error in episode 13: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:09,416 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:09,440 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:09,614 - ERROR - Error in episode 14: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:09,614 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:09,638 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:09,808 - ERROR - Error in episode 15: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:09,816 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:09,837 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:10,028 - ERROR - Error in episode 16: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:10,032 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:10,051 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:10,238 - ERROR - Error in episode 17: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:10,238 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:10,260 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:10,446 - ERROR - Error in episode 18: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:10,446 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:10,472 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:10,657 - ERROR - Error in episode 19: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:10,657 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:10,680 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:10,858 - ERROR - Error in episode 20: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:10,862 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:10,883 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:11,060 - ERROR - Error in episode 21: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:11,060 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:11,084 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:11,272 - ERROR - Error in episode 22: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:11,272 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:11,297 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:11,476 - ERROR - Error in episode 23: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:11,481 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:11,500 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:11,681 - ERROR - Error in episode 24: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:11,689 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:11,710 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:11,893 - ERROR - Error in episode 25: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:11,893 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:11,920 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:12,097 - ERROR - Error in episode 26: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:12,098 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:12,118 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:12,292 - ERROR - Error in episode 27: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:12,297 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:12,319 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:12,493 - ERROR - Error in episode 28: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:12,493 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:12,523 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:12,698 - ERROR - Error in episode 29: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:12,705 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:12,727 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:12,906 - ERROR - Error in episode 30: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:12,912 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:12,932 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:13,113 - ERROR - Error in episode 31: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:13,122 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:13,139 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:13,327 - ERROR - Error in episode 32: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:13,331 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:13,352 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:13,525 - ERROR - Error in episode 33: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:13,525 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:13,549 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:13,718 - ERROR - Error in episode 34: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:13,718 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:13,741 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:13,921 - ERROR - Error in episode 35: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:13,921 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:13,950 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:14,128 - ERROR - Error in episode 36: 'Agent' object has no attribute 'epsilon_end' +2025-03-10 13:10:14,140 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1734, in train_agent + action = agent.select_action(state) + ^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1428, in select_action + eps_threshold = self.epsilon_end + (self.epsilon_start - self.epsilon_end) * \ + ^^^^^^^^^^^^^^^^ +AttributeError: 'Agent' object has no attribute 'epsilon_end' + +2025-03-10 13:10:14,156 - INFO - Identified 26 optimal buy points and 28 optimal sell points +2025-03-10 13:10:14,271 - INFO - Exchange connection closed +2025-03-10 13:10:14,273 - INFO - Program terminated by user +2025-03-10 13:11:38,759 - INFO - Using GPU: NVIDIA GeForce RTX 4060 Laptop GPU +2025-03-10 13:11:38,786 - INFO - Exchange initialized with standard CCXT: mexc +2025-03-10 13:11:38,786 - INFO - Fetching initial data for ETH/USDT +2025-03-10 13:11:42,391 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 13:11:42,415 - INFO - Initialized environment with 500 candles +2025-03-10 13:11:45,319 - INFO - Starting training for 1000 episodes... +2025-03-10 13:11:45,319 - INFO - Starting training on device: cuda +2025-03-10 13:11:45,358 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:11:45,639 - INFO - OPENED SHORT at 2047.4 | Stop loss: 2057.652532142857 | Take profit: 2016.6657017857144 +2025-03-10 13:11:45,640 - INFO - CLOSED short at 2047.2 | PnL: 0.01% | $-0.18 +2025-03-10 13:11:45,640 - INFO - OPENED LONG at 2047.2 | Stop loss: 2036.9484678571428 | Take profit: 2077.931298214286 +2025-03-10 13:11:45,640 - INFO - CLOSED long at 2045.99 | PnL: -0.06% | $-0.32 +2025-03-10 13:11:45,640 - INFO - OPENED SHORT at 2045.99 | Stop loss: 2056.235482142857 | Take profit: 2015.2768517857144 +2025-03-10 13:11:45,640 - INFO - CLOSED short at 2047.59 | PnL: -0.08% | $-0.35 +2025-03-10 13:11:45,642 - INFO - OPENED SHORT at 2048.51 | Stop loss: 2058.7680821428576 | Take profit: 2017.7590517857145 +2025-03-10 13:11:45,642 - INFO - CLOSED short at 2050.0 | PnL: -0.07% | $-0.34 +2025-03-10 13:11:45,642 - INFO - OPENED SHORT at 2050.24 | Stop loss: 2060.506732142857 | Take profit: 2019.4631017857141 +2025-03-10 13:11:45,642 - INFO - CLOSED short at 2049.89 | PnL: 0.02% | $-0.16 +2025-03-10 13:11:45,642 - INFO - OPENED LONG at 2049.89 | Stop loss: 2039.6250178571427 | Take profit: 2080.661648214286 +2025-03-10 13:11:45,642 - INFO - CLOSED long at 2051.11 | PnL: 0.06% | $-0.08 +2025-03-10 13:11:45,646 - INFO - OPENED LONG at 2052.3 | Stop loss: 2042.022967857143 | Take profit: 2083.107798214286 +2025-03-10 13:11:45,647 - INFO - CLOSED long at 2057.01 | PnL: 0.23% | $0.25 +2025-03-10 13:11:45,647 - INFO - OPENED SHORT at 2058.39 | Stop loss: 2068.697482142857 | Take profit: 2027.490851785714 +2025-03-10 13:11:45,648 - INFO - CLOSED short at 2060.13 | PnL: -0.08% | $-0.36 +2025-03-10 13:11:45,648 - INFO - OPENED LONG at 2059.7 | Stop loss: 2049.3859678571425 | Take profit: 2090.6187982142856 +2025-03-10 13:11:45,649 - INFO - CLOSED long at 2061.49 | PnL: 0.09% | $-0.03 +2025-03-10 13:11:45,649 - INFO - OPENED SHORT at 2061.49 | Stop loss: 2071.812982142857 | Take profit: 2030.544351785714 +2025-03-10 13:11:45,650 - INFO - CLOSED short at 2061.61 | PnL: -0.01% | $-0.21 +2025-03-10 13:11:45,650 - INFO - OPENED LONG at 2061.61 | Stop loss: 2051.286417857143 | Take profit: 2092.557448214286 +2025-03-10 13:11:45,650 - INFO - CLOSED long at 2064.69 | PnL: 0.15% | $0.10 +2025-03-10 13:11:45,650 - INFO - OPENED SHORT at 2063.01 | Stop loss: 2073.3405821428573 | Take profit: 2032.0415517857145 +2025-03-10 13:11:45,650 - INFO - CLOSED short at 2061.89 | PnL: 0.05% | $-0.09 +2025-03-10 13:11:45,650 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.5650178571427 | Take profit: 2092.841648214285 +2025-03-10 13:11:45,653 - INFO - CLOSED long at 2062.89 | PnL: 0.05% | $-0.10 +2025-03-10 13:11:45,653 - INFO - OPENED LONG at 2060.31 | Stop loss: 2049.992917857143 | Take profit: 2091.237948214286 +2025-03-10 13:11:45,655 - INFO - CLOSED long at 2059.49 | PnL: -0.04% | $-0.27 +2025-03-10 13:11:45,656 - INFO - OPENED SHORT at 2059.49 | Stop loss: 2069.8029821428568 | Take profit: 2028.574351785714 +2025-03-10 13:11:45,656 - INFO - CLOSED short at 2057.8 | PnL: 0.08% | $-0.03 +2025-03-10 13:11:45,656 - INFO - OPENED SHORT at 2057.89 | Stop loss: 2068.194982142857 | Take profit: 2026.9983517857142 +2025-03-10 13:11:45,658 - INFO - CLOSED short at 2057.94 | PnL: -0.00% | $-0.20 +2025-03-10 13:11:45,658 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.4160821428572 | Take profit: 2027.2150517857144 +2025-03-10 13:11:45,659 - INFO - CLOSED short at 2061.79 | PnL: -0.18% | $-0.54 +2025-03-10 13:11:45,659 - INFO - OPENED LONG at 2064.32 | Stop loss: 2053.982867857143 | Take profit: 2095.308098214286 +2025-03-10 13:11:45,660 - INFO - CLOSED long at 2065.86 | PnL: 0.07% | $-0.05 +2025-03-10 13:11:45,661 - INFO - OPENED LONG at 2068.11 | Stop loss: 2057.753917857143 | Take profit: 2099.154948214286 +2025-03-10 13:11:45,661 - INFO - CLOSED long at 2068.29 | PnL: 0.01% | $-0.18 +2025-03-10 13:11:45,661 - INFO - OPENED SHORT at 2067.89 | Stop loss: 2078.244982142857 | Take profit: 2036.8483517857142 +2025-03-10 13:11:45,662 - INFO - CLOSED short at 2071.63 | PnL: -0.18% | $-0.54 +2025-03-10 13:11:45,662 - INFO - OPENED LONG at 2071.63 | Stop loss: 2061.256317857143 | Take profit: 2102.727748214286 +2025-03-10 13:11:45,691 - INFO - CLOSED long at 2070.99 | PnL: -0.03% | $-0.25 +2025-03-10 13:11:45,691 - INFO - OPENED LONG at 2069.6 | Stop loss: 2059.236467857143 | Take profit: 2100.6672982142854 +2025-03-10 13:11:45,693 - INFO - CLOSED long at 2068.99 | PnL: -0.03% | $-0.25 +2025-03-10 13:11:45,693 - INFO - OPENED SHORT at 2068.99 | Stop loss: 2079.350482142857 | Take profit: 2037.931851785714 +2025-03-10 13:11:45,693 - INFO - CLOSED short at 2067.69 | PnL: 0.06% | $-0.07 +2025-03-10 13:11:45,693 - INFO - OPENED LONG at 2067.69 | Stop loss: 2057.336017857143 | Take profit: 2098.7286482142854 +2025-03-10 13:11:45,695 - INFO - CLOSED long at 2070.26 | PnL: 0.12% | $0.05 +2025-03-10 13:11:45,695 - INFO - OPENED SHORT at 2070.26 | Stop loss: 2080.6268321428574 | Take profit: 2039.1828017857144 +2025-03-10 13:11:45,695 - INFO - CLOSED short at 2071.44 | PnL: -0.06% | $-0.30 +2025-03-10 13:11:45,695 - INFO - OPENED LONG at 2071.44 | Stop loss: 2061.0672678571427 | Take profit: 2102.534898214286 +2025-03-10 13:11:45,697 - INFO - CLOSED long at 2072.91 | PnL: 0.07% | $-0.06 +2025-03-10 13:11:45,698 - INFO - OPENED SHORT at 2072.91 | Stop loss: 2083.290082142857 | Take profit: 2041.793051785714 +2025-03-10 13:11:45,698 - INFO - CLOSED short at 2071.38 | PnL: 0.07% | $-0.05 +2025-03-10 13:11:45,699 - INFO - OPENED LONG at 2071.38 | Stop loss: 2061.007567857143 | Take profit: 2102.4739982142855 +2025-03-10 13:11:45,837 - INFO - CLOSED long at 2072.8 | PnL: 0.07% | $-0.06 +2025-03-10 13:11:45,837 - INFO - OPENED SHORT at 2072.8 | Stop loss: 2083.1795321428576 | Take profit: 2041.6847017857144 +2025-03-10 13:11:45,871 - INFO - CLOSED short at 2070.28 | PnL: 0.12% | $0.04 +2025-03-10 13:11:45,899 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.375632142857 | Take profit: 2036.9764017857142 +2025-03-10 13:11:45,918 - INFO - CLOSED short at 2067.2 | PnL: 0.04% | $-0.11 +2025-03-10 13:11:45,919 - INFO - OPENED LONG at 2067.2 | Stop loss: 2056.8484678571426 | Take profit: 2098.2312982142853 +2025-03-10 13:11:45,937 - INFO - CLOSED long at 2070.36 | PnL: 0.15% | $0.10 +2025-03-10 13:11:45,956 - INFO - OPENED LONG at 2068.9 | Stop loss: 2058.539967857143 | Take profit: 2099.956798214286 +2025-03-10 13:11:45,975 - INFO - CLOSED long at 2070.7 | PnL: 0.09% | $-0.02 +2025-03-10 13:11:45,994 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.977767857143 | Take profit: 2100.4033982142855 +2025-03-10 13:11:46,011 - INFO - CLOSED long at 2069.19 | PnL: -0.01% | $-0.20 +2025-03-10 13:11:46,012 - INFO - OPENED SHORT at 2069.19 | Stop loss: 2079.551482142857 | Take profit: 2038.1288517857145 +2025-03-10 13:11:46,029 - INFO - CLOSED short at 2068.8 | PnL: 0.02% | $-0.15 +2025-03-10 13:11:46,072 - INFO - OPENED SHORT at 2067.51 | Stop loss: 2077.8630821428574 | Take profit: 2036.4740517857144 +2025-03-10 13:11:46,099 - INFO - CLOSED short at 2069.01 | PnL: -0.07% | $-0.33 +2025-03-10 13:11:46,144 - INFO - OPENED SHORT at 2065.99 | Stop loss: 2076.335482142857 | Take profit: 2034.9768517857142 +2025-03-10 13:11:46,183 - INFO - CLOSED short at 2066.29 | PnL: -0.01% | $-0.22 +2025-03-10 13:11:46,184 - INFO - OPENED LONG at 2066.29 | Stop loss: 2055.943017857143 | Take profit: 2097.3076482142856 +2025-03-10 13:11:46,223 - INFO - CLOSED long at 2066.18 | PnL: -0.01% | $-0.20 +2025-03-10 13:11:46,223 - INFO - OPENED SHORT at 2066.18 | Stop loss: 2076.526432142857 | Take profit: 2035.1640017857142 +2025-03-10 13:11:46,245 - INFO - CLOSED short at 2068.76 | PnL: -0.12% | $-0.42 +2025-03-10 13:11:46,246 - INFO - OPENED LONG at 2068.76 | Stop loss: 2058.400667857143 | Take profit: 2099.814698214286 +2025-03-10 13:11:46,272 - INFO - CLOSED long at 2068.9 | PnL: 0.01% | $-0.17 +2025-03-10 13:11:46,272 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.260032142857 | Take profit: 2037.8432017857144 +2025-03-10 13:11:46,391 - INFO - CLOSED short at 2071.4 | PnL: -0.12% | $-0.41 +2025-03-10 13:11:46,413 - INFO - OPENED LONG at 2071.39 | Stop loss: 2061.0175178571426 | Take profit: 2102.4841482142856 +2025-03-10 13:11:46,433 - INFO - CLOSED long at 2071.36 | PnL: -0.00% | $-0.19 +2025-03-10 13:11:46,488 - INFO - OPENED SHORT at 2072.7 | Stop loss: 2083.0790321428567 | Take profit: 2041.586201785714 +2025-03-10 13:11:46,526 - INFO - CLOSED short at 2074.29 | PnL: -0.08% | $-0.33 +2025-03-10 13:11:46,560 - INFO - OPENED SHORT at 2071.92 | Stop loss: 2082.2951321428573 | Take profit: 2040.8179017857142 +2025-03-10 13:11:46,578 - INFO - CLOSED short at 2070.4 | PnL: 0.07% | $-0.05 +2025-03-10 13:11:46,578 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.032467857143 | Take profit: 2101.479298214286 +2025-03-10 13:11:46,649 - INFO - CLOSED long at 2068.32 | PnL: -0.10% | $-0.37 +2025-03-10 13:11:46,659 - INFO - OPENED SHORT at 2068.32 | Stop loss: 2078.6771321428573 | Take profit: 2037.2719017857144 +2025-03-10 13:11:46,715 - INFO - CLOSED short at 2067.46 | PnL: 0.04% | $-0.11 +2025-03-10 13:11:46,716 - INFO - OPENED LONG at 2067.46 | Stop loss: 2057.107167857143 | Take profit: 2098.4951982142857 +2025-03-10 13:11:46,831 - INFO - CLOSED long at 2068.8 | PnL: 0.06% | $-0.06 +2025-03-10 13:11:46,869 - INFO - OPENED SHORT at 2067.86 | Stop loss: 2078.2148321428576 | Take profit: 2036.8188017857144 +2025-03-10 13:11:46,954 - INFO - CLOSED short at 2070.7 | PnL: -0.14% | $-0.43 +2025-03-10 13:11:46,954 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3309678571427 | Take profit: 2101.7837982142855 +2025-03-10 13:11:46,971 - INFO - CLOSED long at 2070.4 | PnL: -0.01% | $-0.21 +2025-03-10 13:11:46,971 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.7675321428574 | Take profit: 2039.3207017857144 +2025-03-10 13:11:47,013 - INFO - CLOSED short at 2068.5 | PnL: 0.09% | $-0.01 +2025-03-10 13:11:47,013 - INFO - OPENED LONG at 2068.5 | Stop loss: 2058.141967857143 | Take profit: 2099.550798214286 +2025-03-10 13:11:47,071 - INFO - CLOSED long at 2067.11 | PnL: -0.07% | $-0.30 +2025-03-10 13:11:47,082 - INFO - OPENED LONG at 2067.86 | Stop loss: 2057.505167857143 | Take profit: 2098.9011982142856 +2025-03-10 13:11:47,108 - INFO - CLOSED long at 2066.4 | PnL: -0.07% | $-0.31 +2025-03-10 13:11:47,109 - INFO - OPENED SHORT at 2066.4 | Stop loss: 2076.7475321428574 | Take profit: 2035.3807017857143 +2025-03-10 13:11:47,126 - INFO - CLOSED short at 2066.1 | PnL: 0.01% | $-0.15 +2025-03-10 13:11:47,147 - INFO - OPENED LONG at 2065.28 | Stop loss: 2054.9380678571433 | Take profit: 2096.282498214286 +2025-03-10 13:11:47,168 - INFO - CLOSED long at 2066.39 | PnL: 0.05% | $-0.08 +2025-03-10 13:11:47,230 - INFO - OPENED SHORT at 2068.18 | Stop loss: 2078.536432142857 | Take profit: 2037.1340017857142 +2025-03-10 13:11:47,255 - INFO - CLOSED short at 2065.69 | PnL: 0.12% | $0.04 +2025-03-10 13:11:47,289 - INFO - OPENED LONG at 2064.99 | Stop loss: 2054.6495178571427 | Take profit: 2095.9881482142855 +2025-03-10 13:11:47,327 - INFO - CLOSED long at 2066.15 | PnL: 0.06% | $-0.08 +2025-03-10 13:11:47,362 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.219982142857 | Take profit: 2031.9233517857142 +2025-03-10 13:11:47,420 - INFO - CLOSED short at 2059.59 | PnL: 0.16% | $0.11 +2025-03-10 13:11:47,440 - INFO - OPENED LONG at 2061.3 | Stop loss: 2050.977967857143 | Take profit: 2092.242798214286 +2025-03-10 13:11:47,476 - INFO - CLOSED long at 2064.96 | PnL: 0.18% | $0.14 +2025-03-10 13:11:47,495 - INFO - OPENED LONG at 2066.24 | Stop loss: 2055.8932678571427 | Take profit: 2097.2568982142857 +2025-03-10 13:11:47,517 - INFO - CLOSED long at 2067.1 | PnL: 0.04% | $-0.11 +2025-03-10 13:11:47,536 - INFO - OPENED LONG at 2065.54 | Stop loss: 2055.1967678571427 | Take profit: 2096.5463982142855 +2025-03-10 13:11:47,578 - INFO - CLOSED long at 2064.45 | PnL: -0.05% | $-0.28 +2025-03-10 13:11:47,578 - INFO - OPENED SHORT at 2064.45 | Stop loss: 2074.787782142857 | Take profit: 2033.459951785714 +2025-03-10 13:11:47,612 - INFO - CLOSED short at 2062.71 | PnL: 0.08% | $-0.03 +2025-03-10 13:11:47,634 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.219982142857 | Take profit: 2031.9233517857142 +2025-03-10 13:11:47,717 - INFO - CLOSED short at 2060.65 | PnL: 0.11% | $0.02 +2025-03-10 13:11:47,717 - INFO - OPENED LONG at 2060.65 | Stop loss: 2050.3312178571427 | Take profit: 2091.583048214286 +2025-03-10 13:11:47,793 - INFO - CLOSED long at 2061.8 | PnL: 0.06% | $-0.08 +2025-03-10 13:11:47,793 - INFO - OPENED SHORT at 2061.8 | Stop loss: 2072.1245321428573 | Take profit: 2030.8497017857144 +2025-03-10 13:11:47,823 - INFO - CLOSED short at 2064.7 | PnL: -0.14% | $-0.43 +2025-03-10 13:11:47,824 - INFO - OPENED LONG at 2064.7 | Stop loss: 2054.360967857143 | Take profit: 2095.6937982142854 +2025-03-10 13:11:47,927 - INFO - CLOSED long at 2061.9 | PnL: -0.14% | $-0.42 +2025-03-10 13:11:47,972 - INFO - OPENED LONG at 2065.36 | Stop loss: 2055.017667857143 | Take profit: 2096.363698214286 +2025-03-10 13:11:48,015 - INFO - CLOSED long at 2063.39 | PnL: -0.10% | $-0.35 +2025-03-10 13:11:48,015 - INFO - OPENED SHORT at 2063.39 | Stop loss: 2073.722482142857 | Take profit: 2032.415851785714 +2025-03-10 13:11:48,043 - INFO - CLOSED short at 2064.79 | PnL: -0.07% | $-0.30 +2025-03-10 13:11:48,096 - INFO - OPENED SHORT at 2063.53 | Stop loss: 2073.863182142857 | Take profit: 2032.5537517857144 +2025-03-10 13:11:48,115 - INFO - CLOSED short at 2063.0 | PnL: 0.03% | $-0.13 +2025-03-10 13:11:48,122 - INFO - OPENED LONG at 2063.0 | Stop loss: 2052.6694678571425 | Take profit: 2093.968298214286 +2025-03-10 13:11:48,169 - INFO - CLOSED long at 2061.89 | PnL: -0.05% | $-0.27 +2025-03-10 13:11:48,172 - INFO - OPENED SHORT at 2061.89 | Stop loss: 2072.214982142857 | Take profit: 2030.938351785714 +2025-03-10 13:11:48,199 - INFO - CLOSED short at 2061.7 | PnL: 0.01% | $-0.16 +2025-03-10 13:11:48,199 - INFO - OPENED LONG at 2061.7 | Stop loss: 2051.3759678571428 | Take profit: 2092.6487982142853 +2025-03-10 13:11:48,225 - INFO - CLOSED long at 2060.7 | PnL: -0.05% | $-0.26 +2025-03-10 13:11:48,248 - INFO - OPENED SHORT at 2061.09 | Stop loss: 2071.4109821428574 | Take profit: 2030.1503517857145 +2025-03-10 13:11:48,293 - INFO - CLOSED short at 2059.16 | PnL: 0.09% | $-0.01 +2025-03-10 13:11:48,293 - INFO - OPENED LONG at 2059.16 | Stop loss: 2048.8486678571426 | Take profit: 2090.0706982142856 +2025-03-10 13:11:48,375 - INFO - CLOSED long at 2059.46 | PnL: 0.01% | $-0.15 +2025-03-10 13:11:48,432 - INFO - OPENED LONG at 2058.28 | Stop loss: 2047.9730678571432 | Take profit: 2089.177498214286 +2025-03-10 13:11:48,455 - INFO - CLOSED long at 2056.28 | PnL: -0.10% | $-0.34 +2025-03-10 13:11:48,457 - INFO - OPENED SHORT at 2056.28 | Stop loss: 2066.5769321428575 | Take profit: 2025.4125017857145 +2025-03-10 13:11:48,498 - INFO - CLOSED short at 2054.89 | PnL: 0.07% | $-0.06 +2025-03-10 13:11:48,539 - INFO - OPENED SHORT at 2056.71 | Stop loss: 2067.0090821428576 | Take profit: 2025.8360517857145 +2025-03-10 13:11:48,560 - INFO - CLOSED short at 2058.15 | PnL: -0.07% | $-0.30 +2025-03-10 13:11:48,581 - INFO - OPENED SHORT at 2059.8 | Stop loss: 2070.114532142857 | Take profit: 2028.8797017857144 +2025-03-10 13:11:48,638 - INFO - CLOSED short at 2061.6 | PnL: -0.09% | $-0.32 +2025-03-10 13:11:48,675 - INFO - OPENED SHORT at 2062.69 | Stop loss: 2073.018982142857 | Take profit: 2031.7263517857143 +2025-03-10 13:11:48,722 - INFO - CLOSED short at 2066.36 | PnL: -0.18% | $-0.48 +2025-03-10 13:11:48,770 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.564967857143 | Take profit: 2094.881798214286 +2025-03-10 13:11:48,836 - INFO - CLOSED long at 2066.34 | PnL: 0.12% | $0.03 +2025-03-10 13:11:48,836 - INFO - OPENED SHORT at 2066.34 | Stop loss: 2076.6872321428573 | Take profit: 2035.3216017857144 +2025-03-10 13:11:48,854 - INFO - CLOSED short at 2066.79 | PnL: -0.02% | $-0.21 +2025-03-10 13:11:48,854 - INFO - OPENED LONG at 2066.79 | Stop loss: 2056.440517857143 | Take profit: 2097.8151482142853 +2025-03-10 13:11:48,878 - INFO - CLOSED long at 2067.33 | PnL: 0.03% | $-0.13 +2025-03-10 13:11:48,952 - INFO - OPENED SHORT at 2072.0 | Stop loss: 2082.3755321428575 | Take profit: 2040.8967017857144 +2025-03-10 13:11:48,989 - INFO - CLOSED short at 2078.01 | PnL: -0.29% | $-0.67 +2025-03-10 13:11:48,989 - INFO - OPENED LONG at 2078.01 | Stop loss: 2067.604417857143 | Take profit: 2109.203448214286 +2025-03-10 13:11:49,052 - INFO - CLOSED long at 2072.6 | PnL: -0.26% | $-0.61 +2025-03-10 13:11:49,052 - INFO - OPENED SHORT at 2072.6 | Stop loss: 2082.9785321428567 | Take profit: 2041.4877017857143 +2025-03-10 13:11:49,112 - INFO - CLOSED short at 2070.01 | PnL: 0.12% | $0.04 +2025-03-10 13:11:49,139 - INFO - OPENED LONG at 2071.6 | Stop loss: 2061.226467857143 | Take profit: 2102.6972982142856 +2025-03-10 13:11:49,166 - INFO - CLOSED long at 2073.23 | PnL: 0.08% | $-0.04 +2025-03-10 13:11:49,193 - INFO - OPENED LONG at 2070.0 | Stop loss: 2059.634467857143 | Take profit: 2101.0732982142854 +2025-03-10 13:11:49,246 - INFO - CLOSED long at 2068.39 | PnL: -0.08% | $-0.30 +2025-03-10 13:11:49,300 - INFO - OPENED LONG at 2067.44 | Stop loss: 2057.0872678571427 | Take profit: 2098.4748982142855 +2025-03-10 13:11:49,319 - INFO - CLOSED long at 2068.79 | PnL: 0.07% | $-0.06 +2025-03-10 13:11:49,389 - INFO - OPENED SHORT at 2069.87 | Stop loss: 2080.234882142857 | Take profit: 2038.7986517857141 +2025-03-10 13:11:49,447 - INFO - CLOSED short at 2066.38 | PnL: 0.17% | $0.12 +2025-03-10 13:11:49,447 - INFO - OPENED LONG at 2066.38 | Stop loss: 2056.032567857143 | Take profit: 2097.3989982142857 +2025-03-10 13:11:49,528 - INFO - CLOSED long at 2065.66 | PnL: -0.03% | $-0.23 +2025-03-10 13:11:49,530 - INFO - OPENED SHORT at 2065.66 | Stop loss: 2076.003832142857 | Take profit: 2034.651801785714 +2025-03-10 13:11:49,761 - INFO - CLOSED short at 2067.53 | PnL: -0.09% | $-0.32 +2025-03-10 13:11:49,819 - INFO - OPENED LONG at 2066.8 | Stop loss: 2056.450467857143 | Take profit: 2097.825298214286 +2025-03-10 13:11:49,839 - INFO - CLOSED long at 2066.5 | PnL: -0.01% | $-0.19 +2025-03-10 13:11:49,840 - INFO - OPENED SHORT at 2066.5 | Stop loss: 2076.848032142857 | Take profit: 2035.4792017857144 +2025-03-10 13:11:50,032 - INFO - CLOSED short at 2070.9 | PnL: -0.21% | $-0.52 +2025-03-10 13:11:50,032 - INFO - OPENED LONG at 2070.9 | Stop loss: 2060.529967857143 | Take profit: 2101.986798214286 +2025-03-10 13:11:50,077 - INFO - CLOSED long at 2070.7 | PnL: -0.01% | $-0.18 +2025-03-10 13:11:50,077 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.069032142857 | Take profit: 2039.6162017857139 +2025-03-10 13:11:50,102 - INFO - CLOSED short at 2070.8 | PnL: -0.00% | $-0.17 +2025-03-10 13:11:50,103 - INFO - OPENED LONG at 2070.8 | Stop loss: 2060.430467857143 | Take profit: 2101.885298214286 +2025-03-10 13:11:50,196 - INFO - CLOSED long at 2068.19 | PnL: -0.13% | $-0.37 +2025-03-10 13:11:50,240 - INFO - OPENED LONG at 2070.67 | Stop loss: 2060.301117857143 | Take profit: 2101.753348214286 +2025-03-10 13:11:50,318 - INFO - CLOSED long at 2071.61 | PnL: 0.05% | $-0.09 +2025-03-10 13:11:50,318 - INFO - OPENED SHORT at 2071.61 | Stop loss: 2081.9835821428574 | Take profit: 2040.5125517857143 +2025-03-10 13:11:50,469 - INFO - CLOSED short at 2073.27 | PnL: -0.08% | $-0.29 +2025-03-10 13:11:50,493 - INFO - OPENED LONG at 2073.99 | Stop loss: 2063.6045178571426 | Take profit: 2105.1231482142853 +2025-03-10 13:11:50,511 - INFO - CLOSED long at 2075.32 | PnL: 0.06% | $-0.06 +2025-03-10 13:11:50,514 - INFO - OPENED SHORT at 2075.32 | Stop loss: 2085.7121321428576 | Take profit: 2044.1669017857146 +2025-03-10 13:11:50,557 - INFO - CLOSED short at 2076.9 | PnL: -0.08% | $-0.29 +2025-03-10 13:11:50,671 - INFO - OPENED SHORT at 2069.97 | Stop loss: 2080.335382142857 | Take profit: 2038.897151785714 +2025-03-10 13:11:50,714 - INFO - CLOSED short at 2067.7 | PnL: 0.11% | $0.02 +2025-03-10 13:11:50,797 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.255032142857 | Take profit: 2036.8582017857143 +2025-03-10 13:11:50,840 - INFO - CLOSED short at 2066.4 | PnL: 0.07% | $-0.04 +2025-03-10 13:11:50,884 - INFO - OPENED LONG at 2067.88 | Stop loss: 2057.525067857143 | Take profit: 2098.9214982142857 +2025-03-10 13:11:50,914 - INFO - CLOSED long at 2065.45 | PnL: -0.12% | $-0.35 +2025-03-10 13:11:50,943 - INFO - OPENED LONG at 2068.1 | Stop loss: 2057.7439678571427 | Take profit: 2099.1447982142854 +2025-03-10 13:11:51,031 - INFO - CLOSED long at 2070.1 | PnL: 0.10% | $-0.01 +2025-03-10 13:11:51,174 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.355967857143 | Take profit: 2096.7087982142857 +2025-03-10 13:11:51,254 - INFO - CLOSED long at 2065.07 | PnL: -0.03% | $-0.21 +2025-03-10 13:11:51,254 - INFO - OPENED SHORT at 2065.07 | Stop loss: 2075.4108821428576 | Take profit: 2034.0706517857145 +2025-03-10 13:11:51,278 - INFO - CLOSED short at 2066.09 | PnL: -0.05% | $-0.24 +2025-03-10 13:11:51,304 - INFO - OPENED SHORT at 2063.39 | Stop loss: 2073.722482142857 | Take profit: 2032.415851785714 +2025-03-10 13:11:51,412 - INFO - CLOSED short at 2064.11 | PnL: -0.03% | $-0.22 +2025-03-10 13:11:51,434 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.838032142857 | Take profit: 2033.5092017857144 +2025-03-10 13:11:51,470 - INFO - CLOSED short at 2066.33 | PnL: -0.09% | $-0.30 +2025-03-10 13:11:51,540 - INFO - OPENED SHORT at 2063.01 | Stop loss: 2073.3405821428573 | Take profit: 2032.0415517857145 +2025-03-10 13:11:51,663 - INFO - CLOSED short at 2060.2 | PnL: 0.14% | $0.06 +2025-03-10 13:11:51,664 - INFO - OPENED LONG at 2060.2 | Stop loss: 2049.8834678571425 | Take profit: 2091.1262982142853 +2025-03-10 13:11:51,716 - INFO - CLOSED long at 2058.09 | PnL: -0.10% | $-0.32 +2025-03-10 13:11:51,716 - INFO - OPENED SHORT at 2058.09 | Stop loss: 2068.3959821428575 | Take profit: 2027.1953517857144 +2025-03-10 13:11:51,764 - INFO - CLOSED short at 2056.77 | PnL: 0.06% | $-0.06 +2025-03-10 13:11:51,785 - INFO - OPENED LONG at 2053.01 | Stop loss: 2042.729417857143 | Take profit: 2083.828448214286 +2025-03-10 13:11:51,862 - INFO - CLOSED long at 2051.99 | PnL: -0.05% | $-0.24 +2025-03-10 13:11:51,899 - INFO - OPENED LONG at 2058.3 | Stop loss: 2047.9929678571432 | Take profit: 2089.1977982142857 +2025-03-10 13:11:52,050 - INFO - CLOSED long at 2062.83 | PnL: 0.22% | $0.19 +2025-03-10 13:11:52,122 - INFO - OPENED SHORT at 2062.43 | Stop loss: 2072.757682142857 | Take profit: 2031.470251785714 +2025-03-10 13:11:52,163 - INFO - CLOSED short at 2065.12 | PnL: -0.13% | $-0.37 +2025-03-10 13:11:52,163 - INFO - OPENED LONG at 2065.12 | Stop loss: 2054.778867857143 | Take profit: 2096.120098214286 +2025-03-10 13:11:52,207 - INFO - CLOSED long at 2067.49 | PnL: 0.11% | $0.02 +2025-03-10 13:11:52,254 - INFO - OPENED LONG at 2064.08 | Stop loss: 2053.744067857143 | Take profit: 2095.0644982142853 +2025-03-10 13:11:52,331 - INFO - CLOSED long at 2059.9 | PnL: -0.20% | $-0.48 +2025-03-10 13:11:52,433 - INFO - OPENED SHORT at 2062.54 | Stop loss: 2072.868232142857 | Take profit: 2031.5786017857142 +2025-03-10 13:11:52,503 - INFO - CLOSED short at 2070.24 | PnL: -0.37% | $-0.75 +2025-03-10 13:11:52,503 - INFO - OPENED LONG at 2070.24 | Stop loss: 2059.8732678571428 | Take profit: 2101.3168982142856 +2025-03-10 13:11:52,529 - INFO - CLOSED long at 2069.34 | PnL: -0.04% | $-0.22 +2025-03-10 13:11:52,554 - INFO - OPENED SHORT at 2069.81 | Stop loss: 2080.1745821428567 | Take profit: 2038.7395517857142 +2025-03-10 13:11:52,684 - INFO - CLOSED short at 2072.99 | PnL: -0.15% | $-0.39 +2025-03-10 13:11:52,685 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6095178571427 | Take profit: 2104.1081482142854 +2025-03-10 13:11:52,720 - INFO - CLOSED long at 2071.89 | PnL: -0.05% | $-0.24 +2025-03-10 13:11:52,757 - INFO - OPENED SHORT at 2071.8 | Stop loss: 2082.1745321428575 | Take profit: 2040.6997017857145 +2025-03-10 13:11:52,837 - INFO - CLOSED short at 2076.08 | PnL: -0.21% | $-0.47 +2025-03-10 13:11:52,858 - INFO - OPENED SHORT at 2077.61 | Stop loss: 2088.0135821428576 | Take profit: 2046.4225517857144 +2025-03-10 13:11:52,882 - INFO - CLOSED short at 2085.56 | PnL: -0.38% | $-0.74 +2025-03-10 13:11:52,980 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.253232142857 | Take profit: 2107.4236017857143 +2025-03-10 13:11:53,032 - INFO - CLOSED short at 2133.95 | PnL: 0.26% | $0.24 +2025-03-10 13:11:53,033 - INFO - OPENED LONG at 2133.95 | Stop loss: 2123.264717857143 | Take profit: 2165.9825482142855 +2025-03-10 13:11:53,245 - INFO - CLOSED long at 2134.78 | PnL: 0.04% | $-0.09 +2025-03-10 13:11:53,267 - INFO - OPENED LONG at 2126.99 | Stop loss: 2116.3395178571427 | Take profit: 2158.9181482142853 +2025-03-10 13:11:53,287 - INFO - CLOSED long at 2127.3 | PnL: 0.01% | $-0.13 +2025-03-10 13:11:53,288 - INFO - OPENED SHORT at 2127.3 | Stop loss: 2137.952032142857 | Take profit: 2095.3672017857143 +2025-03-10 13:11:53,308 - INFO - CLOSED short at 2128.69 | PnL: -0.07% | $-0.25 +2025-03-10 13:11:53,309 - INFO - OPENED LONG at 2128.69 | Stop loss: 2118.031017857143 | Take profit: 2160.643648214286 +2025-03-10 13:11:53,333 - INFO - CLOSED long at 2121.09 | PnL: -0.36% | $-0.69 +2025-03-10 13:11:53,333 - INFO - OPENED SHORT at 2121.09 | Stop loss: 2131.710982142857 | Take profit: 2089.2503517857144 +2025-03-10 13:11:53,429 - INFO - CLOSED short at 2121.4 | PnL: -0.01% | $-0.17 +2025-03-10 13:11:53,644 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.0314678571426 | Take profit: 2142.282298214285 +2025-03-10 13:11:53,671 - INFO - CLOSED long at 2109.05 | PnL: -0.07% | $-0.26 +2025-03-10 13:11:53,802 - INFO - OPENED LONG at 2120.81 | Stop loss: 2110.1904178571426 | Take profit: 2152.645448214286 +2025-03-10 13:11:53,905 - INFO - CLOSED long at 2108.71 | PnL: -0.57% | $-1.00 +2025-03-10 13:11:53,940 - INFO - OPENED LONG at 2106.49 | Stop loss: 2095.9420178571427 | Take profit: 2138.1106482142854 +2025-03-10 13:11:54,010 - INFO - CLOSED long at 2103.33 | PnL: -0.15% | $-0.37 +2025-03-10 13:11:54,087 - INFO - OPENED SHORT at 2099.53 | Stop loss: 2110.0431821428574 | Take profit: 2068.0137517857142 +2025-03-10 13:11:54,110 - INFO - CLOSED short at 2098.1 | PnL: 0.07% | $-0.05 +2025-03-10 13:11:54,187 - INFO - OPENED LONG at 2098.9 | Stop loss: 2088.389967857143 | Take profit: 2130.4067982142856 +2025-03-10 13:11:54,223 - INFO - CLOSED long at 2104.83 | PnL: 0.28% | $0.27 +2025-03-10 13:11:54,245 - INFO - OPENED LONG at 2106.39 | Stop loss: 2095.842517857143 | Take profit: 2138.0091482142857 +2025-03-10 13:11:54,317 - INFO - CLOSED long at 2103.86 | PnL: -0.12% | $-0.32 +2025-03-10 13:11:54,317 - INFO - OPENED SHORT at 2103.86 | Stop loss: 2114.394832142857 | Take profit: 2072.278801785714 +2025-03-10 13:11:54,354 - INFO - CLOSED short at 2104.68 | PnL: -0.04% | $-0.20 +2025-03-10 13:11:54,452 - INFO - OPENED LONG at 2100.02 | Stop loss: 2089.504367857143 | Take profit: 2131.543598214286 +2025-03-10 13:11:54,470 - INFO - CLOSED long at 2098.39 | PnL: -0.08% | $-0.26 +2025-03-10 13:11:54,470 - INFO - OPENED SHORT at 2098.39 | Stop loss: 2108.8974821428574 | Take profit: 2066.890851785714 +2025-03-10 13:11:54,515 - INFO - CLOSED short at 2093.46 | PnL: 0.23% | $0.20 +2025-03-10 13:11:54,542 - INFO - OPENED SHORT at 2093.33 | Stop loss: 2103.812182142857 | Take profit: 2061.9067517857143 +2025-03-10 13:11:54,565 - INFO - CLOSED short at 2092.46 | PnL: 0.04% | $-0.09 +2025-03-10 13:11:54,565 - INFO - OPENED LONG at 2092.46 | Stop loss: 2081.982167857143 | Take profit: 2123.8701982142857 +2025-03-10 13:11:54,638 - INFO - CLOSED long at 2094.08 | PnL: 0.08% | $-0.03 +2025-03-10 13:11:54,638 - INFO - OPENED SHORT at 2094.08 | Stop loss: 2104.565932142857 | Take profit: 2062.6455017857143 +2025-03-10 13:11:54,674 - INFO - CLOSED short at 2088.35 | PnL: 0.27% | $0.25 +2025-03-10 13:11:54,674 - INFO - OPENED LONG at 2088.35 | Stop loss: 2077.8927178571425 | Take profit: 2119.6985482142854 +2025-03-10 13:11:54,728 - INFO - CLOSED long at 2083.28 | PnL: -0.24% | $-0.50 +2025-03-10 13:11:54,728 - INFO - OPENED SHORT at 2083.28 | Stop loss: 2093.711932142857 | Take profit: 2052.0075017857143 +2025-03-10 13:11:54,764 - INFO - CLOSED short at 2088.44 | PnL: -0.25% | $-0.50 +2025-03-10 13:11:54,764 - INFO - OPENED LONG at 2088.44 | Stop loss: 2077.9822678571427 | Take profit: 2119.789898214286 +2025-03-10 13:11:54,898 - INFO - CLOSED long at 2080.38 | PnL: -0.39% | $-0.70 +2025-03-10 13:11:54,898 - INFO - OPENED SHORT at 2080.38 | Stop loss: 2090.7974321428574 | Take profit: 2049.1510017857145 +2025-03-10 13:11:54,917 - INFO - CLOSED short at 2081.25 | PnL: -0.04% | $-0.20 +2025-03-10 13:11:54,961 - INFO - OPENED LONG at 2085.09 | Stop loss: 2074.649017857143 | Take profit: 2116.389648214286 +2025-03-10 13:11:54,980 - INFO - CLOSED long at 2083.59 | PnL: -0.07% | $-0.24 +2025-03-10 13:11:54,996 - INFO - OPENED LONG at 2086.57 | Stop loss: 2076.121617857143 | Take profit: 2117.8918482142863 +2025-03-10 13:11:55,059 - INFO - CLOSED long at 2085.83 | PnL: -0.04% | $-0.19 +2025-03-10 13:11:55,180 - INFO - OPENED SHORT at 2088.1 | Stop loss: 2098.556032142857 | Take profit: 2056.7552017857142 +2025-03-10 13:11:55,241 - INFO - CLOSED short at 2087.0 | PnL: 0.05% | $-0.07 +2025-03-10 13:11:55,241 - INFO - OPENED LONG at 2087.0 | Stop loss: 2076.5494678571426 | Take profit: 2118.328298214286 +2025-03-10 13:11:55,261 - INFO - CLOSED long at 2087.47 | PnL: 0.02% | $-0.11 +2025-03-10 13:11:55,337 - INFO - OPENED LONG at 2085.67 | Stop loss: 2075.226117857143 | Take profit: 2116.978348214286 +2025-03-10 13:11:55,356 - INFO - CLOSED long at 2089.2 | PnL: 0.17% | $0.10 +2025-03-10 13:11:55,356 - INFO - OPENED SHORT at 2089.2 | Stop loss: 2099.661532142857 | Take profit: 2057.838701785714 +2025-03-10 13:11:55,438 - INFO - CLOSED short at 2094.7 | PnL: -0.26% | $-0.51 +2025-03-10 13:11:55,438 - INFO - OPENED LONG at 2094.7 | Stop loss: 2084.210967857143 | Take profit: 2126.1437982142857 +2025-03-10 13:11:55,596 - INFO - CLOSED long at 2098.49 | PnL: 0.18% | $0.11 +2025-03-10 13:11:55,711 - INFO - OPENED LONG at 2103.48 | Stop loss: 2092.947067857143 | Take profit: 2135.0554982142858 +2025-03-10 13:11:55,783 - INFO - CLOSED long at 2101.5 | PnL: -0.09% | $-0.27 +2025-03-10 13:11:55,837 - INFO - OPENED LONG at 2105.2 | Stop loss: 2094.6584678571426 | Take profit: 2136.8012982142855 +2025-03-10 13:11:55,856 - INFO - CLOSED long at 2103.52 | PnL: -0.08% | $-0.25 +2025-03-10 13:11:55,862 - INFO - OPENED SHORT at 2103.52 | Stop loss: 2114.0531321428575 | Take profit: 2071.9439017857144 +2025-03-10 13:11:55,892 - INFO - CLOSED short at 2104.4 | PnL: -0.04% | $-0.20 +2025-03-10 13:11:55,893 - INFO - OPENED LONG at 2104.4 | Stop loss: 2093.862467857143 | Take profit: 2135.989298214286 +2025-03-10 13:11:55,929 - INFO - Trade Analysis: Win Rate=13.5% in uptrends, 0.0% in downtrends | Avg Win=$0.11, Avg Loss=$-0.25 +2025-03-10 13:11:55,929 - INFO - Episode 0: Reward=-243.33, Balance=$69.99, Win Rate=14.5%, Trades=152, Episode PnL=$-21.96, Total PnL=$-30.01, Max Drawdown=29.6%, Pred Accuracy=97.7% +2025-03-10 13:11:55,929 - ERROR - Error in episode 0: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:11:55,932 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1812, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:11:55,954 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:11:56,211 - INFO - OPENED LONG at 2046.58 | Stop loss: 2036.3315678571428 | Take profit: 2077.3019982142855 +2025-03-10 13:11:56,231 - INFO - CLOSED long at 2047.4 | PnL: 0.04% | $-0.12 +2025-03-10 13:11:56,272 - INFO - OPENED LONG at 2045.99 | Stop loss: 2035.744517857143 | Take profit: 2076.703148214286 +2025-03-10 13:11:56,293 - INFO - CLOSED long at 2045.99 | PnL: 0.00% | $-0.20 +2025-03-10 13:11:56,294 - INFO - OPENED SHORT at 2045.99 | Stop loss: 2056.235482142857 | Take profit: 2015.2768517857144 +2025-03-10 13:11:56,319 - INFO - CLOSED short at 2045.79 | PnL: 0.01% | $-0.18 +2025-03-10 13:11:56,343 - INFO - OPENED LONG at 2048.13 | Stop loss: 2037.873817857143 | Take profit: 2078.875248214286 +2025-03-10 13:11:56,412 - INFO - CLOSED long at 2050.0 | PnL: 0.09% | $-0.02 +2025-03-10 13:11:56,413 - INFO - OPENED SHORT at 2050.0 | Stop loss: 2060.2655321428574 | Take profit: 2019.2267017857143 +2025-03-10 13:11:56,482 - INFO - CLOSED short at 2051.11 | PnL: -0.05% | $-0.30 +2025-03-10 13:11:56,516 - INFO - OPENED LONG at 2053.26 | Stop loss: 2042.9781678571433 | Take profit: 2084.082198214286 +2025-03-10 13:11:56,552 - INFO - CLOSED long at 2051.89 | PnL: -0.07% | $-0.33 +2025-03-10 13:11:56,671 - INFO - OPENED SHORT at 2056.89 | Stop loss: 2067.189982142857 | Take profit: 2026.0133517857143 +2025-03-10 13:11:56,690 - INFO - CLOSED short at 2058.39 | PnL: -0.07% | $-0.34 +2025-03-10 13:11:56,727 - INFO - OPENED LONG at 2059.7 | Stop loss: 2049.3859678571425 | Take profit: 2090.6187982142856 +2025-03-10 13:11:56,764 - INFO - CLOSED long at 2063.29 | PnL: 0.17% | $0.15 +2025-03-10 13:11:56,784 - INFO - OPENED SHORT at 2064.61 | Stop loss: 2074.948582142857 | Take profit: 2033.6175517857146 +2025-03-10 13:11:56,834 - INFO - CLOSED short at 2064.69 | PnL: -0.00% | $-0.20 +2025-03-10 13:11:56,856 - INFO - OPENED SHORT at 2063.01 | Stop loss: 2073.3405821428573 | Take profit: 2032.0415517857145 +2025-03-10 13:11:56,917 - INFO - CLOSED short at 2058.3 | PnL: 0.23% | $0.25 +2025-03-10 13:11:56,917 - INFO - OPENED LONG at 2058.3 | Stop loss: 2047.9929678571432 | Take profit: 2089.1977982142857 +2025-03-10 13:11:56,947 - INFO - CLOSED long at 2060.0 | PnL: 0.08% | $-0.03 +2025-03-10 13:11:57,005 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.5600178571426 | Take profit: 2093.8566482142855 +2025-03-10 13:11:57,037 - INFO - CLOSED long at 2060.31 | PnL: -0.13% | $-0.44 +2025-03-10 13:11:57,038 - INFO - OPENED SHORT at 2060.31 | Stop loss: 2070.627082142857 | Take profit: 2029.3820517857143 +2025-03-10 13:11:57,058 - INFO - CLOSED short at 2059.49 | PnL: 0.04% | $-0.12 +2025-03-10 13:11:57,076 - INFO - OPENED SHORT at 2057.8 | Stop loss: 2068.1045321428574 | Take profit: 2026.9097017857146 +2025-03-10 13:11:57,132 - INFO - CLOSED short at 2058.11 | PnL: -0.02% | $-0.22 +2025-03-10 13:11:57,132 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.803917857143 | Take profit: 2089.004948214286 +2025-03-10 13:11:57,148 - INFO - CLOSED long at 2061.79 | PnL: 0.18% | $0.15 +2025-03-10 13:11:57,166 - INFO - OPENED LONG at 2061.18 | Stop loss: 2050.8585678571426 | Take profit: 2092.1209982142855 +2025-03-10 13:11:57,206 - INFO - CLOSED long at 2065.86 | PnL: 0.23% | $0.25 +2025-03-10 13:11:57,207 - INFO - OPENED SHORT at 2065.86 | Stop loss: 2076.204832142857 | Take profit: 2034.8488017857146 +2025-03-10 13:11:57,271 - INFO - CLOSED short at 2068.29 | PnL: -0.12% | $-0.42 +2025-03-10 13:11:57,271 - INFO - OPENED LONG at 2068.29 | Stop loss: 2057.9330178571427 | Take profit: 2099.3376482142858 +2025-03-10 13:11:57,303 - INFO - CLOSED long at 2067.89 | PnL: -0.02% | $-0.23 +2025-03-10 13:11:57,337 - INFO - OPENED LONG at 2071.63 | Stop loss: 2061.256317857143 | Take profit: 2102.727748214286 +2025-03-10 13:11:57,367 - INFO - CLOSED long at 2070.99 | PnL: -0.03% | $-0.25 +2025-03-10 13:11:57,429 - INFO - OPENED LONG at 2068.65 | Stop loss: 2058.291217857143 | Take profit: 2099.703048214286 +2025-03-10 13:11:57,452 - INFO - CLOSED long at 2068.99 | PnL: 0.02% | $-0.16 +2025-03-10 13:11:57,471 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.255032142857 | Take profit: 2036.8582017857143 +2025-03-10 13:11:57,489 - INFO - CLOSED short at 2067.69 | PnL: 0.01% | $-0.17 +2025-03-10 13:11:57,489 - INFO - OPENED LONG at 2067.69 | Stop loss: 2057.336017857143 | Take profit: 2098.7286482142854 +2025-03-10 13:11:57,524 - INFO - CLOSED long at 2071.44 | PnL: 0.18% | $0.16 +2025-03-10 13:11:57,545 - INFO - OPENED SHORT at 2073.73 | Stop loss: 2084.1141821428573 | Take profit: 2042.6007517857142 +2025-03-10 13:11:57,595 - INFO - CLOSED short at 2072.33 | PnL: 0.07% | $-0.06 +2025-03-10 13:11:57,596 - INFO - OPENED LONG at 2072.33 | Stop loss: 2061.9528178571427 | Take profit: 2103.4382482142855 +2025-03-10 13:11:57,615 - INFO - CLOSED long at 2071.38 | PnL: -0.05% | $-0.28 +2025-03-10 13:11:57,655 - INFO - OPENED LONG at 2069.37 | Stop loss: 2059.0076178571426 | Take profit: 2100.4338482142857 +2025-03-10 13:11:57,713 - INFO - CLOSED long at 2072.8 | PnL: 0.17% | $0.13 +2025-03-10 13:11:57,865 - INFO - OPENED LONG at 2068.9 | Stop loss: 2058.539967857143 | Take profit: 2099.956798214286 +2025-03-10 13:11:57,917 - INFO - CLOSED long at 2069.19 | PnL: 0.01% | $-0.17 +2025-03-10 13:11:57,917 - INFO - OPENED SHORT at 2069.19 | Stop loss: 2079.551482142857 | Take profit: 2038.1288517857145 +2025-03-10 13:11:57,934 - INFO - CLOSED short at 2068.8 | PnL: 0.02% | $-0.16 +2025-03-10 13:11:57,934 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.440467857143 | Take profit: 2099.855298214286 +2025-03-10 13:11:58,019 - INFO - CLOSED long at 2065.99 | PnL: -0.14% | $-0.45 +2025-03-10 13:11:58,082 - INFO - OPENED LONG at 2065.08 | Stop loss: 2054.739067857143 | Take profit: 2096.0794982142856 +2025-03-10 13:11:58,160 - INFO - CLOSED long at 2068.9 | PnL: 0.18% | $0.16 +2025-03-10 13:11:58,162 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.260032142857 | Take profit: 2037.8432017857144 +2025-03-10 13:11:58,218 - INFO - CLOSED short at 2068.59 | PnL: 0.01% | $-0.16 +2025-03-10 13:11:58,218 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.231517857143 | Take profit: 2099.642148214286 +2025-03-10 13:11:58,247 - INFO - CLOSED long at 2069.7 | PnL: 0.05% | $-0.09 +2025-03-10 13:11:58,248 - INFO - OPENED SHORT at 2069.7 | Stop loss: 2080.064032142857 | Take profit: 2038.6312017857142 +2025-03-10 13:11:58,285 - INFO - CLOSED short at 2069.96 | PnL: -0.01% | $-0.21 +2025-03-10 13:11:58,286 - INFO - OPENED LONG at 2069.96 | Stop loss: 2059.594667857143 | Take profit: 2101.0326982142856 +2025-03-10 13:11:58,434 - INFO - CLOSED long at 2073.9 | PnL: 0.19% | $0.17 +2025-03-10 13:11:58,434 - INFO - OPENED SHORT at 2073.9 | Stop loss: 2084.2850321428573 | Take profit: 2042.7682017857144 +2025-03-10 13:11:58,455 - INFO - CLOSED short at 2071.92 | PnL: 0.10% | $-0.01 +2025-03-10 13:11:58,456 - INFO - OPENED LONG at 2071.92 | Stop loss: 2061.544867857143 | Take profit: 2103.0220982142855 +2025-03-10 13:11:58,485 - INFO - CLOSED long at 2070.4 | PnL: -0.07% | $-0.33 +2025-03-10 13:11:58,516 - INFO - OPENED SHORT at 2071.11 | Stop loss: 2081.4810821428573 | Take profit: 2040.0200517857143 +2025-03-10 13:11:58,547 - INFO - CLOSED short at 2069.46 | PnL: 0.08% | $-0.04 +2025-03-10 13:11:58,547 - INFO - OPENED LONG at 2069.46 | Stop loss: 2059.0971678571427 | Take profit: 2100.525198214286 +2025-03-10 13:11:58,576 - INFO - CLOSED long at 2069.35 | PnL: -0.01% | $-0.20 +2025-03-10 13:11:58,634 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.350532142857 | Take profit: 2035.9717017857142 +2025-03-10 13:11:58,707 - INFO - CLOSED short at 2065.49 | PnL: 0.07% | $-0.05 +2025-03-10 13:11:58,785 - INFO - OPENED SHORT at 2068.58 | Stop loss: 2078.9384321428574 | Take profit: 2037.5280017857142 +2025-03-10 13:11:58,837 - INFO - CLOSED short at 2067.86 | PnL: 0.03% | $-0.12 +2025-03-10 13:11:58,864 - INFO - OPENED SHORT at 2067.59 | Stop loss: 2077.943482142857 | Take profit: 2036.5528517857142 +2025-03-10 13:11:58,924 - INFO - CLOSED short at 2070.3 | PnL: -0.13% | $-0.44 +2025-03-10 13:11:58,952 - INFO - OPENED SHORT at 2071.59 | Stop loss: 2081.9634821428576 | Take profit: 2040.4928517857145 +2025-03-10 13:11:58,983 - INFO - CLOSED short at 2070.7 | PnL: 0.04% | $-0.11 +2025-03-10 13:11:59,013 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.032467857143 | Take profit: 2101.479298214286 +2025-03-10 13:11:59,047 - INFO - CLOSED long at 2070.73 | PnL: 0.02% | $-0.16 +2025-03-10 13:11:59,086 - INFO - OPENED LONG at 2068.69 | Stop loss: 2058.331017857143 | Take profit: 2099.7436482142857 +2025-03-10 13:11:59,103 - INFO - CLOSED long at 2067.84 | PnL: -0.04% | $-0.27 +2025-03-10 13:11:59,103 - INFO - OPENED SHORT at 2067.84 | Stop loss: 2078.1947321428574 | Take profit: 2036.7991017857144 +2025-03-10 13:11:59,123 - INFO - CLOSED short at 2067.11 | PnL: 0.04% | $-0.12 +2025-03-10 13:11:59,123 - INFO - OPENED LONG at 2067.11 | Stop loss: 2056.758917857143 | Take profit: 2098.139948214286 +2025-03-10 13:11:59,179 - INFO - CLOSED long at 2066.1 | PnL: -0.05% | $-0.28 +2025-03-10 13:11:59,180 - INFO - OPENED SHORT at 2066.1 | Stop loss: 2076.446032142857 | Take profit: 2035.0852017857142 +2025-03-10 13:11:59,217 - INFO - CLOSED short at 2066.39 | PnL: -0.01% | $-0.21 +2025-03-10 13:11:59,217 - INFO - OPENED LONG at 2066.39 | Stop loss: 2056.0425178571427 | Take profit: 2097.409148214286 +2025-03-10 13:11:59,256 - INFO - CLOSED long at 2070.04 | PnL: 0.18% | $0.14 +2025-03-10 13:11:59,286 - INFO - OPENED SHORT at 2067.8 | Stop loss: 2078.154532142857 | Take profit: 2036.7597017857145 +2025-03-10 13:11:59,343 - INFO - CLOSED short at 2065.69 | PnL: 0.10% | $0.00 +2025-03-10 13:11:59,343 - INFO - OPENED LONG at 2065.69 | Stop loss: 2055.346017857143 | Take profit: 2096.6986482142856 +2025-03-10 13:11:59,507 - INFO - CLOSED long at 2062.65 | PnL: -0.15% | $-0.46 +2025-03-10 13:11:59,537 - INFO - OPENED SHORT at 2061.78 | Stop loss: 2072.104432142857 | Take profit: 2030.8300017857146 +2025-03-10 13:11:59,582 - INFO - CLOSED short at 2061.3 | PnL: 0.02% | $-0.14 +2025-03-10 13:11:59,620 - INFO - OPENED LONG at 2064.96 | Stop loss: 2054.6196678571428 | Take profit: 2095.9576982142858 +2025-03-10 13:11:59,674 - INFO - CLOSED long at 2067.1 | PnL: 0.10% | $0.01 +2025-03-10 13:11:59,710 - INFO - OPENED LONG at 2065.54 | Stop loss: 2055.1967678571427 | Take profit: 2096.5463982142855 +2025-03-10 13:11:59,745 - INFO - CLOSED long at 2066.09 | PnL: 0.03% | $-0.14 +2025-03-10 13:11:59,745 - INFO - OPENED SHORT at 2066.09 | Stop loss: 2076.4359821428575 | Take profit: 2035.0753517857145 +2025-03-10 13:11:59,844 - INFO - CLOSED short at 2062.71 | PnL: 0.16% | $0.12 +2025-03-10 13:11:59,845 - INFO - OPENED LONG at 2062.71 | Stop loss: 2052.380917857143 | Take profit: 2093.6739482142857 +2025-03-10 13:11:59,862 - INFO - CLOSED long at 2062.89 | PnL: 0.01% | $-0.17 +2025-03-10 13:11:59,862 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.219982142857 | Take profit: 2031.9233517857142 +2025-03-10 13:11:59,934 - INFO - CLOSED short at 2060.9 | PnL: 0.10% | $-0.01 +2025-03-10 13:11:59,934 - INFO - OPENED LONG at 2060.9 | Stop loss: 2050.579967857143 | Take profit: 2091.836798214286 +2025-03-10 13:11:59,951 - INFO - CLOSED long at 2060.65 | PnL: -0.01% | $-0.21 +2025-03-10 13:11:59,951 - INFO - OPENED SHORT at 2060.65 | Stop loss: 2070.9687821428574 | Take profit: 2029.7169517857144 +2025-03-10 13:11:59,967 - INFO - CLOSED short at 2058.89 | PnL: 0.09% | $-0.03 +2025-03-10 13:12:00,004 - INFO - OPENED LONG at 2060.31 | Stop loss: 2049.992917857143 | Take profit: 2091.237948214286 +2025-03-10 13:12:00,024 - INFO - CLOSED long at 2061.8 | PnL: 0.07% | $-0.05 +2025-03-10 13:12:00,025 - INFO - OPENED SHORT at 2061.8 | Stop loss: 2072.1245321428573 | Take profit: 2030.8497017857144 +2025-03-10 13:12:00,044 - INFO - CLOSED short at 2064.7 | PnL: -0.14% | $-0.44 +2025-03-10 13:12:00,182 - INFO - OPENED SHORT at 2061.9 | Stop loss: 2072.2250321428573 | Take profit: 2030.9482017857144 +2025-03-10 13:12:00,214 - INFO - CLOSED short at 2064.1 | PnL: -0.11% | $-0.38 +2025-03-10 13:12:00,266 - INFO - OPENED SHORT at 2064.33 | Stop loss: 2074.667182142857 | Take profit: 2033.3417517857142 +2025-03-10 13:12:00,348 - INFO - CLOSED short at 2063.0 | PnL: 0.06% | $-0.06 +2025-03-10 13:12:00,348 - INFO - OPENED LONG at 2063.0 | Stop loss: 2052.6694678571425 | Take profit: 2093.968298214286 +2025-03-10 13:12:00,417 - INFO - CLOSED long at 2060.7 | PnL: -0.11% | $-0.39 +2025-03-10 13:12:00,418 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.019032142857 | Take profit: 2029.7662017857142 +2025-03-10 13:12:00,435 - INFO - CLOSED short at 2061.09 | PnL: -0.02% | $-0.22 +2025-03-10 13:12:00,492 - INFO - OPENED SHORT at 2059.16 | Stop loss: 2069.471332142857 | Take profit: 2028.2493017857141 +2025-03-10 13:12:00,522 - INFO - CLOSED short at 2059.02 | PnL: 0.01% | $-0.17 +2025-03-10 13:12:00,522 - INFO - OPENED LONG at 2059.02 | Stop loss: 2048.7093678571428 | Take profit: 2089.9285982142856 +2025-03-10 13:12:00,553 - INFO - CLOSED long at 2058.89 | PnL: -0.01% | $-0.19 +2025-03-10 13:12:00,553 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.199982142857 | Take profit: 2027.9833517857144 +2025-03-10 13:12:00,607 - INFO - CLOSED short at 2059.46 | PnL: -0.03% | $-0.23 +2025-03-10 13:12:00,607 - INFO - OPENED LONG at 2059.46 | Stop loss: 2049.147167857143 | Take profit: 2090.375198214286 +2025-03-10 13:12:00,803 - INFO - CLOSED long at 2061.5 | PnL: 0.10% | $-0.00 +2025-03-10 13:12:00,821 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.276467857143 | Take profit: 2092.547298214286 +2025-03-10 13:12:00,838 - INFO - CLOSED long at 2061.3 | PnL: -0.01% | $-0.21 +2025-03-10 13:12:00,838 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.6220321428573 | Take profit: 2030.3572017857146 +2025-03-10 13:12:00,868 - INFO - CLOSED short at 2062.69 | PnL: -0.07% | $-0.30 +2025-03-10 13:12:00,868 - INFO - OPENED LONG at 2062.69 | Stop loss: 2052.361017857143 | Take profit: 2093.6536482142856 +2025-03-10 13:12:00,957 - INFO - CLOSED long at 2066.01 | PnL: 0.16% | $0.11 +2025-03-10 13:12:01,040 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.982817857143 | Take profit: 2097.348248214286 +2025-03-10 13:12:01,079 - INFO - CLOSED long at 2066.79 | PnL: 0.02% | $-0.14 +2025-03-10 13:12:01,089 - INFO - OPENED LONG at 2067.33 | Stop loss: 2056.977817857143 | Take profit: 2098.3632482142857 +2025-03-10 13:12:01,112 - INFO - CLOSED long at 2067.01 | PnL: -0.02% | $-0.21 +2025-03-10 13:12:01,113 - INFO - OPENED SHORT at 2067.01 | Stop loss: 2077.3605821428573 | Take profit: 2035.9815517857144 +2025-03-10 13:12:01,131 - INFO - CLOSED short at 2065.69 | PnL: 0.06% | $-0.06 +2025-03-10 13:12:01,151 - INFO - OPENED LONG at 2069.79 | Stop loss: 2059.425517857143 | Take profit: 2100.860148214286 +2025-03-10 13:12:01,189 - INFO - CLOSED long at 2074.3 | PnL: 0.22% | $0.21 +2025-03-10 13:12:01,210 - INFO - OPENED LONG at 2078.01 | Stop loss: 2067.604417857143 | Take profit: 2109.203448214286 +2025-03-10 13:12:01,407 - INFO - CLOSED long at 2070.0 | PnL: -0.39% | $-0.87 +2025-03-10 13:12:01,407 - INFO - OPENED SHORT at 2070.0 | Stop loss: 2080.365532142857 | Take profit: 2038.9267017857142 +2025-03-10 13:12:01,439 - INFO - CLOSED short at 2068.15 | PnL: 0.09% | $-0.02 +2025-03-10 13:12:01,475 - INFO - OPENED LONG at 2069.69 | Stop loss: 2059.3260178571427 | Take profit: 2100.758648214286 +2025-03-10 13:12:01,497 - INFO - CLOSED long at 2069.03 | PnL: -0.03% | $-0.23 +2025-03-10 13:12:01,497 - INFO - OPENED SHORT at 2069.03 | Stop loss: 2079.3906821428573 | Take profit: 2037.9712517857145 +2025-03-10 13:12:01,542 - INFO - CLOSED short at 2072.99 | PnL: -0.19% | $-0.51 +2025-03-10 13:12:01,549 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6095178571427 | Take profit: 2104.1081482142854 +2025-03-10 13:12:01,564 - INFO - CLOSED long at 2071.49 | PnL: -0.07% | $-0.30 +2025-03-10 13:12:01,584 - INFO - OPENED SHORT at 2069.87 | Stop loss: 2080.234882142857 | Take profit: 2038.7986517857141 +2025-03-10 13:12:01,815 - INFO - CLOSED short at 2064.31 | PnL: 0.27% | $0.30 +2025-03-10 13:12:01,815 - INFO - OPENED LONG at 2064.31 | Stop loss: 2053.972917857143 | Take profit: 2095.297948214286 +2025-03-10 13:12:01,861 - INFO - CLOSED long at 2067.53 | PnL: 0.16% | $0.10 +2025-03-10 13:12:01,897 - INFO - OPENED LONG at 2065.31 | Stop loss: 2054.9679178571428 | Take profit: 2096.3129482142854 +2025-03-10 13:12:01,949 - INFO - CLOSED long at 2068.59 | PnL: 0.16% | $0.10 +2025-03-10 13:12:01,951 - INFO - OPENED SHORT at 2068.59 | Stop loss: 2078.9484821428573 | Take profit: 2037.5378517857143 +2025-03-10 13:12:01,966 - INFO - CLOSED short at 2071.59 | PnL: -0.15% | $-0.43 +2025-03-10 13:12:01,980 - INFO - OPENED SHORT at 2070.2 | Stop loss: 2080.566532142857 | Take profit: 2039.123701785714 +2025-03-10 13:12:02,001 - INFO - CLOSED short at 2071.35 | PnL: -0.06% | $-0.27 +2025-03-10 13:12:02,068 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.069032142857 | Take profit: 2039.6162017857139 +2025-03-10 13:12:02,150 - INFO - CLOSED short at 2070.61 | PnL: 0.00% | $-0.17 +2025-03-10 13:12:02,150 - INFO - OPENED LONG at 2070.61 | Stop loss: 2060.241417857143 | Take profit: 2101.692448214286 +2025-03-10 13:12:02,211 - INFO - CLOSED long at 2068.19 | PnL: -0.12% | $-0.38 +2025-03-10 13:12:02,243 - INFO - OPENED LONG at 2068.67 | Stop loss: 2058.311117857143 | Take profit: 2099.723348214286 +2025-03-10 13:12:02,264 - INFO - CLOSED long at 2070.67 | PnL: 0.10% | $-0.01 +2025-03-10 13:12:02,264 - INFO - OPENED SHORT at 2070.67 | Stop loss: 2081.0388821428573 | Take profit: 2039.5866517857144 +2025-03-10 13:12:02,316 - INFO - CLOSED short at 2074.37 | PnL: -0.18% | $-0.48 +2025-03-10 13:12:02,316 - INFO - OPENED LONG at 2074.37 | Stop loss: 2063.982617857143 | Take profit: 2105.508848214286 +2025-03-10 13:12:02,391 - INFO - CLOSED long at 2073.99 | PnL: -0.02% | $-0.20 +2025-03-10 13:12:02,414 - INFO - OPENED LONG at 2075.32 | Stop loss: 2064.927867857143 | Take profit: 2106.473098214286 +2025-03-10 13:12:02,481 - INFO - CLOSED long at 2075.61 | PnL: 0.01% | $-0.15 +2025-03-10 13:12:02,540 - INFO - OPENED LONG at 2072.09 | Stop loss: 2061.714017857143 | Take profit: 2103.1946482142857 +2025-03-10 13:12:02,571 - INFO - CLOSED long at 2069.97 | PnL: -0.10% | $-0.35 +2025-03-10 13:12:02,572 - INFO - OPENED SHORT at 2069.97 | Stop loss: 2080.335382142857 | Take profit: 2038.897151785714 +2025-03-10 13:12:02,603 - INFO - CLOSED short at 2067.7 | PnL: 0.11% | $0.02 +2025-03-10 13:12:02,603 - INFO - OPENED LONG at 2067.7 | Stop loss: 2057.3459678571426 | Take profit: 2098.7387982142855 +2025-03-10 13:12:02,657 - INFO - CLOSED long at 2067.9 | PnL: 0.01% | $-0.15 +2025-03-10 13:12:02,658 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.255032142857 | Take profit: 2036.8582017857143 +2025-03-10 13:12:02,678 - INFO - CLOSED short at 2066.4 | PnL: 0.07% | $-0.05 +2025-03-10 13:12:02,678 - INFO - OPENED LONG at 2066.4 | Stop loss: 2056.052467857143 | Take profit: 2097.4192982142854 +2025-03-10 13:12:02,712 - INFO - CLOSED long at 2067.88 | PnL: 0.07% | $-0.05 +2025-03-10 13:12:02,712 - INFO - OPENED SHORT at 2067.88 | Stop loss: 2078.2349321428574 | Take profit: 2036.8385017857145 +2025-03-10 13:12:02,778 - INFO - CLOSED short at 2070.19 | PnL: -0.11% | $-0.36 +2025-03-10 13:12:02,796 - INFO - OPENED LONG at 2070.1 | Stop loss: 2059.7339678571425 | Take profit: 2101.1747982142856 +2025-03-10 13:12:02,883 - INFO - CLOSED long at 2065.8 | PnL: -0.21% | $-0.52 +2025-03-10 13:12:03,046 - INFO - OPENED LONG at 2066.1 | Stop loss: 2055.753967857143 | Take profit: 2097.1147982142857 +2025-03-10 13:12:03,080 - INFO - CLOSED long at 2064.11 | PnL: -0.10% | $-0.33 +2025-03-10 13:12:03,080 - INFO - OPENED SHORT at 2064.11 | Stop loss: 2074.4460821428574 | Take profit: 2033.1250517857143 +2025-03-10 13:12:03,097 - INFO - CLOSED short at 2064.5 | PnL: -0.02% | $-0.20 +2025-03-10 13:12:03,114 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.982817857143 | Take profit: 2097.348248214286 +2025-03-10 13:12:03,150 - INFO - CLOSED long at 2060.7 | PnL: -0.27% | $-0.63 +2025-03-10 13:12:03,150 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.019032142857 | Take profit: 2029.7662017857142 +2025-03-10 13:12:03,184 - INFO - CLOSED short at 2059.2 | PnL: 0.07% | $-0.05 +2025-03-10 13:12:03,203 - INFO - OPENED LONG at 2058.09 | Stop loss: 2047.784017857143 | Take profit: 2088.9846482142857 +2025-03-10 13:12:03,239 - INFO - CLOSED long at 2056.77 | PnL: -0.06% | $-0.27 +2025-03-10 13:12:03,271 - INFO - OPENED LONG at 2053.01 | Stop loss: 2042.729417857143 | Take profit: 2083.828448214286 +2025-03-10 13:12:03,300 - INFO - CLOSED long at 2049.21 | PnL: -0.19% | $-0.47 +2025-03-10 13:12:03,300 - INFO - OPENED SHORT at 2049.21 | Stop loss: 2059.471582142857 | Take profit: 2018.4485517857142 +2025-03-10 13:12:03,331 - INFO - CLOSED short at 2049.5 | PnL: -0.01% | $-0.19 +2025-03-10 13:12:03,389 - INFO - OPENED LONG at 2058.3 | Stop loss: 2047.9929678571432 | Take profit: 2089.1977982142857 +2025-03-10 13:12:03,417 - INFO - CLOSED long at 2056.85 | PnL: -0.07% | $-0.28 +2025-03-10 13:12:03,448 - INFO - OPENED LONG at 2057.11 | Stop loss: 2046.808917857143 | Take profit: 2087.989948214286 +2025-03-10 13:12:03,466 - INFO - CLOSED long at 2057.89 | PnL: 0.04% | $-0.10 +2025-03-10 13:12:03,466 - INFO - OPENED SHORT at 2057.89 | Stop loss: 2068.194982142857 | Take profit: 2026.9983517857142 +2025-03-10 13:12:03,488 - INFO - CLOSED short at 2062.83 | PnL: -0.24% | $-0.56 +2025-03-10 13:12:03,488 - INFO - OPENED LONG at 2062.83 | Stop loss: 2052.500317857143 | Take profit: 2093.7957482142856 +2025-03-10 13:12:03,506 - INFO - CLOSED long at 2063.9 | PnL: 0.05% | $-0.08 +2025-03-10 13:12:03,577 - INFO - OPENED SHORT at 2065.12 | Stop loss: 2075.4611321428574 | Take profit: 2034.1199017857143 +2025-03-10 13:12:03,594 - INFO - CLOSED short at 2068.33 | PnL: -0.16% | $-0.42 +2025-03-10 13:12:03,595 - INFO - OPENED LONG at 2068.33 | Stop loss: 2057.9728178571427 | Take profit: 2099.3782482142856 +2025-03-10 13:12:03,631 - INFO - CLOSED long at 2066.59 | PnL: -0.08% | $-0.30 +2025-03-10 13:12:03,632 - INFO - OPENED SHORT at 2066.59 | Stop loss: 2076.9384821428575 | Take profit: 2035.5678517857145 +2025-03-10 13:12:03,657 - INFO - CLOSED short at 2064.08 | PnL: 0.12% | $0.03 +2025-03-10 13:12:03,657 - INFO - OPENED LONG at 2064.08 | Stop loss: 2053.744067857143 | Take profit: 2095.0644982142853 +2025-03-10 13:12:03,691 - INFO - CLOSED long at 2061.21 | PnL: -0.14% | $-0.39 +2025-03-10 13:12:03,691 - INFO - OPENED SHORT at 2061.21 | Stop loss: 2071.531582142857 | Take profit: 2030.2685517857142 +2025-03-10 13:12:03,867 - INFO - CLOSED short at 2070.31 | PnL: -0.44% | $-0.87 +2025-03-10 13:12:03,868 - INFO - OPENED LONG at 2070.31 | Stop loss: 2059.942917857143 | Take profit: 2101.3879482142856 +2025-03-10 13:12:03,882 - INFO - CLOSED long at 2070.24 | PnL: -0.00% | $-0.16 +2025-03-10 13:12:03,902 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.702232142857 | Take profit: 2038.2766017857143 +2025-03-10 13:12:03,953 - INFO - CLOSED short at 2073.49 | PnL: -0.20% | $-0.48 +2025-03-10 13:12:03,977 - INFO - OPENED LONG at 2074.05 | Stop loss: 2063.6642178571433 | Take profit: 2105.184048214286 +2025-03-10 13:12:04,029 - INFO - CLOSED long at 2071.8 | PnL: -0.11% | $-0.33 +2025-03-10 13:12:04,055 - INFO - OPENED SHORT at 2074.9 | Stop loss: 2085.2900321428574 | Take profit: 2043.7532017857143 +2025-03-10 13:12:04,079 - INFO - CLOSED short at 2076.08 | PnL: -0.06% | $-0.25 +2025-03-10 13:12:04,137 - INFO - OPENED LONG at 2085.56 | Stop loss: 2075.116667857143 | Take profit: 2116.866698214286 +2025-03-10 13:12:04,165 - INFO - CLOSED long at 2090.49 | PnL: 0.24% | $0.21 +2025-03-10 13:12:04,165 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.957982142857 | Take profit: 2059.109351785714 +2025-03-10 13:12:04,189 - INFO - CLOSED short at 2103.02 | PnL: -0.60% | $-1.10 +2025-03-10 13:12:04,308 - INFO - OPENED SHORT at 2141.41 | Stop loss: 2152.1325821428572 | Take profit: 2109.2655517857143 +2025-03-10 13:12:04,331 - INFO - CLOSED short at 2141.3 | PnL: 0.01% | $-0.15 +2025-03-10 13:12:04,347 - INFO - OPENED SHORT at 2142.68 | Stop loss: 2153.4089321428573 | Take profit: 2110.516501785714 +2025-03-10 13:12:04,387 - INFO - CLOSED short at 2134.78 | PnL: 0.37% | $0.42 +2025-03-10 13:12:04,390 - INFO - OPENED LONG at 2134.78 | Stop loss: 2124.090567857143 | Take profit: 2166.8249982142856 +2025-03-10 13:12:04,407 - INFO - CLOSED long at 2126.99 | PnL: -0.36% | $-0.72 +2025-03-10 13:12:04,407 - INFO - OPENED SHORT at 2126.99 | Stop loss: 2137.640482142857 | Take profit: 2095.061851785714 +2025-03-10 13:12:04,430 - INFO - CLOSED short at 2127.3 | PnL: -0.01% | $-0.18 +2025-03-10 13:12:04,456 - INFO - OPENED SHORT at 2128.69 | Stop loss: 2139.348982142857 | Take profit: 2096.7363517857143 +2025-03-10 13:12:04,538 - INFO - CLOSED short at 2117.24 | PnL: 0.54% | $0.67 +2025-03-10 13:12:04,538 - INFO - OPENED LONG at 2117.24 | Stop loss: 2106.6382678571426 | Take profit: 2149.0218982142856 +2025-03-10 13:12:04,603 - INFO - CLOSED long at 2121.4 | PnL: 0.20% | $0.15 +2025-03-10 13:12:04,603 - INFO - OPENED SHORT at 2121.4 | Stop loss: 2132.022532142857 | Take profit: 2089.5557017857145 +2025-03-10 13:12:04,633 - INFO - CLOSED short at 2118.52 | PnL: 0.14% | $0.06 +2025-03-10 13:12:04,633 - INFO - OPENED LONG at 2118.52 | Stop loss: 2107.9118678571426 | Take profit: 2150.321098214286 +2025-03-10 13:12:04,653 - INFO - CLOSED long at 2119.14 | PnL: 0.03% | $-0.11 +2025-03-10 13:12:04,653 - INFO - OPENED SHORT at 2119.14 | Stop loss: 2129.751232142857 | Take profit: 2087.329601785714 +2025-03-10 13:12:04,674 - INFO - CLOSED short at 2119.07 | PnL: 0.00% | $-0.15 +2025-03-10 13:12:04,674 - INFO - OPENED LONG at 2119.07 | Stop loss: 2108.459117857143 | Take profit: 2150.8793482142855 +2025-03-10 13:12:04,693 - INFO - CLOSED long at 2115.28 | PnL: -0.18% | $-0.43 +2025-03-10 13:12:04,828 - INFO - OPENED LONG at 2112.99 | Stop loss: 2102.4095178571424 | Take profit: 2144.7081482142853 +2025-03-10 13:12:04,855 - INFO - CLOSED long at 2120.81 | PnL: 0.37% | $0.42 +2025-03-10 13:12:04,855 - INFO - OPENED SHORT at 2120.81 | Stop loss: 2131.429582142857 | Take profit: 2088.9745517857145 +2025-03-10 13:12:04,883 - INFO - CLOSED short at 2116.48 | PnL: 0.20% | $0.16 +2025-03-10 13:12:04,940 - INFO - OPENED SHORT at 2110.9 | Stop loss: 2121.4700321428572 | Take profit: 2079.2132017857143 +2025-03-10 13:12:04,972 - INFO - CLOSED short at 2108.71 | PnL: 0.10% | $0.01 +2025-03-10 13:12:04,972 - INFO - OPENED LONG at 2108.71 | Stop loss: 2098.1509178571428 | Take profit: 2140.3639482142858 +2025-03-10 13:12:05,035 - INFO - CLOSED long at 2108.06 | PnL: -0.03% | $-0.20 +2025-03-10 13:12:05,060 - INFO - OPENED LONG at 2103.33 | Stop loss: 2092.797817857143 | Take profit: 2134.9032482142857 +2025-03-10 13:12:05,094 - INFO - CLOSED long at 2090.0 | PnL: -0.63% | $-1.13 +2025-03-10 13:12:05,094 - INFO - OPENED SHORT at 2090.0 | Stop loss: 2100.4655321428572 | Take profit: 2058.6267017857144 +2025-03-10 13:12:05,115 - INFO - CLOSED short at 2099.53 | PnL: -0.46% | $-0.85 +2025-03-10 13:12:05,116 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.016817857143 | Take profit: 2131.046248214286 +2025-03-10 13:12:05,132 - INFO - CLOSED long at 2098.1 | PnL: -0.07% | $-0.25 +2025-03-10 13:12:05,221 - INFO - OPENED LONG at 2100.69 | Stop loss: 2090.171017857143 | Take profit: 2132.2236482142857 +2025-03-10 13:12:05,243 - INFO - CLOSED long at 2104.83 | PnL: 0.20% | $0.15 +2025-03-10 13:12:05,300 - INFO - OPENED LONG at 2100.74 | Stop loss: 2090.2207678571426 | Take profit: 2132.2743982142856 +2025-03-10 13:12:05,328 - INFO - CLOSED long at 2103.86 | PnL: 0.15% | $0.07 +2025-03-10 13:12:05,328 - INFO - OPENED SHORT at 2103.86 | Stop loss: 2114.394832142857 | Take profit: 2072.278801785714 +2025-03-10 13:12:05,388 - INFO - CLOSED short at 2101.51 | PnL: 0.11% | $0.02 +2025-03-10 13:12:05,442 - INFO - OPENED LONG at 2100.02 | Stop loss: 2089.504367857143 | Take profit: 2131.543598214286 +2025-03-10 13:12:05,463 - INFO - CLOSED long at 2098.39 | PnL: -0.08% | $-0.27 +2025-03-10 13:12:05,515 - INFO - OPENED LONG at 2093.33 | Stop loss: 2082.8478178571427 | Take profit: 2124.7532482142856 +2025-03-10 13:12:05,554 - INFO - CLOSED long at 2091.1 | PnL: -0.11% | $-0.31 +2025-03-10 13:12:05,555 - INFO - OPENED SHORT at 2091.1 | Stop loss: 2101.5710321428573 | Take profit: 2059.710201785714 +2025-03-10 13:12:05,619 - INFO - CLOSED short at 2083.28 | PnL: 0.37% | $0.41 +2025-03-10 13:12:05,620 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.848067857143 | Take profit: 2114.5524982142856 +2025-03-10 13:12:05,700 - INFO - CLOSED long at 2085.3 | PnL: 0.10% | $-0.00 +2025-03-10 13:12:05,728 - INFO - OPENED SHORT at 2082.44 | Stop loss: 2092.867732142857 | Take profit: 2051.180101785714 +2025-03-10 13:12:05,758 - INFO - CLOSED short at 2081.49 | PnL: 0.05% | $-0.08 +2025-03-10 13:12:05,758 - INFO - OPENED LONG at 2081.49 | Stop loss: 2071.0670178571427 | Take profit: 2112.7356482142854 +2025-03-10 13:12:05,787 - INFO - CLOSED long at 2080.38 | PnL: -0.05% | $-0.23 +2025-03-10 13:12:05,814 - INFO - OPENED LONG at 2081.25 | Stop loss: 2070.8282178571426 | Take profit: 2112.492048214286 +2025-03-10 13:12:05,968 - INFO - CLOSED long at 2085.85 | PnL: 0.22% | $0.18 +2025-03-10 13:12:05,968 - INFO - OPENED SHORT at 2085.85 | Stop loss: 2096.294782142857 | Take profit: 2054.5389517857143 +2025-03-10 13:12:05,981 - INFO - CLOSED short at 2088.66 | PnL: -0.13% | $-0.35 +2025-03-10 13:12:05,981 - INFO - OPENED LONG at 2088.66 | Stop loss: 2078.2011678571425 | Take profit: 2120.0131982142857 +2025-03-10 13:12:06,061 - INFO - CLOSED long at 2087.0 | PnL: -0.08% | $-0.27 +2025-03-10 13:12:06,193 - INFO - OPENED LONG at 2085.67 | Stop loss: 2075.226117857143 | Take profit: 2116.978348214286 +2025-03-10 13:12:06,224 - INFO - CLOSED long at 2089.2 | PnL: 0.17% | $0.10 +2025-03-10 13:12:06,224 - INFO - OPENED SHORT at 2089.2 | Stop loss: 2099.661532142857 | Take profit: 2057.838701785714 +2025-03-10 13:12:06,247 - INFO - CLOSED short at 2091.05 | PnL: -0.09% | $-0.28 +2025-03-10 13:12:06,247 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.579217857143 | Take profit: 2122.4390482142862 +2025-03-10 13:12:06,428 - INFO - CLOSED long at 2098.49 | PnL: 0.36% | $0.38 +2025-03-10 13:12:06,583 - INFO - OPENED LONG at 2103.48 | Stop loss: 2092.947067857143 | Take profit: 2135.0554982142858 +2025-03-10 13:12:06,648 - INFO - CLOSED long at 2103.81 | PnL: 0.02% | $-0.13 +2025-03-10 13:12:06,685 - INFO - OPENED LONG at 2101.5 | Stop loss: 2090.976967857143 | Take profit: 2133.0457982142857 +2025-03-10 13:12:06,725 - INFO - CLOSED long at 2103.64 | PnL: 0.10% | $0.00 +2025-03-10 13:12:06,743 - INFO - OPENED LONG at 2105.2 | Stop loss: 2094.6584678571426 | Take profit: 2136.8012982142855 +2025-03-10 13:12:06,793 - INFO - Trade Analysis: Win Rate=28.2% in uptrends, 0.0% in downtrends | Avg Win=$0.17, Avg Loss=$-0.26 +2025-03-10 13:12:06,798 - INFO - Episode 1: Reward=-111.13, Balance=$75.04, Win Rate=22.9%, Trades=153, Episode PnL=$-17.62, Total PnL=$-54.97, Max Drawdown=25.0%, Pred Accuracy=99.2% +2025-03-10 13:12:06,798 - ERROR - Error in episode 1: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:12:06,798 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1812, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:12:06,820 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:12:07,175 - INFO - OPENED LONG at 2047.2 | Stop loss: 2036.9484678571428 | Take profit: 2077.931298214286 +2025-03-10 13:12:07,192 - INFO - CLOSED long at 2045.99 | PnL: -0.06% | $-0.32 +2025-03-10 13:12:07,194 - INFO - OPENED SHORT at 2045.99 | Stop loss: 2056.235482142857 | Take profit: 2015.2768517857144 +2025-03-10 13:12:07,209 - INFO - CLOSED short at 2045.99 | PnL: 0.00% | $-0.20 +2025-03-10 13:12:07,245 - INFO - OPENED SHORT at 2048.13 | Stop loss: 2058.3861821428573 | Take profit: 2017.3847517857146 +2025-03-10 13:12:07,263 - INFO - CLOSED short at 2047.59 | PnL: 0.03% | $-0.15 +2025-03-10 13:12:07,280 - INFO - OPENED SHORT at 2048.51 | Stop loss: 2058.7680821428576 | Take profit: 2017.7590517857145 +2025-03-10 13:12:07,296 - INFO - CLOSED short at 2050.0 | PnL: -0.07% | $-0.34 +2025-03-10 13:12:07,356 - INFO - OPENED SHORT at 2051.11 | Stop loss: 2061.3810821428574 | Take profit: 2020.3200517857144 +2025-03-10 13:12:07,533 - INFO - CLOSED short at 2060.13 | PnL: -0.44% | $-1.06 +2025-03-10 13:12:07,533 - INFO - OPENED LONG at 2060.13 | Stop loss: 2049.813817857143 | Take profit: 2091.055248214286 +2025-03-10 13:12:07,570 - INFO - CLOSED long at 2059.7 | PnL: -0.02% | $-0.23 +2025-03-10 13:12:07,628 - INFO - OPENED LONG at 2063.29 | Stop loss: 2052.9580178571427 | Take profit: 2094.2626482142855 +2025-03-10 13:12:07,670 - INFO - CLOSED long at 2063.59 | PnL: 0.01% | $-0.17 +2025-03-10 13:12:07,710 - INFO - OPENED LONG at 2064.69 | Stop loss: 2054.351017857143 | Take profit: 2095.6836482142858 +2025-03-10 13:12:07,822 - INFO - CLOSED long at 2060.31 | PnL: -0.21% | $-0.60 +2025-03-10 13:12:07,845 - INFO - OPENED LONG at 2059.49 | Stop loss: 2049.177017857143 | Take profit: 2090.4056482142855 +2025-03-10 13:12:07,904 - INFO - CLOSED long at 2057.89 | PnL: -0.08% | $-0.34 +2025-03-10 13:12:07,933 - INFO - OPENED LONG at 2057.94 | Stop loss: 2047.6347678571428 | Take profit: 2088.832398214286 +2025-03-10 13:12:08,056 - INFO - CLOSED long at 2065.86 | PnL: 0.38% | $0.55 +2025-03-10 13:12:08,056 - INFO - OPENED SHORT at 2065.86 | Stop loss: 2076.204832142857 | Take profit: 2034.8488017857146 +2025-03-10 13:12:08,090 - INFO - CLOSED short at 2068.11 | PnL: -0.11% | $-0.40 +2025-03-10 13:12:08,111 - INFO - OPENED SHORT at 2068.29 | Stop loss: 2078.646982142857 | Take profit: 2037.2423517857142 +2025-03-10 13:12:08,140 - INFO - CLOSED short at 2071.63 | PnL: -0.16% | $-0.50 +2025-03-10 13:12:08,214 - INFO - OPENED LONG at 2068.99 | Stop loss: 2058.6295178571427 | Take profit: 2100.0481482142854 +2025-03-10 13:12:08,307 - INFO - CLOSED long at 2071.44 | PnL: 0.12% | $0.04 +2025-03-10 13:12:08,307 - INFO - OPENED SHORT at 2071.44 | Stop loss: 2081.8127321428574 | Take profit: 2040.3451017857144 +2025-03-10 13:12:08,336 - INFO - CLOSED short at 2073.73 | PnL: -0.11% | $-0.40 +2025-03-10 13:12:08,337 - INFO - OPENED LONG at 2073.73 | Stop loss: 2063.3458178571427 | Take profit: 2104.859248214286 +2025-03-10 13:12:08,420 - INFO - CLOSED long at 2072.33 | PnL: -0.07% | $-0.32 +2025-03-10 13:12:08,420 - INFO - OPENED SHORT at 2072.33 | Stop loss: 2082.707182142857 | Take profit: 2041.221751785714 +2025-03-10 13:12:08,442 - INFO - CLOSED short at 2071.38 | PnL: 0.05% | $-0.10 +2025-03-10 13:12:08,462 - INFO - OPENED LONG at 2071.41 | Stop loss: 2061.037417857143 | Take profit: 2102.5044482142857 +2025-03-10 13:12:08,515 - INFO - CLOSED long at 2072.8 | PnL: 0.07% | $-0.06 +2025-03-10 13:12:08,515 - INFO - OPENED SHORT at 2072.8 | Stop loss: 2083.1795321428576 | Take profit: 2041.6847017857144 +2025-03-10 13:12:08,531 - INFO - CLOSED short at 2070.79 | PnL: 0.10% | $-0.01 +2025-03-10 13:12:08,531 - INFO - OPENED LONG at 2070.79 | Stop loss: 2060.420517857143 | Take profit: 2101.8751482142857 +2025-03-10 13:12:08,566 - INFO - CLOSED long at 2068.02 | PnL: -0.13% | $-0.44 +2025-03-10 13:12:08,600 - INFO - OPENED SHORT at 2070.36 | Stop loss: 2080.7273321428574 | Take profit: 2039.2813017857145 +2025-03-10 13:12:08,638 - INFO - CLOSED short at 2070.7 | PnL: -0.02% | $-0.22 +2025-03-10 13:12:08,639 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3309678571427 | Take profit: 2101.7837982142855 +2025-03-10 13:12:08,666 - INFO - CLOSED long at 2069.34 | PnL: -0.07% | $-0.31 +2025-03-10 13:12:08,666 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.702232142857 | Take profit: 2038.2766017857143 +2025-03-10 13:12:08,698 - INFO - CLOSED short at 2069.19 | PnL: 0.01% | $-0.17 +2025-03-10 13:12:08,757 - INFO - OPENED SHORT at 2067.6 | Stop loss: 2077.953532142857 | Take profit: 2036.5627017857141 +2025-03-10 13:12:08,785 - INFO - CLOSED short at 2067.51 | PnL: 0.00% | $-0.18 +2025-03-10 13:12:08,859 - INFO - OPENED LONG at 2065.99 | Stop loss: 2055.6445178571425 | Take profit: 2097.0031482142854 +2025-03-10 13:12:08,876 - INFO - CLOSED long at 2066.19 | PnL: 0.01% | $-0.17 +2025-03-10 13:12:08,911 - INFO - OPENED LONG at 2065.08 | Stop loss: 2054.739067857143 | Take profit: 2096.0794982142856 +2025-03-10 13:12:08,945 - INFO - CLOSED long at 2068.76 | PnL: 0.18% | $0.15 +2025-03-10 13:12:08,947 - INFO - OPENED SHORT at 2068.76 | Stop loss: 2079.1193321428573 | Take profit: 2037.7053017857147 +2025-03-10 13:12:08,965 - INFO - CLOSED short at 2068.9 | PnL: -0.01% | $-0.20 +2025-03-10 13:12:09,003 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.231517857143 | Take profit: 2099.642148214286 +2025-03-10 13:12:09,025 - INFO - CLOSED long at 2069.7 | PnL: 0.05% | $-0.09 +2025-03-10 13:12:09,027 - INFO - OPENED SHORT at 2069.7 | Stop loss: 2080.064032142857 | Take profit: 2038.6312017857142 +2025-03-10 13:12:09,045 - INFO - CLOSED short at 2070.4 | PnL: -0.03% | $-0.25 +2025-03-10 13:12:09,045 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.032467857143 | Take profit: 2101.479298214286 +2025-03-10 13:12:09,108 - INFO - CLOSED long at 2071.4 | PnL: 0.05% | $-0.10 +2025-03-10 13:12:09,166 - INFO - OPENED LONG at 2071.36 | Stop loss: 2060.9876678571427 | Take profit: 2102.453698214286 +2025-03-10 13:12:09,222 - INFO - CLOSED long at 2073.11 | PnL: 0.08% | $-0.03 +2025-03-10 13:12:09,245 - INFO - OPENED SHORT at 2072.7 | Stop loss: 2083.0790321428567 | Take profit: 2041.586201785714 +2025-03-10 13:12:09,262 - INFO - CLOSED short at 2072.15 | PnL: 0.03% | $-0.14 +2025-03-10 13:12:09,278 - INFO - OPENED LONG at 2074.29 | Stop loss: 2063.903017857143 | Take profit: 2105.4276482142855 +2025-03-10 13:12:09,296 - INFO - CLOSED long at 2073.9 | PnL: -0.02% | $-0.22 +2025-03-10 13:12:09,296 - INFO - OPENED SHORT at 2073.9 | Stop loss: 2084.2850321428573 | Take profit: 2042.7682017857144 +2025-03-10 13:12:09,317 - INFO - CLOSED short at 2071.92 | PnL: 0.10% | $-0.01 +2025-03-10 13:12:09,317 - INFO - OPENED LONG at 2071.92 | Stop loss: 2061.544867857143 | Take profit: 2103.0220982142855 +2025-03-10 13:12:09,336 - INFO - CLOSED long at 2070.4 | PnL: -0.07% | $-0.32 +2025-03-10 13:12:09,336 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.7675321428574 | Take profit: 2039.3207017857144 +2025-03-10 13:12:09,356 - INFO - CLOSED short at 2071.11 | PnL: -0.03% | $-0.25 +2025-03-10 13:12:09,374 - INFO - OPENED LONG at 2069.46 | Stop loss: 2059.0971678571427 | Take profit: 2100.525198214286 +2025-03-10 13:12:09,509 - INFO - CLOSED long at 2066.8 | PnL: -0.13% | $-0.42 +2025-03-10 13:12:09,509 - INFO - OPENED SHORT at 2066.8 | Stop loss: 2077.1495321428574 | Take profit: 2035.7747017857143 +2025-03-10 13:12:09,596 - INFO - CLOSED short at 2065.26 | PnL: 0.07% | $-0.05 +2025-03-10 13:12:09,596 - INFO - OPENED LONG at 2065.26 | Stop loss: 2054.918167857143 | Take profit: 2096.262198214286 +2025-03-10 13:12:09,746 - INFO - CLOSED long at 2070.3 | PnL: 0.24% | $0.26 +2025-03-10 13:12:09,746 - INFO - OPENED SHORT at 2070.3 | Stop loss: 2080.6670321428574 | Take profit: 2039.2222017857146 +2025-03-10 13:12:09,765 - INFO - CLOSED short at 2071.59 | PnL: -0.06% | $-0.30 +2025-03-10 13:12:09,766 - INFO - OPENED LONG at 2071.59 | Stop loss: 2061.216517857143 | Take profit: 2102.687148214286 +2025-03-10 13:12:09,783 - INFO - CLOSED long at 2070.7 | PnL: -0.04% | $-0.26 +2025-03-10 13:12:09,820 - INFO - OPENED SHORT at 2070.73 | Stop loss: 2081.099182142857 | Take profit: 2039.6457517857143 +2025-03-10 13:12:09,837 - INFO - CLOSED short at 2068.5 | PnL: 0.11% | $0.01 +2025-03-10 13:12:09,868 - INFO - OPENED SHORT at 2068.69 | Stop loss: 2079.0489821428573 | Take profit: 2037.6363517857144 +2025-03-10 13:12:09,955 - INFO - CLOSED short at 2067.86 | PnL: 0.04% | $-0.11 +2025-03-10 13:12:09,956 - INFO - OPENED LONG at 2067.86 | Stop loss: 2057.505167857143 | Take profit: 2098.9011982142856 +2025-03-10 13:12:09,984 - INFO - CLOSED long at 2066.4 | PnL: -0.07% | $-0.31 +2025-03-10 13:12:09,984 - INFO - OPENED SHORT at 2066.4 | Stop loss: 2076.7475321428574 | Take profit: 2035.3807017857143 +2025-03-10 13:12:10,076 - INFO - CLOSED short at 2064.47 | PnL: 0.09% | $-0.01 +2025-03-10 13:12:10,076 - INFO - OPENED LONG at 2064.47 | Stop loss: 2054.132117857143 | Take profit: 2095.4603482142857 +2025-03-10 13:12:10,093 - INFO - CLOSED long at 2070.04 | PnL: 0.27% | $0.31 +2025-03-10 13:12:10,112 - INFO - OPENED LONG at 2067.8 | Stop loss: 2057.445467857143 | Take profit: 2098.8402982142857 +2025-03-10 13:12:10,130 - INFO - CLOSED long at 2068.18 | PnL: 0.02% | $-0.15 +2025-03-10 13:12:10,130 - INFO - OPENED SHORT at 2068.18 | Stop loss: 2078.536432142857 | Take profit: 2037.1340017857142 +2025-03-10 13:12:10,183 - INFO - CLOSED short at 2064.99 | PnL: 0.15% | $0.10 +2025-03-10 13:12:10,184 - INFO - OPENED LONG at 2064.99 | Stop loss: 2054.6495178571427 | Take profit: 2095.9881482142855 +2025-03-10 13:12:10,203 - INFO - CLOSED long at 2065.83 | PnL: 0.04% | $-0.11 +2025-03-10 13:12:10,223 - INFO - OPENED LONG at 2066.15 | Stop loss: 2055.803717857143 | Take profit: 2097.1655482142855 +2025-03-10 13:12:10,278 - INFO - CLOSED long at 2062.89 | PnL: -0.16% | $-0.47 +2025-03-10 13:12:10,310 - INFO - OPENED SHORT at 2062.65 | Stop loss: 2072.978782142857 | Take profit: 2031.6869517857142 +2025-03-10 13:12:10,338 - INFO - CLOSED short at 2061.78 | PnL: 0.04% | $-0.10 +2025-03-10 13:12:10,338 - INFO - OPENED LONG at 2061.78 | Stop loss: 2051.4555678571433 | Take profit: 2092.729998214286 +2025-03-10 13:12:10,367 - INFO - CLOSED long at 2059.59 | PnL: -0.11% | $-0.37 +2025-03-10 13:12:10,429 - INFO - OPENED LONG at 2063.59 | Stop loss: 2053.256517857143 | Take profit: 2094.567148214286 +2025-03-10 13:12:10,449 - INFO - CLOSED long at 2064.96 | PnL: 0.07% | $-0.06 +2025-03-10 13:12:10,449 - INFO - OPENED SHORT at 2064.96 | Stop loss: 2075.3003321428573 | Take profit: 2033.9623017857143 +2025-03-10 13:12:10,467 - INFO - CLOSED short at 2066.24 | PnL: -0.06% | $-0.29 +2025-03-10 13:12:10,486 - INFO - OPENED LONG at 2067.1 | Stop loss: 2056.748967857143 | Take profit: 2098.1297982142855 +2025-03-10 13:12:10,521 - INFO - CLOSED long at 2066.09 | PnL: -0.05% | $-0.27 +2025-03-10 13:12:10,539 - INFO - OPENED LONG at 2064.45 | Stop loss: 2054.1122178571427 | Take profit: 2095.4400482142855 +2025-03-10 13:12:10,560 - INFO - CLOSED long at 2064.08 | PnL: -0.02% | $-0.21 +2025-03-10 13:12:10,561 - INFO - OPENED SHORT at 2064.08 | Stop loss: 2074.415932142857 | Take profit: 2033.095501785714 +2025-03-10 13:12:10,595 - INFO - CLOSED short at 2062.89 | PnL: 0.06% | $-0.08 +2025-03-10 13:12:10,612 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.161967857143 | Take profit: 2095.490798214286 +2025-03-10 13:12:10,670 - INFO - CLOSED long at 2061.6 | PnL: -0.14% | $-0.43 +2025-03-10 13:12:10,701 - INFO - OPENED LONG at 2060.9 | Stop loss: 2050.579967857143 | Take profit: 2091.836798214286 +2025-03-10 13:12:10,809 - INFO - CLOSED long at 2060.31 | PnL: -0.03% | $-0.23 +2025-03-10 13:12:10,811 - INFO - OPENED SHORT at 2060.31 | Stop loss: 2070.627082142857 | Take profit: 2029.3820517857143 +2025-03-10 13:12:10,946 - INFO - CLOSED short at 2061.9 | PnL: -0.08% | $-0.31 +2025-03-10 13:12:10,946 - INFO - OPENED LONG at 2061.9 | Stop loss: 2051.574967857143 | Take profit: 2092.8517982142857 +2025-03-10 13:12:11,134 - INFO - CLOSED long at 2062.6 | PnL: 0.03% | $-0.12 +2025-03-10 13:12:11,134 - INFO - OPENED SHORT at 2062.6 | Stop loss: 2072.928532142857 | Take profit: 2031.6377017857142 +2025-03-10 13:12:11,164 - INFO - CLOSED short at 2061.89 | PnL: 0.03% | $-0.12 +2025-03-10 13:12:11,195 - INFO - OPENED LONG at 2061.7 | Stop loss: 2051.3759678571428 | Take profit: 2092.6487982142853 +2025-03-10 13:12:11,225 - INFO - CLOSED long at 2060.7 | PnL: -0.05% | $-0.26 +2025-03-10 13:12:11,327 - INFO - OPENED LONG at 2059.96 | Stop loss: 2049.644667857143 | Take profit: 2090.882698214286 +2025-03-10 13:12:11,471 - INFO - CLOSED long at 2054.83 | PnL: -0.25% | $-0.61 +2025-03-10 13:12:11,504 - INFO - OPENED LONG at 2056.71 | Stop loss: 2046.410917857143 | Take profit: 2087.583948214286 +2025-03-10 13:12:11,561 - INFO - CLOSED long at 2059.8 | PnL: 0.15% | $0.09 +2025-03-10 13:12:11,596 - INFO - OPENED LONG at 2061.66 | Stop loss: 2051.3361678571428 | Take profit: 2092.608198214286 +2025-03-10 13:12:11,626 - INFO - CLOSED long at 2061.5 | PnL: -0.01% | $-0.19 +2025-03-10 13:12:11,646 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.276467857143 | Take profit: 2092.547298214286 +2025-03-10 13:12:11,686 - INFO - CLOSED long at 2062.69 | PnL: 0.05% | $-0.08 +2025-03-10 13:12:11,686 - INFO - OPENED SHORT at 2062.69 | Stop loss: 2073.018982142857 | Take profit: 2031.7263517857143 +2025-03-10 13:12:11,703 - INFO - CLOSED short at 2063.4 | PnL: -0.03% | $-0.23 +2025-03-10 13:12:11,759 - INFO - OPENED SHORT at 2063.9 | Stop loss: 2074.235032142857 | Take profit: 2032.9182017857145 +2025-03-10 13:12:11,777 - INFO - CLOSED short at 2064.49 | PnL: -0.03% | $-0.22 +2025-03-10 13:12:11,819 - INFO - OPENED LONG at 2066.34 | Stop loss: 2055.992767857143 | Take profit: 2097.358398214286 +2025-03-10 13:12:11,837 - INFO - CLOSED long at 2066.79 | PnL: 0.02% | $-0.13 +2025-03-10 13:12:12,008 - INFO - OPENED LONG at 2074.3 | Stop loss: 2063.912967857143 | Take profit: 2105.437798214286 +2025-03-10 13:12:12,055 - INFO - CLOSED long at 2075.01 | PnL: 0.03% | $-0.11 +2025-03-10 13:12:12,091 - INFO - OPENED SHORT at 2071.04 | Stop loss: 2081.4107321428573 | Take profit: 2039.9511017857142 +2025-03-10 13:12:12,175 - INFO - CLOSED short at 2068.15 | PnL: 0.14% | $0.07 +2025-03-10 13:12:12,193 - INFO - OPENED SHORT at 2068.39 | Stop loss: 2078.747482142857 | Take profit: 2037.3408517857142 +2025-03-10 13:12:12,226 - INFO - CLOSED short at 2069.03 | PnL: -0.03% | $-0.23 +2025-03-10 13:12:12,284 - INFO - OPENED LONG at 2068.79 | Stop loss: 2058.430517857143 | Take profit: 2099.8451482142855 +2025-03-10 13:12:12,312 - INFO - CLOSED long at 2072.99 | PnL: 0.20% | $0.18 +2025-03-10 13:12:12,312 - INFO - OPENED SHORT at 2072.99 | Stop loss: 2083.370482142857 | Take profit: 2041.871851785714 +2025-03-10 13:12:12,420 - INFO - CLOSED short at 2066.38 | PnL: 0.32% | $0.38 +2025-03-10 13:12:12,460 - INFO - OPENED SHORT at 2065.66 | Stop loss: 2076.003832142857 | Take profit: 2034.651801785714 +2025-03-10 13:12:12,479 - INFO - CLOSED short at 2063.95 | PnL: 0.08% | $-0.03 +2025-03-10 13:12:12,479 - INFO - OPENED LONG at 2063.95 | Stop loss: 2053.6147178571428 | Take profit: 2094.932548214286 +2025-03-10 13:12:12,515 - INFO - CLOSED long at 2064.5 | PnL: 0.03% | $-0.13 +2025-03-10 13:12:12,516 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.838032142857 | Take profit: 2033.5092017857144 +2025-03-10 13:12:12,553 - INFO - CLOSED short at 2064.4 | PnL: 0.00% | $-0.16 +2025-03-10 13:12:12,571 - INFO - OPENED LONG at 2064.31 | Stop loss: 2053.972917857143 | Take profit: 2095.297948214286 +2025-03-10 13:12:12,589 - INFO - CLOSED long at 2065.5 | PnL: 0.06% | $-0.07 +2025-03-10 13:12:12,649 - INFO - OPENED SHORT at 2065.31 | Stop loss: 2075.652082142857 | Take profit: 2034.3070517857143 +2025-03-10 13:12:12,708 - INFO - CLOSED short at 2066.5 | PnL: -0.06% | $-0.27 +2025-03-10 13:12:12,708 - INFO - OPENED LONG at 2066.5 | Stop loss: 2056.1519678571426 | Take profit: 2097.5207982142856 +2025-03-10 13:12:12,738 - INFO - CLOSED long at 2068.59 | PnL: 0.10% | $0.00 +2025-03-10 13:12:12,738 - INFO - OPENED SHORT at 2068.59 | Stop loss: 2078.9484821428573 | Take profit: 2037.5378517857143 +2025-03-10 13:12:12,769 - INFO - CLOSED short at 2071.59 | PnL: -0.15% | $-0.42 +2025-03-10 13:12:12,769 - INFO - OPENED LONG at 2071.59 | Stop loss: 2061.216517857143 | Take profit: 2102.687148214286 +2025-03-10 13:12:12,827 - INFO - CLOSED long at 2071.35 | PnL: -0.01% | $-0.19 +2025-03-10 13:12:12,827 - INFO - OPENED SHORT at 2071.35 | Stop loss: 2081.722282142857 | Take profit: 2040.2564517857143 +2025-03-10 13:12:12,871 - INFO - CLOSED short at 2069.69 | PnL: 0.08% | $-0.03 +2025-03-10 13:12:12,873 - INFO - OPENED LONG at 2069.69 | Stop loss: 2059.3260178571427 | Take profit: 2100.758648214286 +2025-03-10 13:12:12,907 - INFO - CLOSED long at 2070.8 | PnL: 0.05% | $-0.08 +2025-03-10 13:12:12,978 - INFO - OPENED SHORT at 2068.19 | Stop loss: 2078.5464821428573 | Take profit: 2037.1438517857143 +2025-03-10 13:12:13,031 - INFO - CLOSED short at 2069.78 | PnL: -0.08% | $-0.30 +2025-03-10 13:12:13,081 - INFO - OPENED SHORT at 2074.37 | Stop loss: 2084.7573821428573 | Take profit: 2043.2311517857142 +2025-03-10 13:12:13,165 - INFO - CLOSED short at 2073.27 | PnL: 0.05% | $-0.08 +2025-03-10 13:12:13,221 - INFO - OPENED SHORT at 2075.32 | Stop loss: 2085.7121321428576 | Take profit: 2044.1669017857146 +2025-03-10 13:12:13,275 - INFO - CLOSED short at 2075.61 | PnL: -0.01% | $-0.19 +2025-03-10 13:12:13,275 - INFO - OPENED LONG at 2075.61 | Stop loss: 2065.216417857143 | Take profit: 2106.7674482142857 +2025-03-10 13:12:13,292 - INFO - CLOSED long at 2074.0 | PnL: -0.08% | $-0.30 +2025-03-10 13:12:13,312 - INFO - OPENED LONG at 2072.09 | Stop loss: 2061.714017857143 | Take profit: 2103.1946482142857 +2025-03-10 13:12:13,350 - INFO - CLOSED long at 2067.7 | PnL: -0.21% | $-0.52 +2025-03-10 13:12:13,350 - INFO - OPENED SHORT at 2067.7 | Stop loss: 2078.054032142857 | Take profit: 2036.661201785714 +2025-03-10 13:12:13,370 - INFO - CLOSED short at 2067.0 | PnL: 0.03% | $-0.11 +2025-03-10 13:12:13,370 - INFO - OPENED LONG at 2067.0 | Stop loss: 2056.649467857143 | Take profit: 2098.0282982142858 +2025-03-10 13:12:13,405 - INFO - CLOSED long at 2066.4 | PnL: -0.03% | $-0.22 +2025-03-10 13:12:13,405 - INFO - OPENED SHORT at 2066.4 | Stop loss: 2076.7475321428574 | Take profit: 2035.3807017857143 +2025-03-10 13:12:13,424 - INFO - CLOSED short at 2066.89 | PnL: -0.02% | $-0.21 +2025-03-10 13:12:13,424 - INFO - OPENED LONG at 2066.89 | Stop loss: 2056.5400178571426 | Take profit: 2097.9166482142855 +2025-03-10 13:12:13,446 - INFO - CLOSED long at 2067.88 | PnL: 0.05% | $-0.09 +2025-03-10 13:12:13,506 - INFO - OPENED LONG at 2068.1 | Stop loss: 2057.7439678571427 | Take profit: 2099.1447982142854 +2025-03-10 13:12:13,535 - INFO - CLOSED long at 2069.0 | PnL: 0.04% | $-0.09 +2025-03-10 13:12:13,535 - INFO - OPENED SHORT at 2069.0 | Stop loss: 2079.360532142857 | Take profit: 2037.9417017857143 +2025-03-10 13:12:13,616 - INFO - CLOSED short at 2067.19 | PnL: 0.09% | $-0.02 +2025-03-10 13:12:13,640 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.1569678571427 | Take profit: 2096.5057982142857 +2025-03-10 13:12:13,675 - INFO - CLOSED long at 2065.8 | PnL: 0.01% | $-0.14 +2025-03-10 13:12:13,676 - INFO - OPENED SHORT at 2065.8 | Stop loss: 2076.1445321428573 | Take profit: 2034.7897017857144 +2025-03-10 13:12:13,693 - INFO - CLOSED short at 2065.07 | PnL: 0.04% | $-0.11 +2025-03-10 13:12:13,693 - INFO - OPENED LONG at 2065.07 | Stop loss: 2054.729117857143 | Take profit: 2096.069348214286 +2025-03-10 13:12:13,714 - INFO - CLOSED long at 2066.09 | PnL: 0.05% | $-0.08 +2025-03-10 13:12:13,733 - INFO - OPENED SHORT at 2063.39 | Stop loss: 2073.722482142857 | Take profit: 2032.415851785714 +2025-03-10 13:12:13,754 - INFO - CLOSED short at 2062.34 | PnL: 0.05% | $-0.08 +2025-03-10 13:12:13,754 - INFO - OPENED LONG at 2062.34 | Stop loss: 2052.012767857143 | Take profit: 2093.2983982142855 +2025-03-10 13:12:13,771 - INFO - CLOSED long at 2063.98 | PnL: 0.08% | $-0.03 +2025-03-10 13:12:13,792 - INFO - OPENED SHORT at 2066.1 | Stop loss: 2076.446032142857 | Take profit: 2035.0852017857142 +2025-03-10 13:12:13,813 - INFO - CLOSED short at 2065.06 | PnL: 0.05% | $-0.08 +2025-03-10 13:12:13,867 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.838032142857 | Take profit: 2033.5092017857144 +2025-03-10 13:12:13,895 - INFO - CLOSED short at 2066.33 | PnL: -0.09% | $-0.31 +2025-03-10 13:12:13,953 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.019032142857 | Take profit: 2029.7662017857142 +2025-03-10 13:12:14,054 - INFO - CLOSED short at 2058.65 | PnL: 0.10% | $-0.00 +2025-03-10 13:12:14,090 - INFO - OPENED SHORT at 2053.01 | Stop loss: 2063.290582142857 | Take profit: 2022.1915517857146 +2025-03-10 13:12:14,112 - INFO - CLOSED short at 2049.21 | PnL: 0.19% | $0.14 +2025-03-10 13:12:14,112 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.9484178571429 | Take profit: 2079.971448214286 +2025-03-10 13:12:14,211 - INFO - CLOSED long at 2057.89 | PnL: 0.42% | $0.53 +2025-03-10 13:12:14,211 - INFO - OPENED SHORT at 2057.89 | Stop loss: 2068.194982142857 | Take profit: 2026.9983517857142 +2025-03-10 13:12:14,307 - INFO - CLOSED short at 2062.43 | PnL: -0.22% | $-0.53 +2025-03-10 13:12:14,441 - INFO - OPENED LONG at 2066.59 | Stop loss: 2056.241517857143 | Take profit: 2097.612148214286 +2025-03-10 13:12:14,461 - INFO - CLOSED long at 2064.08 | PnL: -0.12% | $-0.36 +2025-03-10 13:12:14,461 - INFO - OPENED SHORT at 2064.08 | Stop loss: 2074.415932142857 | Take profit: 2033.095501785714 +2025-03-10 13:12:14,479 - INFO - CLOSED short at 2061.21 | PnL: 0.14% | $0.06 +2025-03-10 13:12:14,480 - INFO - OPENED LONG at 2061.21 | Stop loss: 2050.888417857143 | Take profit: 2092.1514482142857 +2025-03-10 13:12:14,496 - INFO - CLOSED long at 2059.9 | PnL: -0.06% | $-0.27 +2025-03-10 13:12:14,496 - INFO - OPENED SHORT at 2059.9 | Stop loss: 2070.215032142857 | Take profit: 2028.9782017857144 +2025-03-10 13:12:14,512 - INFO - CLOSED short at 2060.7 | PnL: -0.04% | $-0.23 +2025-03-10 13:12:14,528 - INFO - OPENED LONG at 2061.84 | Stop loss: 2051.515267857143 | Take profit: 2092.790898214286 +2025-03-10 13:12:14,567 - INFO - CLOSED long at 2065.72 | PnL: 0.19% | $0.14 +2025-03-10 13:12:14,643 - INFO - OPENED SHORT at 2069.81 | Stop loss: 2080.1745821428567 | Take profit: 2038.7395517857142 +2025-03-10 13:12:14,729 - INFO - CLOSED short at 2074.05 | PnL: -0.20% | $-0.50 +2025-03-10 13:12:14,729 - INFO - OPENED LONG at 2074.05 | Stop loss: 2063.6642178571433 | Take profit: 2105.184048214286 +2025-03-10 13:12:14,818 - INFO - CLOSED long at 2071.8 | PnL: -0.11% | $-0.34 +2025-03-10 13:12:14,818 - INFO - OPENED SHORT at 2071.8 | Stop loss: 2082.1745321428575 | Take profit: 2040.6997017857145 +2025-03-10 13:12:14,849 - INFO - CLOSED short at 2074.9 | PnL: -0.15% | $-0.40 +2025-03-10 13:12:14,850 - INFO - OPENED LONG at 2074.9 | Stop loss: 2064.509967857143 | Take profit: 2106.046798214286 +2025-03-10 13:12:14,884 - INFO - CLOSED long at 2077.61 | PnL: 0.13% | $0.05 +2025-03-10 13:12:14,885 - INFO - OPENED SHORT at 2077.61 | Stop loss: 2088.0135821428576 | Take profit: 2046.4225517857144 +2025-03-10 13:12:14,901 - INFO - CLOSED short at 2085.56 | PnL: -0.38% | $-0.78 +2025-03-10 13:12:14,937 - INFO - OPENED LONG at 2103.02 | Stop loss: 2092.489367857143 | Take profit: 2134.5885982142854 +2025-03-10 13:12:14,954 - INFO - CLOSED long at 2130.7 | PnL: 1.32% | $1.94 +2025-03-10 13:12:14,954 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.369032142857 | Take profit: 2098.716201785714 +2025-03-10 13:12:14,978 - INFO - CLOSED short at 2139.54 | PnL: -0.41% | $-0.84 +2025-03-10 13:12:14,979 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.826767857143 | Take profit: 2171.6563982142857 +2025-03-10 13:12:15,017 - INFO - CLOSED long at 2133.95 | PnL: -0.26% | $-0.58 +2025-03-10 13:12:15,017 - INFO - OPENED SHORT at 2133.95 | Stop loss: 2144.6352821428572 | Take profit: 2101.917451785714 +2025-03-10 13:12:15,034 - INFO - CLOSED short at 2137.59 | PnL: -0.17% | $-0.43 +2025-03-10 13:12:15,034 - INFO - OPENED LONG at 2137.59 | Stop loss: 2126.8865178571427 | Take profit: 2169.677148214286 +2025-03-10 13:12:15,144 - INFO - CLOSED long at 2140.01 | PnL: 0.11% | $0.02 +2025-03-10 13:12:15,201 - INFO - OPENED LONG at 2126.99 | Stop loss: 2116.3395178571427 | Take profit: 2158.9181482142853 +2025-03-10 13:12:15,270 - INFO - CLOSED long at 2121.09 | PnL: -0.28% | $-0.60 +2025-03-10 13:12:15,289 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.533717857143 | Take profit: 2151.9755482142855 +2025-03-10 13:12:15,304 - INFO - CLOSED long at 2117.24 | PnL: -0.14% | $-0.38 +2025-03-10 13:12:15,328 - INFO - OPENED SHORT at 2119.93 | Stop loss: 2130.545182142857 | Take profit: 2088.1077517857143 +2025-03-10 13:12:15,362 - INFO - CLOSED short at 2118.52 | PnL: 0.07% | $-0.05 +2025-03-10 13:12:15,414 - INFO - OPENED LONG at 2115.28 | Stop loss: 2104.688067857143 | Take profit: 2147.0324982142856 +2025-03-10 13:12:15,539 - INFO - CLOSED long at 2112.95 | PnL: -0.11% | $-0.33 +2025-03-10 13:12:15,597 - INFO - OPENED LONG at 2113.24 | Stop loss: 2102.6582678571426 | Take profit: 2144.961898214285 +2025-03-10 13:12:15,629 - INFO - CLOSED long at 2112.99 | PnL: -0.01% | $-0.18 +2025-03-10 13:12:15,704 - INFO - OPENED LONG at 2110.9 | Stop loss: 2100.329967857143 | Take profit: 2142.586798214286 +2025-03-10 13:12:15,789 - INFO - CLOSED long at 2100.5 | PnL: -0.49% | $-0.93 +2025-03-10 13:12:15,880 - INFO - OPENED LONG at 2102.19 | Stop loss: 2091.663517857143 | Take profit: 2133.7461482142858 +2025-03-10 13:12:15,991 - INFO - CLOSED long at 2100.69 | PnL: -0.07% | $-0.26 +2025-03-10 13:12:16,045 - INFO - OPENED LONG at 2106.39 | Stop loss: 2095.842517857143 | Take profit: 2138.0091482142857 +2025-03-10 13:12:16,062 - INFO - CLOSED long at 2100.74 | PnL: -0.27% | $-0.57 +2025-03-10 13:12:16,062 - INFO - OPENED SHORT at 2100.74 | Stop loss: 2111.259232142857 | Take profit: 2069.205601785714 +2025-03-10 13:12:16,103 - INFO - CLOSED short at 2104.68 | PnL: -0.19% | $-0.44 +2025-03-10 13:12:16,103 - INFO - OPENED LONG at 2104.68 | Stop loss: 2094.141067857143 | Take profit: 2136.2734982142856 +2025-03-10 13:12:16,136 - INFO - CLOSED long at 2099.59 | PnL: -0.24% | $-0.52 +2025-03-10 13:12:16,136 - INFO - OPENED SHORT at 2099.59 | Stop loss: 2110.1034821428575 | Take profit: 2068.0728517857146 +2025-03-10 13:12:16,177 - INFO - CLOSED short at 2098.39 | PnL: 0.06% | $-0.06 +2025-03-10 13:12:16,228 - INFO - OPENED LONG at 2093.33 | Stop loss: 2082.8478178571427 | Take profit: 2124.7532482142856 +2025-03-10 13:12:16,303 - INFO - CLOSED long at 2094.72 | PnL: 0.07% | $-0.05 +2025-03-10 13:12:16,303 - INFO - OPENED SHORT at 2094.72 | Stop loss: 2105.209132142857 | Take profit: 2063.275901785714 +2025-03-10 13:12:16,338 - INFO - CLOSED short at 2094.08 | PnL: 0.03% | $-0.10 +2025-03-10 13:12:16,338 - INFO - OPENED LONG at 2094.08 | Stop loss: 2083.594067857143 | Take profit: 2125.5144982142856 +2025-03-10 13:12:16,398 - INFO - STOP LOSS hit for long at 2083.594067857143 | PnL: -0.50% | $-0.90 +2025-03-10 13:12:16,448 - INFO - OPENED LONG at 2083.97 | Stop loss: 2073.5346178571426 | Take profit: 2115.2528482142857 +2025-03-10 13:12:16,547 - INFO - CLOSED long at 2081.25 | PnL: -0.13% | $-0.34 +2025-03-10 13:12:16,547 - INFO - OPENED SHORT at 2081.25 | Stop loss: 2091.6717821428574 | Take profit: 2050.0079517857143 +2025-03-10 13:12:16,568 - INFO - CLOSED short at 2083.41 | PnL: -0.10% | $-0.30 +2025-03-10 13:12:16,568 - INFO - OPENED LONG at 2083.41 | Stop loss: 2072.977417857143 | Take profit: 2114.6844482142856 +2025-03-10 13:12:16,589 - INFO - CLOSED long at 2085.09 | PnL: 0.08% | $-0.03 +2025-03-10 13:12:16,604 - INFO - OPENED SHORT at 2083.59 | Stop loss: 2094.023482142857 | Take profit: 2052.3128517857144 +2025-03-10 13:12:16,628 - INFO - CLOSED short at 2086.57 | PnL: -0.14% | $-0.36 +2025-03-10 13:12:16,628 - INFO - OPENED LONG at 2086.57 | Stop loss: 2076.121617857143 | Take profit: 2117.8918482142863 +2025-03-10 13:12:16,683 - INFO - CLOSED long at 2084.72 | PnL: -0.09% | $-0.28 +2025-03-10 13:12:16,684 - INFO - OPENED SHORT at 2084.72 | Stop loss: 2095.1591321428573 | Take profit: 2053.4259017857144 +2025-03-10 13:12:16,714 - INFO - CLOSED short at 2085.83 | PnL: -0.05% | $-0.22 +2025-03-10 13:12:16,747 - INFO - OPENED SHORT at 2085.85 | Stop loss: 2096.294782142857 | Take profit: 2054.5389517857143 +2025-03-10 13:12:16,781 - INFO - CLOSED short at 2088.66 | PnL: -0.13% | $-0.34 +2025-03-10 13:12:16,781 - INFO - OPENED LONG at 2088.66 | Stop loss: 2078.2011678571425 | Take profit: 2120.0131982142857 +2025-03-10 13:12:16,894 - INFO - CLOSED long at 2087.47 | PnL: -0.06% | $-0.23 +2025-03-10 13:12:16,894 - INFO - OPENED SHORT at 2087.47 | Stop loss: 2097.922882142857 | Take profit: 2056.134651785714 +2025-03-10 13:12:16,929 - INFO - CLOSED short at 2086.81 | PnL: 0.03% | $-0.10 +2025-03-10 13:12:16,929 - INFO - OPENED LONG at 2086.81 | Stop loss: 2076.3604178571427 | Take profit: 2118.1354482142856 +2025-03-10 13:12:16,951 - INFO - CLOSED long at 2089.79 | PnL: 0.14% | $0.06 +2025-03-10 13:12:16,951 - INFO - OPENED SHORT at 2089.79 | Stop loss: 2100.254482142857 | Take profit: 2058.4198517857144 +2025-03-10 13:12:16,968 - INFO - CLOSED short at 2085.67 | PnL: 0.20% | $0.14 +2025-03-10 13:12:16,986 - INFO - OPENED SHORT at 2089.2 | Stop loss: 2099.661532142857 | Take profit: 2057.838701785714 +2025-03-10 13:12:17,020 - INFO - CLOSED short at 2091.05 | PnL: -0.09% | $-0.27 +2025-03-10 13:12:17,038 - INFO - OPENED LONG at 2091.95 | Stop loss: 2081.474717857143 | Take profit: 2123.3525482142854 +2025-03-10 13:12:17,066 - INFO - CLOSED long at 2094.7 | PnL: 0.13% | $0.05 +2025-03-10 13:12:17,099 - INFO - OPENED SHORT at 2097.8 | Stop loss: 2108.3045321428576 | Take profit: 2066.3097017857144 +2025-03-10 13:12:17,131 - INFO - CLOSED short at 2099.99 | PnL: -0.10% | $-0.29 +2025-03-10 13:12:17,243 - INFO - OPENED SHORT at 2099.89 | Stop loss: 2110.404982142857 | Take profit: 2068.368351785714 +2025-03-10 13:12:17,261 - INFO - CLOSED short at 2100.89 | PnL: -0.05% | $-0.21 +2025-03-10 13:12:17,262 - INFO - OPENED LONG at 2100.89 | Stop loss: 2090.370017857143 | Take profit: 2132.4266482142853 +2025-03-10 13:12:17,364 - INFO - CLOSED long at 2103.07 | PnL: 0.10% | $0.01 +2025-03-10 13:12:17,365 - INFO - OPENED SHORT at 2103.07 | Stop loss: 2113.6008821428572 | Take profit: 2071.5006517857146 +2025-03-10 13:12:17,384 - INFO - CLOSED short at 2101.5 | PnL: 0.07% | $-0.04 +2025-03-10 13:12:17,384 - INFO - OPENED LONG at 2101.5 | Stop loss: 2090.976967857143 | Take profit: 2133.0457982142857 +2025-03-10 13:12:17,401 - INFO - CLOSED long at 2105.83 | PnL: 0.21% | $0.15 +2025-03-10 13:12:17,440 - INFO - OPENED LONG at 2105.2 | Stop loss: 2094.6584678571426 | Take profit: 2136.8012982142855 +2025-03-10 13:12:17,522 - INFO - Trade Analysis: Win Rate=8.1% in uptrends, 0.0% in downtrends | Avg Win=$0.23, Avg Loss=$-0.26 +2025-03-10 13:12:17,522 - INFO - Episode 2: Reward=-131.84, Balance=$72.29, Win Rate=15.7%, Trades=153, Episode PnL=$-23.43, Total PnL=$-82.68, Max Drawdown=27.7%, Pred Accuracy=98.6% +2025-03-10 13:12:17,522 - ERROR - Error in episode 2: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:12:17,522 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1812, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:12:17,545 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:12:17,792 - INFO - OPENED LONG at 2046.58 | Stop loss: 2036.3315678571428 | Take profit: 2077.3019982142855 +2025-03-10 13:12:17,831 - INFO - CLOSED long at 2047.2 | PnL: 0.03% | $-0.14 +2025-03-10 13:12:17,850 - INFO - OPENED LONG at 2045.99 | Stop loss: 2035.744517857143 | Take profit: 2076.703148214286 +2025-03-10 13:12:17,867 - INFO - CLOSED long at 2045.99 | PnL: 0.00% | $-0.20 +2025-03-10 13:12:17,867 - INFO - OPENED SHORT at 2045.99 | Stop loss: 2056.235482142857 | Take profit: 2015.2768517857144 +2025-03-10 13:12:17,931 - INFO - CLOSED short at 2048.51 | PnL: -0.12% | $-0.44 +2025-03-10 13:12:17,940 - INFO - OPENED SHORT at 2050.0 | Stop loss: 2060.2655321428574 | Take profit: 2019.2267017857143 +2025-03-10 13:12:17,969 - INFO - CLOSED short at 2050.24 | PnL: -0.01% | $-0.22 +2025-03-10 13:12:17,970 - INFO - OPENED LONG at 2050.24 | Stop loss: 2039.9732678571427 | Take profit: 2081.0168982142854 +2025-03-10 13:12:18,022 - INFO - CLOSED long at 2053.26 | PnL: 0.15% | $0.09 +2025-03-10 13:12:18,022 - INFO - OPENED SHORT at 2053.26 | Stop loss: 2063.5418321428574 | Take profit: 2022.4378017857143 +2025-03-10 13:12:18,080 - INFO - CLOSED short at 2055.69 | PnL: -0.12% | $-0.43 +2025-03-10 13:12:18,108 - INFO - OPENED LONG at 2057.01 | Stop loss: 2046.709417857143 | Take profit: 2087.8884482142857 +2025-03-10 13:12:18,175 - INFO - CLOSED long at 2058.39 | PnL: 0.07% | $-0.06 +2025-03-10 13:12:18,207 - INFO - OPENED SHORT at 2060.13 | Stop loss: 2070.446182142857 | Take profit: 2029.2047517857145 +2025-03-10 13:12:18,243 - INFO - CLOSED short at 2059.7 | PnL: 0.02% | $-0.15 +2025-03-10 13:12:18,243 - INFO - OPENED LONG at 2059.7 | Stop loss: 2049.3859678571425 | Take profit: 2090.6187982142856 +2025-03-10 13:12:18,279 - INFO - CLOSED long at 2063.29 | PnL: 0.17% | $0.15 +2025-03-10 13:12:18,301 - INFO - OPENED LONG at 2064.61 | Stop loss: 2054.2714178571428 | Take profit: 2095.602448214286 +2025-03-10 13:12:18,316 - INFO - CLOSED long at 2063.59 | PnL: -0.05% | $-0.29 +2025-03-10 13:12:18,320 - INFO - OPENED SHORT at 2063.59 | Stop loss: 2073.923482142857 | Take profit: 2032.6128517857144 +2025-03-10 13:12:18,338 - INFO - CLOSED short at 2061.61 | PnL: 0.10% | $-0.01 +2025-03-10 13:12:18,357 - INFO - OPENED LONG at 2064.69 | Stop loss: 2054.351017857143 | Take profit: 2095.6836482142858 +2025-03-10 13:12:18,427 - INFO - CLOSED long at 2058.3 | PnL: -0.31% | $-0.80 +2025-03-10 13:12:18,427 - INFO - OPENED SHORT at 2058.3 | Stop loss: 2068.6070321428574 | Take profit: 2027.4022017857146 +2025-03-10 13:12:18,565 - INFO - CLOSED short at 2060.31 | PnL: -0.10% | $-0.38 +2025-03-10 13:12:18,565 - INFO - OPENED LONG at 2060.31 | Stop loss: 2049.992917857143 | Take profit: 2091.237948214286 +2025-03-10 13:12:18,601 - INFO - CLOSED long at 2059.49 | PnL: -0.04% | $-0.27 +2025-03-10 13:12:18,661 - INFO - OPENED SHORT at 2057.89 | Stop loss: 2068.194982142857 | Take profit: 2026.9983517857142 +2025-03-10 13:12:18,722 - INFO - CLOSED short at 2061.79 | PnL: -0.19% | $-0.56 +2025-03-10 13:12:18,762 - INFO - OPENED LONG at 2064.32 | Stop loss: 2053.982867857143 | Take profit: 2095.308098214286 +2025-03-10 13:12:18,821 - INFO - CLOSED long at 2068.11 | PnL: 0.18% | $0.16 +2025-03-10 13:12:18,987 - INFO - OPENED SHORT at 2068.65 | Stop loss: 2079.0087821428574 | Take profit: 2037.5969517857145 +2025-03-10 13:12:19,019 - INFO - CLOSED short at 2068.99 | PnL: -0.02% | $-0.22 +2025-03-10 13:12:19,019 - INFO - OPENED LONG at 2068.99 | Stop loss: 2058.6295178571427 | Take profit: 2100.0481482142854 +2025-03-10 13:12:19,063 - INFO - CLOSED long at 2067.69 | PnL: -0.06% | $-0.31 +2025-03-10 13:12:19,064 - INFO - OPENED SHORT at 2067.69 | Stop loss: 2078.043982142857 | Take profit: 2036.6513517857143 +2025-03-10 13:12:19,113 - INFO - CLOSED short at 2073.73 | PnL: -0.29% | $-0.75 +2025-03-10 13:12:19,131 - INFO - OPENED SHORT at 2075.1 | Stop loss: 2085.491032142857 | Take profit: 2043.9502017857142 +2025-03-10 13:12:19,148 - INFO - CLOSED short at 2072.91 | PnL: 0.11% | $0.01 +2025-03-10 13:12:19,149 - INFO - OPENED LONG at 2072.91 | Stop loss: 2062.5299178571427 | Take profit: 2104.0269482142853 +2025-03-10 13:12:19,179 - INFO - CLOSED long at 2071.38 | PnL: -0.07% | $-0.33 +2025-03-10 13:12:19,179 - INFO - OPENED SHORT at 2071.38 | Stop loss: 2081.7524321428573 | Take profit: 2040.2860017857145 +2025-03-10 13:12:19,234 - INFO - CLOSED short at 2070.9 | PnL: 0.02% | $-0.14 +2025-03-10 13:12:19,234 - INFO - OPENED LONG at 2070.9 | Stop loss: 2060.529967857143 | Take profit: 2101.986798214286 +2025-03-10 13:12:19,362 - INFO - CLOSED long at 2067.2 | PnL: -0.18% | $-0.52 +2025-03-10 13:12:19,364 - INFO - OPENED SHORT at 2067.2 | Stop loss: 2077.551532142857 | Take profit: 2036.1687017857141 +2025-03-10 13:12:19,441 - INFO - CLOSED short at 2070.7 | PnL: -0.17% | $-0.50 +2025-03-10 13:12:19,441 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3309678571427 | Take profit: 2101.7837982142855 +2025-03-10 13:12:19,458 - INFO - CLOSED long at 2069.34 | PnL: -0.07% | $-0.31 +2025-03-10 13:12:19,459 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.702232142857 | Take profit: 2038.2766017857143 +2025-03-10 13:12:19,521 - INFO - CLOSED short at 2067.6 | PnL: 0.08% | $-0.03 +2025-03-10 13:12:19,522 - INFO - OPENED LONG at 2067.6 | Stop loss: 2057.2464678571428 | Take profit: 2098.6372982142857 +2025-03-10 13:12:19,574 - INFO - CLOSED long at 2066.39 | PnL: -0.06% | $-0.29 +2025-03-10 13:12:19,574 - INFO - OPENED SHORT at 2066.39 | Stop loss: 2076.737482142857 | Take profit: 2035.3708517857142 +2025-03-10 13:12:19,609 - INFO - CLOSED short at 2066.19 | PnL: 0.01% | $-0.17 +2025-03-10 13:12:19,684 - INFO - OPENED LONG at 2066.18 | Stop loss: 2055.8335678571425 | Take profit: 2097.1959982142853 +2025-03-10 13:12:19,797 - INFO - CLOSED long at 2068.59 | PnL: 0.12% | $0.03 +2025-03-10 13:12:19,797 - INFO - OPENED SHORT at 2068.59 | Stop loss: 2078.9484821428573 | Take profit: 2037.5378517857143 +2025-03-10 13:12:19,828 - INFO - CLOSED short at 2069.7 | PnL: -0.05% | $-0.28 +2025-03-10 13:12:19,847 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.7675321428574 | Take profit: 2039.3207017857144 +2025-03-10 13:12:19,919 - INFO - CLOSED short at 2071.36 | PnL: -0.05% | $-0.27 +2025-03-10 13:12:19,919 - INFO - OPENED LONG at 2071.36 | Stop loss: 2060.9876678571427 | Take profit: 2102.453698214286 +2025-03-10 13:12:19,936 - INFO - CLOSED long at 2072.75 | PnL: 0.07% | $-0.06 +2025-03-10 13:12:19,936 - INFO - OPENED SHORT at 2072.75 | Stop loss: 2083.129282142857 | Take profit: 2041.6354517857144 +2025-03-10 13:12:20,034 - INFO - CLOSED short at 2071.92 | PnL: 0.04% | $-0.11 +2025-03-10 13:12:20,067 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.032467857143 | Take profit: 2101.479298214286 +2025-03-10 13:12:20,092 - INFO - CLOSED long at 2071.11 | PnL: 0.03% | $-0.12 +2025-03-10 13:12:20,118 - INFO - OPENED LONG at 2069.46 | Stop loss: 2059.0971678571427 | Take profit: 2100.525198214286 +2025-03-10 13:12:20,222 - INFO - CLOSED long at 2067.79 | PnL: -0.08% | $-0.33 +2025-03-10 13:12:20,350 - INFO - OPENED LONG at 2068.58 | Stop loss: 2058.221567857143 | Take profit: 2099.631998214286 +2025-03-10 13:12:20,405 - INFO - CLOSED long at 2067.86 | PnL: -0.03% | $-0.25 +2025-03-10 13:12:20,405 - INFO - OPENED SHORT at 2067.86 | Stop loss: 2078.2148321428576 | Take profit: 2036.8188017857144 +2025-03-10 13:12:20,459 - INFO - CLOSED short at 2069.2 | PnL: -0.06% | $-0.30 +2025-03-10 13:12:20,459 - INFO - OPENED LONG at 2069.2 | Stop loss: 2058.8384678571424 | Take profit: 2100.2612982142855 +2025-03-10 13:12:20,488 - INFO - CLOSED long at 2070.3 | PnL: 0.05% | $-0.08 +2025-03-10 13:12:20,558 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.069032142857 | Take profit: 2039.6162017857139 +2025-03-10 13:12:20,621 - INFO - CLOSED short at 2070.73 | PnL: -0.00% | $-0.18 +2025-03-10 13:12:20,674 - INFO - OPENED LONG at 2068.69 | Stop loss: 2058.331017857143 | Take profit: 2099.7436482142857 +2025-03-10 13:12:20,704 - INFO - CLOSED long at 2067.84 | PnL: -0.04% | $-0.25 +2025-03-10 13:12:20,704 - INFO - OPENED SHORT at 2067.84 | Stop loss: 2078.1947321428574 | Take profit: 2036.7991017857144 +2025-03-10 13:12:20,756 - INFO - CLOSED short at 2067.86 | PnL: -0.00% | $-0.18 +2025-03-10 13:12:20,756 - INFO - OPENED LONG at 2067.86 | Stop loss: 2057.505167857143 | Take profit: 2098.9011982142856 +2025-03-10 13:12:20,843 - INFO - CLOSED long at 2066.39 | PnL: -0.07% | $-0.31 +2025-03-10 13:12:20,914 - INFO - OPENED LONG at 2070.04 | Stop loss: 2059.6742678571427 | Take profit: 2101.113898214286 +2025-03-10 13:12:20,954 - INFO - CLOSED long at 2067.8 | PnL: -0.11% | $-0.37 +2025-03-10 13:12:21,103 - INFO - OPENED SHORT at 2066.15 | Stop loss: 2076.496282142857 | Take profit: 2035.1344517857142 +2025-03-10 13:12:21,123 - INFO - CLOSED short at 2065.26 | PnL: 0.04% | $-0.10 +2025-03-10 13:12:21,141 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.5600178571426 | Take profit: 2093.8566482142855 +2025-03-10 13:12:21,256 - INFO - CLOSED long at 2064.96 | PnL: 0.10% | $0.00 +2025-03-10 13:12:21,256 - INFO - OPENED SHORT at 2064.96 | Stop loss: 2075.3003321428573 | Take profit: 2033.9623017857143 +2025-03-10 13:12:21,347 - INFO - CLOSED short at 2065.54 | PnL: -0.03% | $-0.23 +2025-03-10 13:12:21,347 - INFO - OPENED LONG at 2065.54 | Stop loss: 2055.1967678571427 | Take profit: 2096.5463982142855 +2025-03-10 13:12:21,409 - INFO - CLOSED long at 2064.45 | PnL: -0.05% | $-0.27 +2025-03-10 13:12:21,409 - INFO - OPENED SHORT at 2064.45 | Stop loss: 2074.787782142857 | Take profit: 2033.459951785714 +2025-03-10 13:12:21,544 - INFO - CLOSED short at 2060.9 | PnL: 0.17% | $0.13 +2025-03-10 13:12:21,581 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.199982142857 | Take profit: 2027.9833517857144 +2025-03-10 13:12:21,618 - INFO - CLOSED short at 2060.31 | PnL: -0.07% | $-0.30 +2025-03-10 13:12:21,637 - INFO - OPENED SHORT at 2061.8 | Stop loss: 2072.1245321428573 | Take profit: 2030.8497017857144 +2025-03-10 13:12:21,697 - INFO - CLOSED short at 2062.61 | PnL: -0.04% | $-0.25 +2025-03-10 13:12:21,698 - INFO - OPENED LONG at 2062.61 | Stop loss: 2052.281417857143 | Take profit: 2093.572448214286 +2025-03-10 13:12:21,733 - INFO - CLOSED long at 2060.91 | PnL: -0.08% | $-0.32 +2025-03-10 13:12:21,842 - INFO - OPENED LONG at 2064.1 | Stop loss: 2053.7639678571427 | Take profit: 2095.0847982142855 +2025-03-10 13:12:21,877 - INFO - CLOSED long at 2064.33 | PnL: 0.01% | $-0.16 +2025-03-10 13:12:21,897 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.0575178571426 | Take profit: 2094.3641482142853 +2025-03-10 13:12:21,951 - INFO - CLOSED long at 2063.53 | PnL: 0.01% | $-0.16 +2025-03-10 13:12:21,968 - INFO - OPENED SHORT at 2063.0 | Stop loss: 2073.3305321428575 | Take profit: 2032.0317017857142 +2025-03-10 13:12:21,988 - INFO - CLOSED short at 2062.6 | PnL: 0.02% | $-0.14 +2025-03-10 13:12:21,988 - INFO - OPENED LONG at 2062.6 | Stop loss: 2052.271467857143 | Take profit: 2093.5622982142854 +2025-03-10 13:12:22,004 - INFO - CLOSED long at 2061.89 | PnL: -0.03% | $-0.23 +2025-03-10 13:12:22,109 - INFO - OPENED LONG at 2059.61 | Stop loss: 2049.2964178571433 | Take profit: 2090.527448214286 +2025-03-10 13:12:22,140 - INFO - CLOSED long at 2059.16 | PnL: -0.02% | $-0.21 +2025-03-10 13:12:22,140 - INFO - OPENED SHORT at 2059.16 | Stop loss: 2069.471332142857 | Take profit: 2028.2493017857141 +2025-03-10 13:12:22,203 - INFO - CLOSED short at 2058.89 | PnL: 0.01% | $-0.15 +2025-03-10 13:12:22,204 - INFO - OPENED LONG at 2058.89 | Stop loss: 2048.5800178571426 | Take profit: 2089.7966482142856 +2025-03-10 13:12:22,232 - INFO - CLOSED long at 2059.96 | PnL: 0.05% | $-0.08 +2025-03-10 13:12:22,301 - INFO - OPENED SHORT at 2056.28 | Stop loss: 2066.5769321428575 | Take profit: 2025.4125017857145 +2025-03-10 13:12:22,341 - INFO - CLOSED short at 2054.89 | PnL: 0.07% | $-0.06 +2025-03-10 13:12:22,341 - INFO - OPENED LONG at 2054.89 | Stop loss: 2044.6000178571428 | Take profit: 2085.736648214285 +2025-03-10 13:12:22,359 - INFO - CLOSED long at 2054.83 | PnL: -0.00% | $-0.18 +2025-03-10 13:12:22,463 - INFO - OPENED SHORT at 2061.5 | Stop loss: 2071.823032142857 | Take profit: 2030.5542017857142 +2025-03-10 13:12:22,497 - INFO - CLOSED short at 2061.6 | PnL: -0.00% | $-0.18 +2025-03-10 13:12:22,499 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.276467857143 | Take profit: 2092.547298214286 +2025-03-10 13:12:22,558 - INFO - CLOSED long at 2062.69 | PnL: 0.05% | $-0.08 +2025-03-10 13:12:22,558 - INFO - OPENED SHORT at 2062.69 | Stop loss: 2073.018982142857 | Take profit: 2031.7263517857143 +2025-03-10 13:12:22,591 - INFO - CLOSED short at 2063.4 | PnL: -0.03% | $-0.23 +2025-03-10 13:12:22,591 - INFO - OPENED LONG at 2063.4 | Stop loss: 2053.0674678571427 | Take profit: 2094.374298214286 +2025-03-10 13:12:22,622 - INFO - CLOSED long at 2066.36 | PnL: 0.14% | $0.07 +2025-03-10 13:12:22,663 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.564967857143 | Take profit: 2094.881798214286 +2025-03-10 13:12:22,701 - INFO - CLOSED long at 2066.33 | PnL: 0.12% | $0.03 +2025-03-10 13:12:22,701 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.6771821428574 | Take profit: 2035.3117517857143 +2025-03-10 13:12:22,717 - INFO - CLOSED short at 2066.34 | PnL: -0.00% | $-0.17 +2025-03-10 13:12:22,790 - INFO - OPENED LONG at 2065.69 | Stop loss: 2055.346017857143 | Take profit: 2096.6986482142856 +2025-03-10 13:12:22,807 - INFO - CLOSED long at 2069.79 | PnL: 0.20% | $0.17 +2025-03-10 13:12:22,809 - INFO - OPENED SHORT at 2069.79 | Stop loss: 2080.154482142857 | Take profit: 2038.7198517857141 +2025-03-10 13:12:22,861 - INFO - CLOSED short at 2074.3 | PnL: -0.22% | $-0.55 +2025-03-10 13:12:22,861 - INFO - OPENED LONG at 2074.3 | Stop loss: 2063.912967857143 | Take profit: 2105.437798214286 +2025-03-10 13:12:22,892 - INFO - CLOSED long at 2078.01 | PnL: 0.18% | $0.13 +2025-03-10 13:12:22,977 - INFO - OPENED SHORT at 2071.04 | Stop loss: 2081.4107321428573 | Take profit: 2039.9511017857142 +2025-03-10 13:12:23,008 - INFO - CLOSED short at 2070.01 | PnL: 0.05% | $-0.09 +2025-03-10 13:12:23,008 - INFO - OPENED LONG at 2070.01 | Stop loss: 2059.6444178571433 | Take profit: 2101.083448214286 +2025-03-10 13:12:23,073 - INFO - CLOSED long at 2070.0 | PnL: -0.00% | $-0.17 +2025-03-10 13:12:23,091 - INFO - OPENED LONG at 2068.15 | Stop loss: 2057.793717857143 | Take profit: 2099.1955482142857 +2025-03-10 13:12:23,108 - INFO - CLOSED long at 2068.39 | PnL: 0.01% | $-0.15 +2025-03-10 13:12:23,144 - INFO - OPENED SHORT at 2069.03 | Stop loss: 2079.3906821428573 | Take profit: 2037.9712517857145 +2025-03-10 13:12:23,162 - INFO - CLOSED short at 2067.44 | PnL: 0.08% | $-0.04 +2025-03-10 13:12:23,162 - INFO - OPENED LONG at 2067.44 | Stop loss: 2057.0872678571427 | Take profit: 2098.4748982142855 +2025-03-10 13:12:23,198 - INFO - CLOSED long at 2072.99 | PnL: 0.27% | $0.29 +2025-03-10 13:12:23,198 - INFO - OPENED SHORT at 2072.99 | Stop loss: 2083.370482142857 | Take profit: 2041.871851785714 +2025-03-10 13:12:23,218 - INFO - CLOSED short at 2071.49 | PnL: 0.07% | $-0.05 +2025-03-10 13:12:23,236 - INFO - OPENED SHORT at 2069.87 | Stop loss: 2080.234882142857 | Take profit: 2038.7986517857141 +2025-03-10 13:12:23,294 - INFO - CLOSED short at 2066.38 | PnL: 0.17% | $0.12 +2025-03-10 13:12:23,328 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.355967857143 | Take profit: 2096.7087982142857 +2025-03-10 13:12:23,355 - INFO - CLOSED long at 2065.66 | PnL: -0.00% | $-0.17 +2025-03-10 13:12:23,355 - INFO - OPENED SHORT at 2065.66 | Stop loss: 2076.003832142857 | Take profit: 2034.651801785714 +2025-03-10 13:12:23,389 - INFO - CLOSED short at 2063.95 | PnL: 0.08% | $-0.03 +2025-03-10 13:12:23,390 - INFO - OPENED LONG at 2063.95 | Stop loss: 2053.6147178571428 | Take profit: 2094.932548214286 +2025-03-10 13:12:23,422 - INFO - CLOSED long at 2063.97 | PnL: 0.00% | $-0.17 +2025-03-10 13:12:23,495 - INFO - OPENED LONG at 2064.31 | Stop loss: 2053.972917857143 | Take profit: 2095.297948214286 +2025-03-10 13:12:23,512 - INFO - CLOSED long at 2065.5 | PnL: 0.06% | $-0.07 +2025-03-10 13:12:23,512 - INFO - OPENED SHORT at 2065.5 | Stop loss: 2075.843032142857 | Take profit: 2034.4942017857143 +2025-03-10 13:12:23,563 - INFO - CLOSED short at 2065.31 | PnL: 0.01% | $-0.15 +2025-03-10 13:12:23,587 - INFO - OPENED LONG at 2066.8 | Stop loss: 2056.450467857143 | Take profit: 2097.825298214286 +2025-03-10 13:12:23,603 - INFO - CLOSED long at 2066.5 | PnL: -0.01% | $-0.19 +2025-03-10 13:12:23,603 - INFO - OPENED SHORT at 2066.5 | Stop loss: 2076.848032142857 | Take profit: 2035.4792017857144 +2025-03-10 13:12:23,657 - INFO - CLOSED short at 2071.59 | PnL: -0.25% | $-0.59 +2025-03-10 13:12:23,658 - INFO - OPENED LONG at 2071.59 | Stop loss: 2061.216517857143 | Take profit: 2102.687148214286 +2025-03-10 13:12:23,804 - INFO - CLOSED long at 2070.7 | PnL: -0.04% | $-0.24 +2025-03-10 13:12:23,804 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.069032142857 | Take profit: 2039.6162017857139 +2025-03-10 13:12:23,835 - INFO - CLOSED short at 2070.8 | PnL: -0.00% | $-0.18 +2025-03-10 13:12:23,835 - INFO - OPENED LONG at 2070.8 | Stop loss: 2060.430467857143 | Take profit: 2101.885298214286 +2025-03-10 13:12:23,854 - INFO - CLOSED long at 2070.35 | PnL: -0.02% | $-0.20 +2025-03-10 13:12:23,854 - INFO - OPENED SHORT at 2070.35 | Stop loss: 2080.717282142857 | Take profit: 2039.2714517857144 +2025-03-10 13:12:23,875 - INFO - CLOSED short at 2070.61 | PnL: -0.01% | $-0.19 +2025-03-10 13:12:23,876 - INFO - OPENED LONG at 2070.61 | Stop loss: 2060.241417857143 | Take profit: 2101.692448214286 +2025-03-10 13:12:23,909 - INFO - CLOSED long at 2068.19 | PnL: -0.12% | $-0.36 +2025-03-10 13:12:23,927 - INFO - OPENED LONG at 2068.67 | Stop loss: 2058.311117857143 | Take profit: 2099.723348214286 +2025-03-10 13:12:23,944 - INFO - CLOSED long at 2070.67 | PnL: 0.10% | $-0.01 +2025-03-10 13:12:23,944 - INFO - OPENED SHORT at 2070.67 | Stop loss: 2081.0388821428573 | Take profit: 2039.5866517857144 +2025-03-10 13:12:23,964 - INFO - CLOSED short at 2069.78 | PnL: 0.04% | $-0.09 +2025-03-10 13:12:24,087 - INFO - OPENED SHORT at 2073.99 | Stop loss: 2084.375482142857 | Take profit: 2042.856851785714 +2025-03-10 13:12:24,122 - INFO - CLOSED short at 2075.32 | PnL: -0.06% | $-0.27 +2025-03-10 13:12:24,122 - INFO - OPENED LONG at 2075.32 | Stop loss: 2064.927867857143 | Take profit: 2106.473098214286 +2025-03-10 13:12:24,209 - INFO - CLOSED long at 2075.61 | PnL: 0.01% | $-0.14 +2025-03-10 13:12:24,209 - INFO - OPENED SHORT at 2075.61 | Stop loss: 2086.0035821428573 | Take profit: 2044.4525517857146 +2025-03-10 13:12:24,288 - INFO - CLOSED short at 2067.7 | PnL: 0.38% | $0.46 +2025-03-10 13:12:24,288 - INFO - OPENED LONG at 2067.7 | Stop loss: 2057.3459678571426 | Take profit: 2098.7387982142855 +2025-03-10 13:12:24,324 - INFO - CLOSED long at 2067.9 | PnL: 0.01% | $-0.15 +2025-03-10 13:12:24,362 - INFO - OPENED LONG at 2066.89 | Stop loss: 2056.5400178571426 | Take profit: 2097.9166482142855 +2025-03-10 13:12:24,512 - INFO - CLOSED long at 2067.19 | PnL: 0.01% | $-0.14 +2025-03-10 13:12:24,512 - INFO - OPENED SHORT at 2067.19 | Stop loss: 2077.541482142857 | Take profit: 2036.1588517857142 +2025-03-10 13:12:24,538 - INFO - CLOSED short at 2065.5 | PnL: 0.08% | $-0.03 +2025-03-10 13:12:24,571 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.355967857143 | Take profit: 2096.7087982142857 +2025-03-10 13:12:24,638 - INFO - CLOSED long at 2066.09 | PnL: 0.02% | $-0.13 +2025-03-10 13:12:24,638 - INFO - OPENED SHORT at 2066.09 | Stop loss: 2076.4359821428575 | Take profit: 2035.0753517857145 +2025-03-10 13:12:24,745 - INFO - CLOSED short at 2064.11 | PnL: 0.10% | $-0.01 +2025-03-10 13:12:24,745 - INFO - OPENED LONG at 2064.11 | Stop loss: 2053.773917857143 | Take profit: 2095.094948214286 +2025-03-10 13:12:24,915 - INFO - CLOSED long at 2058.65 | PnL: -0.26% | $-0.60 +2025-03-10 13:12:24,915 - INFO - OPENED SHORT at 2058.65 | Stop loss: 2068.958782142857 | Take profit: 2027.7469517857144 +2025-03-10 13:12:24,944 - INFO - CLOSED short at 2056.77 | PnL: 0.09% | $-0.01 +2025-03-10 13:12:24,945 - INFO - OPENED LONG at 2056.77 | Stop loss: 2046.4706178571428 | Take profit: 2087.6448482142855 +2025-03-10 13:12:24,975 - INFO - CLOSED long at 2053.01 | PnL: -0.18% | $-0.46 +2025-03-10 13:12:25,028 - INFO - OPENED LONG at 2049.5 | Stop loss: 2039.2369678571429 | Take profit: 2080.2657982142855 +2025-03-10 13:12:25,073 - INFO - CLOSED long at 2058.3 | PnL: 0.43% | $0.54 +2025-03-10 13:12:25,139 - INFO - OPENED LONG at 2062.83 | Stop loss: 2052.500317857143 | Take profit: 2093.7957482142856 +2025-03-10 13:12:25,163 - INFO - CLOSED long at 2063.9 | PnL: 0.05% | $-0.08 +2025-03-10 13:12:25,179 - INFO - OPENED LONG at 2065.1 | Stop loss: 2054.758967857143 | Take profit: 2096.099798214286 +2025-03-10 13:12:25,213 - INFO - CLOSED long at 2062.55 | PnL: -0.12% | $-0.37 +2025-03-10 13:12:25,213 - INFO - OPENED SHORT at 2062.55 | Stop loss: 2072.878282142857 | Take profit: 2031.5884517857146 +2025-03-10 13:12:25,371 - INFO - CLOSED short at 2061.21 | PnL: 0.06% | $-0.06 +2025-03-10 13:12:25,371 - INFO - OPENED LONG at 2061.21 | Stop loss: 2050.888417857143 | Take profit: 2092.1514482142857 +2025-03-10 13:12:25,503 - INFO - CLOSED long at 2070.31 | PnL: 0.44% | $0.56 +2025-03-10 13:12:25,545 - INFO - OPENED SHORT at 2069.81 | Stop loss: 2080.1745821428567 | Take profit: 2038.7395517857142 +2025-03-10 13:12:25,587 - INFO - CLOSED short at 2073.49 | PnL: -0.18% | $-0.46 +2025-03-10 13:12:25,605 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.435782142857 | Take profit: 2042.9159517857145 +2025-03-10 13:12:25,626 - INFO - CLOSED short at 2072.99 | PnL: 0.05% | $-0.08 +2025-03-10 13:12:25,626 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6095178571427 | Take profit: 2104.1081482142854 +2025-03-10 13:12:25,716 - INFO - CLOSED long at 2074.9 | PnL: 0.09% | $-0.01 +2025-03-10 13:12:25,716 - INFO - OPENED SHORT at 2074.9 | Stop loss: 2085.2900321428574 | Take profit: 2043.7532017857143 +2025-03-10 13:12:25,746 - INFO - CLOSED short at 2076.08 | PnL: -0.06% | $-0.26 +2025-03-10 13:12:25,747 - INFO - OPENED LONG at 2076.08 | Stop loss: 2065.684067857143 | Take profit: 2107.2444982142856 +2025-03-10 13:12:25,862 - INFO - TAKE PROFIT hit for long at 2107.2444982142856 | PnL: 1.50% | $2.28 +2025-03-10 13:12:25,979 - INFO - OPENED LONG at 2141.3 | Stop loss: 2130.577967857143 | Take profit: 2173.4427982142856 +2025-03-10 13:12:26,031 - INFO - CLOSED long at 2134.78 | PnL: -0.30% | $-0.68 +2025-03-10 13:12:26,031 - INFO - OPENED SHORT at 2134.78 | Stop loss: 2145.4694321428574 | Take profit: 2102.7350017857143 +2025-03-10 13:12:26,062 - INFO - CLOSED short at 2126.99 | PnL: 0.36% | $0.44 +2025-03-10 13:12:26,096 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.647967857143 | Take profit: 2159.2327982142856 +2025-03-10 13:12:26,217 - INFO - CLOSED long at 2117.24 | PnL: -0.47% | $-0.95 +2025-03-10 13:12:26,217 - INFO - OPENED SHORT at 2117.24 | Stop loss: 2127.841732142857 | Take profit: 2085.458101785714 +2025-03-10 13:12:26,262 - INFO - CLOSED short at 2121.4 | PnL: -0.20% | $-0.49 +2025-03-10 13:12:26,278 - INFO - OPENED SHORT at 2118.52 | Stop loss: 2129.128132142857 | Take profit: 2086.7189017857145 +2025-03-10 13:12:26,298 - INFO - CLOSED short at 2119.14 | PnL: -0.03% | $-0.21 +2025-03-10 13:12:26,298 - INFO - OPENED LONG at 2119.14 | Stop loss: 2108.5287678571426 | Take profit: 2150.9503982142855 +2025-03-10 13:12:26,349 - INFO - CLOSED long at 2107.43 | PnL: -0.55% | $-1.07 +2025-03-10 13:12:26,370 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.0314678571426 | Take profit: 2142.282298214285 +2025-03-10 13:12:26,469 - INFO - CLOSED long at 2113.24 | PnL: 0.13% | $0.04 +2025-03-10 13:12:26,522 - INFO - OPENED SHORT at 2120.81 | Stop loss: 2131.429582142857 | Take profit: 2088.9745517857145 +2025-03-10 13:12:26,557 - INFO - CLOSED short at 2116.48 | PnL: 0.20% | $0.17 +2025-03-10 13:12:26,582 - INFO - OPENED LONG at 2114.8 | Stop loss: 2104.210467857143 | Take profit: 2146.545298214286 +2025-03-10 13:12:26,655 - INFO - CLOSED long at 2106.49 | PnL: -0.39% | $-0.80 +2025-03-10 13:12:26,655 - INFO - OPENED SHORT at 2106.49 | Stop loss: 2117.037982142857 | Take profit: 2074.869351785714 +2025-03-10 13:12:26,696 - INFO - CLOSED short at 2103.33 | PnL: 0.15% | $0.08 +2025-03-10 13:12:26,696 - INFO - OPENED LONG at 2103.33 | Stop loss: 2092.797817857143 | Take profit: 2134.9032482142857 +2025-03-10 13:12:26,736 - INFO - STOP LOSS hit for long at 2092.797817857143 | PnL: -0.50% | $-0.96 +2025-03-10 13:12:26,769 - INFO - OPENED LONG at 2098.1 | Stop loss: 2087.5939678571426 | Take profit: 2129.5947982142857 +2025-03-10 13:12:26,778 - INFO - CLOSED long at 2102.19 | PnL: 0.19% | $0.15 +2025-03-10 13:12:26,802 - INFO - OPENED SHORT at 2102.29 | Stop loss: 2112.816982142857 | Take profit: 2070.7323517857144 +2025-03-10 13:12:26,820 - INFO - CLOSED short at 2099.25 | PnL: 0.14% | $0.07 +2025-03-10 13:12:26,821 - INFO - OPENED LONG at 2099.25 | Stop loss: 2088.738217857143 | Take profit: 2130.7620482142856 +2025-03-10 13:12:26,839 - INFO - CLOSED long at 2098.9 | PnL: -0.02% | $-0.19 +2025-03-10 13:12:26,897 - INFO - OPENED LONG at 2104.83 | Stop loss: 2094.290317857143 | Take profit: 2136.4257482142857 +2025-03-10 13:12:26,930 - INFO - CLOSED long at 2106.39 | PnL: 0.07% | $-0.04 +2025-03-10 13:12:26,931 - INFO - OPENED SHORT at 2106.39 | Stop loss: 2116.937482142857 | Take profit: 2074.770851785714 +2025-03-10 13:12:26,961 - INFO - CLOSED short at 2100.74 | PnL: 0.27% | $0.27 +2025-03-10 13:12:26,990 - INFO - OPENED SHORT at 2103.86 | Stop loss: 2114.394832142857 | Take profit: 2072.278801785714 +2025-03-10 13:12:27,075 - INFO - CLOSED short at 2100.02 | PnL: 0.18% | $0.13 +2025-03-10 13:12:27,075 - INFO - OPENED LONG at 2100.02 | Stop loss: 2089.504367857143 | Take profit: 2131.543598214286 +2025-03-10 13:12:27,117 - INFO - CLOSED long at 2095.29 | PnL: -0.23% | $-0.52 +2025-03-10 13:12:27,117 - INFO - OPENED SHORT at 2095.29 | Stop loss: 2105.7819821428575 | Take profit: 2063.8373517857144 +2025-03-10 13:12:27,167 - INFO - CLOSED short at 2092.46 | PnL: 0.14% | $0.06 +2025-03-10 13:12:27,198 - INFO - OPENED SHORT at 2094.72 | Stop loss: 2105.209132142857 | Take profit: 2063.275901785714 +2025-03-10 13:12:27,218 - INFO - CLOSED short at 2094.08 | PnL: 0.03% | $-0.11 +2025-03-10 13:12:27,287 - INFO - OPENED LONG at 2088.44 | Stop loss: 2077.9822678571427 | Take profit: 2119.789898214286 +2025-03-10 13:12:27,395 - INFO - CLOSED long at 2081.49 | PnL: -0.33% | $-0.68 +2025-03-10 13:12:27,395 - INFO - OPENED SHORT at 2081.49 | Stop loss: 2091.912982142857 | Take profit: 2050.244351785714 +2025-03-10 13:12:27,424 - INFO - CLOSED short at 2080.38 | PnL: 0.05% | $-0.07 +2025-03-10 13:12:27,425 - INFO - OPENED LONG at 2080.38 | Stop loss: 2069.962567857143 | Take profit: 2111.6089982142857 +2025-03-10 13:12:27,448 - INFO - CLOSED long at 2081.25 | PnL: 0.04% | $-0.09 +2025-03-10 13:12:27,449 - INFO - OPENED SHORT at 2081.25 | Stop loss: 2091.6717821428574 | Take profit: 2050.0079517857143 +2025-03-10 13:12:27,487 - INFO - CLOSED short at 2085.09 | PnL: -0.18% | $-0.44 +2025-03-10 13:12:27,487 - INFO - OPENED LONG at 2085.09 | Stop loss: 2074.649017857143 | Take profit: 2116.389648214286 +2025-03-10 13:12:27,523 - INFO - CLOSED long at 2086.57 | PnL: 0.07% | $-0.05 +2025-03-10 13:12:27,523 - INFO - OPENED SHORT at 2086.57 | Stop loss: 2097.0183821428573 | Take profit: 2055.2481517857145 +2025-03-10 13:12:27,562 - INFO - CLOSED short at 2084.72 | PnL: 0.09% | $-0.02 +2025-03-10 13:12:27,562 - INFO - OPENED LONG at 2084.72 | Stop loss: 2074.2808678571428 | Take profit: 2116.0140982142852 +2025-03-10 13:12:27,686 - INFO - CLOSED long at 2089.96 | PnL: 0.25% | $0.23 +2025-03-10 13:12:27,686 - INFO - OPENED SHORT at 2089.96 | Stop loss: 2100.425332142857 | Take profit: 2058.5873017857143 +2025-03-10 13:12:27,859 - INFO - CLOSED short at 2085.67 | PnL: 0.21% | $0.16 +2025-03-10 13:12:27,859 - INFO - OPENED LONG at 2085.67 | Stop loss: 2075.226117857143 | Take profit: 2116.978348214286 +2025-03-10 13:12:27,892 - INFO - CLOSED long at 2091.05 | PnL: 0.26% | $0.25 +2025-03-10 13:12:27,950 - INFO - OPENED LONG at 2094.7 | Stop loss: 2084.210967857143 | Take profit: 2126.1437982142857 +2025-03-10 13:12:27,971 - INFO - CLOSED long at 2097.8 | PnL: 0.15% | $0.08 +2025-03-10 13:12:28,003 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.163732142857 | Take profit: 2070.092101785714 +2025-03-10 13:12:28,049 - INFO - CLOSED short at 2098.49 | PnL: 0.15% | $0.08 +2025-03-10 13:12:28,162 - INFO - OPENED LONG at 2106.15 | Stop loss: 2095.603717857143 | Take profit: 2137.765548214286 +2025-03-10 13:12:28,344 - INFO - CLOSED long at 2103.52 | PnL: -0.12% | $-0.35 +2025-03-10 13:12:28,344 - INFO - OPENED SHORT at 2103.52 | Stop loss: 2114.0531321428575 | Take profit: 2071.9439017857144 +2025-03-10 13:12:28,386 - INFO - Trade Analysis: Win Rate=16.7% in uptrends, 0.0% in downtrends | Avg Win=$0.24, Avg Loss=$-0.26 +2025-03-10 13:12:28,387 - INFO - Episode 3: Reward=-109.67, Balance=$78.60, Win Rate=21.7%, Trades=143, Episode PnL=$-11.62, Total PnL=$-104.09, Max Drawdown=21.2%, Pred Accuracy=98.5% +2025-03-10 13:12:28,387 - ERROR - Error in episode 3: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:12:28,387 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1812, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:12:28,408 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:12:28,770 - INFO - OPENED LONG at 2045.99 | Stop loss: 2035.744517857143 | Take profit: 2076.703148214286 +2025-03-10 13:12:28,918 - INFO - CLOSED long at 2049.89 | PnL: 0.19% | $0.18 +2025-03-10 13:12:28,918 - INFO - OPENED SHORT at 2049.89 | Stop loss: 2060.154982142857 | Take profit: 2019.1183517857141 +2025-03-10 13:12:28,937 - INFO - CLOSED short at 2051.11 | PnL: -0.06% | $-0.32 +2025-03-10 13:12:28,955 - INFO - OPENED SHORT at 2053.26 | Stop loss: 2063.5418321428574 | Take profit: 2022.4378017857143 +2025-03-10 13:12:28,972 - INFO - CLOSED short at 2051.89 | PnL: 0.07% | $-0.07 +2025-03-10 13:12:28,972 - INFO - OPENED LONG at 2051.89 | Stop loss: 2041.6150178571427 | Take profit: 2082.6916482142856 +2025-03-10 13:12:29,114 - INFO - CLOSED long at 2059.7 | PnL: 0.38% | $0.56 +2025-03-10 13:12:29,180 - INFO - OPENED SHORT at 2064.61 | Stop loss: 2074.948582142857 | Take profit: 2033.6175517857146 +2025-03-10 13:12:29,239 - INFO - CLOSED short at 2061.61 | PnL: 0.15% | $0.09 +2025-03-10 13:12:29,239 - INFO - OPENED LONG at 2061.61 | Stop loss: 2051.286417857143 | Take profit: 2092.557448214286 +2025-03-10 13:12:29,337 - INFO - CLOSED long at 2061.89 | PnL: 0.01% | $-0.17 +2025-03-10 13:12:29,337 - INFO - OPENED SHORT at 2061.89 | Stop loss: 2072.214982142857 | Take profit: 2030.938351785714 +2025-03-10 13:12:29,356 - INFO - CLOSED short at 2062.89 | PnL: -0.05% | $-0.30 +2025-03-10 13:12:29,390 - INFO - OPENED SHORT at 2059.49 | Stop loss: 2069.8029821428568 | Take profit: 2028.574351785714 +2025-03-10 13:12:29,453 - INFO - CLOSED short at 2057.94 | PnL: 0.08% | $-0.05 +2025-03-10 13:12:29,453 - INFO - OPENED LONG at 2057.94 | Stop loss: 2047.6347678571428 | Take profit: 2088.832398214286 +2025-03-10 13:12:29,484 - INFO - CLOSED long at 2058.11 | PnL: 0.01% | $-0.18 +2025-03-10 13:12:29,485 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.4160821428572 | Take profit: 2027.2150517857144 +2025-03-10 13:12:29,628 - INFO - STOP LOSS hit for short at 2068.4160821428572 | PnL: -0.50% | $-1.19 +2025-03-10 13:12:29,645 - INFO - OPENED LONG at 2068.11 | Stop loss: 2057.753917857143 | Take profit: 2099.154948214286 +2025-03-10 13:12:29,705 - INFO - CLOSED long at 2071.63 | PnL: 0.17% | $0.14 +2025-03-10 13:12:29,705 - INFO - OPENED SHORT at 2071.63 | Stop loss: 2082.003682142857 | Take profit: 2040.5322517857144 +2025-03-10 13:12:29,830 - INFO - CLOSED short at 2070.26 | PnL: 0.07% | $-0.07 +2025-03-10 13:12:29,890 - INFO - OPENED LONG at 2073.73 | Stop loss: 2063.3458178571427 | Take profit: 2104.859248214286 +2025-03-10 13:12:30,101 - INFO - CLOSED long at 2070.79 | PnL: -0.14% | $-0.47 +2025-03-10 13:12:30,144 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.375632142857 | Take profit: 2036.9764017857142 +2025-03-10 13:12:30,277 - INFO - CLOSED short at 2068.8 | PnL: -0.04% | $-0.27 +2025-03-10 13:12:30,315 - INFO - OPENED LONG at 2067.6 | Stop loss: 2057.2464678571428 | Take profit: 2098.6372982142857 +2025-03-10 13:12:30,431 - INFO - CLOSED long at 2065.99 | PnL: -0.08% | $-0.35 +2025-03-10 13:12:30,431 - INFO - OPENED SHORT at 2065.99 | Stop loss: 2076.335482142857 | Take profit: 2034.9768517857142 +2025-03-10 13:12:30,470 - INFO - CLOSED short at 2066.29 | PnL: -0.01% | $-0.22 +2025-03-10 13:12:30,470 - INFO - OPENED LONG at 2066.29 | Stop loss: 2055.943017857143 | Take profit: 2097.3076482142856 +2025-03-10 13:12:30,598 - INFO - CLOSED long at 2070.4 | PnL: 0.20% | $0.19 +2025-03-10 13:12:30,670 - INFO - OPENED LONG at 2071.39 | Stop loss: 2061.0175178571426 | Take profit: 2102.4841482142856 +2025-03-10 13:12:30,730 - INFO - CLOSED long at 2072.75 | PnL: 0.07% | $-0.07 +2025-03-10 13:12:30,761 - INFO - OPENED LONG at 2073.11 | Stop loss: 2062.728917857143 | Take profit: 2104.2299482142857 +2025-03-10 13:12:30,814 - INFO - CLOSED long at 2072.15 | PnL: -0.05% | $-0.28 +2025-03-10 13:12:30,846 - INFO - OPENED LONG at 2074.29 | Stop loss: 2063.903017857143 | Take profit: 2105.4276482142855 +2025-03-10 13:12:30,863 - INFO - CLOSED long at 2073.9 | PnL: -0.02% | $-0.23 +2025-03-10 13:12:30,865 - INFO - OPENED SHORT at 2073.9 | Stop loss: 2084.2850321428573 | Take profit: 2042.7682017857144 +2025-03-10 13:12:30,921 - INFO - CLOSED short at 2071.11 | PnL: 0.13% | $0.07 +2025-03-10 13:12:30,923 - INFO - OPENED LONG at 2071.11 | Stop loss: 2060.738917857143 | Take profit: 2102.199948214286 +2025-03-10 13:12:31,017 - INFO - CLOSED long at 2067.46 | PnL: -0.18% | $-0.53 +2025-03-10 13:12:31,042 - INFO - OPENED SHORT at 2066.8 | Stop loss: 2077.1495321428574 | Take profit: 2035.7747017857143 +2025-03-10 13:12:31,070 - INFO - CLOSED short at 2065.49 | PnL: 0.06% | $-0.07 +2025-03-10 13:12:31,070 - INFO - OPENED LONG at 2065.49 | Stop loss: 2055.1470178571426 | Take profit: 2096.4956482142857 +2025-03-10 13:12:31,215 - INFO - CLOSED long at 2068.8 | PnL: 0.16% | $0.12 +2025-03-10 13:12:31,262 - INFO - OPENED LONG at 2067.86 | Stop loss: 2057.505167857143 | Take profit: 2098.9011982142856 +2025-03-10 13:12:31,297 - INFO - CLOSED long at 2069.2 | PnL: 0.06% | $-0.07 +2025-03-10 13:12:31,297 - INFO - OPENED SHORT at 2069.2 | Stop loss: 2079.561532142857 | Take profit: 2038.1387017857141 +2025-03-10 13:12:31,350 - INFO - CLOSED short at 2070.7 | PnL: -0.07% | $-0.33 +2025-03-10 13:12:31,351 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3309678571427 | Take profit: 2101.7837982142855 +2025-03-10 13:12:31,378 - INFO - CLOSED long at 2070.73 | PnL: 0.00% | $-0.19 +2025-03-10 13:12:31,378 - INFO - OPENED SHORT at 2070.73 | Stop loss: 2081.099182142857 | Take profit: 2039.6457517857143 +2025-03-10 13:12:31,403 - INFO - CLOSED short at 2068.5 | PnL: 0.11% | $0.01 +2025-03-10 13:12:31,422 - INFO - OPENED LONG at 2068.69 | Stop loss: 2058.331017857143 | Take profit: 2099.7436482142857 +2025-03-10 13:12:31,471 - INFO - CLOSED long at 2067.11 | PnL: -0.08% | $-0.34 +2025-03-10 13:12:31,506 - INFO - OPENED LONG at 2067.86 | Stop loss: 2057.505167857143 | Take profit: 2098.9011982142856 +2025-03-10 13:12:31,535 - INFO - CLOSED long at 2066.4 | PnL: -0.07% | $-0.32 +2025-03-10 13:12:31,536 - INFO - OPENED SHORT at 2066.4 | Stop loss: 2076.7475321428574 | Take profit: 2035.3807017857143 +2025-03-10 13:12:31,564 - INFO - CLOSED short at 2066.1 | PnL: 0.01% | $-0.16 +2025-03-10 13:12:31,564 - INFO - OPENED LONG at 2066.1 | Stop loss: 2055.753967857143 | Take profit: 2097.1147982142857 +2025-03-10 13:12:31,744 - INFO - CLOSED long at 2067.88 | PnL: 0.09% | $-0.03 +2025-03-10 13:12:31,745 - INFO - OPENED SHORT at 2067.88 | Stop loss: 2078.2349321428574 | Take profit: 2036.8385017857145 +2025-03-10 13:12:31,764 - INFO - CLOSED short at 2064.99 | PnL: 0.14% | $0.08 +2025-03-10 13:12:31,764 - INFO - OPENED LONG at 2064.99 | Stop loss: 2054.6495178571427 | Take profit: 2095.9881482142855 +2025-03-10 13:12:31,802 - INFO - CLOSED long at 2066.15 | PnL: 0.06% | $-0.08 +2025-03-10 13:12:31,803 - INFO - OPENED SHORT at 2066.15 | Stop loss: 2076.496282142857 | Take profit: 2035.1344517857142 +2025-03-10 13:12:31,845 - INFO - CLOSED short at 2062.89 | PnL: 0.16% | $0.11 +2025-03-10 13:12:31,846 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.5600178571426 | Take profit: 2093.8566482142855 +2025-03-10 13:12:31,880 - INFO - CLOSED long at 2062.65 | PnL: -0.01% | $-0.21 +2025-03-10 13:12:31,917 - INFO - OPENED LONG at 2061.78 | Stop loss: 2051.4555678571433 | Take profit: 2092.729998214286 +2025-03-10 13:12:31,980 - INFO - CLOSED long at 2061.3 | PnL: -0.02% | $-0.23 +2025-03-10 13:12:32,015 - INFO - OPENED SHORT at 2063.59 | Stop loss: 2073.923482142857 | Take profit: 2032.6128517857144 +2025-03-10 13:12:32,036 - INFO - CLOSED short at 2064.96 | PnL: -0.07% | $-0.31 +2025-03-10 13:12:32,036 - INFO - OPENED LONG at 2064.96 | Stop loss: 2054.6196678571428 | Take profit: 2095.9576982142858 +2025-03-10 13:12:32,059 - INFO - CLOSED long at 2066.24 | PnL: 0.06% | $-0.07 +2025-03-10 13:12:32,073 - INFO - OPENED LONG at 2067.1 | Stop loss: 2056.748967857143 | Take profit: 2098.1297982142855 +2025-03-10 13:12:32,129 - INFO - CLOSED long at 2064.45 | PnL: -0.13% | $-0.43 +2025-03-10 13:12:32,154 - INFO - OPENED LONG at 2064.08 | Stop loss: 2053.744067857143 | Take profit: 2095.0644982142853 +2025-03-10 13:12:32,170 - INFO - CLOSED long at 2062.71 | PnL: -0.07% | $-0.31 +2025-03-10 13:12:32,170 - INFO - OPENED SHORT at 2062.71 | Stop loss: 2073.0390821428573 | Take profit: 2031.7460517857144 +2025-03-10 13:12:32,188 - INFO - CLOSED short at 2062.89 | PnL: -0.01% | $-0.20 +2025-03-10 13:12:32,188 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.5600178571426 | Take profit: 2093.8566482142855 +2025-03-10 13:12:32,236 - INFO - CLOSED long at 2063.5 | PnL: 0.03% | $-0.13 +2025-03-10 13:12:32,236 - INFO - OPENED SHORT at 2063.5 | Stop loss: 2073.833032142857 | Take profit: 2032.5242017857142 +2025-03-10 13:12:32,324 - INFO - CLOSED short at 2060.65 | PnL: 0.14% | $0.07 +2025-03-10 13:12:32,325 - INFO - OPENED LONG at 2060.65 | Stop loss: 2050.3312178571427 | Take profit: 2091.583048214286 +2025-03-10 13:12:32,356 - INFO - CLOSED long at 2058.89 | PnL: -0.09% | $-0.34 +2025-03-10 13:12:32,388 - INFO - OPENED SHORT at 2059.3 | Stop loss: 2069.612032142857 | Take profit: 2028.3872017857145 +2025-03-10 13:12:32,421 - INFO - CLOSED short at 2060.31 | PnL: -0.05% | $-0.28 +2025-03-10 13:12:32,421 - INFO - OPENED LONG at 2060.31 | Stop loss: 2049.992917857143 | Take profit: 2091.237948214286 +2025-03-10 13:12:32,445 - INFO - CLOSED long at 2061.8 | PnL: 0.07% | $-0.05 +2025-03-10 13:12:32,445 - INFO - OPENED SHORT at 2061.8 | Stop loss: 2072.1245321428573 | Take profit: 2030.8497017857144 +2025-03-10 13:12:32,465 - INFO - CLOSED short at 2064.7 | PnL: -0.14% | $-0.44 +2025-03-10 13:12:32,465 - INFO - OPENED LONG at 2064.7 | Stop loss: 2054.360967857143 | Take profit: 2095.6937982142854 +2025-03-10 13:12:32,582 - INFO - CLOSED long at 2065.36 | PnL: 0.03% | $-0.12 +2025-03-10 13:12:32,582 - INFO - OPENED SHORT at 2065.36 | Stop loss: 2075.7023321428574 | Take profit: 2034.3563017857145 +2025-03-10 13:12:32,622 - INFO - CLOSED short at 2063.39 | PnL: 0.10% | $-0.01 +2025-03-10 13:12:32,622 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.0575178571426 | Take profit: 2094.3641482142853 +2025-03-10 13:12:32,730 - INFO - CLOSED long at 2063.0 | PnL: -0.02% | $-0.22 +2025-03-10 13:12:32,787 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.5650178571427 | Take profit: 2092.841648214285 +2025-03-10 13:12:32,871 - INFO - CLOSED long at 2059.61 | PnL: -0.11% | $-0.38 +2025-03-10 13:12:32,893 - INFO - OPENED LONG at 2059.16 | Stop loss: 2048.8486678571426 | Take profit: 2090.0706982142856 +2025-03-10 13:12:32,930 - INFO - CLOSED long at 2058.89 | PnL: -0.01% | $-0.21 +2025-03-10 13:12:32,945 - INFO - OPENED SHORT at 2059.96 | Stop loss: 2070.275332142857 | Take profit: 2029.0373017857144 +2025-03-10 13:12:33,011 - INFO - CLOSED short at 2056.28 | PnL: 0.18% | $0.14 +2025-03-10 13:12:33,011 - INFO - OPENED LONG at 2056.28 | Stop loss: 2045.9830678571432 | Take profit: 2087.147498214286 +2025-03-10 13:12:33,035 - INFO - CLOSED long at 2055.6 | PnL: -0.03% | $-0.24 +2025-03-10 13:12:33,037 - INFO - OPENED SHORT at 2055.6 | Stop loss: 2065.893532142857 | Take profit: 2024.7427017857142 +2025-03-10 13:12:33,119 - INFO - CLOSED short at 2056.71 | PnL: -0.05% | $-0.28 +2025-03-10 13:12:33,119 - INFO - OPENED LONG at 2056.71 | Stop loss: 2046.410917857143 | Take profit: 2087.583948214286 +2025-03-10 13:12:33,152 - INFO - CLOSED long at 2058.15 | PnL: 0.07% | $-0.05 +2025-03-10 13:12:33,212 - INFO - OPENED SHORT at 2061.66 | Stop loss: 2071.983832142857 | Take profit: 2030.7118017857142 +2025-03-10 13:12:33,242 - INFO - CLOSED short at 2061.5 | PnL: 0.01% | $-0.17 +2025-03-10 13:12:33,243 - INFO - OPENED LONG at 2061.5 | Stop loss: 2051.1769678571427 | Take profit: 2092.445798214286 +2025-03-10 13:12:33,254 - INFO - CLOSED long at 2061.6 | PnL: 0.00% | $-0.17 +2025-03-10 13:12:33,254 - INFO - OPENED SHORT at 2061.6 | Stop loss: 2071.9235321428573 | Take profit: 2030.6527017857143 +2025-03-10 13:12:33,278 - INFO - CLOSED short at 2061.3 | PnL: 0.01% | $-0.15 +2025-03-10 13:12:33,279 - INFO - OPENED LONG at 2061.3 | Stop loss: 2050.977967857143 | Take profit: 2092.242798214286 +2025-03-10 13:12:33,312 - INFO - CLOSED long at 2063.4 | PnL: 0.10% | $0.00 +2025-03-10 13:12:33,333 - INFO - OPENED LONG at 2066.36 | Stop loss: 2056.0126678571432 | Take profit: 2097.3786982142856 +2025-03-10 13:12:33,353 - INFO - CLOSED long at 2066.01 | PnL: -0.02% | $-0.21 +2025-03-10 13:12:33,353 - INFO - OPENED SHORT at 2066.01 | Stop loss: 2076.3555821428577 | Take profit: 2034.9965517857145 +2025-03-10 13:12:33,376 - INFO - CLOSED short at 2063.9 | PnL: 0.10% | $0.00 +2025-03-10 13:12:33,377 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.564967857143 | Take profit: 2094.881798214286 +2025-03-10 13:12:33,440 - INFO - CLOSED long at 2066.34 | PnL: 0.12% | $0.03 +2025-03-10 13:12:33,472 - INFO - OPENED SHORT at 2066.79 | Stop loss: 2077.139482142857 | Take profit: 2035.7648517857142 +2025-03-10 13:12:33,559 - INFO - CLOSED short at 2065.69 | PnL: 0.05% | $-0.08 +2025-03-10 13:12:33,559 - INFO - OPENED LONG at 2065.69 | Stop loss: 2055.346017857143 | Take profit: 2096.6986482142856 +2025-03-10 13:12:33,588 - INFO - CLOSED long at 2069.79 | PnL: 0.20% | $0.18 +2025-03-10 13:12:33,642 - INFO - OPENED SHORT at 2074.3 | Stop loss: 2084.6870321428573 | Take profit: 2043.1622017857144 +2025-03-10 13:12:33,662 - INFO - CLOSED short at 2078.01 | PnL: -0.18% | $-0.50 +2025-03-10 13:12:33,662 - INFO - OPENED LONG at 2078.01 | Stop loss: 2067.604417857143 | Take profit: 2109.203448214286 +2025-03-10 13:12:33,745 - INFO - CLOSED long at 2071.6 | PnL: -0.31% | $-0.73 +2025-03-10 13:12:33,752 - INFO - OPENED SHORT at 2071.6 | Stop loss: 2081.973532142857 | Take profit: 2040.5027017857142 +2025-03-10 13:12:33,769 - INFO - CLOSED short at 2073.23 | PnL: -0.08% | $-0.32 +2025-03-10 13:12:33,788 - INFO - OPENED SHORT at 2070.0 | Stop loss: 2080.365532142857 | Take profit: 2038.9267017857142 +2025-03-10 13:12:33,827 - INFO - CLOSED short at 2068.39 | PnL: 0.08% | $-0.04 +2025-03-10 13:12:33,827 - INFO - OPENED LONG at 2068.39 | Stop loss: 2058.032517857143 | Take profit: 2099.4391482142855 +2025-03-10 13:12:33,971 - INFO - CLOSED long at 2072.99 | PnL: 0.22% | $0.22 +2025-03-10 13:12:34,028 - INFO - OPENED SHORT at 2069.87 | Stop loss: 2080.234882142857 | Take profit: 2038.7986517857141 +2025-03-10 13:12:34,078 - INFO - CLOSED short at 2065.7 | PnL: 0.20% | $0.18 +2025-03-10 13:12:34,078 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.355967857143 | Take profit: 2096.7087982142857 +2025-03-10 13:12:34,103 - INFO - CLOSED long at 2065.66 | PnL: -0.00% | $-0.18 +2025-03-10 13:12:34,103 - INFO - OPENED SHORT at 2065.66 | Stop loss: 2076.003832142857 | Take profit: 2034.651801785714 +2025-03-10 13:12:34,123 - INFO - CLOSED short at 2063.95 | PnL: 0.08% | $-0.03 +2025-03-10 13:12:34,123 - INFO - OPENED LONG at 2063.95 | Stop loss: 2053.6147178571428 | Take profit: 2094.932548214286 +2025-03-10 13:12:34,158 - INFO - CLOSED long at 2064.5 | PnL: 0.03% | $-0.13 +2025-03-10 13:12:34,233 - INFO - OPENED SHORT at 2065.5 | Stop loss: 2075.843032142857 | Take profit: 2034.4942017857143 +2025-03-10 13:12:34,311 - INFO - CLOSED short at 2065.31 | PnL: 0.01% | $-0.16 +2025-03-10 13:12:34,311 - INFO - OPENED LONG at 2065.31 | Stop loss: 2054.9679178571428 | Take profit: 2096.3129482142854 +2025-03-10 13:12:34,432 - INFO - CLOSED long at 2071.59 | PnL: 0.30% | $0.36 +2025-03-10 13:12:34,455 - INFO - OPENED LONG at 2070.2 | Stop loss: 2059.8334678571428 | Take profit: 2101.2762982142854 +2025-03-10 13:12:34,473 - INFO - CLOSED long at 2071.35 | PnL: 0.06% | $-0.08 +2025-03-10 13:12:34,512 - INFO - OPENED LONG at 2069.69 | Stop loss: 2059.3260178571427 | Take profit: 2100.758648214286 +2025-03-10 13:12:34,547 - INFO - CLOSED long at 2070.8 | PnL: 0.05% | $-0.08 +2025-03-10 13:12:34,579 - INFO - OPENED LONG at 2070.61 | Stop loss: 2060.241417857143 | Take profit: 2101.692448214286 +2025-03-10 13:12:34,602 - INFO - CLOSED long at 2071.99 | PnL: 0.07% | $-0.06 +2025-03-10 13:12:34,755 - INFO - OPENED SHORT at 2074.37 | Stop loss: 2084.7573821428573 | Take profit: 2043.2311517857142 +2025-03-10 13:12:34,820 - INFO - CLOSED short at 2074.35 | PnL: 0.00% | $-0.17 +2025-03-10 13:12:34,821 - INFO - OPENED LONG at 2074.35 | Stop loss: 2063.9627178571427 | Take profit: 2105.488548214286 +2025-03-10 13:12:34,837 - INFO - CLOSED long at 2073.27 | PnL: -0.05% | $-0.27 +2025-03-10 13:12:34,837 - INFO - OPENED SHORT at 2073.27 | Stop loss: 2083.6518821428567 | Take profit: 2042.1476517857143 +2025-03-10 13:12:34,968 - INFO - CLOSED short at 2072.09 | PnL: 0.06% | $-0.08 +2025-03-10 13:12:34,968 - INFO - OPENED LONG at 2072.09 | Stop loss: 2061.714017857143 | Take profit: 2103.1946482142857 +2025-03-10 13:12:35,077 - INFO - CLOSED long at 2066.4 | PnL: -0.27% | $-0.66 +2025-03-10 13:12:35,107 - INFO - OPENED SHORT at 2066.89 | Stop loss: 2077.239982142857 | Take profit: 2035.863351785714 +2025-03-10 13:12:35,163 - INFO - CLOSED short at 2065.45 | PnL: 0.07% | $-0.05 +2025-03-10 13:12:35,163 - INFO - OPENED LONG at 2065.45 | Stop loss: 2055.1072178571426 | Take profit: 2096.455048214286 +2025-03-10 13:12:35,259 - INFO - CLOSED long at 2070.1 | PnL: 0.23% | $0.22 +2025-03-10 13:12:35,259 - INFO - OPENED SHORT at 2070.1 | Stop loss: 2080.466032142857 | Take profit: 2039.0252017857142 +2025-03-10 13:12:35,278 - INFO - CLOSED short at 2067.19 | PnL: 0.14% | $0.07 +2025-03-10 13:12:35,278 - INFO - OPENED LONG at 2067.19 | Stop loss: 2056.838517857143 | Take profit: 2098.2211482142857 +2025-03-10 13:12:35,316 - INFO - CLOSED long at 2065.7 | PnL: -0.07% | $-0.30 +2025-03-10 13:12:35,316 - INFO - OPENED SHORT at 2065.7 | Stop loss: 2076.044032142857 | Take profit: 2034.691201785714 +2025-03-10 13:12:35,335 - INFO - CLOSED short at 2065.8 | PnL: -0.00% | $-0.18 +2025-03-10 13:12:35,345 - INFO - OPENED SHORT at 2065.07 | Stop loss: 2075.4108821428576 | Take profit: 2034.0706517857145 +2025-03-10 13:12:35,388 - INFO - CLOSED short at 2063.39 | PnL: 0.08% | $-0.03 +2025-03-10 13:12:35,411 - INFO - OPENED LONG at 2062.34 | Stop loss: 2052.012767857143 | Take profit: 2093.2983982142855 +2025-03-10 13:12:35,431 - INFO - CLOSED long at 2063.98 | PnL: 0.08% | $-0.04 +2025-03-10 13:12:35,431 - INFO - OPENED SHORT at 2063.98 | Stop loss: 2074.315432142857 | Take profit: 2032.9970017857142 +2025-03-10 13:12:35,462 - INFO - CLOSED short at 2066.1 | PnL: -0.10% | $-0.35 +2025-03-10 13:12:35,462 - INFO - OPENED LONG at 2066.1 | Stop loss: 2055.753967857143 | Take profit: 2097.1147982142857 +2025-03-10 13:12:35,493 - INFO - CLOSED long at 2065.06 | PnL: -0.05% | $-0.26 +2025-03-10 13:12:35,545 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.838032142857 | Take profit: 2033.5092017857144 +2025-03-10 13:12:35,611 - INFO - CLOSED short at 2063.01 | PnL: 0.07% | $-0.05 +2025-03-10 13:12:35,673 - INFO - OPENED LONG at 2059.2 | Stop loss: 2048.8884678571426 | Take profit: 2090.1112982142854 +2025-03-10 13:12:35,737 - INFO - CLOSED long at 2053.01 | PnL: -0.30% | $-0.69 +2025-03-10 13:12:35,778 - INFO - OPENED SHORT at 2049.5 | Stop loss: 2059.7630321428574 | Take profit: 2018.7342017857143 +2025-03-10 13:12:35,816 - INFO - CLOSED short at 2058.3 | PnL: -0.43% | $-0.90 +2025-03-10 13:12:35,816 - INFO - OPENED LONG at 2058.3 | Stop loss: 2047.9929678571432 | Take profit: 2089.1977982142857 +2025-03-10 13:12:35,834 - INFO - CLOSED long at 2056.85 | PnL: -0.07% | $-0.29 +2025-03-10 13:12:35,864 - INFO - OPENED SHORT at 2057.11 | Stop loss: 2067.411082142857 | Take profit: 2026.2300517857145 +2025-03-10 13:12:35,896 - INFO - CLOSED short at 2057.89 | PnL: -0.04% | $-0.23 +2025-03-10 13:12:35,927 - INFO - OPENED SHORT at 2062.83 | Stop loss: 2073.159682142857 | Take profit: 2031.8642517857143 +2025-03-10 13:12:36,011 - INFO - CLOSED short at 2062.43 | PnL: 0.02% | $-0.14 +2025-03-10 13:12:36,012 - INFO - OPENED LONG at 2062.43 | Stop loss: 2052.1023178571427 | Take profit: 2093.389748214285 +2025-03-10 13:12:36,037 - INFO - CLOSED long at 2062.55 | PnL: 0.01% | $-0.16 +2025-03-10 13:12:36,037 - INFO - OPENED SHORT at 2062.55 | Stop loss: 2072.878282142857 | Take profit: 2031.5884517857146 +2025-03-10 13:12:36,053 - INFO - CLOSED short at 2065.12 | PnL: -0.12% | $-0.38 +2025-03-10 13:12:36,053 - INFO - OPENED LONG at 2065.12 | Stop loss: 2054.778867857143 | Take profit: 2096.120098214286 +2025-03-10 13:12:36,111 - INFO - CLOSED long at 2066.59 | PnL: 0.07% | $-0.05 +2025-03-10 13:12:36,111 - INFO - OPENED SHORT at 2066.59 | Stop loss: 2076.9384821428575 | Take profit: 2035.5678517857145 +2025-03-10 13:12:36,128 - INFO - CLOSED short at 2064.08 | PnL: 0.12% | $0.04 +2025-03-10 13:12:36,147 - INFO - OPENED LONG at 2061.21 | Stop loss: 2050.888417857143 | Take profit: 2092.1514482142857 +2025-03-10 13:12:36,185 - INFO - CLOSED long at 2060.7 | PnL: -0.02% | $-0.21 +2025-03-10 13:12:36,239 - INFO - OPENED SHORT at 2065.72 | Stop loss: 2076.064132142857 | Take profit: 2034.7109017857142 +2025-03-10 13:12:36,402 - INFO - CLOSED short at 2073.49 | PnL: -0.38% | $-0.79 +2025-03-10 13:12:36,420 - INFO - OPENED LONG at 2074.05 | Stop loss: 2063.6642178571433 | Take profit: 2105.184048214286 +2025-03-10 13:12:36,453 - INFO - CLOSED long at 2071.89 | PnL: -0.10% | $-0.34 +2025-03-10 13:12:36,523 - INFO - OPENED SHORT at 2077.61 | Stop loss: 2088.0135821428576 | Take profit: 2046.4225517857144 +2025-03-10 13:12:36,569 - INFO - CLOSED short at 2090.49 | PnL: -0.62% | $-1.18 +2025-03-10 13:12:36,569 - INFO - OPENED LONG at 2090.49 | Stop loss: 2080.0220178571426 | Take profit: 2121.8706482142857 +2025-03-10 13:12:36,593 - INFO - CLOSED long at 2103.02 | PnL: 0.60% | $0.81 +2025-03-10 13:12:36,706 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.0220321428574 | Take profit: 2109.1572017857147 +2025-03-10 13:12:36,731 - INFO - CLOSED short at 2142.68 | PnL: -0.06% | $-0.27 +2025-03-10 13:12:36,763 - INFO - OPENED SHORT at 2134.78 | Stop loss: 2145.4694321428574 | Take profit: 2102.7350017857143 +2025-03-10 13:12:36,783 - INFO - CLOSED short at 2126.99 | PnL: 0.36% | $0.43 +2025-03-10 13:12:36,821 - INFO - OPENED LONG at 2128.69 | Stop loss: 2118.031017857143 | Take profit: 2160.643648214286 +2025-03-10 13:12:36,870 - INFO - CLOSED long at 2117.24 | PnL: -0.54% | $-1.04 +2025-03-10 13:12:36,870 - INFO - OPENED SHORT at 2117.24 | Stop loss: 2127.841732142857 | Take profit: 2085.458101785714 +2025-03-10 13:12:36,893 - INFO - CLOSED short at 2119.93 | PnL: -0.13% | $-0.37 +2025-03-10 13:12:36,893 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.3148178571428 | Take profit: 2151.752248214286 +2025-03-10 13:12:37,011 - INFO - STOP LOSS hit for long at 2109.3148178571428 | PnL: -0.50% | $-0.96 +2025-03-10 13:12:37,032 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1685321428567 | Take profit: 2078.917701785714 +2025-03-10 13:12:37,051 - INFO - CLOSED short at 2109.05 | PnL: 0.07% | $-0.04 +2025-03-10 13:12:37,161 - INFO - OPENED SHORT at 2120.81 | Stop loss: 2131.429582142857 | Take profit: 2088.9745517857145 +2025-03-10 13:12:37,354 - INFO - CLOSED short at 2099.53 | PnL: 1.00% | $1.43 +2025-03-10 13:12:37,354 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.016817857143 | Take profit: 2131.046248214286 +2025-03-10 13:12:37,478 - INFO - CLOSED long at 2104.83 | PnL: 0.25% | $0.25 +2025-03-10 13:12:37,478 - INFO - OPENED SHORT at 2104.83 | Stop loss: 2115.369682142857 | Take profit: 2073.234251785714 +2025-03-10 13:12:37,499 - INFO - CLOSED short at 2106.39 | PnL: -0.07% | $-0.28 +2025-03-10 13:12:37,499 - INFO - OPENED LONG at 2106.39 | Stop loss: 2095.842517857143 | Take profit: 2138.0091482142857 +2025-03-10 13:12:37,528 - INFO - CLOSED long at 2103.86 | PnL: -0.12% | $-0.36 +2025-03-10 13:12:37,554 - INFO - OPENED LONG at 2104.68 | Stop loss: 2094.141067857143 | Take profit: 2136.2734982142856 +2025-03-10 13:12:37,572 - INFO - CLOSED long at 2101.51 | PnL: -0.15% | $-0.40 +2025-03-10 13:12:37,630 - INFO - OPENED SHORT at 2098.39 | Stop loss: 2108.8974821428574 | Take profit: 2066.890851785714 +2025-03-10 13:12:37,646 - INFO - CLOSED short at 2095.29 | PnL: 0.15% | $0.08 +2025-03-10 13:12:37,687 - INFO - OPENED LONG at 2093.33 | Stop loss: 2082.8478178571427 | Take profit: 2124.7532482142856 +2025-03-10 13:12:37,797 - INFO - CLOSED long at 2083.28 | PnL: -0.48% | $-0.93 +2025-03-10 13:12:37,820 - INFO - OPENED SHORT at 2088.44 | Stop loss: 2098.8977321428574 | Take profit: 2057.090101785714 +2025-03-10 13:12:37,897 - INFO - CLOSED short at 2080.38 | PnL: 0.39% | $0.45 +2025-03-10 13:12:37,897 - INFO - OPENED LONG at 2080.38 | Stop loss: 2069.962567857143 | Take profit: 2111.6089982142857 +2025-03-10 13:12:37,926 - INFO - CLOSED long at 2081.25 | PnL: 0.04% | $-0.09 +2025-03-10 13:12:37,926 - INFO - OPENED SHORT at 2081.25 | Stop loss: 2091.6717821428574 | Take profit: 2050.0079517857143 +2025-03-10 13:12:37,945 - INFO - CLOSED short at 2083.41 | PnL: -0.10% | $-0.32 +2025-03-10 13:12:37,962 - INFO - OPENED SHORT at 2085.09 | Stop loss: 2095.5309821428573 | Take profit: 2053.7903517857144 +2025-03-10 13:12:37,980 - INFO - CLOSED short at 2083.59 | PnL: 0.07% | $-0.04 +2025-03-10 13:12:37,980 - INFO - OPENED LONG at 2083.59 | Stop loss: 2073.1565178571427 | Take profit: 2114.867148214286 +2025-03-10 13:12:38,012 - INFO - CLOSED long at 2085.8 | PnL: 0.11% | $0.01 +2025-03-10 13:12:38,068 - INFO - OPENED SHORT at 2085.85 | Stop loss: 2096.294782142857 | Take profit: 2054.5389517857143 +2025-03-10 13:12:38,085 - INFO - CLOSED short at 2088.66 | PnL: -0.13% | $-0.37 +2025-03-10 13:12:38,085 - INFO - OPENED LONG at 2088.66 | Stop loss: 2078.2011678571425 | Take profit: 2120.0131982142857 +2025-03-10 13:12:38,144 - INFO - CLOSED long at 2089.96 | PnL: 0.06% | $-0.06 +2025-03-10 13:12:38,144 - INFO - OPENED SHORT at 2089.96 | Stop loss: 2100.425332142857 | Take profit: 2058.5873017857143 +2025-03-10 13:12:38,180 - INFO - CLOSED short at 2087.47 | PnL: 0.12% | $0.03 +2025-03-10 13:12:38,182 - INFO - OPENED LONG at 2087.47 | Stop loss: 2077.0171178571427 | Take profit: 2118.805348214286 +2025-03-10 13:12:38,199 - INFO - CLOSED long at 2087.78 | PnL: 0.01% | $-0.13 +2025-03-10 13:12:38,217 - INFO - OPENED SHORT at 2086.81 | Stop loss: 2097.259582142857 | Take profit: 2055.4845517857143 +2025-03-10 13:12:38,235 - INFO - CLOSED short at 2089.79 | PnL: -0.14% | $-0.38 +2025-03-10 13:12:38,236 - INFO - OPENED LONG at 2089.79 | Stop loss: 2079.325517857143 | Take profit: 2121.1601482142855 +2025-03-10 13:12:38,294 - INFO - CLOSED long at 2091.05 | PnL: 0.06% | $-0.06 +2025-03-10 13:12:38,294 - INFO - OPENED SHORT at 2091.05 | Stop loss: 2101.520782142857 | Take profit: 2059.6609517857146 +2025-03-10 13:12:38,311 - INFO - CLOSED short at 2091.05 | PnL: 0.00% | $-0.16 +2025-03-10 13:12:38,400 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.163732142857 | Take profit: 2070.092101785714 +2025-03-10 13:12:38,445 - INFO - CLOSED short at 2099.89 | PnL: 0.08% | $-0.03 +2025-03-10 13:12:38,466 - INFO - OPENED SHORT at 2100.89 | Stop loss: 2111.409982142857 | Take profit: 2069.353351785714 +2025-03-10 13:12:38,595 - INFO - CLOSED short at 2105.83 | PnL: -0.24% | $-0.52 +2025-03-10 13:12:38,637 - INFO - OPENED SHORT at 2105.2 | Stop loss: 2115.741532142857 | Take profit: 2073.598701785714 +2025-03-10 13:12:38,696 - INFO - Trade Analysis: Win Rate=26.1% in uptrends, 0.0% in downtrends | Avg Win=$0.22, Avg Loss=$-0.27 +2025-03-10 13:12:38,697 - INFO - Episode 4: Reward=-98.30, Balance=$77.97, Win Rate=22.2%, Trades=135, Episode PnL=$-16.98, Total PnL=$-126.12, Max Drawdown=22.3%, Pred Accuracy=99.1% +2025-03-10 13:12:38,697 - ERROR - Error in episode 4: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:12:38,698 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1812, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:12:38,719 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:12:38,925 - INFO - OPENED LONG at 2047.2 | Stop loss: 2036.9484678571428 | Take profit: 2077.931298214286 +2025-03-10 13:12:38,989 - INFO - CLOSED long at 2048.13 | PnL: 0.05% | $-0.11 +2025-03-10 13:12:38,989 - INFO - OPENED SHORT at 2048.13 | Stop loss: 2058.3861821428573 | Take profit: 2017.3847517857146 +2025-03-10 13:12:39,006 - INFO - CLOSED short at 2047.59 | PnL: 0.03% | $-0.15 +2025-03-10 13:12:39,027 - INFO - OPENED LONG at 2048.51 | Stop loss: 2038.251917857143 | Take profit: 2079.260948214286 +2025-03-10 13:12:39,046 - INFO - CLOSED long at 2050.0 | PnL: 0.07% | $-0.05 +2025-03-10 13:12:39,047 - INFO - OPENED SHORT at 2050.0 | Stop loss: 2060.2655321428574 | Take profit: 2019.2267017857143 +2025-03-10 13:12:39,161 - INFO - CLOSED short at 2052.3 | PnL: -0.11% | $-0.42 +2025-03-10 13:12:39,161 - INFO - OPENED LONG at 2052.3 | Stop loss: 2042.022967857143 | Take profit: 2083.107798214286 +2025-03-10 13:12:39,179 - INFO - CLOSED long at 2055.69 | PnL: 0.17% | $0.13 +2025-03-10 13:12:39,200 - INFO - OPENED LONG at 2057.01 | Stop loss: 2046.709417857143 | Take profit: 2087.8884482142857 +2025-03-10 13:12:39,219 - INFO - CLOSED long at 2056.89 | PnL: -0.01% | $-0.21 +2025-03-10 13:12:39,219 - INFO - OPENED SHORT at 2056.89 | Stop loss: 2067.189982142857 | Take profit: 2026.0133517857143 +2025-03-10 13:12:39,237 - INFO - CLOSED short at 2058.39 | PnL: -0.07% | $-0.34 +2025-03-10 13:12:39,260 - INFO - OPENED LONG at 2060.13 | Stop loss: 2049.813817857143 | Take profit: 2091.055248214286 +2025-03-10 13:12:39,278 - INFO - CLOSED long at 2059.7 | PnL: -0.02% | $-0.24 +2025-03-10 13:12:39,278 - INFO - OPENED SHORT at 2059.7 | Stop loss: 2070.014032142857 | Take profit: 2028.781201785714 +2025-03-10 13:12:39,334 - INFO - CLOSED short at 2064.61 | PnL: -0.24% | $-0.66 +2025-03-10 13:12:39,334 - INFO - OPENED LONG at 2064.61 | Stop loss: 2054.2714178571428 | Take profit: 2095.602448214286 +2025-03-10 13:12:39,344 - INFO - CLOSED long at 2063.59 | PnL: -0.05% | $-0.29 +2025-03-10 13:12:39,344 - INFO - OPENED SHORT at 2063.59 | Stop loss: 2073.923482142857 | Take profit: 2032.6128517857144 +2025-03-10 13:12:39,389 - INFO - CLOSED short at 2064.69 | PnL: -0.05% | $-0.30 +2025-03-10 13:12:39,545 - INFO - OPENED SHORT at 2057.8 | Stop loss: 2068.1045321428574 | Take profit: 2026.9097017857146 +2025-03-10 13:12:39,594 - INFO - CLOSED short at 2058.11 | PnL: -0.02% | $-0.22 +2025-03-10 13:12:39,637 - INFO - OPENED SHORT at 2061.18 | Stop loss: 2071.501432142857 | Take profit: 2030.239001785714 +2025-03-10 13:12:39,653 - INFO - CLOSED short at 2064.32 | PnL: -0.15% | $-0.49 +2025-03-10 13:12:39,653 - INFO - OPENED LONG at 2064.32 | Stop loss: 2053.982867857143 | Take profit: 2095.308098214286 +2025-03-10 13:12:39,732 - INFO - CLOSED long at 2068.29 | PnL: 0.19% | $0.18 +2025-03-10 13:12:39,732 - INFO - OPENED SHORT at 2068.29 | Stop loss: 2078.646982142857 | Take profit: 2037.2423517857142 +2025-03-10 13:12:39,749 - INFO - CLOSED short at 2067.89 | PnL: 0.02% | $-0.16 +2025-03-10 13:12:39,803 - INFO - OPENED SHORT at 2069.6 | Stop loss: 2079.963532142857 | Take profit: 2038.5327017857142 +2025-03-10 13:12:39,972 - INFO - CLOSED short at 2072.91 | PnL: -0.16% | $-0.50 +2025-03-10 13:12:40,058 - INFO - OPENED SHORT at 2069.37 | Stop loss: 2079.732382142857 | Take profit: 2038.3061517857143 +2025-03-10 13:12:40,176 - INFO - CLOSED short at 2070.28 | PnL: -0.04% | $-0.27 +2025-03-10 13:12:40,176 - INFO - OPENED LONG at 2070.28 | Stop loss: 2059.9130678571432 | Take profit: 2101.357498214286 +2025-03-10 13:12:40,234 - INFO - CLOSED long at 2067.2 | PnL: -0.15% | $-0.47 +2025-03-10 13:12:40,244 - INFO - OPENED SHORT at 2070.36 | Stop loss: 2080.7273321428574 | Take profit: 2039.2813017857145 +2025-03-10 13:12:40,269 - INFO - CLOSED short at 2068.9 | PnL: 0.07% | $-0.06 +2025-03-10 13:12:40,270 - INFO - OPENED LONG at 2068.9 | Stop loss: 2058.539967857143 | Take profit: 2099.956798214286 +2025-03-10 13:12:40,304 - INFO - CLOSED long at 2069.34 | PnL: 0.02% | $-0.15 +2025-03-10 13:12:40,380 - INFO - OPENED SHORT at 2067.51 | Stop loss: 2077.8630821428574 | Take profit: 2036.4740517857144 +2025-03-10 13:12:40,498 - INFO - CLOSED short at 2066.29 | PnL: 0.06% | $-0.08 +2025-03-10 13:12:40,498 - INFO - OPENED LONG at 2066.29 | Stop loss: 2055.943017857143 | Take profit: 2097.3076482142856 +2025-03-10 13:12:40,672 - INFO - CLOSED long at 2069.7 | PnL: 0.17% | $0.12 +2025-03-10 13:12:40,712 - INFO - OPENED LONG at 2069.96 | Stop loss: 2059.594667857143 | Take profit: 2101.0326982142856 +2025-03-10 13:12:40,747 - INFO - CLOSED long at 2071.39 | PnL: 0.07% | $-0.06 +2025-03-10 13:12:40,763 - INFO - OPENED SHORT at 2071.36 | Stop loss: 2081.7323321428576 | Take profit: 2040.2663017857144 +2025-03-10 13:12:40,798 - INFO - CLOSED short at 2073.11 | PnL: -0.08% | $-0.35 +2025-03-10 13:12:40,802 - INFO - OPENED LONG at 2073.11 | Stop loss: 2062.728917857143 | Take profit: 2104.2299482142857 +2025-03-10 13:12:40,820 - INFO - CLOSED long at 2072.7 | PnL: -0.02% | $-0.23 +2025-03-10 13:12:40,821 - INFO - OPENED SHORT at 2072.7 | Stop loss: 2083.0790321428567 | Take profit: 2041.586201785714 +2025-03-10 13:12:40,875 - INFO - CLOSED short at 2074.29 | PnL: -0.08% | $-0.33 +2025-03-10 13:12:40,876 - INFO - OPENED LONG at 2074.29 | Stop loss: 2063.903017857143 | Take profit: 2105.4276482142855 +2025-03-10 13:12:40,958 - INFO - CLOSED long at 2070.4 | PnL: -0.19% | $-0.54 +2025-03-10 13:12:41,139 - INFO - OPENED SHORT at 2065.49 | Stop loss: 2075.832982142857 | Take profit: 2034.4843517857141 +2025-03-10 13:12:41,160 - INFO - CLOSED short at 2063.61 | PnL: 0.09% | $-0.02 +2025-03-10 13:12:41,177 - INFO - OPENED LONG at 2065.26 | Stop loss: 2054.918167857143 | Take profit: 2096.262198214286 +2025-03-10 13:12:41,230 - INFO - CLOSED long at 2068.8 | PnL: 0.17% | $0.13 +2025-03-10 13:12:41,306 - INFO - OPENED LONG at 2067.59 | Stop loss: 2057.236517857143 | Take profit: 2098.6271482142856 +2025-03-10 13:12:41,338 - INFO - CLOSED long at 2069.2 | PnL: 0.08% | $-0.04 +2025-03-10 13:12:41,344 - INFO - OPENED SHORT at 2069.2 | Stop loss: 2079.561532142857 | Take profit: 2038.1387017857141 +2025-03-10 13:12:41,405 - INFO - CLOSED short at 2071.59 | PnL: -0.12% | $-0.40 +2025-03-10 13:12:41,493 - INFO - OPENED SHORT at 2068.69 | Stop loss: 2079.0489821428573 | Take profit: 2037.6363517857144 +2025-03-10 13:12:41,659 - INFO - CLOSED short at 2064.47 | PnL: 0.20% | $0.19 +2025-03-10 13:12:41,849 - INFO - OPENED SHORT at 2065.83 | Stop loss: 2076.174682142857 | Take profit: 2034.8192517857142 +2025-03-10 13:12:41,866 - INFO - CLOSED short at 2066.15 | PnL: -0.02% | $-0.21 +2025-03-10 13:12:41,866 - INFO - OPENED LONG at 2066.15 | Stop loss: 2055.803717857143 | Take profit: 2097.1655482142855 +2025-03-10 13:12:41,930 - INFO - CLOSED long at 2061.78 | PnL: -0.21% | $-0.58 +2025-03-10 13:12:41,930 - INFO - OPENED SHORT at 2061.78 | Stop loss: 2072.104432142857 | Take profit: 2030.8300017857146 +2025-03-10 13:12:42,029 - INFO - CLOSED short at 2066.24 | PnL: -0.22% | $-0.58 +2025-03-10 13:12:42,060 - INFO - OPENED LONG at 2067.1 | Stop loss: 2056.748967857143 | Take profit: 2098.1297982142855 +2025-03-10 13:12:42,090 - INFO - CLOSED long at 2065.54 | PnL: -0.08% | $-0.32 +2025-03-10 13:12:42,090 - INFO - OPENED SHORT at 2065.54 | Stop loss: 2075.883232142857 | Take profit: 2034.5336017857142 +2025-03-10 13:12:42,118 - INFO - CLOSED short at 2066.09 | PnL: -0.03% | $-0.23 +2025-03-10 13:12:42,118 - INFO - OPENED LONG at 2066.09 | Stop loss: 2055.744017857143 | Take profit: 2097.1046482142856 +2025-03-10 13:12:42,196 - INFO - CLOSED long at 2062.71 | PnL: -0.16% | $-0.48 +2025-03-10 13:12:42,235 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.5600178571426 | Take profit: 2093.8566482142855 +2025-03-10 13:12:42,272 - INFO - CLOSED long at 2063.5 | PnL: 0.03% | $-0.13 +2025-03-10 13:12:42,312 - INFO - OPENED LONG at 2060.9 | Stop loss: 2050.579967857143 | Take profit: 2091.836798214286 +2025-03-10 13:12:42,346 - INFO - CLOSED long at 2058.89 | PnL: -0.10% | $-0.36 +2025-03-10 13:12:42,394 - INFO - OPENED LONG at 2060.31 | Stop loss: 2049.992917857143 | Take profit: 2091.237948214286 +2025-03-10 13:12:42,430 - INFO - CLOSED long at 2064.7 | PnL: 0.21% | $0.20 +2025-03-10 13:12:42,431 - INFO - OPENED SHORT at 2064.7 | Stop loss: 2075.039032142857 | Take profit: 2033.706201785714 +2025-03-10 13:12:42,460 - INFO - CLOSED short at 2062.61 | PnL: 0.10% | $0.00 +2025-03-10 13:12:42,524 - INFO - OPENED SHORT at 2060.3 | Stop loss: 2070.617032142857 | Take profit: 2029.3722017857144 +2025-03-10 13:12:42,631 - INFO - CLOSED short at 2065.36 | PnL: -0.25% | $-0.62 +2025-03-10 13:12:42,673 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.0575178571426 | Take profit: 2094.3641482142853 +2025-03-10 13:12:42,977 - INFO - CLOSED long at 2059.96 | PnL: -0.17% | $-0.48 +2025-03-10 13:12:42,977 - INFO - OPENED SHORT at 2059.96 | Stop loss: 2070.275332142857 | Take profit: 2029.0373017857144 +2025-03-10 13:12:43,003 - INFO - CLOSED short at 2059.46 | PnL: 0.02% | $-0.14 +2025-03-10 13:12:43,003 - INFO - OPENED LONG at 2059.46 | Stop loss: 2049.147167857143 | Take profit: 2090.375198214286 +2025-03-10 13:12:43,070 - INFO - CLOSED long at 2056.28 | PnL: -0.15% | $-0.45 +2025-03-10 13:12:43,152 - INFO - OPENED SHORT at 2058.15 | Stop loss: 2068.4562821428576 | Take profit: 2027.2544517857145 +2025-03-10 13:12:43,214 - INFO - CLOSED short at 2061.5 | PnL: -0.16% | $-0.47 +2025-03-10 13:12:43,215 - INFO - OPENED LONG at 2061.5 | Stop loss: 2051.1769678571427 | Take profit: 2092.445798214286 +2025-03-10 13:12:43,290 - INFO - CLOSED long at 2062.69 | PnL: 0.06% | $-0.07 +2025-03-10 13:12:43,290 - INFO - OPENED SHORT at 2062.69 | Stop loss: 2073.018982142857 | Take profit: 2031.7263517857143 +2025-03-10 13:12:43,321 - INFO - CLOSED short at 2063.4 | PnL: -0.03% | $-0.24 +2025-03-10 13:12:43,321 - INFO - OPENED LONG at 2063.4 | Stop loss: 2053.0674678571427 | Take profit: 2094.374298214286 +2025-03-10 13:12:43,380 - INFO - CLOSED long at 2066.01 | PnL: 0.13% | $0.05 +2025-03-10 13:12:43,450 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.982817857143 | Take profit: 2097.348248214286 +2025-03-10 13:12:43,487 - INFO - CLOSED long at 2066.79 | PnL: 0.02% | $-0.14 +2025-03-10 13:12:43,527 - INFO - OPENED LONG at 2067.01 | Stop loss: 2056.659417857143 | Take profit: 2098.038448214286 +2025-03-10 13:12:43,595 - INFO - CLOSED long at 2074.3 | PnL: 0.35% | $0.44 +2025-03-10 13:12:43,630 - INFO - OPENED LONG at 2075.01 | Stop loss: 2064.619417857143 | Take profit: 2106.158448214286 +2025-03-10 13:12:43,687 - INFO - CLOSED long at 2071.04 | PnL: -0.19% | $-0.51 +2025-03-10 13:12:43,687 - INFO - OPENED SHORT at 2071.04 | Stop loss: 2081.4107321428573 | Take profit: 2039.9511017857142 +2025-03-10 13:12:43,725 - INFO - CLOSED short at 2070.01 | PnL: 0.05% | $-0.09 +2025-03-10 13:12:43,726 - INFO - OPENED LONG at 2070.01 | Stop loss: 2059.6444178571433 | Take profit: 2101.083448214286 +2025-03-10 13:12:43,789 - INFO - CLOSED long at 2073.23 | PnL: 0.16% | $0.10 +2025-03-10 13:12:43,823 - INFO - OPENED LONG at 2070.0 | Stop loss: 2059.634467857143 | Take profit: 2101.0732982142854 +2025-03-10 13:12:43,990 - INFO - CLOSED long at 2069.87 | PnL: -0.01% | $-0.19 +2025-03-10 13:12:43,990 - INFO - OPENED SHORT at 2069.87 | Stop loss: 2080.234882142857 | Take profit: 2038.7986517857141 +2025-03-10 13:12:44,006 - INFO - CLOSED short at 2067.33 | PnL: 0.12% | $0.04 +2025-03-10 13:12:44,007 - INFO - OPENED LONG at 2067.33 | Stop loss: 2056.977817857143 | Take profit: 2098.3632482142857 +2025-03-10 13:12:44,134 - INFO - CLOSED long at 2063.97 | PnL: -0.16% | $-0.46 +2025-03-10 13:12:44,222 - INFO - OPENED LONG at 2064.4 | Stop loss: 2054.062467857143 | Take profit: 2095.3892982142856 +2025-03-10 13:12:44,261 - INFO - CLOSED long at 2065.5 | PnL: 0.05% | $-0.08 +2025-03-10 13:12:44,261 - INFO - OPENED SHORT at 2065.5 | Stop loss: 2075.843032142857 | Take profit: 2034.4942017857143 +2025-03-10 13:12:44,293 - INFO - CLOSED short at 2065.29 | PnL: 0.01% | $-0.16 +2025-03-10 13:12:44,313 - INFO - OPENED LONG at 2065.31 | Stop loss: 2054.9679178571428 | Take profit: 2096.3129482142854 +2025-03-10 13:12:44,490 - INFO - CLOSED long at 2070.7 | PnL: 0.26% | $0.28 +2025-03-10 13:12:44,490 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.069032142857 | Take profit: 2039.6162017857139 +2025-03-10 13:12:44,510 - INFO - CLOSED short at 2070.8 | PnL: -0.00% | $-0.18 +2025-03-10 13:12:44,510 - INFO - OPENED LONG at 2070.8 | Stop loss: 2060.430467857143 | Take profit: 2101.885298214286 +2025-03-10 13:12:44,632 - INFO - CLOSED long at 2068.19 | PnL: -0.13% | $-0.39 +2025-03-10 13:12:44,653 - INFO - OPENED LONG at 2068.67 | Stop loss: 2058.311117857143 | Take profit: 2099.723348214286 +2025-03-10 13:12:44,671 - INFO - CLOSED long at 2070.67 | PnL: 0.10% | $-0.01 +2025-03-10 13:12:44,731 - INFO - OPENED LONG at 2074.37 | Stop loss: 2063.982617857143 | Take profit: 2105.508848214286 +2025-03-10 13:12:44,771 - INFO - CLOSED long at 2074.35 | PnL: -0.00% | $-0.17 +2025-03-10 13:12:44,772 - INFO - OPENED SHORT at 2074.35 | Stop loss: 2084.7372821428567 | Take profit: 2043.2114517857142 +2025-03-10 13:12:44,849 - INFO - CLOSED short at 2075.29 | PnL: -0.05% | $-0.25 +2025-03-10 13:12:44,849 - INFO - OPENED LONG at 2075.29 | Stop loss: 2064.898017857143 | Take profit: 2106.442648214286 +2025-03-10 13:12:45,058 - INFO - CLOSED long at 2067.9 | PnL: -0.36% | $-0.79 +2025-03-10 13:12:45,076 - INFO - OPENED LONG at 2066.4 | Stop loss: 2056.052467857143 | Take profit: 2097.4192982142854 +2025-03-10 13:12:45,129 - INFO - CLOSED long at 2065.45 | PnL: -0.05% | $-0.25 +2025-03-10 13:12:45,151 - INFO - OPENED LONG at 2068.1 | Stop loss: 2057.7439678571427 | Take profit: 2099.1447982142854 +2025-03-10 13:12:45,231 - INFO - CLOSED long at 2067.19 | PnL: -0.04% | $-0.25 +2025-03-10 13:12:45,232 - INFO - OPENED SHORT at 2067.19 | Stop loss: 2077.541482142857 | Take profit: 2036.1588517857142 +2025-03-10 13:12:45,262 - INFO - CLOSED short at 2065.5 | PnL: 0.08% | $-0.03 +2025-03-10 13:12:45,262 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.1569678571427 | Take profit: 2096.5057982142857 +2025-03-10 13:12:45,297 - INFO - CLOSED long at 2065.7 | PnL: 0.01% | $-0.15 +2025-03-10 13:12:45,327 - INFO - OPENED SHORT at 2065.8 | Stop loss: 2076.1445321428573 | Take profit: 2034.7897017857144 +2025-03-10 13:12:45,437 - INFO - CLOSED short at 2062.34 | PnL: 0.17% | $0.11 +2025-03-10 13:12:45,439 - INFO - OPENED LONG at 2062.34 | Stop loss: 2052.012767857143 | Take profit: 2093.2983982142855 +2025-03-10 13:12:45,455 - INFO - CLOSED long at 2063.98 | PnL: 0.08% | $-0.03 +2025-03-10 13:12:45,456 - INFO - OPENED SHORT at 2063.98 | Stop loss: 2074.315432142857 | Take profit: 2032.9970017857142 +2025-03-10 13:12:45,475 - INFO - CLOSED short at 2066.1 | PnL: -0.10% | $-0.34 +2025-03-10 13:12:45,475 - INFO - OPENED LONG at 2066.1 | Stop loss: 2055.753967857143 | Take profit: 2097.1147982142857 +2025-03-10 13:12:45,551 - INFO - CLOSED long at 2066.33 | PnL: 0.01% | $-0.15 +2025-03-10 13:12:45,610 - INFO - OPENED SHORT at 2060.2 | Stop loss: 2070.5165321428567 | Take profit: 2029.2737017857141 +2025-03-10 13:12:45,661 - INFO - CLOSED short at 2058.09 | PnL: 0.10% | $0.00 +2025-03-10 13:12:45,753 - INFO - OPENED LONG at 2053.01 | Stop loss: 2042.729417857143 | Take profit: 2083.828448214286 +2025-03-10 13:12:45,786 - INFO - CLOSED long at 2049.21 | PnL: -0.19% | $-0.48 +2025-03-10 13:12:45,786 - INFO - OPENED SHORT at 2049.21 | Stop loss: 2059.471582142857 | Take profit: 2018.4485517857142 +2025-03-10 13:12:45,857 - INFO - CLOSED short at 2058.3 | PnL: -0.44% | $-0.91 +2025-03-10 13:12:45,874 - INFO - OPENED LONG at 2056.85 | Stop loss: 2046.5502178571428 | Take profit: 2087.7260482142856 +2025-03-10 13:12:45,892 - INFO - CLOSED long at 2057.11 | PnL: 0.01% | $-0.14 +2025-03-10 13:12:45,892 - INFO - OPENED SHORT at 2057.11 | Stop loss: 2067.411082142857 | Take profit: 2026.2300517857145 +2025-03-10 13:12:45,912 - INFO - CLOSED short at 2057.89 | PnL: -0.04% | $-0.23 +2025-03-10 13:12:45,912 - INFO - OPENED LONG at 2057.89 | Stop loss: 2047.5850178571427 | Take profit: 2088.7816482142853 +2025-03-10 13:12:46,022 - INFO - CLOSED long at 2065.12 | PnL: 0.35% | $0.41 +2025-03-10 13:12:46,132 - INFO - OPENED LONG at 2064.08 | Stop loss: 2053.744067857143 | Take profit: 2095.0644982142853 +2025-03-10 13:12:46,187 - INFO - CLOSED long at 2059.9 | PnL: -0.20% | $-0.50 +2025-03-10 13:12:46,353 - INFO - OPENED LONG at 2069.81 | Stop loss: 2059.4454178571427 | Take profit: 2100.8804482142855 +2025-03-10 13:12:46,368 - INFO - CLOSED long at 2070.41 | PnL: 0.03% | $-0.12 +2025-03-10 13:12:46,370 - INFO - OPENED SHORT at 2070.41 | Stop loss: 2080.777582142857 | Take profit: 2039.3305517857143 +2025-03-10 13:12:46,422 - INFO - CLOSED short at 2072.99 | PnL: -0.12% | $-0.37 +2025-03-10 13:12:46,422 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6095178571427 | Take profit: 2104.1081482142854 +2025-03-10 13:12:46,531 - INFO - CLOSED long at 2076.08 | PnL: 0.15% | $0.08 +2025-03-10 13:12:46,592 - INFO - OPENED LONG at 2085.56 | Stop loss: 2075.116667857143 | Take profit: 2116.866698214286 +2025-03-10 13:12:46,641 - INFO - CLOSED long at 2103.02 | PnL: 0.84% | $1.21 +2025-03-10 13:12:46,641 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.550632142857 | Take profit: 2071.451401785714 +2025-03-10 13:12:46,661 - INFO - CLOSED short at 2130.7 | PnL: -1.32% | $-2.36 +2025-03-10 13:12:46,661 - INFO - OPENED LONG at 2130.7 | Stop loss: 2120.0309678571425 | Take profit: 2162.6837982142856 +2025-03-10 13:12:46,678 - INFO - CLOSED long at 2139.54 | PnL: 0.41% | $0.51 +2025-03-10 13:12:46,678 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.253232142857 | Take profit: 2107.4236017857143 +2025-03-10 13:12:46,699 - INFO - CLOSED short at 2131.78 | PnL: 0.36% | $0.43 +2025-03-10 13:12:46,700 - INFO - OPENED LONG at 2131.78 | Stop loss: 2121.105567857143 | Take profit: 2163.7799982142856 +2025-03-10 13:12:46,716 - INFO - CLOSED long at 2133.95 | PnL: 0.10% | $0.00 +2025-03-10 13:12:46,739 - INFO - OPENED LONG at 2137.59 | Stop loss: 2126.8865178571427 | Take profit: 2169.677148214286 +2025-03-10 13:12:46,775 - INFO - CLOSED long at 2141.3 | PnL: 0.17% | $0.12 +2025-03-10 13:12:46,794 - INFO - OPENED SHORT at 2142.68 | Stop loss: 2153.4089321428573 | Take profit: 2110.516501785714 +2025-03-10 13:12:46,816 - INFO - CLOSED short at 2140.01 | PnL: 0.12% | $0.04 +2025-03-10 13:12:46,817 - INFO - OPENED LONG at 2140.01 | Stop loss: 2129.294417857143 | Take profit: 2172.133448214286 +2025-03-10 13:12:46,875 - INFO - STOP LOSS hit for long at 2129.294417857143 | PnL: -0.50% | $-0.99 +2025-03-10 13:12:46,910 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.647967857143 | Take profit: 2159.2327982142856 +2025-03-10 13:12:46,969 - INFO - CLOSED long at 2121.09 | PnL: -0.29% | $-0.63 +2025-03-10 13:12:46,969 - INFO - OPENED SHORT at 2121.09 | Stop loss: 2131.710982142857 | Take profit: 2089.2503517857144 +2025-03-10 13:12:47,033 - INFO - CLOSED short at 2117.24 | PnL: 0.18% | $0.13 +2025-03-10 13:12:47,034 - INFO - OPENED LONG at 2117.24 | Stop loss: 2106.6382678571426 | Take profit: 2149.0218982142856 +2025-03-10 13:12:47,069 - INFO - CLOSED long at 2121.4 | PnL: 0.20% | $0.16 +2025-03-10 13:12:47,070 - INFO - OPENED SHORT at 2121.4 | Stop loss: 2132.022532142857 | Take profit: 2089.5557017857145 +2025-03-10 13:12:47,087 - INFO - CLOSED short at 2118.52 | PnL: 0.14% | $0.06 +2025-03-10 13:12:47,087 - INFO - OPENED LONG at 2118.52 | Stop loss: 2107.9118678571426 | Take profit: 2150.321098214286 +2025-03-10 13:12:47,141 - INFO - CLOSED long at 2115.28 | PnL: -0.15% | $-0.41 +2025-03-10 13:12:47,158 - INFO - OPENED LONG at 2107.43 | Stop loss: 2096.8773178571428 | Take profit: 2139.0647482142854 +2025-03-10 13:12:47,228 - INFO - CLOSED long at 2112.95 | PnL: 0.26% | $0.26 +2025-03-10 13:12:47,228 - INFO - OPENED SHORT at 2112.95 | Stop loss: 2123.5302821428572 | Take profit: 2081.232451785714 +2025-03-10 13:12:47,345 - INFO - CLOSED short at 2120.81 | PnL: -0.37% | $-0.76 +2025-03-10 13:12:47,399 - INFO - OPENED SHORT at 2114.8 | Stop loss: 2125.389532142857 | Take profit: 2083.0547017857143 +2025-03-10 13:12:47,446 - INFO - CLOSED short at 2108.71 | PnL: 0.29% | $0.30 +2025-03-10 13:12:47,481 - INFO - OPENED LONG at 2108.06 | Stop loss: 2097.504167857143 | Take profit: 2139.7041982142855 +2025-03-10 13:12:47,543 - INFO - CLOSED long at 2090.0 | PnL: -0.86% | $-1.53 +2025-03-10 13:12:47,543 - INFO - OPENED SHORT at 2090.0 | Stop loss: 2100.4655321428572 | Take profit: 2058.6267017857144 +2025-03-10 13:12:47,560 - INFO - CLOSED short at 2099.53 | PnL: -0.46% | $-0.87 +2025-03-10 13:12:47,560 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.016817857143 | Take profit: 2131.046248214286 +2025-03-10 13:12:47,642 - INFO - CLOSED long at 2099.25 | PnL: -0.01% | $-0.18 +2025-03-10 13:12:47,708 - INFO - OPENED LONG at 2100.69 | Stop loss: 2090.171017857143 | Take profit: 2132.2236482142857 +2025-03-10 13:12:47,770 - INFO - CLOSED long at 2106.39 | PnL: 0.27% | $0.27 +2025-03-10 13:12:47,770 - INFO - OPENED SHORT at 2106.39 | Stop loss: 2116.937482142857 | Take profit: 2074.770851785714 +2025-03-10 13:12:47,801 - INFO - CLOSED short at 2100.74 | PnL: 0.27% | $0.26 +2025-03-10 13:12:47,801 - INFO - OPENED LONG at 2100.74 | Stop loss: 2090.2207678571426 | Take profit: 2132.2743982142856 +2025-03-10 13:12:47,849 - INFO - CLOSED long at 2104.68 | PnL: 0.19% | $0.14 +2025-03-10 13:12:47,849 - INFO - OPENED SHORT at 2104.68 | Stop loss: 2115.218932142857 | Take profit: 2073.086501785714 +2025-03-10 13:12:47,919 - INFO - CLOSED short at 2098.39 | PnL: 0.30% | $0.31 +2025-03-10 13:12:47,920 - INFO - OPENED LONG at 2098.39 | Stop loss: 2087.882517857143 | Take profit: 2129.889148214286 +2025-03-10 13:12:47,935 - INFO - CLOSED long at 2095.29 | PnL: -0.15% | $-0.39 +2025-03-10 13:12:47,952 - INFO - OPENED LONG at 2093.46 | Stop loss: 2082.977167857143 | Take profit: 2124.8851982142855 +2025-03-10 13:12:48,118 - INFO - CLOSED long at 2083.28 | PnL: -0.49% | $-0.92 +2025-03-10 13:12:48,189 - INFO - OPENED LONG at 2083.97 | Stop loss: 2073.5346178571426 | Take profit: 2115.2528482142857 +2025-03-10 13:12:48,246 - INFO - CLOSED long at 2082.44 | PnL: -0.07% | $-0.27 +2025-03-10 13:12:48,246 - INFO - OPENED SHORT at 2082.44 | Stop loss: 2092.867732142857 | Take profit: 2051.180101785714 +2025-03-10 13:12:48,262 - INFO - CLOSED short at 2081.49 | PnL: 0.05% | $-0.08 +2025-03-10 13:12:48,283 - INFO - OPENED LONG at 2080.38 | Stop loss: 2069.962567857143 | Take profit: 2111.6089982142857 +2025-03-10 13:12:48,433 - INFO - CLOSED long at 2085.83 | PnL: 0.26% | $0.25 +2025-03-10 13:12:48,498 - INFO - OPENED SHORT at 2088.66 | Stop loss: 2099.1188321428567 | Take profit: 2057.306801785714 +2025-03-10 13:12:48,624 - INFO - CLOSED short at 2087.0 | PnL: 0.08% | $-0.03 +2025-03-10 13:12:48,660 - INFO - OPENED SHORT at 2087.78 | Stop loss: 2098.2344321428573 | Take profit: 2056.4400017857147 +2025-03-10 13:12:48,680 - INFO - CLOSED short at 2086.81 | PnL: 0.05% | $-0.08 +2025-03-10 13:12:48,680 - INFO - OPENED LONG at 2086.81 | Stop loss: 2076.3604178571427 | Take profit: 2118.1354482142856 +2025-03-10 13:12:48,738 - INFO - CLOSED long at 2089.2 | PnL: 0.11% | $0.02 +2025-03-10 13:12:48,759 - INFO - OPENED SHORT at 2091.05 | Stop loss: 2101.520782142857 | Take profit: 2059.6609517857146 +2025-03-10 13:12:48,781 - INFO - CLOSED short at 2091.05 | PnL: 0.00% | $-0.15 +2025-03-10 13:12:49,022 - INFO - OPENED LONG at 2100.89 | Stop loss: 2090.370017857143 | Take profit: 2132.4266482142853 +2025-03-10 13:12:49,058 - INFO - CLOSED long at 2106.15 | PnL: 0.25% | $0.23 +2025-03-10 13:12:49,058 - INFO - OPENED SHORT at 2106.15 | Stop loss: 2116.6962821428574 | Take profit: 2074.5344517857143 +2025-03-10 13:12:49,108 - INFO - CLOSED short at 2103.81 | PnL: 0.11% | $0.02 +2025-03-10 13:12:49,145 - INFO - OPENED SHORT at 2101.5 | Stop loss: 2112.023032142857 | Take profit: 2069.9542017857143 +2025-03-10 13:12:49,165 - INFO - CLOSED short at 2105.83 | PnL: -0.21% | $-0.47 +2025-03-10 13:12:49,165 - INFO - OPENED LONG at 2105.83 | Stop loss: 2095.2853178571427 | Take profit: 2137.4407482142856 +2025-03-10 13:12:49,261 - INFO - Trade Analysis: Win Rate=24.2% in uptrends, 0.0% in downtrends | Avg Win=$0.21, Avg Loss=$-0.35 +2025-03-10 13:12:49,261 - INFO - Episode 5: Reward=-69.09, Balance=$77.21, Win Rate=29.2%, Trades=120, Episode PnL=$-19.19, Total PnL=$-148.91, Max Drawdown=22.6%, Pred Accuracy=99.1% +2025-03-10 13:12:49,261 - ERROR - Error in episode 5: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:12:49,261 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1812, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:12:49,286 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:12:49,578 - INFO - OPENED SHORT at 2047.4 | Stop loss: 2057.652532142857 | Take profit: 2016.6657017857144 +2025-03-10 13:12:49,596 - INFO - CLOSED short at 2047.2 | PnL: 0.01% | $-0.18 +2025-03-10 13:12:49,649 - INFO - OPENED LONG at 2045.79 | Stop loss: 2035.5455178571428 | Take profit: 2076.5001482142857 +2025-03-10 13:12:49,857 - INFO - CLOSED long at 2053.26 | PnL: 0.37% | $0.53 +2025-03-10 13:12:49,897 - INFO - OPENED SHORT at 2051.89 | Stop loss: 2062.164982142857 | Take profit: 2021.0883517857142 +2025-03-10 13:12:49,978 - INFO - CLOSED short at 2055.69 | PnL: -0.19% | $-0.57 +2025-03-10 13:12:50,076 - INFO - OPENED SHORT at 2060.13 | Stop loss: 2070.446182142857 | Take profit: 2029.2047517857145 +2025-03-10 13:12:50,096 - INFO - CLOSED short at 2059.7 | PnL: 0.02% | $-0.16 +2025-03-10 13:12:50,096 - INFO - OPENED LONG at 2059.7 | Stop loss: 2049.3859678571425 | Take profit: 2090.6187982142856 +2025-03-10 13:12:50,120 - INFO - CLOSED long at 2061.49 | PnL: 0.09% | $-0.03 +2025-03-10 13:12:50,201 - INFO - OPENED LONG at 2061.61 | Stop loss: 2051.286417857143 | Take profit: 2092.557448214286 +2025-03-10 13:12:50,280 - INFO - CLOSED long at 2060.99 | PnL: -0.03% | $-0.26 +2025-03-10 13:12:50,434 - INFO - OPENED SHORT at 2060.31 | Stop loss: 2070.627082142857 | Take profit: 2029.3820517857143 +2025-03-10 13:12:50,472 - INFO - CLOSED short at 2057.8 | PnL: 0.12% | $0.04 +2025-03-10 13:12:50,472 - INFO - OPENED LONG at 2057.8 | Stop loss: 2047.495467857143 | Take profit: 2088.6902982142856 +2025-03-10 13:12:50,511 - INFO - CLOSED long at 2057.94 | PnL: 0.01% | $-0.18 +2025-03-10 13:12:50,531 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.803917857143 | Take profit: 2089.004948214286 +2025-03-10 13:12:50,547 - INFO - CLOSED long at 2061.79 | PnL: 0.18% | $0.16 +2025-03-10 13:12:50,547 - INFO - OPENED SHORT at 2061.79 | Stop loss: 2072.1144821428575 | Take profit: 2030.8398517857142 +2025-03-10 13:12:50,565 - INFO - CLOSED short at 2061.18 | PnL: 0.03% | $-0.14 +2025-03-10 13:12:50,565 - INFO - OPENED LONG at 2061.18 | Stop loss: 2050.8585678571426 | Take profit: 2092.1209982142855 +2025-03-10 13:12:50,602 - INFO - CLOSED long at 2065.86 | PnL: 0.23% | $0.25 +2025-03-10 13:12:50,621 - INFO - OPENED LONG at 2070.58 | Stop loss: 2060.2115678571427 | Take profit: 2101.6619982142856 +2025-03-10 13:12:50,672 - INFO - CLOSED long at 2068.29 | PnL: -0.11% | $-0.42 +2025-03-10 13:12:50,673 - INFO - OPENED SHORT at 2068.29 | Stop loss: 2078.646982142857 | Take profit: 2037.2423517857142 +2025-03-10 13:12:50,835 - INFO - CLOSED short at 2068.99 | PnL: -0.03% | $-0.26 +2025-03-10 13:12:50,852 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.255032142857 | Take profit: 2036.8582017857143 +2025-03-10 13:12:50,878 - INFO - CLOSED short at 2067.69 | PnL: 0.01% | $-0.18 +2025-03-10 13:12:50,878 - INFO - OPENED LONG at 2067.69 | Stop loss: 2057.336017857143 | Take profit: 2098.7286482142854 +2025-03-10 13:12:50,916 - INFO - CLOSED long at 2071.44 | PnL: 0.18% | $0.16 +2025-03-10 13:12:50,918 - INFO - OPENED SHORT at 2071.44 | Stop loss: 2081.8127321428574 | Take profit: 2040.3451017857144 +2025-03-10 13:12:50,990 - INFO - CLOSED short at 2072.33 | PnL: -0.04% | $-0.28 +2025-03-10 13:12:51,028 - INFO - OPENED LONG at 2071.41 | Stop loss: 2061.037417857143 | Take profit: 2102.5044482142857 +2025-03-10 13:12:51,171 - INFO - CLOSED long at 2070.28 | PnL: -0.05% | $-0.30 +2025-03-10 13:12:51,171 - INFO - OPENED SHORT at 2070.28 | Stop loss: 2080.646932142857 | Take profit: 2039.2025017857145 +2025-03-10 13:12:51,252 - INFO - CLOSED short at 2070.36 | PnL: -0.00% | $-0.20 +2025-03-10 13:12:51,254 - INFO - OPENED LONG at 2070.36 | Stop loss: 2059.992667857143 | Take profit: 2101.438698214286 +2025-03-10 13:12:51,307 - INFO - CLOSED long at 2069.34 | PnL: -0.05% | $-0.29 +2025-03-10 13:12:51,307 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.702232142857 | Take profit: 2038.2766017857143 +2025-03-10 13:12:51,344 - INFO - CLOSED short at 2068.8 | PnL: 0.03% | $-0.14 +2025-03-10 13:12:51,344 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.440467857143 | Take profit: 2099.855298214286 +2025-03-10 13:12:51,469 - INFO - CLOSED long at 2066.19 | PnL: -0.13% | $-0.44 +2025-03-10 13:12:51,530 - INFO - OPENED LONG at 2065.08 | Stop loss: 2054.739067857143 | Take profit: 2096.0794982142856 +2025-03-10 13:12:51,557 - INFO - CLOSED long at 2066.18 | PnL: 0.05% | $-0.09 +2025-03-10 13:12:51,557 - INFO - OPENED SHORT at 2066.18 | Stop loss: 2076.526432142857 | Take profit: 2035.1640017857142 +2025-03-10 13:12:51,675 - INFO - CLOSED short at 2069.7 | PnL: -0.17% | $-0.52 +2025-03-10 13:12:51,675 - INFO - OPENED LONG at 2069.7 | Stop loss: 2059.335967857143 | Take profit: 2100.7687982142857 +2025-03-10 13:12:51,721 - INFO - CLOSED long at 2069.96 | PnL: 0.01% | $-0.17 +2025-03-10 13:12:51,722 - INFO - OPENED SHORT at 2069.96 | Stop loss: 2080.3253321428574 | Take profit: 2038.8873017857145 +2025-03-10 13:12:51,801 - INFO - CLOSED short at 2072.75 | PnL: -0.13% | $-0.45 +2025-03-10 13:12:51,802 - INFO - OPENED LONG at 2072.75 | Stop loss: 2062.3707178571426 | Take profit: 2103.864548214286 +2025-03-10 13:12:51,841 - INFO - CLOSED long at 2072.7 | PnL: -0.00% | $-0.19 +2025-03-10 13:12:51,842 - INFO - OPENED SHORT at 2072.7 | Stop loss: 2083.0790321428567 | Take profit: 2041.586201785714 +2025-03-10 13:12:51,878 - INFO - CLOSED short at 2072.15 | PnL: 0.03% | $-0.14 +2025-03-10 13:12:51,878 - INFO - OPENED LONG at 2072.15 | Stop loss: 2061.773717857143 | Take profit: 2103.2555482142857 +2025-03-10 13:12:52,092 - INFO - CLOSED long at 2068.32 | PnL: -0.18% | $-0.54 +2025-03-10 13:12:52,092 - INFO - OPENED SHORT at 2068.32 | Stop loss: 2078.6771321428573 | Take profit: 2037.2719017857144 +2025-03-10 13:12:52,269 - INFO - CLOSED short at 2068.58 | PnL: -0.01% | $-0.21 +2025-03-10 13:12:52,299 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.440467857143 | Take profit: 2099.855298214286 +2025-03-10 13:12:52,328 - INFO - CLOSED long at 2069.34 | PnL: 0.03% | $-0.14 +2025-03-10 13:12:52,418 - INFO - OPENED LONG at 2069.2 | Stop loss: 2058.8384678571424 | Take profit: 2100.2612982142855 +2025-03-10 13:12:52,524 - INFO - CLOSED long at 2068.5 | PnL: -0.03% | $-0.25 +2025-03-10 13:12:52,541 - INFO - OPENED LONG at 2068.69 | Stop loss: 2058.331017857143 | Take profit: 2099.7436482142857 +2025-03-10 13:12:52,614 - INFO - CLOSED long at 2066.4 | PnL: -0.11% | $-0.39 +2025-03-10 13:12:52,614 - INFO - OPENED SHORT at 2066.4 | Stop loss: 2076.7475321428574 | Take profit: 2035.3807017857143 +2025-03-10 13:12:52,631 - INFO - CLOSED short at 2066.1 | PnL: 0.01% | $-0.16 +2025-03-10 13:12:52,663 - INFO - OPENED SHORT at 2065.28 | Stop loss: 2075.621932142857 | Take profit: 2034.2775017857145 +2025-03-10 13:12:52,953 - INFO - CLOSED short at 2062.65 | PnL: 0.13% | $0.05 +2025-03-10 13:12:52,953 - INFO - OPENED LONG at 2062.65 | Stop loss: 2052.321217857143 | Take profit: 2093.6130482142858 +2025-03-10 13:12:52,969 - INFO - CLOSED long at 2061.78 | PnL: -0.04% | $-0.27 +2025-03-10 13:12:52,986 - INFO - OPENED SHORT at 2059.59 | Stop loss: 2069.9034821428572 | Take profit: 2028.6728517857146 +2025-03-10 13:12:53,031 - INFO - CLOSED short at 2063.59 | PnL: -0.19% | $-0.55 +2025-03-10 13:12:53,031 - INFO - OPENED LONG at 2063.59 | Stop loss: 2053.256517857143 | Take profit: 2094.567148214286 +2025-03-10 13:12:53,119 - INFO - CLOSED long at 2067.1 | PnL: 0.17% | $0.13 +2025-03-10 13:12:53,208 - INFO - OPENED LONG at 2064.45 | Stop loss: 2054.1122178571427 | Take profit: 2095.4400482142855 +2025-03-10 13:12:53,254 - INFO - CLOSED long at 2062.71 | PnL: -0.08% | $-0.34 +2025-03-10 13:12:53,356 - INFO - OPENED LONG at 2060.65 | Stop loss: 2050.3312178571427 | Take profit: 2091.583048214286 +2025-03-10 13:12:53,395 - INFO - CLOSED long at 2059.3 | PnL: -0.07% | $-0.31 +2025-03-10 13:12:53,411 - INFO - OPENED LONG at 2060.31 | Stop loss: 2049.992917857143 | Take profit: 2091.237948214286 +2025-03-10 13:12:53,434 - INFO - CLOSED long at 2061.8 | PnL: 0.07% | $-0.05 +2025-03-10 13:12:53,435 - INFO - OPENED SHORT at 2061.8 | Stop loss: 2072.1245321428573 | Take profit: 2030.8497017857144 +2025-03-10 13:12:53,470 - INFO - CLOSED short at 2064.7 | PnL: -0.14% | $-0.44 +2025-03-10 13:12:53,470 - INFO - OPENED LONG at 2064.7 | Stop loss: 2054.360967857143 | Take profit: 2095.6937982142854 +2025-03-10 13:12:53,499 - INFO - CLOSED long at 2062.61 | PnL: -0.10% | $-0.37 +2025-03-10 13:12:53,499 - INFO - OPENED SHORT at 2062.61 | Stop loss: 2072.9385821428573 | Take profit: 2031.6475517857143 +2025-03-10 13:12:53,559 - INFO - CLOSED short at 2060.3 | PnL: 0.11% | $0.02 +2025-03-10 13:12:53,559 - INFO - OPENED LONG at 2060.3 | Stop loss: 2049.982967857143 | Take profit: 2091.227798214286 +2025-03-10 13:12:53,696 - INFO - CLOSED long at 2063.39 | PnL: 0.15% | $0.09 +2025-03-10 13:12:53,696 - INFO - OPENED SHORT at 2063.39 | Stop loss: 2073.722482142857 | Take profit: 2032.415851785714 +2025-03-10 13:12:53,737 - INFO - CLOSED short at 2065.89 | PnL: -0.12% | $-0.40 +2025-03-10 13:12:53,738 - INFO - OPENED LONG at 2065.89 | Stop loss: 2055.5450178571427 | Take profit: 2096.9016482142856 +2025-03-10 13:12:53,775 - INFO - CLOSED long at 2063.0 | PnL: -0.14% | $-0.44 +2025-03-10 13:12:53,812 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.5650178571427 | Take profit: 2092.841648214285 +2025-03-10 13:12:54,047 - INFO - CLOSED long at 2059.46 | PnL: -0.12% | $-0.39 +2025-03-10 13:12:54,083 - INFO - OPENED LONG at 2058.28 | Stop loss: 2047.9730678571432 | Take profit: 2089.177498214286 +2025-03-10 13:12:54,121 - INFO - CLOSED long at 2055.6 | PnL: -0.13% | $-0.41 +2025-03-10 13:12:54,121 - INFO - OPENED SHORT at 2055.6 | Stop loss: 2065.893532142857 | Take profit: 2024.7427017857142 +2025-03-10 13:12:54,141 - INFO - CLOSED short at 2054.89 | PnL: 0.03% | $-0.12 +2025-03-10 13:12:54,141 - INFO - OPENED LONG at 2054.89 | Stop loss: 2044.6000178571428 | Take profit: 2085.736648214285 +2025-03-10 13:12:54,192 - INFO - CLOSED long at 2058.15 | PnL: 0.16% | $0.10 +2025-03-10 13:12:54,313 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.6220321428573 | Take profit: 2030.3572017857146 +2025-03-10 13:12:54,342 - INFO - CLOSED short at 2062.69 | PnL: -0.07% | $-0.30 +2025-03-10 13:12:54,342 - INFO - OPENED LONG at 2062.69 | Stop loss: 2052.361017857143 | Take profit: 2093.6536482142856 +2025-03-10 13:12:54,403 - INFO - CLOSED long at 2066.36 | PnL: 0.18% | $0.14 +2025-03-10 13:12:54,403 - INFO - OPENED SHORT at 2066.36 | Stop loss: 2076.7073321428575 | Take profit: 2035.3413017857144 +2025-03-10 13:12:54,450 - INFO - CLOSED short at 2063.9 | PnL: 0.12% | $0.03 +2025-03-10 13:12:54,450 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.564967857143 | Take profit: 2094.881798214286 +2025-03-10 13:12:54,470 - INFO - CLOSED long at 2064.49 | PnL: 0.03% | $-0.13 +2025-03-10 13:12:54,488 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.982817857143 | Take profit: 2097.348248214286 +2025-03-10 13:12:54,542 - INFO - CLOSED long at 2067.33 | PnL: 0.05% | $-0.09 +2025-03-10 13:12:54,569 - INFO - OPENED LONG at 2065.69 | Stop loss: 2055.346017857143 | Take profit: 2096.6986482142856 +2025-03-10 13:12:54,627 - INFO - CLOSED long at 2074.3 | PnL: 0.42% | $0.56 +2025-03-10 13:12:54,661 - INFO - OPENED LONG at 2078.01 | Stop loss: 2067.604417857143 | Take profit: 2109.203448214286 +2025-03-10 13:12:54,808 - INFO - CLOSED long at 2071.6 | PnL: -0.31% | $-0.73 +2025-03-10 13:12:54,851 - INFO - OPENED LONG at 2070.0 | Stop loss: 2059.634467857143 | Take profit: 2101.0732982142854 +2025-03-10 13:12:54,896 - INFO - CLOSED long at 2068.39 | PnL: -0.08% | $-0.32 +2025-03-10 13:12:54,937 - INFO - OPENED LONG at 2069.03 | Stop loss: 2058.669317857143 | Take profit: 2100.088748214286 +2025-03-10 13:12:54,973 - INFO - CLOSED long at 2068.79 | PnL: -0.01% | $-0.20 +2025-03-10 13:12:54,974 - INFO - OPENED SHORT at 2068.79 | Stop loss: 2079.149482142857 | Take profit: 2037.7348517857142 +2025-03-10 13:12:54,992 - INFO - CLOSED short at 2072.99 | PnL: -0.20% | $-0.54 +2025-03-10 13:12:54,992 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6095178571427 | Take profit: 2104.1081482142854 +2025-03-10 13:12:55,073 - INFO - CLOSED long at 2067.33 | PnL: -0.27% | $-0.66 +2025-03-10 13:12:55,103 - INFO - OPENED SHORT at 2066.38 | Stop loss: 2076.7274321428577 | Take profit: 2035.3610017857145 +2025-03-10 13:12:55,136 - INFO - CLOSED short at 2065.7 | PnL: 0.03% | $-0.12 +2025-03-10 13:12:55,164 - INFO - OPENED SHORT at 2065.66 | Stop loss: 2076.003832142857 | Take profit: 2034.651801785714 +2025-03-10 13:12:55,201 - INFO - CLOSED short at 2063.95 | PnL: 0.08% | $-0.03 +2025-03-10 13:12:55,202 - INFO - OPENED LONG at 2063.95 | Stop loss: 2053.6147178571428 | Take profit: 2094.932548214286 +2025-03-10 13:12:55,248 - INFO - CLOSED long at 2064.5 | PnL: 0.03% | $-0.13 +2025-03-10 13:12:55,271 - INFO - OPENED LONG at 2065.3 | Stop loss: 2054.957967857143 | Take profit: 2096.3027982142858 +2025-03-10 13:12:55,290 - INFO - CLOSED long at 2064.4 | PnL: -0.04% | $-0.25 +2025-03-10 13:12:55,292 - INFO - OPENED SHORT at 2064.4 | Stop loss: 2074.7375321428576 | Take profit: 2033.4107017857145 +2025-03-10 13:12:55,309 - INFO - CLOSED short at 2064.31 | PnL: 0.00% | $-0.17 +2025-03-10 13:12:55,331 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.1569678571427 | Take profit: 2096.5057982142857 +2025-03-10 13:12:55,349 - INFO - CLOSED long at 2067.53 | PnL: 0.10% | $-0.00 +2025-03-10 13:12:55,349 - INFO - OPENED SHORT at 2067.53 | Stop loss: 2077.883182142857 | Take profit: 2036.4937517857145 +2025-03-10 13:12:55,369 - INFO - CLOSED short at 2065.29 | PnL: 0.11% | $0.01 +2025-03-10 13:12:55,369 - INFO - OPENED LONG at 2065.29 | Stop loss: 2054.948017857143 | Take profit: 2096.2926482142857 +2025-03-10 13:12:55,392 - INFO - CLOSED long at 2065.31 | PnL: 0.00% | $-0.17 +2025-03-10 13:12:55,392 - INFO - OPENED SHORT at 2065.31 | Stop loss: 2075.652082142857 | Take profit: 2034.3070517857143 +2025-03-10 13:12:55,430 - INFO - CLOSED short at 2066.5 | PnL: -0.06% | $-0.27 +2025-03-10 13:12:55,430 - INFO - OPENED LONG at 2066.5 | Stop loss: 2056.1519678571426 | Take profit: 2097.5207982142856 +2025-03-10 13:12:55,555 - INFO - CLOSED long at 2071.35 | PnL: 0.23% | $0.23 +2025-03-10 13:12:55,555 - INFO - OPENED SHORT at 2071.35 | Stop loss: 2081.722282142857 | Take profit: 2040.2564517857143 +2025-03-10 13:12:55,589 - INFO - CLOSED short at 2070.9 | PnL: 0.02% | $-0.14 +2025-03-10 13:12:55,590 - INFO - OPENED LONG at 2070.9 | Stop loss: 2060.529967857143 | Take profit: 2101.986798214286 +2025-03-10 13:12:55,683 - INFO - CLOSED long at 2070.35 | PnL: -0.03% | $-0.22 +2025-03-10 13:12:55,705 - INFO - OPENED LONG at 2070.61 | Stop loss: 2060.241417857143 | Take profit: 2101.692448214286 +2025-03-10 13:12:55,760 - INFO - CLOSED long at 2068.67 | PnL: -0.09% | $-0.33 +2025-03-10 13:12:55,817 - INFO - OPENED LONG at 2071.61 | Stop loss: 2061.236417857143 | Take profit: 2102.7074482142857 +2025-03-10 13:12:55,903 - INFO - CLOSED long at 2074.35 | PnL: 0.13% | $0.06 +2025-03-10 13:12:55,933 - INFO - OPENED LONG at 2073.27 | Stop loss: 2062.888117857143 | Take profit: 2104.3923482142854 +2025-03-10 13:12:55,961 - INFO - CLOSED long at 2073.99 | PnL: 0.03% | $-0.11 +2025-03-10 13:12:55,961 - INFO - OPENED SHORT at 2073.99 | Stop loss: 2084.375482142857 | Take profit: 2042.856851785714 +2025-03-10 13:12:56,027 - INFO - CLOSED short at 2075.29 | PnL: -0.06% | $-0.28 +2025-03-10 13:12:56,027 - INFO - OPENED LONG at 2075.29 | Stop loss: 2064.898017857143 | Take profit: 2106.442648214286 +2025-03-10 13:12:56,046 - INFO - CLOSED long at 2076.9 | PnL: 0.08% | $-0.04 +2025-03-10 13:12:56,068 - INFO - OPENED LONG at 2075.61 | Stop loss: 2065.216417857143 | Take profit: 2106.7674482142857 +2025-03-10 13:12:56,105 - INFO - CLOSED long at 2072.09 | PnL: -0.17% | $-0.46 +2025-03-10 13:12:56,164 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.350532142857 | Take profit: 2035.9717017857142 +2025-03-10 13:12:56,200 - INFO - CLOSED short at 2066.4 | PnL: 0.03% | $-0.12 +2025-03-10 13:12:56,200 - INFO - OPENED LONG at 2066.4 | Stop loss: 2056.052467857143 | Take profit: 2097.4192982142854 +2025-03-10 13:12:56,435 - INFO - CLOSED long at 2065.5 | PnL: -0.04% | $-0.24 +2025-03-10 13:12:56,510 - INFO - OPENED LONG at 2066.09 | Stop loss: 2055.744017857143 | Take profit: 2097.1046482142856 +2025-03-10 13:12:56,634 - INFO - CLOSED long at 2064.5 | PnL: -0.08% | $-0.30 +2025-03-10 13:12:56,634 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.838032142857 | Take profit: 2033.5092017857144 +2025-03-10 13:12:56,668 - INFO - CLOSED short at 2066.33 | PnL: -0.09% | $-0.32 +2025-03-10 13:12:56,668 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.982817857143 | Take profit: 2097.348248214286 +2025-03-10 13:12:56,871 - INFO - STOP LOSS hit for long at 2055.982817857143 | PnL: -0.50% | $-1.01 +2025-03-10 13:12:56,907 - INFO - OPENED LONG at 2049.5 | Stop loss: 2039.2369678571429 | Take profit: 2080.2657982142855 +2025-03-10 13:12:56,976 - INFO - CLOSED long at 2057.11 | PnL: 0.37% | $0.45 +2025-03-10 13:12:56,995 - INFO - OPENED LONG at 2057.89 | Stop loss: 2047.5850178571427 | Take profit: 2088.7816482142853 +2025-03-10 13:12:57,061 - INFO - CLOSED long at 2065.1 | PnL: 0.35% | $0.42 +2025-03-10 13:12:57,063 - INFO - OPENED SHORT at 2065.1 | Stop loss: 2075.4410321428572 | Take profit: 2034.1002017857143 +2025-03-10 13:12:57,091 - INFO - CLOSED short at 2062.43 | PnL: 0.13% | $0.05 +2025-03-10 13:12:57,208 - INFO - OPENED LONG at 2067.49 | Stop loss: 2057.137017857143 | Take profit: 2098.5256482142854 +2025-03-10 13:12:57,322 - INFO - CLOSED long at 2061.84 | PnL: -0.27% | $-0.63 +2025-03-10 13:12:57,322 - INFO - OPENED SHORT at 2061.84 | Stop loss: 2072.1647321428572 | Take profit: 2030.8891017857145 +2025-03-10 13:12:57,338 - INFO - CLOSED short at 2062.54 | PnL: -0.03% | $-0.22 +2025-03-10 13:12:57,357 - INFO - OPENED SHORT at 2065.72 | Stop loss: 2076.064132142857 | Take profit: 2034.7109017857142 +2025-03-10 13:12:57,372 - INFO - CLOSED short at 2070.31 | PnL: -0.22% | $-0.53 +2025-03-10 13:12:57,433 - INFO - OPENED SHORT at 2069.81 | Stop loss: 2080.1745821428567 | Take profit: 2038.7395517857142 +2025-03-10 13:12:57,466 - INFO - CLOSED short at 2070.41 | PnL: -0.03% | $-0.21 +2025-03-10 13:12:57,467 - INFO - OPENED LONG at 2070.41 | Stop loss: 2060.042417857143 | Take profit: 2101.489448214286 +2025-03-10 13:12:57,614 - INFO - CLOSED long at 2071.8 | PnL: 0.07% | $-0.05 +2025-03-10 13:12:57,639 - INFO - OPENED LONG at 2074.9 | Stop loss: 2064.509967857143 | Take profit: 2106.046798214286 +2025-03-10 13:12:57,657 - INFO - CLOSED long at 2076.08 | PnL: 0.06% | $-0.07 +2025-03-10 13:12:57,658 - INFO - OPENED SHORT at 2076.08 | Stop loss: 2086.475932142857 | Take profit: 2044.9155017857142 +2025-03-10 13:12:57,716 - INFO - CLOSED short at 2090.49 | PnL: -0.69% | $-1.30 +2025-03-10 13:12:57,716 - INFO - OPENED LONG at 2090.49 | Stop loss: 2080.0220178571426 | Take profit: 2121.8706482142857 +2025-03-10 13:12:57,751 - INFO - TAKE PROFIT hit for long at 2121.8706482142857 | PnL: 1.50% | $2.27 +2025-03-10 13:12:57,793 - INFO - OPENED LONG at 2131.78 | Stop loss: 2121.105567857143 | Take profit: 2163.7799982142856 +2025-03-10 13:12:57,827 - INFO - CLOSED long at 2137.59 | PnL: 0.27% | $0.29 +2025-03-10 13:12:57,827 - INFO - OPENED SHORT at 2137.59 | Stop loss: 2148.2934821428576 | Take profit: 2105.5028517857145 +2025-03-10 13:12:57,857 - INFO - CLOSED short at 2141.41 | PnL: -0.18% | $-0.46 +2025-03-10 13:12:57,886 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.0220321428574 | Take profit: 2109.1572017857147 +2025-03-10 13:12:58,001 - INFO - CLOSED short at 2126.99 | PnL: 0.67% | $0.94 +2025-03-10 13:12:58,033 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.647967857143 | Take profit: 2159.2327982142856 +2025-03-10 13:12:58,085 - INFO - CLOSED long at 2120.15 | PnL: -0.34% | $-0.73 +2025-03-10 13:12:58,106 - INFO - OPENED LONG at 2117.24 | Stop loss: 2106.6382678571426 | Take profit: 2149.0218982142856 +2025-03-10 13:12:58,178 - INFO - CLOSED long at 2119.14 | PnL: 0.09% | $-0.02 +2025-03-10 13:12:58,178 - INFO - OPENED SHORT at 2119.14 | Stop loss: 2129.751232142857 | Take profit: 2087.329601785714 +2025-03-10 13:12:58,212 - INFO - CLOSED short at 2115.28 | PnL: 0.18% | $0.14 +2025-03-10 13:12:58,213 - INFO - OPENED LONG at 2115.28 | Stop loss: 2104.688067857143 | Take profit: 2147.0324982142856 +2025-03-10 13:12:58,286 - INFO - CLOSED long at 2109.05 | PnL: -0.29% | $-0.66 +2025-03-10 13:12:58,286 - INFO - OPENED SHORT at 2109.05 | Stop loss: 2119.6107821428577 | Take profit: 2077.3909517857146 +2025-03-10 13:12:58,385 - INFO - CLOSED short at 2112.46 | PnL: -0.16% | $-0.43 +2025-03-10 13:12:58,387 - INFO - OPENED LONG at 2112.46 | Stop loss: 2101.882167857143 | Take profit: 2144.1701982142854 +2025-03-10 13:12:58,456 - INFO - CLOSED long at 2120.81 | PnL: 0.40% | $0.49 +2025-03-10 13:12:58,469 - INFO - OPENED SHORT at 2116.48 | Stop loss: 2127.077932142857 | Take profit: 2084.7095017857146 +2025-03-10 13:12:58,508 - INFO - CLOSED short at 2110.9 | PnL: 0.26% | $0.27 +2025-03-10 13:12:58,546 - INFO - OPENED LONG at 2106.49 | Stop loss: 2095.9420178571427 | Take profit: 2138.1106482142854 +2025-03-10 13:12:58,564 - INFO - CLOSED long at 2108.06 | PnL: 0.07% | $-0.04 +2025-03-10 13:12:58,565 - INFO - OPENED SHORT at 2108.06 | Stop loss: 2118.615832142857 | Take profit: 2076.4158017857144 +2025-03-10 13:12:58,583 - INFO - CLOSED short at 2103.33 | PnL: 0.22% | $0.21 +2025-03-10 13:12:58,602 - INFO - OPENED LONG at 2100.5 | Stop loss: 2089.981967857143 | Take profit: 2132.0307982142854 +2025-03-10 13:12:58,653 - INFO - CLOSED long at 2099.53 | PnL: -0.05% | $-0.24 +2025-03-10 13:12:58,653 - INFO - OPENED SHORT at 2099.53 | Stop loss: 2110.0431821428574 | Take profit: 2068.0137517857142 +2025-03-10 13:12:58,673 - INFO - CLOSED short at 2098.1 | PnL: 0.07% | $-0.05 +2025-03-10 13:12:58,673 - INFO - OPENED LONG at 2098.1 | Stop loss: 2087.5939678571426 | Take profit: 2129.5947982142857 +2025-03-10 13:12:58,898 - INFO - CLOSED long at 2103.86 | PnL: 0.27% | $0.29 +2025-03-10 13:12:58,970 - INFO - OPENED LONG at 2100.02 | Stop loss: 2089.504367857143 | Take profit: 2131.543598214286 +2025-03-10 13:12:59,010 - INFO - CLOSED long at 2095.29 | PnL: -0.23% | $-0.54 +2025-03-10 13:12:59,010 - INFO - OPENED SHORT at 2095.29 | Stop loss: 2105.7819821428575 | Take profit: 2063.8373517857144 +2025-03-10 13:12:59,122 - INFO - CLOSED short at 2091.1 | PnL: 0.20% | $0.17 +2025-03-10 13:12:59,153 - INFO - OPENED SHORT at 2094.72 | Stop loss: 2105.209132142857 | Take profit: 2063.275901785714 +2025-03-10 13:12:59,183 - INFO - CLOSED short at 2094.08 | PnL: 0.03% | $-0.11 +2025-03-10 13:12:59,183 - INFO - OPENED LONG at 2094.08 | Stop loss: 2083.594067857143 | Take profit: 2125.5144982142856 +2025-03-10 13:12:59,241 - INFO - STOP LOSS hit for long at 2083.594067857143 | PnL: -0.50% | $-0.99 +2025-03-10 13:12:59,329 - INFO - OPENED SHORT at 2081.49 | Stop loss: 2091.912982142857 | Take profit: 2050.244351785714 +2025-03-10 13:12:59,349 - INFO - CLOSED short at 2080.38 | PnL: 0.05% | $-0.08 +2025-03-10 13:12:59,350 - INFO - OPENED LONG at 2080.38 | Stop loss: 2069.962567857143 | Take profit: 2111.6089982142857 +2025-03-10 13:12:59,619 - INFO - CLOSED long at 2088.32 | PnL: 0.38% | $0.46 +2025-03-10 13:12:59,662 - INFO - OPENED LONG at 2089.96 | Stop loss: 2079.494667857143 | Take profit: 2121.3326982142858 +2025-03-10 13:12:59,695 - INFO - CLOSED long at 2087.47 | PnL: -0.12% | $-0.36 +2025-03-10 13:12:59,701 - INFO - OPENED SHORT at 2087.47 | Stop loss: 2097.922882142857 | Take profit: 2056.134651785714 +2025-03-10 13:12:59,718 - INFO - CLOSED short at 2087.78 | PnL: -0.01% | $-0.19 +2025-03-10 13:12:59,736 - INFO - OPENED SHORT at 2086.81 | Stop loss: 2097.259582142857 | Take profit: 2055.4845517857143 +2025-03-10 13:12:59,793 - INFO - CLOSED short at 2089.2 | PnL: -0.11% | $-0.35 +2025-03-10 13:12:59,793 - INFO - OPENED LONG at 2089.2 | Stop loss: 2078.738467857143 | Take profit: 2120.5612982142857 +2025-03-10 13:12:59,843 - INFO - CLOSED long at 2091.05 | PnL: 0.09% | $-0.02 +2025-03-10 13:12:59,894 - INFO - OPENED LONG at 2094.7 | Stop loss: 2084.210967857143 | Take profit: 2126.1437982142857 +2025-03-10 13:12:59,964 - INFO - CLOSED long at 2099.99 | PnL: 0.25% | $0.25 +2025-03-10 13:12:59,998 - INFO - OPENED LONG at 2101.64 | Stop loss: 2091.1162678571427 | Take profit: 2133.1878982142857 +2025-03-10 13:13:00,061 - INFO - CLOSED long at 2099.89 | PnL: -0.08% | $-0.30 +2025-03-10 13:13:00,061 - INFO - OPENED SHORT at 2099.89 | Stop loss: 2110.404982142857 | Take profit: 2068.368351785714 +2025-03-10 13:13:00,081 - INFO - CLOSED short at 2100.89 | PnL: -0.05% | $-0.24 +2025-03-10 13:13:00,081 - INFO - OPENED LONG at 2100.89 | Stop loss: 2090.370017857143 | Take profit: 2132.4266482142853 +2025-03-10 13:13:00,119 - INFO - CLOSED long at 2106.15 | PnL: 0.25% | $0.24 +2025-03-10 13:13:00,120 - INFO - OPENED SHORT at 2106.15 | Stop loss: 2116.6962821428574 | Take profit: 2074.5344517857143 +2025-03-10 13:13:00,152 - INFO - CLOSED short at 2104.93 | PnL: 0.06% | $-0.07 +2025-03-10 13:13:00,152 - INFO - OPENED LONG at 2104.93 | Stop loss: 2094.3898178571426 | Take profit: 2136.527248214286 +2025-03-10 13:13:00,172 - INFO - CLOSED long at 2103.81 | PnL: -0.05% | $-0.25 +2025-03-10 13:13:00,236 - INFO - OPENED LONG at 2105.83 | Stop loss: 2095.2853178571427 | Take profit: 2137.4407482142856 +2025-03-10 13:13:00,377 - INFO - Trade Analysis: Win Rate=18.4% in uptrends, 0.0% in downtrends | Avg Win=$0.31, Avg Loss=$-0.30 +2025-03-10 13:13:00,377 - INFO - Episode 6: Reward=-70.68, Balance=$81.30, Win Rate=24.6%, Trades=126, Episode PnL=$-13.31, Total PnL=$-167.61, Max Drawdown=19.0%, Pred Accuracy=99.4% +2025-03-10 13:13:00,379 - ERROR - Error in episode 6: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:13:00,379 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1812, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:13:00,393 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:13:00,621 - INFO - OPENED SHORT at 2047.4 | Stop loss: 2057.652532142857 | Take profit: 2016.6657017857144 +2025-03-10 13:13:00,643 - INFO - CLOSED short at 2047.2 | PnL: 0.01% | $-0.18 +2025-03-10 13:13:00,644 - INFO - OPENED LONG at 2047.2 | Stop loss: 2036.9484678571428 | Take profit: 2077.931298214286 +2025-03-10 13:13:00,679 - INFO - CLOSED long at 2045.99 | PnL: -0.06% | $-0.32 +2025-03-10 13:13:00,797 - INFO - OPENED LONG at 2049.89 | Stop loss: 2039.6250178571427 | Take profit: 2080.661648214286 +2025-03-10 13:13:01,086 - INFO - CLOSED long at 2063.29 | PnL: 0.65% | $1.09 +2025-03-10 13:13:01,154 - INFO - OPENED SHORT at 2064.69 | Stop loss: 2075.0289821428573 | Take profit: 2033.6963517857143 +2025-03-10 13:13:01,171 - INFO - CLOSED short at 2063.01 | PnL: 0.08% | $-0.04 +2025-03-10 13:13:01,171 - INFO - OPENED LONG at 2063.01 | Stop loss: 2052.679417857143 | Take profit: 2093.978448214286 +2025-03-10 13:13:01,244 - INFO - CLOSED long at 2061.89 | PnL: -0.05% | $-0.31 +2025-03-10 13:13:01,346 - INFO - OPENED LONG at 2057.8 | Stop loss: 2047.495467857143 | Take profit: 2088.6902982142856 +2025-03-10 13:13:01,384 - INFO - CLOSED long at 2057.89 | PnL: 0.00% | $-0.19 +2025-03-10 13:13:01,385 - INFO - OPENED SHORT at 2057.89 | Stop loss: 2068.194982142857 | Take profit: 2026.9983517857142 +2025-03-10 13:13:01,451 - INFO - CLOSED short at 2061.79 | PnL: -0.19% | $-0.58 +2025-03-10 13:13:01,451 - INFO - OPENED LONG at 2061.79 | Stop loss: 2051.465517857143 | Take profit: 2092.740148214286 +2025-03-10 13:13:01,461 - INFO - CLOSED long at 2061.18 | PnL: -0.03% | $-0.26 +2025-03-10 13:13:01,505 - INFO - OPENED LONG at 2065.86 | Stop loss: 2055.515167857143 | Take profit: 2096.871198214286 +2025-03-10 13:13:01,570 - INFO - CLOSED long at 2067.89 | PnL: 0.10% | $-0.00 +2025-03-10 13:13:01,570 - INFO - OPENED SHORT at 2067.89 | Stop loss: 2078.244982142857 | Take profit: 2036.8483517857142 +2025-03-10 13:13:01,607 - INFO - CLOSED short at 2070.99 | PnL: -0.15% | $-0.49 +2025-03-10 13:13:01,607 - INFO - OPENED LONG at 2070.99 | Stop loss: 2060.6195178571425 | Take profit: 2102.0781482142856 +2025-03-10 13:13:01,627 - INFO - CLOSED long at 2069.6 | PnL: -0.07% | $-0.33 +2025-03-10 13:13:01,661 - INFO - OPENED LONG at 2068.65 | Stop loss: 2058.291217857143 | Take profit: 2099.703048214286 +2025-03-10 13:13:01,693 - INFO - CLOSED long at 2068.99 | PnL: 0.02% | $-0.16 +2025-03-10 13:13:01,693 - INFO - OPENED SHORT at 2068.99 | Stop loss: 2079.350482142857 | Take profit: 2037.931851785714 +2025-03-10 13:13:01,783 - INFO - CLOSED short at 2070.26 | PnL: -0.06% | $-0.31 +2025-03-10 13:13:01,784 - INFO - OPENED LONG at 2070.26 | Stop loss: 2059.893167857143 | Take profit: 2101.3371982142858 +2025-03-10 13:13:01,834 - INFO - CLOSED long at 2073.73 | PnL: 0.17% | $0.13 +2025-03-10 13:13:01,854 - INFO - OPENED LONG at 2075.1 | Stop loss: 2064.708967857143 | Take profit: 2106.2497982142854 +2025-03-10 13:13:01,872 - INFO - CLOSED long at 2072.91 | PnL: -0.11% | $-0.40 +2025-03-10 13:13:01,889 - INFO - OPENED LONG at 2072.33 | Stop loss: 2061.9528178571427 | Take profit: 2103.4382482142855 +2025-03-10 13:13:01,902 - INFO - CLOSED long at 2071.38 | PnL: -0.05% | $-0.28 +2025-03-10 13:13:01,923 - INFO - OPENED LONG at 2071.41 | Stop loss: 2061.037417857143 | Take profit: 2102.5044482142857 +2025-03-10 13:13:01,940 - INFO - CLOSED long at 2069.37 | PnL: -0.10% | $-0.38 +2025-03-10 13:13:01,961 - INFO - OPENED LONG at 2070.9 | Stop loss: 2060.529967857143 | Take profit: 2101.986798214286 +2025-03-10 13:13:02,129 - INFO - CLOSED long at 2068.9 | PnL: -0.10% | $-0.38 +2025-03-10 13:13:02,130 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.260032142857 | Take profit: 2037.8432017857144 +2025-03-10 13:13:02,188 - INFO - CLOSED short at 2069.34 | PnL: -0.02% | $-0.23 +2025-03-10 13:13:02,220 - INFO - OPENED LONG at 2069.19 | Stop loss: 2058.8285178571427 | Take profit: 2100.251148214286 +2025-03-10 13:13:02,236 - INFO - CLOSED long at 2068.8 | PnL: -0.02% | $-0.23 +2025-03-10 13:13:02,257 - INFO - OPENED LONG at 2067.6 | Stop loss: 2057.2464678571428 | Take profit: 2098.6372982142857 +2025-03-10 13:13:02,294 - INFO - CLOSED long at 2069.01 | PnL: 0.07% | $-0.06 +2025-03-10 13:13:02,311 - INFO - OPENED LONG at 2066.39 | Stop loss: 2056.0425178571427 | Take profit: 2097.409148214286 +2025-03-10 13:13:02,388 - INFO - CLOSED long at 2065.08 | PnL: -0.06% | $-0.31 +2025-03-10 13:13:02,435 - INFO - OPENED LONG at 2068.76 | Stop loss: 2058.400667857143 | Take profit: 2099.814698214286 +2025-03-10 13:13:02,622 - INFO - CLOSED long at 2071.4 | PnL: 0.13% | $0.05 +2025-03-10 13:13:02,645 - INFO - OPENED LONG at 2071.39 | Stop loss: 2061.0175178571426 | Take profit: 2102.4841482142856 +2025-03-10 13:13:02,722 - INFO - CLOSED long at 2072.7 | PnL: 0.06% | $-0.07 +2025-03-10 13:13:02,722 - INFO - OPENED SHORT at 2072.7 | Stop loss: 2083.0790321428567 | Take profit: 2041.586201785714 +2025-03-10 13:13:02,759 - INFO - CLOSED short at 2074.29 | PnL: -0.08% | $-0.34 +2025-03-10 13:13:02,793 - INFO - OPENED SHORT at 2071.92 | Stop loss: 2082.2951321428573 | Take profit: 2040.8179017857142 +2025-03-10 13:13:02,810 - INFO - CLOSED short at 2070.4 | PnL: 0.07% | $-0.05 +2025-03-10 13:13:02,810 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.032467857143 | Take profit: 2101.479298214286 +2025-03-10 13:13:02,841 - INFO - CLOSED long at 2071.11 | PnL: 0.03% | $-0.12 +2025-03-10 13:13:02,870 - INFO - OPENED SHORT at 2069.46 | Stop loss: 2079.8228321428574 | Take profit: 2038.3948017857144 +2025-03-10 13:13:02,906 - INFO - CLOSED short at 2069.35 | PnL: 0.01% | $-0.18 +2025-03-10 13:13:02,906 - INFO - OPENED LONG at 2069.35 | Stop loss: 2058.987717857143 | Take profit: 2100.4135482142856 +2025-03-10 13:13:02,989 - INFO - CLOSED long at 2067.79 | PnL: -0.08% | $-0.33 +2025-03-10 13:13:02,989 - INFO - OPENED SHORT at 2067.79 | Stop loss: 2078.144482142857 | Take profit: 2036.7498517857143 +2025-03-10 13:13:03,023 - INFO - CLOSED short at 2067.46 | PnL: 0.02% | $-0.16 +2025-03-10 13:13:03,023 - INFO - OPENED LONG at 2067.46 | Stop loss: 2057.107167857143 | Take profit: 2098.4951982142857 +2025-03-10 13:13:03,089 - INFO - CLOSED long at 2065.26 | PnL: -0.11% | $-0.39 +2025-03-10 13:13:03,146 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.440467857143 | Take profit: 2099.855298214286 +2025-03-10 13:13:03,172 - INFO - CLOSED long at 2069.34 | PnL: 0.03% | $-0.14 +2025-03-10 13:13:03,254 - INFO - OPENED SHORT at 2070.3 | Stop loss: 2080.6670321428574 | Take profit: 2039.2222017857146 +2025-03-10 13:13:03,287 - INFO - CLOSED short at 2071.59 | PnL: -0.06% | $-0.30 +2025-03-10 13:13:03,288 - INFO - OPENED LONG at 2071.59 | Stop loss: 2061.216517857143 | Take profit: 2102.687148214286 +2025-03-10 13:13:03,394 - INFO - CLOSED long at 2068.5 | PnL: -0.15% | $-0.46 +2025-03-10 13:13:03,394 - INFO - OPENED SHORT at 2068.5 | Stop loss: 2078.858032142857 | Take profit: 2037.4492017857142 +2025-03-10 13:13:03,460 - INFO - CLOSED short at 2067.11 | PnL: 0.07% | $-0.06 +2025-03-10 13:13:03,460 - INFO - OPENED LONG at 2067.11 | Stop loss: 2056.758917857143 | Take profit: 2098.139948214286 +2025-03-10 13:13:03,547 - INFO - CLOSED long at 2066.39 | PnL: -0.03% | $-0.25 +2025-03-10 13:13:03,585 - INFO - OPENED SHORT at 2070.04 | Stop loss: 2080.4057321428572 | Take profit: 2038.9661017857143 +2025-03-10 13:13:03,794 - INFO - CLOSED short at 2065.26 | PnL: 0.23% | $0.24 +2025-03-10 13:13:03,794 - INFO - OPENED LONG at 2065.26 | Stop loss: 2054.918167857143 | Take profit: 2096.262198214286 +2025-03-10 13:13:03,877 - INFO - CLOSED long at 2059.59 | PnL: -0.27% | $-0.69 +2025-03-10 13:13:03,877 - INFO - OPENED SHORT at 2059.59 | Stop loss: 2069.9034821428572 | Take profit: 2028.6728517857146 +2025-03-10 13:13:04,003 - INFO - CLOSED short at 2066.09 | PnL: -0.32% | $-0.76 +2025-03-10 13:13:04,003 - INFO - OPENED LONG at 2066.09 | Stop loss: 2055.744017857143 | Take profit: 2097.1046482142856 +2025-03-10 13:13:04,190 - INFO - CLOSED long at 2061.6 | PnL: -0.22% | $-0.58 +2025-03-10 13:13:04,190 - INFO - OPENED SHORT at 2061.6 | Stop loss: 2071.9235321428573 | Take profit: 2030.6527017857143 +2025-03-10 13:13:04,224 - INFO - CLOSED short at 2060.9 | PnL: 0.03% | $-0.12 +2025-03-10 13:13:04,224 - INFO - OPENED LONG at 2060.9 | Stop loss: 2050.579967857143 | Take profit: 2091.836798214286 +2025-03-10 13:13:04,294 - INFO - CLOSED long at 2060.31 | PnL: -0.03% | $-0.23 +2025-03-10 13:13:04,294 - INFO - OPENED SHORT at 2060.31 | Stop loss: 2070.627082142857 | Take profit: 2029.3820517857143 +2025-03-10 13:13:04,319 - INFO - CLOSED short at 2061.8 | PnL: -0.07% | $-0.31 +2025-03-10 13:13:04,319 - INFO - OPENED LONG at 2061.8 | Stop loss: 2051.475467857143 | Take profit: 2092.7502982142855 +2025-03-10 13:13:04,442 - INFO - CLOSED long at 2061.9 | PnL: 0.00% | $-0.17 +2025-03-10 13:13:04,475 - INFO - OPENED LONG at 2064.1 | Stop loss: 2053.7639678571427 | Take profit: 2095.0847982142855 +2025-03-10 13:13:04,527 - INFO - CLOSED long at 2064.33 | PnL: 0.01% | $-0.16 +2025-03-10 13:13:04,527 - INFO - OPENED SHORT at 2064.33 | Stop loss: 2074.667182142857 | Take profit: 2033.3417517857142 +2025-03-10 13:13:04,559 - INFO - CLOSED short at 2063.39 | PnL: 0.05% | $-0.10 +2025-03-10 13:13:04,559 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.0575178571426 | Take profit: 2094.3641482142853 +2025-03-10 13:13:04,620 - INFO - CLOSED long at 2065.89 | PnL: 0.12% | $0.04 +2025-03-10 13:13:04,620 - INFO - OPENED SHORT at 2065.89 | Stop loss: 2076.234982142857 | Take profit: 2034.8783517857144 +2025-03-10 13:13:04,660 - INFO - CLOSED short at 2063.0 | PnL: 0.14% | $0.07 +2025-03-10 13:13:04,660 - INFO - OPENED LONG at 2063.0 | Stop loss: 2052.6694678571425 | Take profit: 2093.968298214286 +2025-03-10 13:13:04,680 - INFO - CLOSED long at 2062.6 | PnL: -0.02% | $-0.21 +2025-03-10 13:13:04,719 - INFO - OPENED LONG at 2061.7 | Stop loss: 2051.3759678571428 | Take profit: 2092.6487982142853 +2025-03-10 13:13:04,869 - INFO - CLOSED long at 2059.96 | PnL: -0.08% | $-0.33 +2025-03-10 13:13:04,869 - INFO - OPENED SHORT at 2059.96 | Stop loss: 2070.275332142857 | Take profit: 2029.0373017857144 +2025-03-10 13:13:04,902 - INFO - CLOSED short at 2059.46 | PnL: 0.02% | $-0.13 +2025-03-10 13:13:04,902 - INFO - OPENED LONG at 2059.46 | Stop loss: 2049.147167857143 | Take profit: 2090.375198214286 +2025-03-10 13:13:04,970 - INFO - CLOSED long at 2058.28 | PnL: -0.06% | $-0.28 +2025-03-10 13:13:04,970 - INFO - OPENED SHORT at 2058.28 | Stop loss: 2068.586932142857 | Take profit: 2027.3825017857146 +2025-03-10 13:13:05,003 - INFO - CLOSED short at 2056.28 | PnL: 0.10% | $-0.01 +2025-03-10 13:13:05,068 - INFO - OPENED LONG at 2054.83 | Stop loss: 2044.5403178571428 | Take profit: 2085.6757482142852 +2025-03-10 13:13:05,303 - INFO - CLOSED long at 2066.01 | PnL: 0.54% | $0.79 +2025-03-10 13:13:05,303 - INFO - OPENED SHORT at 2066.01 | Stop loss: 2076.3555821428577 | Take profit: 2034.9965517857145 +2025-03-10 13:13:05,394 - INFO - CLOSED short at 2066.33 | PnL: -0.02% | $-0.21 +2025-03-10 13:13:05,394 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.982817857143 | Take profit: 2097.348248214286 +2025-03-10 13:13:05,424 - INFO - CLOSED long at 2066.34 | PnL: 0.00% | $-0.18 +2025-03-10 13:13:05,444 - INFO - OPENED LONG at 2066.79 | Stop loss: 2056.440517857143 | Take profit: 2097.8151482142853 +2025-03-10 13:13:05,500 - INFO - CLOSED long at 2065.69 | PnL: -0.05% | $-0.27 +2025-03-10 13:13:05,520 - INFO - OPENED LONG at 2069.79 | Stop loss: 2059.425517857143 | Take profit: 2100.860148214286 +2025-03-10 13:13:05,571 - INFO - CLOSED long at 2078.01 | PnL: 0.40% | $0.53 +2025-03-10 13:13:05,594 - INFO - OPENED LONG at 2075.01 | Stop loss: 2064.619417857143 | Take profit: 2106.158448214286 +2025-03-10 13:13:05,801 - INFO - CLOSED long at 2068.39 | PnL: -0.32% | $-0.75 +2025-03-10 13:13:05,801 - INFO - OPENED SHORT at 2068.39 | Stop loss: 2078.747482142857 | Take profit: 2037.3408517857142 +2025-03-10 13:13:05,828 - INFO - CLOSED short at 2069.69 | PnL: -0.06% | $-0.29 +2025-03-10 13:13:05,829 - INFO - OPENED LONG at 2069.69 | Stop loss: 2059.3260178571427 | Take profit: 2100.758648214286 +2025-03-10 13:13:05,868 - INFO - CLOSED long at 2067.44 | PnL: -0.11% | $-0.37 +2025-03-10 13:13:05,868 - INFO - OPENED SHORT at 2067.44 | Stop loss: 2077.7927321428574 | Take profit: 2036.4051017857144 +2025-03-10 13:13:05,921 - INFO - CLOSED short at 2071.49 | PnL: -0.20% | $-0.52 +2025-03-10 13:13:05,921 - INFO - OPENED LONG at 2071.49 | Stop loss: 2061.117017857143 | Take profit: 2102.5856482142854 +2025-03-10 13:13:05,957 - INFO - CLOSED long at 2067.33 | PnL: -0.20% | $-0.53 +2025-03-10 13:13:05,957 - INFO - OPENED SHORT at 2067.33 | Stop loss: 2077.682182142857 | Take profit: 2036.2967517857144 +2025-03-10 13:13:06,061 - INFO - CLOSED short at 2063.97 | PnL: 0.16% | $0.11 +2025-03-10 13:13:06,061 - INFO - OPENED LONG at 2063.97 | Stop loss: 2053.6346178571425 | Take profit: 2094.9528482142855 +2025-03-10 13:13:06,536 - INFO - CLOSED long at 2070.8 | PnL: 0.33% | $0.40 +2025-03-10 13:13:06,740 - INFO - OPENED LONG at 2074.37 | Stop loss: 2063.982617857143 | Take profit: 2105.508848214286 +2025-03-10 13:13:06,759 - INFO - CLOSED long at 2075.07 | PnL: 0.03% | $-0.12 +2025-03-10 13:13:06,799 - INFO - OPENED LONG at 2073.27 | Stop loss: 2062.888117857143 | Take profit: 2104.3923482142854 +2025-03-10 13:13:06,932 - INFO - CLOSED long at 2075.61 | PnL: 0.11% | $0.02 +2025-03-10 13:13:06,932 - INFO - OPENED SHORT at 2075.61 | Stop loss: 2086.0035821428573 | Take profit: 2044.4525517857146 +2025-03-10 13:13:07,002 - INFO - CLOSED short at 2072.09 | PnL: 0.17% | $0.12 +2025-03-10 13:13:07,002 - INFO - OPENED LONG at 2072.09 | Stop loss: 2061.714017857143 | Take profit: 2103.1946482142857 +2025-03-10 13:13:07,046 - INFO - CLOSED long at 2067.7 | PnL: -0.21% | $-0.54 +2025-03-10 13:13:07,068 - INFO - OPENED LONG at 2067.0 | Stop loss: 2056.649467857143 | Take profit: 2098.0282982142858 +2025-03-10 13:13:07,102 - INFO - CLOSED long at 2066.4 | PnL: -0.03% | $-0.22 +2025-03-10 13:13:07,102 - INFO - OPENED SHORT at 2066.4 | Stop loss: 2076.7475321428574 | Take profit: 2035.3807017857143 +2025-03-10 13:13:07,127 - INFO - CLOSED short at 2066.89 | PnL: -0.02% | $-0.21 +2025-03-10 13:13:07,128 - INFO - OPENED LONG at 2066.89 | Stop loss: 2056.5400178571426 | Take profit: 2097.9166482142855 +2025-03-10 13:13:07,161 - INFO - CLOSED long at 2065.45 | PnL: -0.07% | $-0.29 +2025-03-10 13:13:07,161 - INFO - OPENED SHORT at 2065.45 | Stop loss: 2075.792782142857 | Take profit: 2034.4449517857142 +2025-03-10 13:13:07,183 - INFO - CLOSED short at 2068.1 | PnL: -0.13% | $-0.39 +2025-03-10 13:13:07,194 - INFO - OPENED LONG at 2069.0 | Stop loss: 2058.639467857143 | Take profit: 2100.058298214286 +2025-03-10 13:13:07,278 - INFO - CLOSED long at 2067.19 | PnL: -0.09% | $-0.32 +2025-03-10 13:13:07,287 - INFO - OPENED SHORT at 2067.19 | Stop loss: 2077.541482142857 | Take profit: 2036.1588517857142 +2025-03-10 13:13:07,424 - INFO - CLOSED short at 2066.09 | PnL: 0.05% | $-0.08 +2025-03-10 13:13:07,424 - INFO - OPENED LONG at 2066.09 | Stop loss: 2055.744017857143 | Take profit: 2097.1046482142856 +2025-03-10 13:13:07,468 - INFO - CLOSED long at 2062.34 | PnL: -0.18% | $-0.48 +2025-03-10 13:13:07,468 - INFO - OPENED SHORT at 2062.34 | Stop loss: 2072.6672321428573 | Take profit: 2031.3816017857143 +2025-03-10 13:13:07,599 - INFO - CLOSED short at 2063.01 | PnL: -0.03% | $-0.22 +2025-03-10 13:13:07,667 - INFO - OPENED LONG at 2060.2 | Stop loss: 2049.8834678571425 | Take profit: 2091.1262982142853 +2025-03-10 13:13:07,835 - INFO - CLOSED long at 2049.21 | PnL: -0.53% | $-1.07 +2025-03-10 13:13:07,874 - INFO - OPENED SHORT at 2051.99 | Stop loss: 2062.265482142857 | Take profit: 2021.186851785714 +2025-03-10 13:13:07,927 - INFO - CLOSED short at 2057.11 | PnL: -0.25% | $-0.58 +2025-03-10 13:13:07,945 - INFO - OPENED SHORT at 2057.89 | Stop loss: 2068.194982142857 | Take profit: 2026.9983517857142 +2025-03-10 13:13:07,963 - INFO - CLOSED short at 2062.83 | PnL: -0.24% | $-0.56 +2025-03-10 13:13:08,003 - INFO - OPENED LONG at 2065.1 | Stop loss: 2054.758967857143 | Take profit: 2096.099798214286 +2025-03-10 13:13:08,110 - INFO - CLOSED long at 2068.33 | PnL: 0.16% | $0.09 +2025-03-10 13:13:08,258 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3809678571424 | Take profit: 2091.633798214286 +2025-03-10 13:13:08,296 - INFO - CLOSED long at 2062.54 | PnL: 0.09% | $-0.02 +2025-03-10 13:13:08,316 - INFO - OPENED LONG at 2065.72 | Stop loss: 2055.3758678571426 | Take profit: 2096.729098214286 +2025-03-10 13:13:08,333 - INFO - CLOSED long at 2070.31 | PnL: 0.22% | $0.20 +2025-03-10 13:13:08,349 - INFO - OPENED LONG at 2070.24 | Stop loss: 2059.8732678571428 | Take profit: 2101.3168982142856 +2025-03-10 13:13:08,403 - INFO - CLOSED long at 2070.41 | PnL: 0.01% | $-0.15 +2025-03-10 13:13:08,492 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6095178571427 | Take profit: 2104.1081482142854 +2025-03-10 13:13:08,574 - INFO - CLOSED long at 2074.9 | PnL: 0.09% | $-0.01 +2025-03-10 13:13:08,635 - INFO - OPENED LONG at 2077.61 | Stop loss: 2067.206417857143 | Take profit: 2108.797448214286 +2025-03-10 13:13:08,705 - INFO - TAKE PROFIT hit for long at 2108.797448214286 | PnL: 1.50% | $2.31 +2025-03-10 13:13:08,787 - INFO - OPENED LONG at 2137.59 | Stop loss: 2126.8865178571427 | Take profit: 2169.677148214286 +2025-03-10 13:13:08,830 - INFO - CLOSED long at 2141.3 | PnL: 0.17% | $0.12 +2025-03-10 13:13:08,954 - INFO - OPENED LONG at 2126.99 | Stop loss: 2116.3395178571427 | Take profit: 2158.9181482142853 +2025-03-10 13:13:08,986 - INFO - CLOSED long at 2127.3 | PnL: 0.01% | $-0.15 +2025-03-10 13:13:08,987 - INFO - OPENED SHORT at 2127.3 | Stop loss: 2137.952032142857 | Take profit: 2095.3672017857143 +2025-03-10 13:13:09,022 - INFO - CLOSED short at 2128.69 | PnL: -0.07% | $-0.28 +2025-03-10 13:13:09,039 - INFO - OPENED SHORT at 2121.09 | Stop loss: 2131.710982142857 | Take profit: 2089.2503517857144 +2025-03-10 13:13:09,095 - INFO - CLOSED short at 2119.93 | PnL: 0.05% | $-0.08 +2025-03-10 13:13:09,096 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.3148178571428 | Take profit: 2151.752248214286 +2025-03-10 13:13:09,118 - INFO - CLOSED long at 2121.4 | PnL: 0.07% | $-0.05 +2025-03-10 13:13:09,119 - INFO - OPENED SHORT at 2121.4 | Stop loss: 2132.022532142857 | Take profit: 2089.5557017857145 +2025-03-10 13:13:09,139 - INFO - CLOSED short at 2118.52 | PnL: 0.14% | $0.06 +2025-03-10 13:13:09,139 - INFO - OPENED LONG at 2118.52 | Stop loss: 2107.9118678571426 | Take profit: 2150.321098214286 +2025-03-10 13:13:09,212 - INFO - CLOSED long at 2107.43 | PnL: -0.52% | $-1.05 +2025-03-10 13:13:09,213 - INFO - OPENED SHORT at 2107.43 | Stop loss: 2117.982682142857 | Take profit: 2075.7952517857143 +2025-03-10 13:13:09,235 - INFO - CLOSED short at 2110.6 | PnL: -0.15% | $-0.42 +2025-03-10 13:13:09,271 - INFO - OPENED LONG at 2109.05 | Stop loss: 2098.489217857143 | Take profit: 2140.709048214286 +2025-03-10 13:13:09,447 - INFO - CLOSED long at 2116.48 | PnL: 0.35% | $0.42 +2025-03-10 13:13:09,469 - INFO - OPENED LONG at 2114.8 | Stop loss: 2104.210467857143 | Take profit: 2146.545298214286 +2025-03-10 13:13:09,537 - INFO - CLOSED long at 2108.06 | PnL: -0.32% | $-0.70 +2025-03-10 13:13:09,537 - INFO - OPENED SHORT at 2108.06 | Stop loss: 2118.615832142857 | Take profit: 2076.4158017857144 +2025-03-10 13:13:09,575 - INFO - CLOSED short at 2100.5 | PnL: 0.36% | $0.43 +2025-03-10 13:13:09,592 - INFO - OPENED LONG at 2090.0 | Stop loss: 2079.5344678571428 | Take profit: 2121.3732982142856 +2025-03-10 13:13:09,610 - INFO - CLOSED long at 2099.53 | PnL: 0.46% | $0.59 +2025-03-10 13:13:09,611 - INFO - OPENED SHORT at 2099.53 | Stop loss: 2110.0431821428574 | Take profit: 2068.0137517857142 +2025-03-10 13:13:09,641 - INFO - CLOSED short at 2098.1 | PnL: 0.07% | $-0.05 +2025-03-10 13:13:09,676 - INFO - OPENED LONG at 2102.19 | Stop loss: 2091.663517857143 | Take profit: 2133.7461482142858 +2025-03-10 13:13:09,704 - INFO - CLOSED long at 2102.29 | PnL: 0.00% | $-0.16 +2025-03-10 13:13:09,704 - INFO - OPENED SHORT at 2102.29 | Stop loss: 2112.816982142857 | Take profit: 2070.7323517857144 +2025-03-10 13:13:09,792 - INFO - CLOSED short at 2100.69 | PnL: 0.08% | $-0.04 +2025-03-10 13:13:09,792 - INFO - OPENED LONG at 2100.69 | Stop loss: 2090.171017857143 | Take profit: 2132.2236482142857 +2025-03-10 13:13:09,909 - INFO - CLOSED long at 2101.51 | PnL: 0.04% | $-0.10 +2025-03-10 13:13:09,952 - INFO - OPENED SHORT at 2100.02 | Stop loss: 2110.535632142857 | Take profit: 2068.496401785714 +2025-03-10 13:13:09,991 - INFO - CLOSED short at 2095.29 | PnL: 0.23% | $0.21 +2025-03-10 13:13:09,991 - INFO - OPENED LONG at 2095.29 | Stop loss: 2084.798017857143 | Take profit: 2126.742648214286 +2025-03-10 13:13:10,009 - INFO - CLOSED long at 2093.46 | PnL: -0.09% | $-0.31 +2025-03-10 13:13:10,009 - INFO - OPENED SHORT at 2093.46 | Stop loss: 2103.9428321428572 | Take profit: 2062.0348017857145 +2025-03-10 13:13:10,085 - INFO - CLOSED short at 2091.1 | PnL: 0.11% | $0.02 +2025-03-10 13:13:10,085 - INFO - OPENED LONG at 2091.1 | Stop loss: 2080.628967857143 | Take profit: 2122.4897982142857 +2025-03-10 13:13:10,290 - INFO - CLOSED long at 2081.49 | PnL: -0.46% | $-0.93 +2025-03-10 13:13:10,290 - INFO - OPENED SHORT at 2081.49 | Stop loss: 2091.912982142857 | Take profit: 2050.244351785714 +2025-03-10 13:13:10,308 - INFO - CLOSED short at 2080.38 | PnL: 0.05% | $-0.08 +2025-03-10 13:13:10,345 - INFO - OPENED LONG at 2083.41 | Stop loss: 2072.977417857143 | Take profit: 2114.6844482142856 +2025-03-10 13:13:10,403 - INFO - CLOSED long at 2086.57 | PnL: 0.15% | $0.09 +2025-03-10 13:13:10,403 - INFO - OPENED SHORT at 2086.57 | Stop loss: 2097.0183821428573 | Take profit: 2055.2481517857145 +2025-03-10 13:13:10,476 - INFO - CLOSED short at 2085.83 | PnL: 0.04% | $-0.11 +2025-03-10 13:13:10,511 - INFO - OPENED SHORT at 2085.85 | Stop loss: 2096.294782142857 | Take profit: 2054.5389517857143 +2025-03-10 13:13:10,568 - INFO - CLOSED short at 2088.32 | PnL: -0.12% | $-0.36 +2025-03-10 13:13:10,568 - INFO - OPENED LONG at 2088.32 | Stop loss: 2077.862867857143 | Take profit: 2119.6680982142857 +2025-03-10 13:13:10,680 - INFO - CLOSED long at 2087.78 | PnL: -0.03% | $-0.21 +2025-03-10 13:13:10,701 - INFO - OPENED LONG at 2086.81 | Stop loss: 2076.3604178571427 | Take profit: 2118.1354482142856 +2025-03-10 13:13:10,720 - INFO - CLOSED long at 2089.79 | PnL: 0.14% | $0.07 +2025-03-10 13:13:10,805 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.579217857143 | Take profit: 2122.4390482142862 +2025-03-10 13:13:10,852 - INFO - CLOSED long at 2094.7 | PnL: 0.17% | $0.12 +2025-03-10 13:13:10,969 - INFO - OPENED LONG at 2097.11 | Stop loss: 2086.608917857143 | Take profit: 2128.589948214286 +2025-03-10 13:13:11,155 - INFO - CLOSED long at 2103.07 | PnL: 0.28% | $0.30 +2025-03-10 13:13:11,173 - INFO - OPENED LONG at 2101.5 | Stop loss: 2090.976967857143 | Take profit: 2133.0457982142857 +2025-03-10 13:13:11,317 - INFO - Trade Analysis: Win Rate=25.8% in uptrends, 0.0% in downtrends | Avg Win=$0.33, Avg Loss=$-0.29 +2025-03-10 13:13:11,318 - INFO - Episode 7: Reward=-62.39, Balance=$82.79, Win Rate=22.8%, Trades=114, Episode PnL=$-8.55, Total PnL=$-184.82, Max Drawdown=18.2%, Pred Accuracy=99.1% +2025-03-10 13:13:11,318 - ERROR - Error in episode 7: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:13:11,318 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1812, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:13:11,339 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:13:11,580 - INFO - OPENED LONG at 2046.58 | Stop loss: 2036.3315678571428 | Take profit: 2077.3019982142855 +2025-03-10 13:13:11,596 - INFO - CLOSED long at 2047.4 | PnL: 0.04% | $-0.12 +2025-03-10 13:13:11,618 - INFO - OPENED LONG at 2047.2 | Stop loss: 2036.9484678571428 | Take profit: 2077.931298214286 +2025-03-10 13:13:11,656 - INFO - CLOSED long at 2045.99 | PnL: -0.06% | $-0.32 +2025-03-10 13:13:11,702 - INFO - OPENED LONG at 2047.59 | Stop loss: 2037.3365178571428 | Take profit: 2078.327148214286 +2025-03-10 13:13:11,762 - INFO - CLOSED long at 2050.24 | PnL: 0.13% | $0.06 +2025-03-10 13:13:11,762 - INFO - OPENED SHORT at 2050.24 | Stop loss: 2060.506732142857 | Take profit: 2019.4631017857141 +2025-03-10 13:13:11,802 - INFO - CLOSED short at 2051.11 | PnL: -0.04% | $-0.28 +2025-03-10 13:13:11,802 - INFO - OPENED LONG at 2051.11 | Stop loss: 2040.8389178571429 | Take profit: 2081.899948214286 +2025-03-10 13:13:11,826 - INFO - CLOSED long at 2053.26 | PnL: 0.10% | $0.01 +2025-03-10 13:13:11,826 - INFO - OPENED SHORT at 2053.26 | Stop loss: 2063.5418321428574 | Take profit: 2022.4378017857143 +2025-03-10 13:13:11,848 - INFO - CLOSED short at 2051.89 | PnL: 0.07% | $-0.07 +2025-03-10 13:13:11,881 - INFO - OPENED LONG at 2052.3 | Stop loss: 2042.022967857143 | Take profit: 2083.107798214286 +2025-03-10 13:13:12,043 - INFO - CLOSED long at 2059.7 | PnL: 0.36% | $0.51 +2025-03-10 13:13:12,064 - INFO - OPENED LONG at 2061.49 | Stop loss: 2051.1670178571426 | Take profit: 2092.4356482142853 +2025-03-10 13:13:12,081 - INFO - CLOSED long at 2063.29 | PnL: 0.09% | $-0.03 +2025-03-10 13:13:12,081 - INFO - OPENED SHORT at 2063.29 | Stop loss: 2073.6219821428567 | Take profit: 2032.3173517857142 +2025-03-10 13:13:12,103 - INFO - CLOSED short at 2064.61 | PnL: -0.06% | $-0.32 +2025-03-10 13:13:12,103 - INFO - OPENED LONG at 2064.61 | Stop loss: 2054.2714178571428 | Take profit: 2095.602448214286 +2025-03-10 13:13:12,321 - INFO - CLOSED long at 2060.31 | PnL: -0.21% | $-0.61 +2025-03-10 13:13:12,355 - INFO - OPENED LONG at 2059.49 | Stop loss: 2049.177017857143 | Take profit: 2090.4056482142855 +2025-03-10 13:13:12,495 - INFO - CLOSED long at 2064.32 | PnL: 0.23% | $0.26 +2025-03-10 13:13:12,495 - INFO - OPENED SHORT at 2064.32 | Stop loss: 2074.6571321428573 | Take profit: 2033.3319017857145 +2025-03-10 13:13:12,527 - INFO - CLOSED short at 2065.86 | PnL: -0.07% | $-0.34 +2025-03-10 13:13:12,527 - INFO - OPENED LONG at 2065.86 | Stop loss: 2055.515167857143 | Take profit: 2096.871198214286 +2025-03-10 13:13:12,597 - INFO - CLOSED long at 2067.89 | PnL: 0.10% | $-0.00 +2025-03-10 13:13:12,621 - INFO - OPENED SHORT at 2071.63 | Stop loss: 2082.003682142857 | Take profit: 2040.5322517857144 +2025-03-10 13:13:12,656 - INFO - CLOSED short at 2070.99 | PnL: 0.03% | $-0.14 +2025-03-10 13:13:12,657 - INFO - OPENED LONG at 2070.99 | Stop loss: 2060.6195178571425 | Take profit: 2102.0781482142856 +2025-03-10 13:13:12,882 - INFO - CLOSED long at 2075.1 | PnL: 0.20% | $0.19 +2025-03-10 13:13:12,903 - INFO - OPENED LONG at 2072.91 | Stop loss: 2062.5299178571427 | Take profit: 2104.0269482142853 +2025-03-10 13:13:12,955 - INFO - CLOSED long at 2071.41 | PnL: -0.07% | $-0.34 +2025-03-10 13:13:12,994 - INFO - OPENED LONG at 2070.9 | Stop loss: 2060.529967857143 | Take profit: 2101.986798214286 +2025-03-10 13:13:13,011 - INFO - CLOSED long at 2072.8 | PnL: 0.09% | $-0.02 +2025-03-10 13:13:13,014 - INFO - OPENED SHORT at 2072.8 | Stop loss: 2083.1795321428576 | Take profit: 2041.6847017857144 +2025-03-10 13:13:13,120 - INFO - CLOSED short at 2067.2 | PnL: 0.27% | $0.33 +2025-03-10 13:13:13,151 - INFO - OPENED LONG at 2070.36 | Stop loss: 2059.992667857143 | Take profit: 2101.438698214286 +2025-03-10 13:13:13,318 - INFO - CLOSED long at 2069.01 | PnL: -0.07% | $-0.32 +2025-03-10 13:13:13,342 - INFO - OPENED LONG at 2066.39 | Stop loss: 2056.0425178571427 | Take profit: 2097.409148214286 +2025-03-10 13:13:13,487 - INFO - CLOSED long at 2068.9 | PnL: 0.12% | $0.04 +2025-03-10 13:13:13,575 - INFO - OPENED LONG at 2069.7 | Stop loss: 2059.335967857143 | Take profit: 2100.7687982142857 +2025-03-10 13:13:13,667 - INFO - CLOSED long at 2071.39 | PnL: 0.08% | $-0.04 +2025-03-10 13:13:13,667 - INFO - OPENED SHORT at 2071.39 | Stop loss: 2081.762482142857 | Take profit: 2040.2958517857141 +2025-03-10 13:13:13,684 - INFO - CLOSED short at 2071.36 | PnL: 0.00% | $-0.19 +2025-03-10 13:13:13,685 - INFO - OPENED LONG at 2071.36 | Stop loss: 2060.9876678571427 | Take profit: 2102.453698214286 +2025-03-10 13:13:13,719 - INFO - CLOSED long at 2073.11 | PnL: 0.08% | $-0.03 +2025-03-10 13:13:13,719 - INFO - OPENED SHORT at 2073.11 | Stop loss: 2083.491082142857 | Take profit: 2041.9900517857143 +2025-03-10 13:13:13,736 - INFO - CLOSED short at 2072.7 | PnL: 0.02% | $-0.16 +2025-03-10 13:13:13,736 - INFO - OPENED LONG at 2072.7 | Stop loss: 2062.3209678571425 | Take profit: 2103.8137982142857 +2025-03-10 13:13:13,796 - INFO - CLOSED long at 2073.9 | PnL: 0.06% | $-0.08 +2025-03-10 13:13:13,815 - INFO - OPENED SHORT at 2071.92 | Stop loss: 2082.2951321428573 | Take profit: 2040.8179017857142 +2025-03-10 13:13:13,851 - INFO - CLOSED short at 2070.4 | PnL: 0.07% | $-0.05 +2025-03-10 13:13:13,852 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.032467857143 | Take profit: 2101.479298214286 +2025-03-10 13:13:13,972 - INFO - CLOSED long at 2068.32 | PnL: -0.10% | $-0.39 +2025-03-10 13:13:14,006 - INFO - OPENED LONG at 2067.0 | Stop loss: 2056.649467857143 | Take profit: 2098.0282982142858 +2025-03-10 13:13:14,031 - INFO - CLOSED long at 2067.79 | PnL: 0.04% | $-0.12 +2025-03-10 13:13:14,052 - INFO - OPENED LONG at 2067.46 | Stop loss: 2057.107167857143 | Take profit: 2098.4951982142857 +2025-03-10 13:13:14,086 - INFO - CLOSED long at 2065.49 | PnL: -0.10% | $-0.38 +2025-03-10 13:13:14,087 - INFO - OPENED SHORT at 2065.49 | Stop loss: 2075.832982142857 | Take profit: 2034.4843517857141 +2025-03-10 13:13:14,105 - INFO - CLOSED short at 2063.61 | PnL: 0.09% | $-0.02 +2025-03-10 13:13:14,105 - INFO - OPENED LONG at 2063.61 | Stop loss: 2053.276417857143 | Take profit: 2094.587448214286 +2025-03-10 13:13:14,209 - INFO - CLOSED long at 2067.86 | PnL: 0.21% | $0.20 +2025-03-10 13:13:14,229 - INFO - OPENED LONG at 2067.59 | Stop loss: 2057.236517857143 | Take profit: 2098.6271482142856 +2025-03-10 13:13:14,378 - INFO - CLOSED long at 2070.4 | PnL: 0.14% | $0.07 +2025-03-10 13:13:14,378 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.7675321428574 | Take profit: 2039.3207017857144 +2025-03-10 13:13:14,433 - INFO - CLOSED short at 2068.5 | PnL: 0.09% | $-0.02 +2025-03-10 13:13:14,434 - INFO - OPENED LONG at 2068.5 | Stop loss: 2058.141967857143 | Take profit: 2099.550798214286 +2025-03-10 13:13:14,450 - INFO - CLOSED long at 2068.69 | PnL: 0.01% | $-0.18 +2025-03-10 13:13:14,471 - INFO - OPENED LONG at 2067.84 | Stop loss: 2057.485267857143 | Take profit: 2098.880898214286 +2025-03-10 13:13:14,581 - INFO - CLOSED long at 2066.39 | PnL: -0.07% | $-0.33 +2025-03-10 13:13:14,582 - INFO - OPENED SHORT at 2066.39 | Stop loss: 2076.737482142857 | Take profit: 2035.3708517857142 +2025-03-10 13:13:14,668 - INFO - CLOSED short at 2068.18 | PnL: -0.09% | $-0.36 +2025-03-10 13:13:14,726 - INFO - OPENED SHORT at 2067.88 | Stop loss: 2078.2349321428574 | Take profit: 2036.8385017857145 +2025-03-10 13:13:14,755 - INFO - CLOSED short at 2064.99 | PnL: 0.14% | $0.08 +2025-03-10 13:13:14,755 - INFO - OPENED LONG at 2064.99 | Stop loss: 2054.6495178571427 | Take profit: 2095.9881482142855 +2025-03-10 13:13:14,786 - INFO - CLOSED long at 2065.83 | PnL: 0.04% | $-0.11 +2025-03-10 13:13:14,786 - INFO - OPENED SHORT at 2065.83 | Stop loss: 2076.174682142857 | Take profit: 2034.8192517857142 +2025-03-10 13:13:14,897 - INFO - CLOSED short at 2061.78 | PnL: 0.20% | $0.18 +2025-03-10 13:13:14,897 - INFO - OPENED LONG at 2061.78 | Stop loss: 2051.4555678571433 | Take profit: 2092.729998214286 +2025-03-10 13:13:15,133 - INFO - CLOSED long at 2064.08 | PnL: 0.11% | $0.02 +2025-03-10 13:13:15,133 - INFO - OPENED SHORT at 2064.08 | Stop loss: 2074.415932142857 | Take profit: 2033.095501785714 +2025-03-10 13:13:15,167 - INFO - CLOSED short at 2062.71 | PnL: 0.07% | $-0.06 +2025-03-10 13:13:15,199 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.219982142857 | Take profit: 2031.9233517857142 +2025-03-10 13:13:15,231 - INFO - CLOSED short at 2064.5 | PnL: -0.08% | $-0.34 +2025-03-10 13:13:15,231 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.161967857143 | Take profit: 2095.490798214286 +2025-03-10 13:13:15,407 - INFO - CLOSED long at 2062.61 | PnL: -0.09% | $-0.37 +2025-03-10 13:13:15,407 - INFO - OPENED SHORT at 2062.61 | Stop loss: 2072.9385821428573 | Take profit: 2031.6475517857143 +2025-03-10 13:13:15,487 - INFO - CLOSED short at 2061.13 | PnL: 0.07% | $-0.05 +2025-03-10 13:13:15,487 - INFO - OPENED LONG at 2061.13 | Stop loss: 2050.808817857143 | Take profit: 2092.0702482142856 +2025-03-10 13:13:15,661 - INFO - CLOSED long at 2065.89 | PnL: 0.23% | $0.25 +2025-03-10 13:13:15,661 - INFO - OPENED SHORT at 2065.89 | Stop loss: 2076.234982142857 | Take profit: 2034.8783517857144 +2025-03-10 13:13:15,702 - INFO - CLOSED short at 2063.0 | PnL: 0.14% | $0.08 +2025-03-10 13:13:15,722 - INFO - OPENED LONG at 2062.6 | Stop loss: 2052.271467857143 | Take profit: 2093.5622982142854 +2025-03-10 13:13:16,044 - INFO - CLOSED long at 2055.6 | PnL: -0.34% | $-0.84 +2025-03-10 13:13:16,070 - INFO - OPENED SHORT at 2054.89 | Stop loss: 2065.1799821428567 | Take profit: 2024.043351785714 +2025-03-10 13:13:16,091 - INFO - CLOSED short at 2054.83 | PnL: 0.00% | $-0.18 +2025-03-10 13:13:16,129 - INFO - OPENED LONG at 2058.15 | Stop loss: 2047.843717857143 | Take profit: 2089.045548214286 +2025-03-10 13:13:16,168 - INFO - CLOSED long at 2061.66 | PnL: 0.17% | $0.13 +2025-03-10 13:13:16,168 - INFO - OPENED SHORT at 2061.66 | Stop loss: 2071.983832142857 | Take profit: 2030.7118017857142 +2025-03-10 13:13:16,210 - INFO - CLOSED short at 2061.6 | PnL: 0.00% | $-0.18 +2025-03-10 13:13:16,211 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.276467857143 | Take profit: 2092.547298214286 +2025-03-10 13:13:16,268 - INFO - CLOSED long at 2062.69 | PnL: 0.05% | $-0.09 +2025-03-10 13:13:16,269 - INFO - OPENED SHORT at 2062.69 | Stop loss: 2073.018982142857 | Take profit: 2031.7263517857143 +2025-03-10 13:13:16,355 - INFO - CLOSED short at 2066.01 | PnL: -0.16% | $-0.49 +2025-03-10 13:13:16,412 - INFO - OPENED LONG at 2064.49 | Stop loss: 2054.1520178571427 | Take profit: 2095.480648214286 +2025-03-10 13:13:16,473 - INFO - CLOSED long at 2066.79 | PnL: 0.11% | $0.02 +2025-03-10 13:13:16,474 - INFO - OPENED SHORT at 2066.79 | Stop loss: 2077.139482142857 | Take profit: 2035.7648517857142 +2025-03-10 13:13:16,524 - INFO - CLOSED short at 2065.69 | PnL: 0.05% | $-0.09 +2025-03-10 13:13:16,525 - INFO - OPENED LONG at 2065.69 | Stop loss: 2055.346017857143 | Take profit: 2096.6986482142856 +2025-03-10 13:13:16,615 - INFO - CLOSED long at 2075.01 | PnL: 0.45% | $0.66 +2025-03-10 13:13:16,615 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.4005821428573 | Take profit: 2043.8615517857145 +2025-03-10 13:13:16,677 - INFO - CLOSED short at 2071.04 | PnL: 0.19% | $0.17 +2025-03-10 13:13:16,677 - INFO - OPENED LONG at 2071.04 | Stop loss: 2060.669267857143 | Take profit: 2102.1288982142855 +2025-03-10 13:13:16,798 - INFO - CLOSED long at 2070.0 | PnL: -0.05% | $-0.28 +2025-03-10 13:13:16,818 - INFO - OPENED LONG at 2068.15 | Stop loss: 2057.793717857143 | Take profit: 2099.1955482142857 +2025-03-10 13:13:16,968 - INFO - CLOSED long at 2069.87 | PnL: 0.08% | $-0.03 +2025-03-10 13:13:16,968 - INFO - OPENED SHORT at 2069.87 | Stop loss: 2080.234882142857 | Take profit: 2038.7986517857141 +2025-03-10 13:13:17,004 - INFO - CLOSED short at 2066.38 | PnL: 0.17% | $0.13 +2025-03-10 13:13:17,004 - INFO - OPENED LONG at 2066.38 | Stop loss: 2056.032567857143 | Take profit: 2097.3989982142857 +2025-03-10 13:13:17,431 - INFO - CLOSED long at 2069.69 | PnL: 0.16% | $0.11 +2025-03-10 13:13:17,467 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3309678571427 | Take profit: 2101.7837982142855 +2025-03-10 13:13:17,580 - INFO - CLOSED long at 2071.99 | PnL: 0.06% | $-0.07 +2025-03-10 13:13:17,613 - INFO - OPENED LONG at 2068.19 | Stop loss: 2057.833517857143 | Take profit: 2099.236148214286 +2025-03-10 13:13:17,729 - INFO - CLOSED long at 2074.35 | PnL: 0.30% | $0.37 +2025-03-10 13:13:17,729 - INFO - OPENED SHORT at 2074.35 | Stop loss: 2084.7372821428567 | Take profit: 2043.2114517857142 +2025-03-10 13:13:17,752 - INFO - CLOSED short at 2073.27 | PnL: 0.05% | $-0.09 +2025-03-10 13:13:17,753 - INFO - OPENED LONG at 2073.27 | Stop loss: 2062.888117857143 | Take profit: 2104.3923482142854 +2025-03-10 13:13:17,792 - INFO - CLOSED long at 2075.32 | PnL: 0.10% | $-0.00 +2025-03-10 13:13:17,792 - INFO - OPENED SHORT at 2075.32 | Stop loss: 2085.7121321428576 | Take profit: 2044.1669017857146 +2025-03-10 13:13:17,811 - INFO - CLOSED short at 2075.29 | PnL: 0.00% | $-0.19 +2025-03-10 13:13:17,811 - INFO - OPENED LONG at 2075.29 | Stop loss: 2064.898017857143 | Take profit: 2106.442648214286 +2025-03-10 13:13:18,103 - INFO - CLOSED long at 2065.45 | PnL: -0.47% | $-1.08 +2025-03-10 13:13:18,103 - INFO - OPENED SHORT at 2065.45 | Stop loss: 2075.792782142857 | Take profit: 2034.4449517857142 +2025-03-10 13:13:18,143 - INFO - CLOSED short at 2069.0 | PnL: -0.17% | $-0.51 +2025-03-10 13:13:18,143 - INFO - OPENED LONG at 2069.0 | Stop loss: 2058.639467857143 | Take profit: 2100.058298214286 +2025-03-10 13:13:18,162 - INFO - CLOSED long at 2070.19 | PnL: 0.06% | $-0.08 +2025-03-10 13:13:18,199 - INFO - OPENED LONG at 2067.19 | Stop loss: 2056.838517857143 | Take profit: 2098.2211482142857 +2025-03-10 13:13:18,218 - INFO - CLOSED long at 2065.5 | PnL: -0.08% | $-0.34 +2025-03-10 13:13:18,219 - INFO - OPENED SHORT at 2065.5 | Stop loss: 2075.843032142857 | Take profit: 2034.4942017857143 +2025-03-10 13:13:18,253 - INFO - CLOSED short at 2065.7 | PnL: -0.01% | $-0.20 +2025-03-10 13:13:18,253 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.355967857143 | Take profit: 2096.7087982142857 +2025-03-10 13:13:18,421 - INFO - CLOSED long at 2062.34 | PnL: -0.16% | $-0.48 +2025-03-10 13:13:18,421 - INFO - OPENED SHORT at 2062.34 | Stop loss: 2072.6672321428573 | Take profit: 2031.3816017857143 +2025-03-10 13:13:18,505 - INFO - CLOSED short at 2064.11 | PnL: -0.09% | $-0.34 +2025-03-10 13:13:18,528 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.161967857143 | Take profit: 2095.490798214286 +2025-03-10 13:13:18,776 - INFO - STOP LOSS hit for long at 2054.161967857143 | PnL: -0.50% | $-1.10 +2025-03-10 13:13:18,828 - INFO - OPENED SHORT at 2049.5 | Stop loss: 2059.7630321428574 | Take profit: 2018.7342017857143 +2025-03-10 13:13:18,872 - INFO - CLOSED short at 2058.3 | PnL: -0.43% | $-0.96 +2025-03-10 13:13:18,872 - INFO - OPENED LONG at 2058.3 | Stop loss: 2047.9929678571432 | Take profit: 2089.1977982142857 +2025-03-10 13:13:19,004 - INFO - CLOSED long at 2062.43 | PnL: 0.20% | $0.18 +2025-03-10 13:13:19,004 - INFO - OPENED SHORT at 2062.43 | Stop loss: 2072.757682142857 | Take profit: 2031.470251785714 +2025-03-10 13:13:19,059 - INFO - CLOSED short at 2065.12 | PnL: -0.13% | $-0.41 +2025-03-10 13:13:19,059 - INFO - OPENED LONG at 2065.12 | Stop loss: 2054.778867857143 | Take profit: 2096.120098214286 +2025-03-10 13:13:19,119 - INFO - CLOSED long at 2067.49 | PnL: 0.11% | $0.03 +2025-03-10 13:13:19,120 - INFO - OPENED SHORT at 2067.49 | Stop loss: 2077.8429821428567 | Take profit: 2036.4543517857142 +2025-03-10 13:13:19,153 - INFO - CLOSED short at 2066.59 | PnL: 0.04% | $-0.10 +2025-03-10 13:13:19,153 - INFO - OPENED LONG at 2066.59 | Stop loss: 2056.241517857143 | Take profit: 2097.612148214286 +2025-03-10 13:13:19,210 - INFO - CLOSED long at 2061.21 | PnL: -0.26% | $-0.64 +2025-03-10 13:13:19,235 - INFO - OPENED LONG at 2059.9 | Stop loss: 2049.584967857143 | Take profit: 2090.821798214286 +2025-03-10 13:13:19,303 - INFO - CLOSED long at 2065.72 | PnL: 0.28% | $0.32 +2025-03-10 13:13:19,328 - INFO - OPENED LONG at 2070.31 | Stop loss: 2059.942917857143 | Take profit: 2101.3879482142856 +2025-03-10 13:13:19,361 - INFO - CLOSED long at 2069.34 | PnL: -0.05% | $-0.26 +2025-03-10 13:13:19,361 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.702232142857 | Take profit: 2038.2766017857143 +2025-03-10 13:13:19,383 - INFO - CLOSED short at 2069.81 | PnL: -0.02% | $-0.22 +2025-03-10 13:13:19,384 - INFO - OPENED LONG at 2069.81 | Stop loss: 2059.4454178571427 | Take profit: 2100.8804482142855 +2025-03-10 13:13:19,400 - INFO - CLOSED long at 2070.41 | PnL: 0.03% | $-0.13 +2025-03-10 13:13:19,418 - INFO - OPENED LONG at 2073.49 | Stop loss: 2063.1070178571426 | Take profit: 2104.6156482142856 +2025-03-10 13:13:19,484 - INFO - CLOSED long at 2072.99 | PnL: -0.02% | $-0.22 +2025-03-10 13:13:19,514 - INFO - OPENED LONG at 2071.89 | Stop loss: 2061.5150178571425 | Take profit: 2102.9916482142853 +2025-03-10 13:13:19,643 - INFO - CLOSED long at 2085.56 | PnL: 0.66% | $0.99 +2025-03-10 13:13:19,643 - INFO - OPENED SHORT at 2085.56 | Stop loss: 2096.0033321428573 | Take profit: 2054.2533017857145 +2025-03-10 13:13:19,661 - INFO - CLOSED short at 2090.49 | PnL: -0.24% | $-0.60 +2025-03-10 13:13:19,678 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.550632142857 | Take profit: 2071.451401785714 +2025-03-10 13:13:19,698 - INFO - CLOSED short at 2130.7 | PnL: -1.32% | $-2.50 +2025-03-10 13:13:19,698 - INFO - OPENED LONG at 2130.7 | Stop loss: 2120.0309678571425 | Take profit: 2162.6837982142856 +2025-03-10 13:13:19,821 - INFO - CLOSED long at 2142.68 | PnL: 0.56% | $0.79 +2025-03-10 13:13:19,821 - INFO - OPENED SHORT at 2142.68 | Stop loss: 2153.4089321428573 | Take profit: 2110.516501785714 +2025-03-10 13:13:19,853 - INFO - CLOSED short at 2140.01 | PnL: 0.12% | $0.04 +2025-03-10 13:13:19,854 - INFO - OPENED LONG at 2140.01 | Stop loss: 2129.294417857143 | Take profit: 2172.133448214286 +2025-03-10 13:13:19,915 - INFO - STOP LOSS hit for long at 2129.294417857143 | PnL: -0.50% | $-1.04 +2025-03-10 13:13:19,968 - INFO - OPENED LONG at 2128.69 | Stop loss: 2118.031017857143 | Take profit: 2160.643648214286 +2025-03-10 13:13:20,039 - INFO - STOP LOSS hit for long at 2118.031017857143 | PnL: -0.50% | $-1.03 +2025-03-10 13:13:20,081 - INFO - OPENED LONG at 2121.4 | Stop loss: 2110.777467857143 | Take profit: 2153.2442982142857 +2025-03-10 13:13:20,139 - INFO - CLOSED long at 2119.07 | PnL: -0.11% | $-0.36 +2025-03-10 13:13:20,139 - INFO - OPENED SHORT at 2119.07 | Stop loss: 2129.680882142857 | Take profit: 2087.2606517857143 +2025-03-10 13:13:20,159 - INFO - CLOSED short at 2115.28 | PnL: 0.18% | $0.13 +2025-03-10 13:13:20,160 - INFO - OPENED LONG at 2115.28 | Stop loss: 2104.688067857143 | Take profit: 2147.0324982142856 +2025-03-10 13:13:20,176 - INFO - CLOSED long at 2107.43 | PnL: -0.37% | $-0.80 +2025-03-10 13:13:20,177 - INFO - OPENED SHORT at 2107.43 | Stop loss: 2117.982682142857 | Take profit: 2075.7952517857143 +2025-03-10 13:13:20,284 - INFO - CLOSED short at 2112.46 | PnL: -0.24% | $-0.57 +2025-03-10 13:13:20,284 - INFO - OPENED LONG at 2112.46 | Stop loss: 2101.882167857143 | Take profit: 2144.1701982142854 +2025-03-10 13:13:20,426 - INFO - CLOSED long at 2114.8 | PnL: 0.11% | $0.02 +2025-03-10 13:13:20,426 - INFO - OPENED SHORT at 2114.8 | Stop loss: 2125.389532142857 | Take profit: 2083.0547017857143 +2025-03-10 13:13:20,467 - INFO - CLOSED short at 2108.71 | PnL: 0.29% | $0.31 +2025-03-10 13:13:20,467 - INFO - OPENED LONG at 2108.71 | Stop loss: 2098.1509178571428 | Take profit: 2140.3639482142858 +2025-03-10 13:13:20,566 - INFO - CLOSED long at 2090.0 | PnL: -0.89% | $-1.65 +2025-03-10 13:13:20,585 - INFO - OPENED SHORT at 2099.53 | Stop loss: 2110.0431821428574 | Take profit: 2068.0137517857142 +2025-03-10 13:13:20,623 - INFO - CLOSED short at 2102.19 | PnL: -0.13% | $-0.37 +2025-03-10 13:13:20,623 - INFO - OPENED LONG at 2102.19 | Stop loss: 2091.663517857143 | Take profit: 2133.7461482142858 +2025-03-10 13:13:20,655 - INFO - CLOSED long at 2102.29 | PnL: 0.00% | $-0.16 +2025-03-10 13:13:20,655 - INFO - OPENED SHORT at 2102.29 | Stop loss: 2112.816982142857 | Take profit: 2070.7323517857144 +2025-03-10 13:13:20,692 - INFO - CLOSED short at 2099.25 | PnL: 0.14% | $0.07 +2025-03-10 13:13:20,692 - INFO - OPENED LONG at 2099.25 | Stop loss: 2088.738217857143 | Take profit: 2130.7620482142856 +2025-03-10 13:13:20,854 - INFO - CLOSED long at 2103.86 | PnL: 0.22% | $0.19 +2025-03-10 13:13:20,855 - INFO - OPENED SHORT at 2103.86 | Stop loss: 2114.394832142857 | Take profit: 2072.278801785714 +2025-03-10 13:13:20,876 - INFO - CLOSED short at 2104.68 | PnL: -0.04% | $-0.23 +2025-03-10 13:13:20,877 - INFO - OPENED LONG at 2104.68 | Stop loss: 2094.141067857143 | Take profit: 2136.2734982142856 +2025-03-10 13:13:20,894 - INFO - CLOSED long at 2101.51 | PnL: -0.15% | $-0.41 +2025-03-10 13:13:20,894 - INFO - OPENED SHORT at 2101.51 | Stop loss: 2112.0330821428574 | Take profit: 2069.964051785714 +2025-03-10 13:13:20,931 - INFO - CLOSED short at 2100.02 | PnL: 0.07% | $-0.05 +2025-03-10 13:13:20,931 - INFO - OPENED LONG at 2100.02 | Stop loss: 2089.504367857143 | Take profit: 2131.543598214286 +2025-03-10 13:13:21,030 - INFO - CLOSED long at 2092.46 | PnL: -0.36% | $-0.74 +2025-03-10 13:13:21,030 - INFO - OPENED SHORT at 2092.46 | Stop loss: 2102.937832142857 | Take profit: 2061.0498017857144 +2025-03-10 13:13:21,060 - INFO - CLOSED short at 2091.1 | PnL: 0.06% | $-0.06 +2025-03-10 13:13:21,121 - INFO - OPENED LONG at 2094.08 | Stop loss: 2083.594067857143 | Take profit: 2125.5144982142856 +2025-03-10 13:13:21,182 - INFO - CLOSED long at 2083.28 | PnL: -0.52% | $-0.99 +2025-03-10 13:13:21,182 - INFO - OPENED SHORT at 2083.28 | Stop loss: 2093.711932142857 | Take profit: 2052.0075017857143 +2025-03-10 13:13:21,235 - INFO - CLOSED short at 2083.97 | PnL: -0.03% | $-0.21 +2025-03-10 13:13:21,235 - INFO - OPENED LONG at 2083.97 | Stop loss: 2073.5346178571426 | Take profit: 2115.2528482142857 +2025-03-10 13:13:21,309 - INFO - CLOSED long at 2080.38 | PnL: -0.17% | $-0.43 +2025-03-10 13:13:21,346 - INFO - OPENED LONG at 2083.41 | Stop loss: 2072.977417857143 | Take profit: 2114.6844482142856 +2025-03-10 13:13:21,385 - INFO - CLOSED long at 2083.59 | PnL: 0.01% | $-0.14 +2025-03-10 13:13:21,385 - INFO - OPENED SHORT at 2083.59 | Stop loss: 2094.023482142857 | Take profit: 2052.3128517857144 +2025-03-10 13:13:21,407 - INFO - CLOSED short at 2086.57 | PnL: -0.14% | $-0.38 +2025-03-10 13:13:21,407 - INFO - OPENED LONG at 2086.57 | Stop loss: 2076.121617857143 | Take profit: 2117.8918482142863 +2025-03-10 13:13:21,459 - INFO - CLOSED long at 2084.72 | PnL: -0.09% | $-0.29 +2025-03-10 13:13:21,459 - INFO - OPENED SHORT at 2084.72 | Stop loss: 2095.1591321428573 | Take profit: 2053.4259017857144 +2025-03-10 13:13:21,496 - INFO - CLOSED short at 2085.83 | PnL: -0.05% | $-0.24 +2025-03-10 13:13:21,496 - INFO - OPENED LONG at 2085.83 | Stop loss: 2075.3853178571426 | Take profit: 2117.140748214286 +2025-03-10 13:13:21,621 - INFO - CLOSED long at 2088.1 | PnL: 0.11% | $0.01 +2025-03-10 13:13:21,644 - INFO - OPENED LONG at 2089.96 | Stop loss: 2079.494667857143 | Take profit: 2121.3326982142858 +2025-03-10 13:13:21,791 - INFO - CLOSED long at 2091.05 | PnL: 0.05% | $-0.07 +2025-03-10 13:13:21,791 - INFO - OPENED SHORT at 2091.05 | Stop loss: 2101.520782142857 | Take profit: 2059.6609517857146 +2025-03-10 13:13:21,812 - INFO - CLOSED short at 2091.05 | PnL: 0.00% | $-0.15 +2025-03-10 13:13:21,812 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.579217857143 | Take profit: 2122.4390482142862 +2025-03-10 13:13:21,872 - INFO - CLOSED long at 2094.7 | PnL: 0.17% | $0.12 +2025-03-10 13:13:21,872 - INFO - OPENED SHORT at 2094.7 | Stop loss: 2105.189032142857 | Take profit: 2063.256201785714 +2025-03-10 13:13:21,910 - INFO - CLOSED short at 2097.8 | PnL: -0.15% | $-0.38 +2025-03-10 13:13:21,910 - INFO - OPENED LONG at 2097.8 | Stop loss: 2087.295467857143 | Take profit: 2129.290298214286 +2025-03-10 13:13:22,004 - INFO - CLOSED long at 2097.11 | PnL: -0.03% | $-0.20 +2025-03-10 13:13:22,030 - INFO - OPENED LONG at 2098.49 | Stop loss: 2087.9820178571426 | Take profit: 2129.9906482142856 +2025-03-10 13:13:22,126 - INFO - CLOSED long at 2103.48 | PnL: 0.24% | $0.21 +2025-03-10 13:13:22,149 - INFO - OPENED LONG at 2104.93 | Stop loss: 2094.3898178571426 | Take profit: 2136.527248214286 +2025-03-10 13:13:22,185 - INFO - CLOSED long at 2103.07 | PnL: -0.09% | $-0.29 +2025-03-10 13:13:22,185 - INFO - OPENED SHORT at 2103.07 | Stop loss: 2113.6008821428572 | Take profit: 2071.5006517857146 +2025-03-10 13:13:22,203 - INFO - CLOSED short at 2101.5 | PnL: 0.07% | $-0.04 +2025-03-10 13:13:22,203 - INFO - OPENED LONG at 2101.5 | Stop loss: 2090.976967857143 | Take profit: 2133.0457982142857 +2025-03-10 13:13:22,318 - INFO - CLOSED long at 2103.52 | PnL: 0.10% | $-0.01 +2025-03-10 13:13:22,352 - INFO - OPENED LONG at 2104.4 | Stop loss: 2093.862467857143 | Take profit: 2135.989298214286 +2025-03-10 13:13:22,383 - INFO - Trade Analysis: Win Rate=18.6% in uptrends, 0.0% in downtrends | Avg Win=$0.21, Avg Loss=$-0.34 +2025-03-10 13:13:22,383 - INFO - Episode 8: Reward=-34.23, Balance=$77.15, Win Rate=28.2%, Trades=124, Episode PnL=$-19.19, Total PnL=$-207.67, Max Drawdown=22.8%, Pred Accuracy=99.4% +2025-03-10 13:13:22,385 - ERROR - Error in episode 8: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:13:22,385 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1812, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:13:22,406 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:13:22,602 - INFO - OPENED LONG at 2046.58 | Stop loss: 2036.3315678571428 | Take profit: 2077.3019982142855 +2025-03-10 13:13:22,680 - INFO - CLOSED long at 2045.99 | PnL: -0.03% | $-0.26 +2025-03-10 13:13:22,680 - INFO - OPENED SHORT at 2045.99 | Stop loss: 2056.235482142857 | Take profit: 2015.2768517857144 +2025-03-10 13:13:22,702 - INFO - CLOSED short at 2045.79 | PnL: 0.01% | $-0.18 +2025-03-10 13:13:22,702 - INFO - OPENED LONG at 2045.79 | Stop loss: 2035.5455178571428 | Take profit: 2076.5001482142857 +2025-03-10 13:13:22,904 - INFO - CLOSED long at 2052.3 | PnL: 0.32% | $0.43 +2025-03-10 13:13:23,052 - INFO - OPENED LONG at 2059.7 | Stop loss: 2049.3859678571425 | Take profit: 2090.6187982142856 +2025-03-10 13:13:23,085 - INFO - CLOSED long at 2063.29 | PnL: 0.17% | $0.15 +2025-03-10 13:13:23,085 - INFO - OPENED SHORT at 2063.29 | Stop loss: 2073.6219821428567 | Take profit: 2032.3173517857142 +2025-03-10 13:13:23,108 - INFO - CLOSED short at 2064.61 | PnL: -0.06% | $-0.33 +2025-03-10 13:13:23,108 - INFO - OPENED LONG at 2064.61 | Stop loss: 2054.2714178571428 | Take profit: 2095.602448214286 +2025-03-10 13:13:23,175 - INFO - CLOSED long at 2063.01 | PnL: -0.08% | $-0.35 +2025-03-10 13:13:23,175 - INFO - OPENED SHORT at 2063.01 | Stop loss: 2073.3405821428573 | Take profit: 2032.0415517857145 +2025-03-10 13:13:23,230 - INFO - CLOSED short at 2060.0 | PnL: 0.15% | $0.09 +2025-03-10 13:13:23,230 - INFO - OPENED LONG at 2060.0 | Stop loss: 2049.684467857143 | Take profit: 2090.9232982142858 +2025-03-10 13:13:23,426 - INFO - CLOSED long at 2057.94 | PnL: -0.10% | $-0.40 +2025-03-10 13:13:23,426 - INFO - OPENED SHORT at 2057.94 | Stop loss: 2068.2452321428573 | Take profit: 2027.0476017857145 +2025-03-10 13:13:23,443 - INFO - CLOSED short at 2058.11 | PnL: -0.01% | $-0.21 +2025-03-10 13:13:23,484 - INFO - OPENED LONG at 2061.18 | Stop loss: 2050.8585678571426 | Take profit: 2092.1209982142855 +2025-03-10 13:13:23,631 - INFO - CLOSED long at 2070.99 | PnL: 0.48% | $0.74 +2025-03-10 13:13:23,690 - INFO - OPENED LONG at 2068.65 | Stop loss: 2058.291217857143 | Take profit: 2099.703048214286 +2025-03-10 13:13:23,776 - INFO - CLOSED long at 2067.69 | PnL: -0.05% | $-0.29 +2025-03-10 13:13:23,829 - INFO - OPENED SHORT at 2071.44 | Stop loss: 2081.8127321428574 | Take profit: 2040.3451017857144 +2025-03-10 13:13:23,845 - INFO - CLOSED short at 2073.73 | PnL: -0.11% | $-0.42 +2025-03-10 13:13:23,845 - INFO - OPENED LONG at 2073.73 | Stop loss: 2063.3458178571427 | Take profit: 2104.859248214286 +2025-03-10 13:13:23,868 - INFO - CLOSED long at 2075.1 | PnL: 0.07% | $-0.07 +2025-03-10 13:13:23,908 - INFO - OPENED LONG at 2072.33 | Stop loss: 2061.9528178571427 | Take profit: 2103.4382482142855 +2025-03-10 13:13:23,949 - INFO - CLOSED long at 2071.41 | PnL: -0.04% | $-0.28 +2025-03-10 13:13:23,969 - INFO - OPENED LONG at 2069.37 | Stop loss: 2059.0076178571426 | Take profit: 2100.4338482142857 +2025-03-10 13:13:24,053 - INFO - CLOSED long at 2070.28 | PnL: 0.04% | $-0.11 +2025-03-10 13:13:24,093 - INFO - OPENED LONG at 2068.02 | Stop loss: 2057.6643678571427 | Take profit: 2099.063598214286 +2025-03-10 13:13:24,180 - INFO - CLOSED long at 2068.9 | PnL: 0.04% | $-0.11 +2025-03-10 13:13:24,180 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.260032142857 | Take profit: 2037.8432017857144 +2025-03-10 13:13:24,212 - INFO - CLOSED short at 2070.7 | PnL: -0.09% | $-0.37 +2025-03-10 13:13:24,230 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.977767857143 | Take profit: 2100.4033982142855 +2025-03-10 13:13:24,335 - INFO - CLOSED long at 2066.39 | PnL: -0.14% | $-0.47 +2025-03-10 13:13:24,336 - INFO - OPENED SHORT at 2066.39 | Stop loss: 2076.737482142857 | Take profit: 2035.3708517857142 +2025-03-10 13:13:24,357 - INFO - CLOSED short at 2065.99 | PnL: 0.02% | $-0.16 +2025-03-10 13:13:24,357 - INFO - OPENED LONG at 2065.99 | Stop loss: 2055.6445178571425 | Take profit: 2097.0031482142854 +2025-03-10 13:13:24,470 - INFO - CLOSED long at 2068.76 | PnL: 0.13% | $0.07 +2025-03-10 13:13:24,503 - INFO - OPENED LONG at 2068.9 | Stop loss: 2058.539967857143 | Take profit: 2099.956798214286 +2025-03-10 13:13:24,643 - INFO - CLOSED long at 2069.96 | PnL: 0.05% | $-0.09 +2025-03-10 13:13:24,682 - INFO - OPENED LONG at 2071.39 | Stop loss: 2061.0175178571426 | Take profit: 2102.4841482142856 +2025-03-10 13:13:24,883 - INFO - CLOSED long at 2070.4 | PnL: -0.05% | $-0.29 +2025-03-10 13:13:24,916 - INFO - OPENED LONG at 2071.11 | Stop loss: 2060.738917857143 | Take profit: 2102.199948214286 +2025-03-10 13:13:25,115 - INFO - CLOSED long at 2063.61 | PnL: -0.36% | $-0.89 +2025-03-10 13:13:25,116 - INFO - OPENED SHORT at 2063.61 | Stop loss: 2073.9435821428574 | Take profit: 2032.6325517857144 +2025-03-10 13:13:25,150 - INFO - CLOSED short at 2067.89 | PnL: -0.21% | $-0.59 +2025-03-10 13:13:25,150 - INFO - OPENED LONG at 2067.89 | Stop loss: 2057.535017857143 | Take profit: 2098.9316482142854 +2025-03-10 13:13:25,415 - INFO - CLOSED long at 2070.73 | PnL: 0.14% | $0.07 +2025-03-10 13:13:25,415 - INFO - OPENED SHORT at 2070.73 | Stop loss: 2081.099182142857 | Take profit: 2039.6457517857143 +2025-03-10 13:13:25,437 - INFO - CLOSED short at 2068.5 | PnL: 0.11% | $0.01 +2025-03-10 13:13:25,437 - INFO - OPENED LONG at 2068.5 | Stop loss: 2058.141967857143 | Take profit: 2099.550798214286 +2025-03-10 13:13:25,455 - INFO - CLOSED long at 2068.69 | PnL: 0.01% | $-0.17 +2025-03-10 13:13:25,455 - INFO - OPENED SHORT at 2068.69 | Stop loss: 2079.0489821428573 | Take profit: 2037.6363517857144 +2025-03-10 13:13:25,476 - INFO - CLOSED short at 2067.84 | PnL: 0.04% | $-0.11 +2025-03-10 13:13:25,478 - INFO - OPENED LONG at 2067.84 | Stop loss: 2057.485267857143 | Take profit: 2098.880898214286 +2025-03-10 13:13:25,494 - INFO - CLOSED long at 2067.11 | PnL: -0.04% | $-0.26 +2025-03-10 13:13:25,495 - INFO - OPENED SHORT at 2067.11 | Stop loss: 2077.4610821428573 | Take profit: 2036.0800517857144 +2025-03-10 13:13:25,514 - INFO - CLOSED short at 2067.86 | PnL: -0.04% | $-0.26 +2025-03-10 13:13:25,514 - INFO - OPENED LONG at 2067.86 | Stop loss: 2057.505167857143 | Take profit: 2098.9011982142856 +2025-03-10 13:13:25,576 - INFO - CLOSED long at 2065.28 | PnL: -0.12% | $-0.42 +2025-03-10 13:13:25,640 - INFO - OPENED LONG at 2070.04 | Stop loss: 2059.6742678571427 | Take profit: 2101.113898214286 +2025-03-10 13:13:25,762 - INFO - CLOSED long at 2067.88 | PnL: -0.10% | $-0.38 +2025-03-10 13:13:25,762 - INFO - OPENED SHORT at 2067.88 | Stop loss: 2078.2349321428574 | Take profit: 2036.8385017857145 +2025-03-10 13:13:25,821 - INFO - CLOSED short at 2065.83 | PnL: 0.10% | $-0.00 +2025-03-10 13:13:25,823 - INFO - OPENED LONG at 2065.83 | Stop loss: 2055.4853178571425 | Take profit: 2096.8407482142857 +2025-03-10 13:13:25,857 - INFO - CLOSED long at 2065.26 | PnL: -0.03% | $-0.24 +2025-03-10 13:13:25,873 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.219982142857 | Take profit: 2031.9233517857142 +2025-03-10 13:13:25,908 - INFO - CLOSED short at 2061.78 | PnL: 0.05% | $-0.09 +2025-03-10 13:13:25,926 - INFO - OPENED LONG at 2059.59 | Stop loss: 2049.276517857143 | Take profit: 2090.507148214286 +2025-03-10 13:13:26,015 - INFO - CLOSED long at 2067.1 | PnL: 0.36% | $0.49 +2025-03-10 13:13:26,198 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.838032142857 | Take profit: 2033.5092017857144 +2025-03-10 13:13:26,219 - INFO - CLOSED short at 2063.5 | PnL: 0.05% | $-0.10 +2025-03-10 13:13:26,219 - INFO - OPENED LONG at 2063.5 | Stop loss: 2053.166967857143 | Take profit: 2094.4757982142855 +2025-03-10 13:13:26,240 - INFO - CLOSED long at 2061.6 | PnL: -0.09% | $-0.36 +2025-03-10 13:13:26,240 - INFO - OPENED SHORT at 2061.6 | Stop loss: 2071.9235321428573 | Take profit: 2030.6527017857143 +2025-03-10 13:13:26,260 - INFO - CLOSED short at 2060.9 | PnL: 0.03% | $-0.12 +2025-03-10 13:13:26,261 - INFO - OPENED LONG at 2060.9 | Stop loss: 2050.579967857143 | Take profit: 2091.836798214286 +2025-03-10 13:13:26,336 - INFO - CLOSED long at 2060.31 | PnL: -0.03% | $-0.24 +2025-03-10 13:13:26,337 - INFO - OPENED SHORT at 2060.31 | Stop loss: 2070.627082142857 | Take profit: 2029.3820517857143 +2025-03-10 13:13:26,354 - INFO - CLOSED short at 2061.8 | PnL: -0.07% | $-0.32 +2025-03-10 13:13:26,374 - INFO - OPENED LONG at 2064.7 | Stop loss: 2054.360967857143 | Take profit: 2095.6937982142854 +2025-03-10 13:13:26,392 - INFO - CLOSED long at 2062.61 | PnL: -0.10% | $-0.37 +2025-03-10 13:13:26,432 - INFO - OPENED LONG at 2060.3 | Stop loss: 2049.982967857143 | Take profit: 2091.227798214286 +2025-03-10 13:13:26,484 - INFO - CLOSED long at 2061.9 | PnL: 0.08% | $-0.04 +2025-03-10 13:13:26,484 - INFO - OPENED SHORT at 2061.9 | Stop loss: 2072.2250321428573 | Take profit: 2030.9482017857144 +2025-03-10 13:13:26,526 - INFO - CLOSED short at 2064.1 | PnL: -0.11% | $-0.38 +2025-03-10 13:13:26,526 - INFO - OPENED LONG at 2064.1 | Stop loss: 2053.7639678571427 | Take profit: 2095.0847982142855 +2025-03-10 13:13:26,584 - INFO - CLOSED long at 2064.33 | PnL: 0.01% | $-0.16 +2025-03-10 13:13:26,584 - INFO - OPENED SHORT at 2064.33 | Stop loss: 2074.667182142857 | Take profit: 2033.3417517857142 +2025-03-10 13:13:26,617 - INFO - CLOSED short at 2063.39 | PnL: 0.05% | $-0.10 +2025-03-10 13:13:26,617 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.0575178571426 | Take profit: 2094.3641482142853 +2025-03-10 13:13:26,652 - INFO - CLOSED long at 2065.89 | PnL: 0.12% | $0.04 +2025-03-10 13:13:26,652 - INFO - OPENED SHORT at 2065.89 | Stop loss: 2076.234982142857 | Take profit: 2034.8783517857144 +2025-03-10 13:13:26,672 - INFO - CLOSED short at 2063.53 | PnL: 0.11% | $0.03 +2025-03-10 13:13:26,673 - INFO - OPENED LONG at 2063.53 | Stop loss: 2053.1968178571433 | Take profit: 2094.5062482142857 +2025-03-10 13:13:26,692 - INFO - CLOSED long at 2063.0 | PnL: -0.03% | $-0.23 +2025-03-10 13:13:26,711 - INFO - OPENED SHORT at 2062.6 | Stop loss: 2072.928532142857 | Take profit: 2031.6377017857142 +2025-03-10 13:13:26,732 - INFO - CLOSED short at 2061.89 | PnL: 0.03% | $-0.12 +2025-03-10 13:13:26,732 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.5650178571427 | Take profit: 2092.841648214285 +2025-03-10 13:13:26,815 - INFO - CLOSED long at 2059.61 | PnL: -0.11% | $-0.38 +2025-03-10 13:13:26,815 - INFO - OPENED SHORT at 2059.61 | Stop loss: 2069.9235821428574 | Take profit: 2028.6925517857144 +2025-03-10 13:13:26,849 - INFO - CLOSED short at 2059.16 | PnL: 0.02% | $-0.14 +2025-03-10 13:13:26,849 - INFO - OPENED LONG at 2059.16 | Stop loss: 2048.8486678571426 | Take profit: 2090.0706982142856 +2025-03-10 13:13:26,915 - INFO - CLOSED long at 2058.89 | PnL: -0.01% | $-0.20 +2025-03-10 13:13:26,915 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.199982142857 | Take profit: 2027.9833517857144 +2025-03-10 13:13:26,949 - INFO - CLOSED short at 2059.96 | PnL: -0.05% | $-0.27 +2025-03-10 13:13:26,950 - INFO - OPENED LONG at 2059.96 | Stop loss: 2049.644667857143 | Take profit: 2090.882698214286 +2025-03-10 13:13:27,014 - INFO - CLOSED long at 2057.4 | PnL: -0.12% | $-0.40 +2025-03-10 13:13:27,014 - INFO - OPENED SHORT at 2057.4 | Stop loss: 2067.7025321428573 | Take profit: 2026.5157017857146 +2025-03-10 13:13:27,033 - INFO - CLOSED short at 2058.28 | PnL: -0.04% | $-0.26 +2025-03-10 13:13:27,034 - INFO - OPENED LONG at 2058.28 | Stop loss: 2047.9730678571432 | Take profit: 2089.177498214286 +2025-03-10 13:13:27,190 - INFO - CLOSED long at 2061.5 | PnL: 0.16% | $0.10 +2025-03-10 13:13:27,370 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.564967857143 | Take profit: 2094.881798214286 +2025-03-10 13:13:27,580 - INFO - CLOSED long at 2078.01 | PnL: 0.68% | $1.05 +2025-03-10 13:13:27,580 - INFO - OPENED SHORT at 2078.01 | Stop loss: 2088.415582142857 | Take profit: 2046.8165517857144 +2025-03-10 13:13:27,616 - INFO - CLOSED short at 2072.6 | PnL: 0.26% | $0.29 +2025-03-10 13:13:27,617 - INFO - OPENED LONG at 2072.6 | Stop loss: 2062.2214678571427 | Take profit: 2103.712298214286 +2025-03-10 13:13:27,855 - INFO - CLOSED long at 2069.03 | PnL: -0.17% | $-0.49 +2025-03-10 13:13:27,879 - INFO - OPENED LONG at 2067.44 | Stop loss: 2057.0872678571427 | Take profit: 2098.4748982142855 +2025-03-10 13:13:27,967 - INFO - CLOSED long at 2067.33 | PnL: -0.01% | $-0.19 +2025-03-10 13:13:28,030 - INFO - OPENED LONG at 2065.66 | Stop loss: 2055.316167857143 | Take profit: 2096.6681982142854 +2025-03-10 13:13:28,086 - INFO - CLOSED long at 2063.97 | PnL: -0.08% | $-0.33 +2025-03-10 13:13:28,086 - INFO - OPENED SHORT at 2063.97 | Stop loss: 2074.305382142857 | Take profit: 2032.987151785714 +2025-03-10 13:13:28,212 - INFO - CLOSED short at 2064.31 | PnL: -0.02% | $-0.21 +2025-03-10 13:13:28,212 - INFO - OPENED LONG at 2064.31 | Stop loss: 2053.972917857143 | Take profit: 2095.297948214286 +2025-03-10 13:13:28,431 - INFO - CLOSED long at 2069.69 | PnL: 0.26% | $0.29 +2025-03-10 13:13:28,469 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.069032142857 | Take profit: 2039.6162017857139 +2025-03-10 13:13:28,501 - INFO - CLOSED short at 2070.8 | PnL: -0.00% | $-0.19 +2025-03-10 13:13:28,501 - INFO - OPENED LONG at 2070.8 | Stop loss: 2060.430467857143 | Take profit: 2101.885298214286 +2025-03-10 13:13:28,628 - INFO - CLOSED long at 2068.67 | PnL: -0.10% | $-0.36 +2025-03-10 13:13:28,653 - INFO - OPENED SHORT at 2070.67 | Stop loss: 2081.0388821428573 | Take profit: 2039.5866517857144 +2025-03-10 13:13:28,668 - INFO - CLOSED short at 2069.78 | PnL: 0.04% | $-0.10 +2025-03-10 13:13:28,706 - INFO - OPENED LONG at 2074.37 | Stop loss: 2063.982617857143 | Take profit: 2105.508848214286 +2025-03-10 13:13:28,719 - INFO - CLOSED long at 2075.07 | PnL: 0.03% | $-0.12 +2025-03-10 13:13:28,744 - INFO - OPENED LONG at 2074.35 | Stop loss: 2063.9627178571427 | Take profit: 2105.488548214286 +2025-03-10 13:13:28,784 - INFO - CLOSED long at 2073.99 | PnL: -0.02% | $-0.21 +2025-03-10 13:13:28,785 - INFO - OPENED SHORT at 2073.99 | Stop loss: 2084.375482142857 | Take profit: 2042.856851785714 +2025-03-10 13:13:28,862 - INFO - CLOSED short at 2076.9 | PnL: -0.14% | $-0.43 +2025-03-10 13:13:28,862 - INFO - OPENED LONG at 2076.9 | Stop loss: 2066.499967857143 | Take profit: 2108.0767982142856 +2025-03-10 13:13:29,061 - INFO - STOP LOSS hit for long at 2066.499967857143 | PnL: -0.50% | $-1.06 +2025-03-10 13:13:29,089 - INFO - OPENED LONG at 2066.89 | Stop loss: 2056.5400178571426 | Take profit: 2097.9166482142855 +2025-03-10 13:13:29,107 - INFO - CLOSED long at 2067.88 | PnL: 0.05% | $-0.09 +2025-03-10 13:13:29,108 - INFO - OPENED SHORT at 2067.88 | Stop loss: 2078.2349321428574 | Take profit: 2036.8385017857145 +2025-03-10 13:13:29,127 - INFO - CLOSED short at 2065.45 | PnL: 0.12% | $0.03 +2025-03-10 13:13:29,127 - INFO - OPENED LONG at 2065.45 | Stop loss: 2055.1072178571426 | Take profit: 2096.455048214286 +2025-03-10 13:13:29,383 - INFO - CLOSED long at 2063.39 | PnL: -0.10% | $-0.35 +2025-03-10 13:13:29,383 - INFO - OPENED SHORT at 2063.39 | Stop loss: 2073.722482142857 | Take profit: 2032.415851785714 +2025-03-10 13:13:29,413 - INFO - CLOSED short at 2062.34 | PnL: 0.05% | $-0.09 +2025-03-10 13:13:29,413 - INFO - OPENED LONG at 2062.34 | Stop loss: 2052.012767857143 | Take profit: 2093.2983982142855 +2025-03-10 13:13:29,485 - INFO - CLOSED long at 2064.11 | PnL: 0.09% | $-0.02 +2025-03-10 13:13:29,485 - INFO - OPENED SHORT at 2064.11 | Stop loss: 2074.4460821428574 | Take profit: 2033.1250517857143 +2025-03-10 13:13:29,519 - INFO - CLOSED short at 2066.33 | PnL: -0.11% | $-0.36 +2025-03-10 13:13:29,525 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.982817857143 | Take profit: 2097.348248214286 +2025-03-10 13:13:29,707 - INFO - STOP LOSS hit for long at 2055.982817857143 | PnL: -0.50% | $-1.04 +2025-03-10 13:13:29,747 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.9484178571429 | Take profit: 2079.971448214286 +2025-03-10 13:13:29,821 - INFO - CLOSED long at 2058.3 | PnL: 0.44% | $0.59 +2025-03-10 13:13:29,847 - INFO - OPENED LONG at 2056.85 | Stop loss: 2046.5502178571428 | Take profit: 2087.7260482142856 +2025-03-10 13:13:29,951 - INFO - CLOSED long at 2062.43 | PnL: 0.27% | $0.30 +2025-03-10 13:13:29,976 - INFO - OPENED SHORT at 2062.55 | Stop loss: 2072.878282142857 | Take profit: 2031.5884517857146 +2025-03-10 13:13:30,000 - INFO - CLOSED short at 2065.12 | PnL: -0.12% | $-0.39 +2025-03-10 13:13:30,001 - INFO - OPENED LONG at 2065.12 | Stop loss: 2054.778867857143 | Take profit: 2096.120098214286 +2025-03-10 13:13:30,177 - INFO - CLOSED long at 2059.9 | PnL: -0.25% | $-0.61 +2025-03-10 13:13:30,177 - INFO - OPENED SHORT at 2059.9 | Stop loss: 2070.215032142857 | Take profit: 2028.9782017857144 +2025-03-10 13:13:30,209 - INFO - CLOSED short at 2060.7 | PnL: -0.04% | $-0.24 +2025-03-10 13:13:30,209 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3809678571424 | Take profit: 2091.633798214286 +2025-03-10 13:13:30,362 - INFO - CLOSED long at 2070.41 | PnL: 0.47% | $0.63 +2025-03-10 13:13:30,363 - INFO - OPENED SHORT at 2070.41 | Stop loss: 2080.777582142857 | Take profit: 2039.3305517857143 +2025-03-10 13:13:30,400 - INFO - CLOSED short at 2074.05 | PnL: -0.18% | $-0.47 +2025-03-10 13:13:30,400 - INFO - OPENED LONG at 2074.05 | Stop loss: 2063.6642178571433 | Take profit: 2105.184048214286 +2025-03-10 13:13:30,549 - INFO - CLOSED long at 2076.08 | PnL: 0.10% | $-0.00 +2025-03-10 13:13:30,583 - INFO - OPENED LONG at 2077.61 | Stop loss: 2067.206417857143 | Take profit: 2108.797448214286 +2025-03-10 13:13:30,665 - INFO - TAKE PROFIT hit for long at 2108.797448214286 | PnL: 1.50% | $2.39 +2025-03-10 13:13:30,683 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.253232142857 | Take profit: 2107.4236017857143 +2025-03-10 13:13:30,701 - INFO - CLOSED short at 2131.78 | PnL: 0.36% | $0.46 +2025-03-10 13:13:30,718 - INFO - OPENED LONG at 2133.95 | Stop loss: 2123.264717857143 | Take profit: 2165.9825482142855 +2025-03-10 13:13:30,734 - INFO - CLOSED long at 2137.59 | PnL: 0.17% | $0.12 +2025-03-10 13:13:30,778 - INFO - OPENED LONG at 2141.3 | Stop loss: 2130.577967857143 | Take profit: 2173.4427982142856 +2025-03-10 13:13:30,877 - INFO - STOP LOSS hit for long at 2130.577967857143 | PnL: -0.50% | $-1.06 +2025-03-10 13:13:30,912 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.647967857143 | Take profit: 2159.2327982142856 +2025-03-10 13:13:30,969 - INFO - CLOSED long at 2121.09 | PnL: -0.29% | $-0.68 +2025-03-10 13:13:31,003 - INFO - OPENED SHORT at 2120.15 | Stop loss: 2130.766282142857 | Take profit: 2088.3244517857142 +2025-03-10 13:13:31,046 - INFO - CLOSED short at 2119.93 | PnL: 0.01% | $-0.16 +2025-03-10 13:13:31,046 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.3148178571428 | Take profit: 2151.752248214286 +2025-03-10 13:13:31,089 - INFO - CLOSED long at 2118.52 | PnL: -0.07% | $-0.29 +2025-03-10 13:13:31,125 - INFO - OPENED LONG at 2119.07 | Stop loss: 2108.459117857143 | Take profit: 2150.8793482142855 +2025-03-10 13:13:31,152 - INFO - CLOSED long at 2115.28 | PnL: -0.18% | $-0.48 +2025-03-10 13:13:31,171 - INFO - OPENED LONG at 2107.43 | Stop loss: 2096.8773178571428 | Take profit: 2139.0647482142854 +2025-03-10 13:13:31,268 - INFO - CLOSED long at 2112.95 | PnL: 0.26% | $0.28 +2025-03-10 13:13:31,268 - INFO - OPENED SHORT at 2112.95 | Stop loss: 2123.5302821428572 | Take profit: 2081.232451785714 +2025-03-10 13:13:31,303 - INFO - CLOSED short at 2112.46 | PnL: 0.02% | $-0.13 +2025-03-10 13:13:31,361 - INFO - OPENED LONG at 2112.99 | Stop loss: 2102.4095178571424 | Take profit: 2144.7081482142853 +2025-03-10 13:13:31,441 - INFO - CLOSED long at 2114.8 | PnL: 0.09% | $-0.02 +2025-03-10 13:13:31,481 - INFO - OPENED LONG at 2108.71 | Stop loss: 2098.1509178571428 | Take profit: 2140.3639482142858 +2025-03-10 13:13:31,575 - INFO - STOP LOSS hit for long at 2098.1509178571428 | PnL: -0.50% | $-1.03 +2025-03-10 13:13:31,600 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.016817857143 | Take profit: 2131.046248214286 +2025-03-10 13:13:31,661 - INFO - CLOSED long at 2102.19 | PnL: 0.13% | $0.05 +2025-03-10 13:13:31,662 - INFO - OPENED SHORT at 2102.19 | Stop loss: 2112.716482142857 | Take profit: 2070.6338517857143 +2025-03-10 13:13:31,693 - INFO - CLOSED short at 2102.29 | PnL: -0.00% | $-0.18 +2025-03-10 13:13:31,727 - INFO - OPENED LONG at 2099.25 | Stop loss: 2088.738217857143 | Take profit: 2130.7620482142856 +2025-03-10 13:13:31,845 - INFO - CLOSED long at 2100.74 | PnL: 0.07% | $-0.05 +2025-03-10 13:13:31,845 - INFO - OPENED SHORT at 2100.74 | Stop loss: 2111.259232142857 | Take profit: 2069.205601785714 +2025-03-10 13:13:31,869 - INFO - CLOSED short at 2103.86 | PnL: -0.15% | $-0.42 +2025-03-10 13:13:31,870 - INFO - OPENED LONG at 2103.86 | Stop loss: 2093.3251678571432 | Take profit: 2135.4411982142856 +2025-03-10 13:13:31,960 - INFO - CLOSED long at 2098.39 | PnL: -0.26% | $-0.61 +2025-03-10 13:13:31,960 - INFO - OPENED SHORT at 2098.39 | Stop loss: 2108.8974821428574 | Take profit: 2066.890851785714 +2025-03-10 13:13:31,981 - INFO - CLOSED short at 2095.29 | PnL: 0.15% | $0.08 +2025-03-10 13:13:31,981 - INFO - OPENED LONG at 2095.29 | Stop loss: 2084.798017857143 | Take profit: 2126.742648214286 +2025-03-10 13:13:32,190 - INFO - STOP LOSS hit for long at 2084.798017857143 | PnL: -0.50% | $-1.01 +2025-03-10 13:13:32,236 - INFO - OPENED LONG at 2083.97 | Stop loss: 2073.5346178571426 | Take profit: 2115.2528482142857 +2025-03-10 13:13:32,253 - INFO - CLOSED long at 2085.3 | PnL: 0.06% | $-0.06 +2025-03-10 13:13:32,253 - INFO - OPENED SHORT at 2085.3 | Stop loss: 2095.742032142857 | Take profit: 2053.9972017857144 +2025-03-10 13:13:32,265 - INFO - CLOSED short at 2082.44 | PnL: 0.14% | $0.06 +2025-03-10 13:13:32,265 - INFO - OPENED LONG at 2082.44 | Stop loss: 2072.012267857143 | Take profit: 2113.699898214286 +2025-03-10 13:13:32,289 - INFO - CLOSED long at 2081.49 | PnL: -0.05% | $-0.24 +2025-03-10 13:13:32,309 - INFO - OPENED LONG at 2080.38 | Stop loss: 2069.962567857143 | Take profit: 2111.6089982142857 +2025-03-10 13:13:32,512 - INFO - CLOSED long at 2085.85 | PnL: 0.26% | $0.27 +2025-03-10 13:13:32,550 - INFO - OPENED LONG at 2088.66 | Stop loss: 2078.2011678571425 | Take profit: 2120.0131982142857 +2025-03-10 13:13:32,724 - INFO - CLOSED long at 2085.67 | PnL: -0.14% | $-0.40 +2025-03-10 13:13:32,724 - INFO - OPENED SHORT at 2085.67 | Stop loss: 2096.113882142857 | Take profit: 2054.3616517857145 +2025-03-10 13:13:32,780 - INFO - CLOSED short at 2091.05 | PnL: -0.26% | $-0.59 +2025-03-10 13:13:32,781 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.579217857143 | Take profit: 2122.4390482142862 +2025-03-10 13:13:32,801 - INFO - CLOSED long at 2091.95 | PnL: 0.04% | $-0.09 +2025-03-10 13:13:32,831 - INFO - OPENED LONG at 2094.7 | Stop loss: 2084.210967857143 | Take profit: 2126.1437982142857 +2025-03-10 13:13:32,998 - INFO - CLOSED long at 2099.89 | PnL: 0.25% | $0.24 +2025-03-10 13:13:32,998 - INFO - OPENED SHORT at 2099.89 | Stop loss: 2110.404982142857 | Take profit: 2068.368351785714 +2025-03-10 13:13:33,023 - INFO - CLOSED short at 2100.89 | PnL: -0.05% | $-0.24 +2025-03-10 13:13:33,023 - INFO - OPENED LONG at 2100.89 | Stop loss: 2090.370017857143 | Take profit: 2132.4266482142853 +2025-03-10 13:13:33,199 - INFO - CLOSED long at 2105.2 | PnL: 0.21% | $0.17 +2025-03-10 13:13:33,199 - INFO - OPENED SHORT at 2105.2 | Stop loss: 2115.741532142857 | Take profit: 2073.598701785714 +2025-03-10 13:13:33,235 - INFO - CLOSED short at 2103.52 | PnL: 0.08% | $-0.03 +2025-03-10 13:13:33,236 - INFO - OPENED LONG at 2103.52 | Stop loss: 2092.986867857143 | Take profit: 2135.0960982142856 +2025-03-10 13:13:33,295 - INFO - Trade Analysis: Win Rate=19.0% in uptrends, 0.0% in downtrends | Avg Win=$0.34, Avg Loss=$-0.31 +2025-03-10 13:13:33,296 - INFO - Episode 9: Reward=70.44, Balance=$82.39, Win Rate=24.1%, Trades=116, Episode PnL=$-12.47, Total PnL=$-225.28, Max Drawdown=17.8%, Pred Accuracy=99.8% +2025-03-10 13:13:33,296 - ERROR - Error in episode 9: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:13:33,297 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1812, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:13:33,317 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:13:33,564 - INFO - OPENED SHORT at 2046.58 | Stop loss: 2056.8284321428573 | Take profit: 2015.8580017857144 +2025-03-10 13:13:33,603 - INFO - CLOSED short at 2047.2 | PnL: -0.03% | $-0.26 +2025-03-10 13:13:33,603 - INFO - OPENED LONG at 2047.2 | Stop loss: 2036.9484678571428 | Take profit: 2077.931298214286 +2025-03-10 13:13:33,745 - INFO - CLOSED long at 2050.24 | PnL: 0.15% | $0.10 +2025-03-10 13:13:33,745 - INFO - OPENED SHORT at 2050.24 | Stop loss: 2060.506732142857 | Take profit: 2019.4631017857141 +2025-03-10 13:13:33,770 - INFO - CLOSED short at 2049.89 | PnL: 0.02% | $-0.16 +2025-03-10 13:13:33,771 - INFO - OPENED LONG at 2049.89 | Stop loss: 2039.6250178571427 | Take profit: 2080.661648214286 +2025-03-10 13:13:33,785 - INFO - CLOSED long at 2051.11 | PnL: 0.06% | $-0.08 +2025-03-10 13:13:33,807 - INFO - OPENED SHORT at 2053.26 | Stop loss: 2063.5418321428574 | Take profit: 2022.4378017857143 +2025-03-10 13:13:33,828 - INFO - CLOSED short at 2051.89 | PnL: 0.07% | $-0.07 +2025-03-10 13:13:33,828 - INFO - OPENED LONG at 2051.89 | Stop loss: 2041.6150178571427 | Take profit: 2082.6916482142856 +2025-03-10 13:13:34,017 - INFO - CLOSED long at 2059.7 | PnL: 0.38% | $0.55 +2025-03-10 13:13:34,017 - INFO - OPENED SHORT at 2059.7 | Stop loss: 2070.014032142857 | Take profit: 2028.781201785714 +2025-03-10 13:13:34,041 - INFO - CLOSED short at 2061.49 | PnL: -0.09% | $-0.37 +2025-03-10 13:13:34,041 - INFO - OPENED LONG at 2061.49 | Stop loss: 2051.1670178571426 | Take profit: 2092.4356482142853 +2025-03-10 13:13:34,096 - INFO - CLOSED long at 2063.59 | PnL: 0.10% | $0.00 +2025-03-10 13:13:34,118 - INFO - OPENED LONG at 2061.61 | Stop loss: 2051.286417857143 | Take profit: 2092.557448214286 +2025-03-10 13:13:34,150 - INFO - CLOSED long at 2063.01 | PnL: 0.07% | $-0.06 +2025-03-10 13:13:34,150 - INFO - OPENED SHORT at 2063.01 | Stop loss: 2073.3405821428573 | Take profit: 2032.0415517857145 +2025-03-10 13:13:34,175 - INFO - CLOSED short at 2060.99 | PnL: 0.10% | $-0.00 +2025-03-10 13:13:34,175 - INFO - OPENED LONG at 2060.99 | Stop loss: 2050.6695178571426 | Take profit: 2091.9281482142856 +2025-03-10 13:13:34,361 - INFO - CLOSED long at 2057.8 | PnL: -0.15% | $-0.50 +2025-03-10 13:13:34,396 - INFO - OPENED LONG at 2057.89 | Stop loss: 2047.5850178571427 | Take profit: 2088.7816482142853 +2025-03-10 13:13:34,411 - INFO - CLOSED long at 2057.94 | PnL: 0.00% | $-0.19 +2025-03-10 13:13:34,433 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.803917857143 | Take profit: 2089.004948214286 +2025-03-10 13:13:34,452 - INFO - CLOSED long at 2061.79 | PnL: 0.18% | $0.15 +2025-03-10 13:13:34,470 - INFO - OPENED LONG at 2061.18 | Stop loss: 2050.8585678571426 | Take profit: 2092.1209982142855 +2025-03-10 13:13:34,626 - INFO - CLOSED long at 2070.99 | PnL: 0.48% | $0.74 +2025-03-10 13:13:34,626 - INFO - OPENED SHORT at 2070.99 | Stop loss: 2081.360482142857 | Take profit: 2039.9018517857141 +2025-03-10 13:13:34,664 - INFO - CLOSED short at 2069.6 | PnL: 0.07% | $-0.07 +2025-03-10 13:13:34,664 - INFO - OPENED LONG at 2069.6 | Stop loss: 2059.236467857143 | Take profit: 2100.6672982142854 +2025-03-10 13:13:34,750 - INFO - CLOSED long at 2067.9 | PnL: -0.08% | $-0.36 +2025-03-10 13:13:34,750 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.255032142857 | Take profit: 2036.8582017857143 +2025-03-10 13:13:34,787 - INFO - CLOSED short at 2067.69 | PnL: 0.01% | $-0.18 +2025-03-10 13:13:34,787 - INFO - OPENED LONG at 2067.69 | Stop loss: 2057.336017857143 | Take profit: 2098.7286482142854 +2025-03-10 13:13:34,836 - INFO - CLOSED long at 2071.44 | PnL: 0.18% | $0.16 +2025-03-10 13:13:34,836 - INFO - OPENED SHORT at 2071.44 | Stop loss: 2081.8127321428574 | Take profit: 2040.3451017857144 +2025-03-10 13:13:34,875 - INFO - CLOSED short at 2075.1 | PnL: -0.18% | $-0.55 +2025-03-10 13:13:34,876 - INFO - OPENED LONG at 2075.1 | Stop loss: 2064.708967857143 | Take profit: 2106.2497982142854 +2025-03-10 13:13:35,004 - INFO - CLOSED long at 2072.8 | PnL: -0.11% | $-0.41 +2025-03-10 13:13:35,004 - INFO - OPENED SHORT at 2072.8 | Stop loss: 2083.1795321428576 | Take profit: 2041.6847017857144 +2025-03-10 13:13:35,035 - INFO - CLOSED short at 2070.79 | PnL: 0.10% | $-0.01 +2025-03-10 13:13:35,094 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.375632142857 | Take profit: 2036.9764017857142 +2025-03-10 13:13:35,127 - INFO - CLOSED short at 2067.2 | PnL: 0.04% | $-0.12 +2025-03-10 13:13:35,128 - INFO - OPENED LONG at 2067.2 | Stop loss: 2056.8484678571426 | Take profit: 2098.2312982142853 +2025-03-10 13:13:35,156 - INFO - CLOSED long at 2070.36 | PnL: 0.15% | $0.10 +2025-03-10 13:13:35,193 - INFO - OPENED LONG at 2068.9 | Stop loss: 2058.539967857143 | Take profit: 2099.956798214286 +2025-03-10 13:13:35,251 - INFO - CLOSED long at 2069.19 | PnL: 0.01% | $-0.17 +2025-03-10 13:13:35,252 - INFO - OPENED SHORT at 2069.19 | Stop loss: 2079.551482142857 | Take profit: 2038.1288517857145 +2025-03-10 13:13:35,271 - INFO - CLOSED short at 2068.8 | PnL: 0.02% | $-0.16 +2025-03-10 13:13:35,271 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.440467857143 | Take profit: 2099.855298214286 +2025-03-10 13:13:35,538 - INFO - CLOSED long at 2068.51 | PnL: -0.01% | $-0.22 +2025-03-10 13:13:35,538 - INFO - OPENED SHORT at 2068.51 | Stop loss: 2078.8680821428575 | Take profit: 2037.4590517857146 +2025-03-10 13:13:35,578 - INFO - CLOSED short at 2068.59 | PnL: -0.00% | $-0.20 +2025-03-10 13:13:35,578 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.231517857143 | Take profit: 2099.642148214286 +2025-03-10 13:13:35,842 - INFO - CLOSED long at 2071.92 | PnL: 0.16% | $0.12 +2025-03-10 13:13:35,842 - INFO - OPENED SHORT at 2071.92 | Stop loss: 2082.2951321428573 | Take profit: 2040.8179017857142 +2025-03-10 13:13:35,879 - INFO - CLOSED short at 2070.4 | PnL: 0.07% | $-0.05 +2025-03-10 13:13:35,879 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.032467857143 | Take profit: 2101.479298214286 +2025-03-10 13:13:36,052 - INFO - CLOSED long at 2067.46 | PnL: -0.14% | $-0.47 +2025-03-10 13:13:36,110 - INFO - OPENED LONG at 2063.61 | Stop loss: 2053.276417857143 | Take profit: 2094.587448214286 +2025-03-10 13:13:36,277 - INFO - CLOSED long at 2067.59 | PnL: 0.19% | $0.18 +2025-03-10 13:13:36,308 - INFO - OPENED LONG at 2069.2 | Stop loss: 2058.8384678571424 | Take profit: 2100.2612982142855 +2025-03-10 13:13:36,526 - INFO - CLOSED long at 2067.86 | PnL: -0.06% | $-0.32 +2025-03-10 13:13:36,552 - INFO - OPENED LONG at 2066.4 | Stop loss: 2056.052467857143 | Take profit: 2097.4192982142854 +2025-03-10 13:13:36,584 - INFO - CLOSED long at 2065.28 | PnL: -0.05% | $-0.30 +2025-03-10 13:13:36,606 - INFO - OPENED LONG at 2066.39 | Stop loss: 2056.0425178571427 | Take profit: 2097.409148214286 +2025-03-10 13:13:36,705 - INFO - CLOSED long at 2067.8 | PnL: 0.07% | $-0.06 +2025-03-10 13:13:36,738 - INFO - OPENED SHORT at 2068.18 | Stop loss: 2078.536432142857 | Take profit: 2037.1340017857142 +2025-03-10 13:13:36,771 - INFO - CLOSED short at 2065.69 | PnL: 0.12% | $0.04 +2025-03-10 13:13:36,774 - INFO - OPENED LONG at 2065.69 | Stop loss: 2055.346017857143 | Take profit: 2096.6986482142856 +2025-03-10 13:13:37,298 - INFO - CLOSED long at 2062.89 | PnL: -0.14% | $-0.45 +2025-03-10 13:13:37,325 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.161967857143 | Take profit: 2095.490798214286 +2025-03-10 13:13:37,511 - INFO - CLOSED long at 2061.8 | PnL: -0.13% | $-0.44 +2025-03-10 13:13:37,545 - INFO - OPENED LONG at 2064.7 | Stop loss: 2054.360967857143 | Take profit: 2095.6937982142854 +2025-03-10 13:13:37,602 - INFO - CLOSED long at 2060.91 | PnL: -0.18% | $-0.54 +2025-03-10 13:13:37,602 - INFO - OPENED SHORT at 2060.91 | Stop loss: 2071.230082142857 | Take profit: 2029.973051785714 +2025-03-10 13:13:37,626 - INFO - CLOSED short at 2060.3 | PnL: 0.03% | $-0.13 +2025-03-10 13:13:37,626 - INFO - OPENED LONG at 2060.3 | Stop loss: 2049.982967857143 | Take profit: 2091.227798214286 +2025-03-10 13:13:37,666 - INFO - CLOSED long at 2061.9 | PnL: 0.08% | $-0.04 +2025-03-10 13:13:37,667 - INFO - OPENED SHORT at 2061.9 | Stop loss: 2072.2250321428573 | Take profit: 2030.9482017857144 +2025-03-10 13:13:37,684 - INFO - CLOSED short at 2064.1 | PnL: -0.11% | $-0.39 +2025-03-10 13:13:37,706 - INFO - OPENED LONG at 2065.36 | Stop loss: 2055.017667857143 | Take profit: 2096.363698214286 +2025-03-10 13:13:38,062 - INFO - CLOSED long at 2058.89 | PnL: -0.31% | $-0.78 +2025-03-10 13:13:38,091 - INFO - OPENED LONG at 2059.96 | Stop loss: 2049.644667857143 | Take profit: 2090.882698214286 +2025-03-10 13:13:38,171 - INFO - CLOSED long at 2056.28 | PnL: -0.18% | $-0.52 +2025-03-10 13:13:38,181 - INFO - OPENED SHORT at 2056.28 | Stop loss: 2066.5769321428575 | Take profit: 2025.4125017857145 +2025-03-10 13:13:38,284 - INFO - CLOSED short at 2054.83 | PnL: 0.07% | $-0.05 +2025-03-10 13:13:38,284 - INFO - OPENED LONG at 2054.83 | Stop loss: 2044.5403178571428 | Take profit: 2085.6757482142852 +2025-03-10 13:13:38,320 - INFO - CLOSED long at 2056.71 | PnL: 0.09% | $-0.02 +2025-03-10 13:13:38,321 - INFO - OPENED SHORT at 2056.71 | Stop loss: 2067.0090821428576 | Take profit: 2025.8360517857145 +2025-03-10 13:13:38,366 - INFO - CLOSED short at 2058.15 | PnL: -0.07% | $-0.32 +2025-03-10 13:13:38,367 - INFO - OPENED LONG at 2058.15 | Stop loss: 2047.843717857143 | Take profit: 2089.045548214286 +2025-03-10 13:13:38,501 - INFO - CLOSED long at 2062.69 | PnL: 0.22% | $0.22 +2025-03-10 13:13:38,501 - INFO - OPENED SHORT at 2062.69 | Stop loss: 2073.018982142857 | Take profit: 2031.7263517857143 +2025-03-10 13:13:38,522 - INFO - CLOSED short at 2063.4 | PnL: -0.03% | $-0.25 +2025-03-10 13:13:38,522 - INFO - OPENED LONG at 2063.4 | Stop loss: 2053.0674678571427 | Take profit: 2094.374298214286 +2025-03-10 13:13:38,572 - INFO - CLOSED long at 2063.9 | PnL: 0.02% | $-0.14 +2025-03-10 13:13:38,614 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.982817857143 | Take profit: 2097.348248214286 +2025-03-10 13:13:38,768 - INFO - CLOSED long at 2065.69 | PnL: -0.03% | $-0.24 +2025-03-10 13:13:38,768 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.0339821428574 | Take profit: 2034.6813517857142 +2025-03-10 13:13:38,809 - INFO - CLOSED short at 2069.79 | PnL: -0.20% | $-0.55 +2025-03-10 13:13:38,809 - INFO - OPENED LONG at 2069.79 | Stop loss: 2059.425517857143 | Take profit: 2100.860148214286 +2025-03-10 13:13:38,844 - INFO - CLOSED long at 2074.3 | PnL: 0.22% | $0.22 +2025-03-10 13:13:38,869 - INFO - OPENED LONG at 2078.01 | Stop loss: 2067.604417857143 | Take profit: 2109.203448214286 +2025-03-10 13:13:38,925 - INFO - CLOSED long at 2071.04 | PnL: -0.34% | $-0.80 +2025-03-10 13:13:38,925 - INFO - OPENED SHORT at 2071.04 | Stop loss: 2081.4107321428573 | Take profit: 2039.9511017857142 +2025-03-10 13:13:38,947 - INFO - CLOSED short at 2070.01 | PnL: 0.05% | $-0.09 +2025-03-10 13:13:38,968 - INFO - OPENED LONG at 2071.6 | Stop loss: 2061.226467857143 | Take profit: 2102.6972982142856 +2025-03-10 13:13:39,020 - INFO - CLOSED long at 2070.0 | PnL: -0.08% | $-0.32 +2025-03-10 13:13:39,086 - INFO - OPENED SHORT at 2068.39 | Stop loss: 2078.747482142857 | Take profit: 2037.3408517857142 +2025-03-10 13:13:39,125 - INFO - CLOSED short at 2069.69 | PnL: -0.06% | $-0.29 +2025-03-10 13:13:39,125 - INFO - OPENED LONG at 2069.69 | Stop loss: 2059.3260178571427 | Take profit: 2100.758648214286 +2025-03-10 13:13:39,269 - INFO - CLOSED long at 2069.87 | PnL: 0.01% | $-0.16 +2025-03-10 13:13:39,292 - INFO - OPENED LONG at 2067.33 | Stop loss: 2056.977817857143 | Take profit: 2098.3632482142857 +2025-03-10 13:13:39,310 - INFO - CLOSED long at 2066.38 | PnL: -0.05% | $-0.26 +2025-03-10 13:13:39,311 - INFO - OPENED SHORT at 2066.38 | Stop loss: 2076.7274321428577 | Take profit: 2035.3610017857145 +2025-03-10 13:13:39,327 - INFO - CLOSED short at 2065.7 | PnL: 0.03% | $-0.12 +2025-03-10 13:13:39,327 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.355967857143 | Take profit: 2096.7087982142857 +2025-03-10 13:13:39,518 - INFO - CLOSED long at 2065.5 | PnL: -0.01% | $-0.20 +2025-03-10 13:13:39,519 - INFO - OPENED SHORT at 2065.5 | Stop loss: 2075.843032142857 | Take profit: 2034.4942017857143 +2025-03-10 13:13:39,552 - INFO - CLOSED short at 2067.53 | PnL: -0.10% | $-0.35 +2025-03-10 13:13:39,552 - INFO - OPENED LONG at 2067.53 | Stop loss: 2057.176817857143 | Take profit: 2098.566248214286 +2025-03-10 13:13:39,577 - INFO - CLOSED long at 2065.29 | PnL: -0.11% | $-0.37 +2025-03-10 13:13:39,608 - INFO - OPENED LONG at 2065.31 | Stop loss: 2054.9679178571428 | Take profit: 2096.3129482142854 +2025-03-10 13:13:39,691 - INFO - CLOSED long at 2070.2 | PnL: 0.24% | $0.24 +2025-03-10 13:13:39,720 - INFO - OPENED LONG at 2071.35 | Stop loss: 2060.9777178571426 | Take profit: 2102.443548214286 +2025-03-10 13:13:39,798 - INFO - CLOSED long at 2070.35 | PnL: -0.05% | $-0.26 +2025-03-10 13:13:39,798 - INFO - OPENED SHORT at 2070.35 | Stop loss: 2080.717282142857 | Take profit: 2039.2714517857144 +2025-03-10 13:13:39,842 - INFO - CLOSED short at 2070.61 | PnL: -0.01% | $-0.20 +2025-03-10 13:13:39,842 - INFO - OPENED LONG at 2070.61 | Stop loss: 2060.241417857143 | Take profit: 2101.692448214286 +2025-03-10 13:13:40,029 - INFO - CLOSED long at 2074.37 | PnL: 0.18% | $0.14 +2025-03-10 13:13:40,029 - INFO - OPENED SHORT at 2074.37 | Stop loss: 2084.7573821428573 | Take profit: 2043.2311517857142 +2025-03-10 13:13:40,069 - INFO - CLOSED short at 2074.35 | PnL: 0.00% | $-0.18 +2025-03-10 13:13:40,069 - INFO - OPENED LONG at 2074.35 | Stop loss: 2063.9627178571427 | Take profit: 2105.488548214286 +2025-03-10 13:13:40,110 - INFO - CLOSED long at 2073.99 | PnL: -0.02% | $-0.21 +2025-03-10 13:13:40,110 - INFO - OPENED SHORT at 2073.99 | Stop loss: 2084.375482142857 | Take profit: 2042.856851785714 +2025-03-10 13:13:40,126 - INFO - CLOSED short at 2075.32 | PnL: -0.06% | $-0.29 +2025-03-10 13:13:40,126 - INFO - OPENED LONG at 2075.32 | Stop loss: 2064.927867857143 | Take profit: 2106.473098214286 +2025-03-10 13:13:40,184 - INFO - CLOSED long at 2075.61 | PnL: 0.01% | $-0.15 +2025-03-10 13:13:40,202 - INFO - OPENED LONG at 2074.0 | Stop loss: 2063.6144678571427 | Take profit: 2105.133298214286 +2025-03-10 13:13:40,287 - INFO - CLOSED long at 2067.7 | PnL: -0.30% | $-0.71 +2025-03-10 13:13:40,318 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.350532142857 | Take profit: 2035.9717017857142 +2025-03-10 13:13:40,353 - INFO - CLOSED short at 2067.9 | PnL: -0.04% | $-0.25 +2025-03-10 13:13:40,353 - INFO - OPENED LONG at 2067.9 | Stop loss: 2057.544967857143 | Take profit: 2098.941798214286 +2025-03-10 13:13:40,382 - INFO - CLOSED long at 2066.4 | PnL: -0.07% | $-0.30 +2025-03-10 13:13:40,382 - INFO - OPENED SHORT at 2066.4 | Stop loss: 2076.7475321428574 | Take profit: 2035.3807017857143 +2025-03-10 13:13:40,413 - INFO - CLOSED short at 2066.89 | PnL: -0.02% | $-0.21 +2025-03-10 13:13:40,413 - INFO - OPENED LONG at 2066.89 | Stop loss: 2056.5400178571426 | Take profit: 2097.9166482142855 +2025-03-10 13:13:40,572 - INFO - CLOSED long at 2065.7 | PnL: -0.06% | $-0.27 +2025-03-10 13:13:40,572 - INFO - OPENED SHORT at 2065.7 | Stop loss: 2076.044032142857 | Take profit: 2034.691201785714 +2025-03-10 13:13:40,595 - INFO - CLOSED short at 2065.8 | PnL: -0.00% | $-0.18 +2025-03-10 13:13:40,613 - INFO - OPENED SHORT at 2065.07 | Stop loss: 2075.4108821428576 | Take profit: 2034.0706517857145 +2025-03-10 13:13:40,643 - INFO - CLOSED short at 2066.09 | PnL: -0.05% | $-0.26 +2025-03-10 13:13:40,643 - INFO - OPENED LONG at 2066.09 | Stop loss: 2055.744017857143 | Take profit: 2097.1046482142856 +2025-03-10 13:13:40,675 - INFO - CLOSED long at 2063.39 | PnL: -0.13% | $-0.40 +2025-03-10 13:13:40,709 - INFO - OPENED LONG at 2062.34 | Stop loss: 2052.012767857143 | Take profit: 2093.2983982142855 +2025-03-10 13:13:40,769 - INFO - CLOSED long at 2066.1 | PnL: 0.18% | $0.14 +2025-03-10 13:13:40,798 - INFO - OPENED LONG at 2065.06 | Stop loss: 2054.719167857143 | Take profit: 2096.0591982142855 +2025-03-10 13:13:40,820 - INFO - CLOSED long at 2064.11 | PnL: -0.05% | $-0.25 +2025-03-10 13:13:40,840 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.161967857143 | Take profit: 2095.490798214286 +2025-03-10 13:13:40,954 - INFO - CLOSED long at 2058.09 | PnL: -0.31% | $-0.70 +2025-03-10 13:13:40,975 - INFO - OPENED LONG at 2058.65 | Stop loss: 2048.341217857143 | Take profit: 2089.553048214286 +2025-03-10 13:13:41,093 - INFO - CLOSED long at 2051.99 | PnL: -0.32% | $-0.72 +2025-03-10 13:13:41,093 - INFO - OPENED SHORT at 2051.99 | Stop loss: 2062.265482142857 | Take profit: 2021.186851785714 +2025-03-10 13:13:41,134 - INFO - CLOSED short at 2058.3 | PnL: -0.31% | $-0.68 +2025-03-10 13:13:41,134 - INFO - OPENED LONG at 2058.3 | Stop loss: 2047.9929678571432 | Take profit: 2089.1977982142857 +2025-03-10 13:13:41,254 - INFO - CLOSED long at 2063.9 | PnL: 0.27% | $0.29 +2025-03-10 13:13:41,279 - INFO - OPENED LONG at 2065.1 | Stop loss: 2054.758967857143 | Take profit: 2096.099798214286 +2025-03-10 13:13:41,555 - INFO - CLOSED long at 2062.54 | PnL: -0.12% | $-0.37 +2025-03-10 13:13:41,555 - INFO - OPENED SHORT at 2062.54 | Stop loss: 2072.868232142857 | Take profit: 2031.5786017857142 +2025-03-10 13:13:41,587 - INFO - CLOSED short at 2065.72 | PnL: -0.15% | $-0.42 +2025-03-10 13:13:41,587 - INFO - OPENED LONG at 2065.72 | Stop loss: 2055.3758678571426 | Take profit: 2096.729098214286 +2025-03-10 13:13:41,686 - INFO - CLOSED long at 2070.41 | PnL: 0.23% | $0.21 +2025-03-10 13:13:41,701 - INFO - OPENED SHORT at 2073.49 | Stop loss: 2083.872982142857 | Take profit: 2042.364351785714 +2025-03-10 13:13:41,742 - INFO - CLOSED short at 2072.99 | PnL: 0.02% | $-0.13 +2025-03-10 13:13:41,743 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6095178571427 | Take profit: 2104.1081482142854 +2025-03-10 13:13:41,760 - INFO - CLOSED long at 2071.89 | PnL: -0.05% | $-0.25 +2025-03-10 13:13:41,760 - INFO - OPENED SHORT at 2071.89 | Stop loss: 2082.2649821428568 | Take profit: 2040.7883517857142 +2025-03-10 13:13:41,780 - INFO - CLOSED short at 2071.8 | PnL: 0.00% | $-0.16 +2025-03-10 13:13:41,780 - INFO - OPENED LONG at 2071.8 | Stop loss: 2061.4254678571433 | Take profit: 2102.9002982142856 +2025-03-10 13:13:41,825 - INFO - CLOSED long at 2076.08 | PnL: 0.21% | $0.18 +2025-03-10 13:13:41,825 - INFO - OPENED SHORT at 2076.08 | Stop loss: 2086.475932142857 | Take profit: 2044.9155017857142 +2025-03-10 13:13:41,890 - INFO - CLOSED short at 2085.56 | PnL: -0.46% | $-0.92 +2025-03-10 13:13:41,890 - INFO - OPENED LONG at 2085.56 | Stop loss: 2075.116667857143 | Take profit: 2116.866698214286 +2025-03-10 13:13:41,979 - INFO - TAKE PROFIT hit for long at 2116.866698214286 | PnL: 1.50% | $2.28 +2025-03-10 13:13:42,030 - INFO - OPENED LONG at 2131.78 | Stop loss: 2121.105567857143 | Take profit: 2163.7799982142856 +2025-03-10 13:13:42,051 - INFO - CLOSED long at 2133.95 | PnL: 0.10% | $0.00 +2025-03-10 13:13:42,075 - INFO - OPENED LONG at 2137.59 | Stop loss: 2126.8865178571427 | Take profit: 2169.677148214286 +2025-03-10 13:13:42,251 - INFO - CLOSED long at 2128.69 | PnL: -0.42% | $-0.87 +2025-03-10 13:13:42,251 - INFO - OPENED SHORT at 2128.69 | Stop loss: 2139.348982142857 | Take profit: 2096.7363517857143 +2025-03-10 13:13:42,281 - INFO - CLOSED short at 2121.09 | PnL: 0.36% | $0.43 +2025-03-10 13:13:42,319 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.533717857143 | Take profit: 2151.9755482142855 +2025-03-10 13:13:42,403 - INFO - CLOSED long at 2121.4 | PnL: 0.06% | $-0.07 +2025-03-10 13:13:42,428 - INFO - OPENED LONG at 2118.52 | Stop loss: 2107.9118678571426 | Take profit: 2150.321098214286 +2025-03-10 13:13:42,500 - INFO - STOP LOSS hit for long at 2107.9118678571426 | PnL: -0.50% | $-1.00 +2025-03-10 13:13:42,526 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.0314678571426 | Take profit: 2142.282298214285 +2025-03-10 13:13:42,830 - INFO - CLOSED long at 2108.06 | PnL: -0.12% | $-0.36 +2025-03-10 13:13:42,859 - INFO - OPENED LONG at 2103.33 | Stop loss: 2092.797817857143 | Take profit: 2134.9032482142857 +2025-03-10 13:13:42,900 - INFO - STOP LOSS hit for long at 2092.797817857143 | PnL: -0.50% | $-0.98 +2025-03-10 13:13:42,917 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.016817857143 | Take profit: 2131.046248214286 +2025-03-10 13:13:42,984 - INFO - CLOSED long at 2099.25 | PnL: -0.01% | $-0.18 +2025-03-10 13:13:43,010 - INFO - OPENED LONG at 2098.9 | Stop loss: 2088.389967857143 | Take profit: 2130.4067982142856 +2025-03-10 13:13:43,193 - INFO - CLOSED long at 2104.68 | PnL: 0.28% | $0.28 +2025-03-10 13:13:43,234 - INFO - OPENED LONG at 2099.59 | Stop loss: 2089.0765178571432 | Take profit: 2131.1071482142856 +2025-03-10 13:13:43,252 - INFO - CLOSED long at 2100.02 | PnL: 0.02% | $-0.13 +2025-03-10 13:13:43,308 - INFO - OPENED LONG at 2093.46 | Stop loss: 2082.977167857143 | Take profit: 2124.8851982142855 +2025-03-10 13:13:43,341 - INFO - CLOSED long at 2092.46 | PnL: -0.05% | $-0.24 +2025-03-10 13:13:43,362 - INFO - OPENED LONG at 2091.1 | Stop loss: 2080.628967857143 | Take profit: 2122.4897982142857 +2025-03-10 13:13:43,533 - INFO - CLOSED long at 2085.3 | PnL: -0.28% | $-0.61 +2025-03-10 13:13:43,567 - INFO - OPENED LONG at 2082.44 | Stop loss: 2072.012267857143 | Take profit: 2113.699898214286 +2025-03-10 13:13:43,717 - INFO - CLOSED long at 2085.8 | PnL: 0.16% | $0.10 +2025-03-10 13:13:43,717 - INFO - OPENED SHORT at 2085.8 | Stop loss: 2096.244532142857 | Take profit: 2054.4897017857147 +2025-03-10 13:13:43,735 - INFO - CLOSED short at 2084.72 | PnL: 0.05% | $-0.08 +2025-03-10 13:13:43,741 - INFO - OPENED LONG at 2084.72 | Stop loss: 2074.2808678571428 | Take profit: 2116.0140982142852 +2025-03-10 13:13:43,887 - INFO - CLOSED long at 2087.0 | PnL: 0.11% | $0.02 +2025-03-10 13:13:43,887 - INFO - OPENED SHORT at 2087.0 | Stop loss: 2097.4505321428574 | Take profit: 2055.671701785714 +2025-03-10 13:13:43,951 - INFO - CLOSED short at 2087.78 | PnL: -0.04% | $-0.22 +2025-03-10 13:13:43,951 - INFO - OPENED LONG at 2087.78 | Stop loss: 2077.325567857143 | Take profit: 2119.1199982142857 +2025-03-10 13:13:43,979 - INFO - CLOSED long at 2086.81 | PnL: -0.05% | $-0.23 +2025-03-10 13:13:43,980 - INFO - OPENED SHORT at 2086.81 | Stop loss: 2097.259582142857 | Take profit: 2055.4845517857143 +2025-03-10 13:13:44,009 - INFO - CLOSED short at 2089.79 | PnL: -0.14% | $-0.39 +2025-03-10 13:13:44,009 - INFO - OPENED LONG at 2089.79 | Stop loss: 2079.325517857143 | Take profit: 2121.1601482142855 +2025-03-10 13:13:44,136 - INFO - CLOSED long at 2097.8 | PnL: 0.38% | $0.45 +2025-03-10 13:13:44,150 - INFO - OPENED LONG at 2099.99 | Stop loss: 2089.4745178571425 | Take profit: 2131.513148214285 +2025-03-10 13:13:44,346 - INFO - CLOSED long at 2103.48 | PnL: 0.17% | $0.11 +2025-03-10 13:13:44,380 - INFO - OPENED LONG at 2104.93 | Stop loss: 2094.3898178571426 | Take profit: 2136.527248214286 +2025-03-10 13:13:44,485 - INFO - CLOSED long at 2103.64 | PnL: -0.06% | $-0.26 +2025-03-10 13:13:44,501 - INFO - OPENED LONG at 2105.2 | Stop loss: 2094.6584678571426 | Take profit: 2136.8012982142855 +2025-03-10 13:13:44,565 - INFO - Trade Analysis: Win Rate=5.3% in uptrends, 0.0% in downtrends | Avg Win=$0.29, Avg Loss=$-0.31 +2025-03-10 13:13:44,566 - INFO - Episode 10: Reward=70.24, Balance=$80.19, Win Rate=22.8%, Trades=114, Episode PnL=$-14.80, Total PnL=$-245.09, Max Drawdown=19.8%, Pred Accuracy=99.5% +2025-03-10 13:13:44,566 - ERROR - Error in episode 10: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:13:44,567 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1812, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:13:44,586 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:13:44,908 - INFO - OPENED LONG at 2046.58 | Stop loss: 2036.3315678571428 | Take profit: 2077.3019982142855 +2025-03-10 13:13:44,944 - INFO - CLOSED long at 2047.2 | PnL: 0.03% | $-0.14 +2025-03-10 13:13:44,959 - INFO - OPENED SHORT at 2045.99 | Stop loss: 2056.235482142857 | Take profit: 2015.2768517857144 +2025-03-10 13:13:44,984 - INFO - CLOSED short at 2045.99 | PnL: 0.00% | $-0.20 +2025-03-10 13:13:44,984 - INFO - OPENED LONG at 2045.99 | Stop loss: 2035.744517857143 | Take profit: 2076.703148214286 +2025-03-10 13:13:45,117 - INFO - CLOSED long at 2049.89 | PnL: 0.19% | $0.18 +2025-03-10 13:13:45,117 - INFO - OPENED SHORT at 2049.89 | Stop loss: 2060.154982142857 | Take profit: 2019.1183517857141 +2025-03-10 13:13:45,172 - INFO - CLOSED short at 2051.89 | PnL: -0.10% | $-0.39 +2025-03-10 13:13:45,173 - INFO - OPENED LONG at 2051.89 | Stop loss: 2041.6150178571427 | Take profit: 2082.6916482142856 +2025-03-10 13:13:45,230 - INFO - CLOSED long at 2057.01 | PnL: 0.25% | $0.30 +2025-03-10 13:13:45,230 - INFO - OPENED SHORT at 2057.01 | Stop loss: 2067.3105821428576 | Take profit: 2026.1315517857145 +2025-03-10 13:13:45,262 - INFO - CLOSED short at 2056.89 | PnL: 0.01% | $-0.19 +2025-03-10 13:13:45,262 - INFO - OPENED LONG at 2056.89 | Stop loss: 2046.5900178571426 | Take profit: 2087.766648214286 +2025-03-10 13:13:45,419 - INFO - CLOSED long at 2064.61 | PnL: 0.38% | $0.54 +2025-03-10 13:13:45,443 - INFO - OPENED LONG at 2063.59 | Stop loss: 2053.256517857143 | Take profit: 2094.567148214286 +2025-03-10 13:13:45,463 - INFO - CLOSED long at 2061.61 | PnL: -0.10% | $-0.39 +2025-03-10 13:13:45,463 - INFO - OPENED SHORT at 2061.61 | Stop loss: 2071.933582142857 | Take profit: 2030.6625517857144 +2025-03-10 13:13:45,597 - INFO - CLOSED short at 2060.31 | PnL: 0.06% | $-0.07 +2025-03-10 13:13:45,600 - INFO - OPENED LONG at 2060.31 | Stop loss: 2049.992917857143 | Take profit: 2091.237948214286 +2025-03-10 13:13:45,811 - INFO - CLOSED long at 2064.32 | PnL: 0.19% | $0.19 +2025-03-10 13:13:45,811 - INFO - OPENED SHORT at 2064.32 | Stop loss: 2074.6571321428573 | Take profit: 2033.3319017857145 +2025-03-10 13:13:45,837 - INFO - CLOSED short at 2065.86 | PnL: -0.07% | $-0.35 +2025-03-10 13:13:45,859 - INFO - OPENED LONG at 2070.58 | Stop loss: 2060.2115678571427 | Take profit: 2101.6619982142856 +2025-03-10 13:13:45,898 - INFO - CLOSED long at 2068.29 | PnL: -0.11% | $-0.42 +2025-03-10 13:13:45,915 - INFO - OPENED LONG at 2067.89 | Stop loss: 2057.535017857143 | Take profit: 2098.9316482142854 +2025-03-10 13:13:46,006 - INFO - CLOSED long at 2068.99 | PnL: 0.05% | $-0.09 +2025-03-10 13:13:46,006 - INFO - OPENED SHORT at 2068.99 | Stop loss: 2079.350482142857 | Take profit: 2037.931851785714 +2025-03-10 13:13:46,045 - INFO - CLOSED short at 2067.9 | PnL: 0.05% | $-0.09 +2025-03-10 13:13:46,045 - INFO - OPENED LONG at 2067.9 | Stop loss: 2057.544967857143 | Take profit: 2098.941798214286 +2025-03-10 13:13:46,272 - INFO - CLOSED long at 2071.41 | PnL: 0.17% | $0.14 +2025-03-10 13:13:46,293 - INFO - OPENED LONG at 2069.37 | Stop loss: 2059.0076178571426 | Take profit: 2100.4338482142857 +2025-03-10 13:13:46,325 - INFO - CLOSED long at 2072.8 | PnL: 0.17% | $0.13 +2025-03-10 13:13:46,325 - INFO - OPENED SHORT at 2072.8 | Stop loss: 2083.1795321428576 | Take profit: 2041.6847017857144 +2025-03-10 13:13:46,348 - INFO - CLOSED short at 2070.79 | PnL: 0.10% | $-0.01 +2025-03-10 13:13:46,364 - INFO - OPENED LONG at 2070.28 | Stop loss: 2059.9130678571432 | Take profit: 2101.357498214286 +2025-03-10 13:13:46,428 - INFO - CLOSED long at 2070.36 | PnL: 0.00% | $-0.19 +2025-03-10 13:13:46,458 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.260032142857 | Take profit: 2037.8432017857144 +2025-03-10 13:13:46,491 - INFO - CLOSED short at 2070.7 | PnL: -0.09% | $-0.37 +2025-03-10 13:13:46,525 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.977767857143 | Take profit: 2100.4033982142855 +2025-03-10 13:13:46,552 - INFO - CLOSED long at 2069.19 | PnL: -0.01% | $-0.21 +2025-03-10 13:13:46,552 - INFO - OPENED SHORT at 2069.19 | Stop loss: 2079.551482142857 | Take profit: 2038.1288517857145 +2025-03-10 13:13:46,585 - INFO - CLOSED short at 2068.8 | PnL: 0.02% | $-0.16 +2025-03-10 13:13:46,585 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.440467857143 | Take profit: 2099.855298214286 +2025-03-10 13:13:46,610 - INFO - CLOSED long at 2067.6 | PnL: -0.06% | $-0.31 +2025-03-10 13:13:46,628 - INFO - OPENED LONG at 2067.51 | Stop loss: 2057.156917857143 | Take profit: 2098.5459482142855 +2025-03-10 13:13:46,718 - INFO - CLOSED long at 2066.29 | PnL: -0.06% | $-0.31 +2025-03-10 13:13:46,734 - INFO - OPENED LONG at 2065.08 | Stop loss: 2054.739067857143 | Take profit: 2096.0794982142856 +2025-03-10 13:13:46,753 - INFO - CLOSED long at 2066.18 | PnL: 0.05% | $-0.09 +2025-03-10 13:13:46,754 - INFO - OPENED SHORT at 2066.18 | Stop loss: 2076.526432142857 | Take profit: 2035.1640017857142 +2025-03-10 13:13:46,773 - INFO - CLOSED short at 2068.76 | PnL: -0.12% | $-0.44 +2025-03-10 13:13:46,773 - INFO - OPENED LONG at 2068.76 | Stop loss: 2058.400667857143 | Take profit: 2099.814698214286 +2025-03-10 13:13:46,791 - INFO - CLOSED long at 2068.9 | PnL: 0.01% | $-0.18 +2025-03-10 13:13:46,791 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.260032142857 | Take profit: 2037.8432017857144 +2025-03-10 13:13:46,814 - INFO - CLOSED short at 2068.51 | PnL: 0.02% | $-0.16 +2025-03-10 13:13:46,814 - INFO - OPENED LONG at 2068.51 | Stop loss: 2058.151917857143 | Take profit: 2099.560948214286 +2025-03-10 13:13:47,012 - INFO - CLOSED long at 2071.36 | PnL: 0.14% | $0.07 +2025-03-10 13:13:47,033 - INFO - OPENED LONG at 2072.75 | Stop loss: 2062.3707178571426 | Take profit: 2103.864548214286 +2025-03-10 13:13:47,156 - INFO - CLOSED long at 2070.4 | PnL: -0.11% | $-0.41 +2025-03-10 13:13:47,156 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.7675321428574 | Take profit: 2039.3207017857144 +2025-03-10 13:13:47,193 - INFO - CLOSED short at 2069.46 | PnL: 0.05% | $-0.10 +2025-03-10 13:13:47,193 - INFO - OPENED LONG at 2069.46 | Stop loss: 2059.0971678571427 | Take profit: 2100.525198214286 +2025-03-10 13:13:47,280 - INFO - CLOSED long at 2067.0 | PnL: -0.12% | $-0.42 +2025-03-10 13:13:47,336 - INFO - OPENED LONG at 2067.46 | Stop loss: 2057.107167857143 | Take profit: 2098.4951982142857 +2025-03-10 13:13:47,416 - INFO - CLOSED long at 2063.61 | PnL: -0.19% | $-0.54 +2025-03-10 13:13:47,418 - INFO - OPENED SHORT at 2063.61 | Stop loss: 2073.9435821428574 | Take profit: 2032.6325517857144 +2025-03-10 13:13:47,440 - INFO - CLOSED short at 2065.26 | PnL: -0.08% | $-0.34 +2025-03-10 13:13:47,440 - INFO - OPENED LONG at 2065.26 | Stop loss: 2054.918167857143 | Take profit: 2096.262198214286 +2025-03-10 13:13:47,512 - INFO - CLOSED long at 2069.34 | PnL: 0.20% | $0.18 +2025-03-10 13:13:47,512 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.702232142857 | Take profit: 2038.2766017857143 +2025-03-10 13:13:47,551 - INFO - CLOSED short at 2067.59 | PnL: 0.08% | $-0.03 +2025-03-10 13:13:47,552 - INFO - OPENED LONG at 2067.59 | Stop loss: 2057.236517857143 | Take profit: 2098.6271482142856 +2025-03-10 13:13:47,589 - INFO - CLOSED long at 2070.3 | PnL: 0.13% | $0.06 +2025-03-10 13:13:47,611 - INFO - OPENED SHORT at 2071.59 | Stop loss: 2081.9634821428576 | Take profit: 2040.4928517857145 +2025-03-10 13:13:47,670 - INFO - CLOSED short at 2070.4 | PnL: 0.06% | $-0.08 +2025-03-10 13:13:47,703 - INFO - OPENED LONG at 2070.73 | Stop loss: 2060.360817857143 | Take profit: 2101.8142482142857 +2025-03-10 13:13:48,133 - INFO - CLOSED long at 2065.26 | PnL: -0.26% | $-0.69 +2025-03-10 13:13:48,173 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.5600178571426 | Take profit: 2093.8566482142855 +2025-03-10 13:13:48,462 - INFO - CLOSED long at 2062.71 | PnL: -0.01% | $-0.20 +2025-03-10 13:13:48,551 - INFO - OPENED LONG at 2063.5 | Stop loss: 2053.166967857143 | Take profit: 2094.4757982142855 +2025-03-10 13:13:48,670 - INFO - CLOSED long at 2060.31 | PnL: -0.15% | $-0.48 +2025-03-10 13:13:48,670 - INFO - OPENED SHORT at 2060.31 | Stop loss: 2070.627082142857 | Take profit: 2029.3820517857143 +2025-03-10 13:13:48,683 - INFO - CLOSED short at 2061.8 | PnL: -0.07% | $-0.32 +2025-03-10 13:13:48,683 - INFO - OPENED LONG at 2061.8 | Stop loss: 2051.475467857143 | Take profit: 2092.7502982142855 +2025-03-10 13:13:48,799 - INFO - CLOSED long at 2061.13 | PnL: -0.03% | $-0.25 +2025-03-10 13:13:48,825 - INFO - OPENED LONG at 2061.9 | Stop loss: 2051.574967857143 | Take profit: 2092.8517982142857 +2025-03-10 13:13:48,845 - INFO - CLOSED long at 2064.1 | PnL: 0.11% | $0.01 +2025-03-10 13:13:48,870 - INFO - OPENED LONG at 2065.36 | Stop loss: 2055.017667857143 | Take profit: 2096.363698214286 +2025-03-10 13:13:49,001 - INFO - CLOSED long at 2062.6 | PnL: -0.13% | $-0.43 +2025-03-10 13:13:49,001 - INFO - OPENED SHORT at 2062.6 | Stop loss: 2072.928532142857 | Take profit: 2031.6377017857142 +2025-03-10 13:13:49,020 - INFO - CLOSED short at 2061.89 | PnL: 0.03% | $-0.12 +2025-03-10 13:13:49,020 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.5650178571427 | Take profit: 2092.841648214285 +2025-03-10 13:13:49,155 - INFO - CLOSED long at 2058.89 | PnL: -0.15% | $-0.45 +2025-03-10 13:13:49,177 - INFO - OPENED LONG at 2059.96 | Stop loss: 2049.644667857143 | Take profit: 2090.882698214286 +2025-03-10 13:13:49,250 - INFO - CLOSED long at 2056.28 | PnL: -0.18% | $-0.51 +2025-03-10 13:13:49,250 - INFO - OPENED SHORT at 2056.28 | Stop loss: 2066.5769321428575 | Take profit: 2025.4125017857145 +2025-03-10 13:13:49,260 - INFO - CLOSED short at 2055.6 | PnL: 0.03% | $-0.12 +2025-03-10 13:13:49,260 - INFO - OPENED LONG at 2055.6 | Stop loss: 2045.306467857143 | Take profit: 2086.457298214286 +2025-03-10 13:13:49,342 - INFO - CLOSED long at 2058.15 | PnL: 0.12% | $0.04 +2025-03-10 13:13:49,367 - INFO - OPENED LONG at 2059.8 | Stop loss: 2049.4854678571432 | Take profit: 2090.720298214286 +2025-03-10 13:13:49,443 - INFO - CLOSED long at 2061.3 | PnL: 0.07% | $-0.05 +2025-03-10 13:13:49,443 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.6220321428573 | Take profit: 2030.3572017857146 +2025-03-10 13:13:49,466 - INFO - CLOSED short at 2062.69 | PnL: -0.07% | $-0.30 +2025-03-10 13:13:49,466 - INFO - OPENED LONG at 2062.69 | Stop loss: 2052.361017857143 | Take profit: 2093.6536482142856 +2025-03-10 13:13:49,584 - INFO - CLOSED long at 2066.33 | PnL: 0.18% | $0.14 +2025-03-10 13:13:49,585 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.6771821428574 | Take profit: 2035.3117517857143 +2025-03-10 13:13:49,603 - INFO - CLOSED short at 2066.34 | PnL: -0.00% | $-0.18 +2025-03-10 13:13:49,603 - INFO - OPENED LONG at 2066.34 | Stop loss: 2055.992767857143 | Take profit: 2097.358398214286 +2025-03-10 13:13:49,842 - INFO - CLOSED long at 2070.01 | PnL: 0.18% | $0.14 +2025-03-10 13:13:49,867 - INFO - OPENED LONG at 2071.6 | Stop loss: 2061.226467857143 | Take profit: 2102.6972982142856 +2025-03-10 13:13:49,887 - INFO - CLOSED long at 2073.23 | PnL: 0.08% | $-0.04 +2025-03-10 13:13:49,905 - INFO - OPENED LONG at 2070.0 | Stop loss: 2059.634467857143 | Take profit: 2101.0732982142854 +2025-03-10 13:13:49,963 - INFO - CLOSED long at 2069.69 | PnL: -0.01% | $-0.21 +2025-03-10 13:13:49,965 - INFO - OPENED SHORT at 2069.69 | Stop loss: 2080.053982142857 | Take profit: 2038.6213517857145 +2025-03-10 13:13:50,009 - INFO - CLOSED short at 2067.44 | PnL: 0.11% | $0.02 +2025-03-10 13:13:50,009 - INFO - OPENED LONG at 2067.44 | Stop loss: 2057.0872678571427 | Take profit: 2098.4748982142855 +2025-03-10 13:13:50,171 - INFO - CLOSED long at 2065.66 | PnL: -0.09% | $-0.34 +2025-03-10 13:13:50,199 - INFO - OPENED LONG at 2063.95 | Stop loss: 2053.6147178571428 | Take profit: 2094.932548214286 +2025-03-10 13:13:50,505 - INFO - CLOSED long at 2070.2 | PnL: 0.30% | $0.37 +2025-03-10 13:13:50,505 - INFO - OPENED SHORT at 2070.2 | Stop loss: 2080.566532142857 | Take profit: 2039.123701785714 +2025-03-10 13:13:50,531 - INFO - CLOSED short at 2071.35 | PnL: -0.06% | $-0.28 +2025-03-10 13:13:50,531 - INFO - OPENED LONG at 2071.35 | Stop loss: 2060.9777178571426 | Take profit: 2102.443548214286 +2025-03-10 13:13:50,664 - INFO - CLOSED long at 2070.61 | PnL: -0.04% | $-0.24 +2025-03-10 13:13:50,694 - INFO - OPENED LONG at 2071.99 | Stop loss: 2061.614517857143 | Take profit: 2103.0931482142855 +2025-03-10 13:13:50,795 - INFO - CLOSED long at 2071.61 | PnL: -0.02% | $-0.21 +2025-03-10 13:13:50,795 - INFO - OPENED SHORT at 2071.61 | Stop loss: 2081.9835821428574 | Take profit: 2040.5125517857143 +2025-03-10 13:13:50,817 - INFO - CLOSED short at 2074.37 | PnL: -0.13% | $-0.42 +2025-03-10 13:13:50,877 - INFO - OPENED LONG at 2073.27 | Stop loss: 2062.888117857143 | Take profit: 2104.3923482142854 +2025-03-10 13:13:50,905 - INFO - CLOSED long at 2073.99 | PnL: 0.03% | $-0.12 +2025-03-10 13:13:50,929 - INFO - OPENED LONG at 2075.32 | Stop loss: 2064.927867857143 | Take profit: 2106.473098214286 +2025-03-10 13:13:50,984 - INFO - CLOSED long at 2075.61 | PnL: 0.01% | $-0.15 +2025-03-10 13:13:51,009 - INFO - OPENED LONG at 2074.0 | Stop loss: 2063.6144678571427 | Take profit: 2105.133298214286 +2025-03-10 13:13:51,097 - INFO - CLOSED long at 2067.9 | PnL: -0.29% | $-0.70 +2025-03-10 13:13:51,124 - INFO - OPENED LONG at 2066.4 | Stop loss: 2056.052467857143 | Take profit: 2097.4192982142854 +2025-03-10 13:13:51,145 - INFO - CLOSED long at 2066.89 | PnL: 0.02% | $-0.13 +2025-03-10 13:13:51,145 - INFO - OPENED SHORT at 2066.89 | Stop loss: 2077.239982142857 | Take profit: 2035.863351785714 +2025-03-10 13:13:51,173 - INFO - CLOSED short at 2067.88 | PnL: -0.05% | $-0.26 +2025-03-10 13:13:51,174 - INFO - OPENED LONG at 2067.88 | Stop loss: 2057.525067857143 | Take profit: 2098.9214982142857 +2025-03-10 13:13:51,232 - INFO - CLOSED long at 2068.1 | PnL: 0.01% | $-0.16 +2025-03-10 13:13:51,250 - INFO - OPENED LONG at 2069.0 | Stop loss: 2058.639467857143 | Take profit: 2100.058298214286 +2025-03-10 13:13:51,275 - INFO - CLOSED long at 2070.19 | PnL: 0.06% | $-0.07 +2025-03-10 13:13:51,275 - INFO - OPENED SHORT at 2070.19 | Stop loss: 2080.556482142857 | Take profit: 2039.1138517857144 +2025-03-10 13:13:51,298 - INFO - CLOSED short at 2070.1 | PnL: 0.00% | $-0.17 +2025-03-10 13:13:51,299 - INFO - OPENED LONG at 2070.1 | Stop loss: 2059.7339678571425 | Take profit: 2101.1747982142856 +2025-03-10 13:13:51,317 - INFO - CLOSED long at 2067.19 | PnL: -0.14% | $-0.42 +2025-03-10 13:13:51,317 - INFO - OPENED SHORT at 2067.19 | Stop loss: 2077.541482142857 | Take profit: 2036.1588517857142 +2025-03-10 13:13:51,342 - INFO - CLOSED short at 2065.5 | PnL: 0.08% | $-0.03 +2025-03-10 13:13:51,342 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.1569678571427 | Take profit: 2096.5057982142857 +2025-03-10 13:13:51,559 - INFO - CLOSED long at 2064.5 | PnL: -0.05% | $-0.26 +2025-03-10 13:13:51,584 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.982817857143 | Take profit: 2097.348248214286 +2025-03-10 13:13:51,741 - INFO - STOP LOSS hit for long at 2055.982817857143 | PnL: -0.50% | $-1.04 +2025-03-10 13:13:51,770 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.9484178571429 | Take profit: 2079.971448214286 +2025-03-10 13:13:51,789 - INFO - CLOSED long at 2049.5 | PnL: 0.01% | $-0.15 +2025-03-10 13:13:51,813 - INFO - OPENED LONG at 2051.99 | Stop loss: 2041.7145178571427 | Take profit: 2082.7931482142853 +2025-03-10 13:13:51,831 - INFO - CLOSED long at 2058.3 | PnL: 0.31% | $0.36 +2025-03-10 13:13:51,831 - INFO - OPENED SHORT at 2058.3 | Stop loss: 2068.6070321428574 | Take profit: 2027.4022017857146 +2025-03-10 13:13:51,859 - INFO - CLOSED short at 2056.85 | PnL: 0.07% | $-0.05 +2025-03-10 13:13:51,859 - INFO - OPENED LONG at 2056.85 | Stop loss: 2046.5502178571428 | Take profit: 2087.7260482142856 +2025-03-10 13:13:51,995 - INFO - CLOSED long at 2062.55 | PnL: 0.28% | $0.30 +2025-03-10 13:13:52,023 - INFO - OPENED LONG at 2065.12 | Stop loss: 2054.778867857143 | Take profit: 2096.120098214286 +2025-03-10 13:13:52,052 - INFO - CLOSED long at 2068.33 | PnL: 0.16% | $0.10 +2025-03-10 13:13:52,110 - INFO - OPENED LONG at 2066.59 | Stop loss: 2056.241517857143 | Take profit: 2097.612148214286 +2025-03-10 13:13:52,427 - INFO - CLOSED long at 2074.05 | PnL: 0.36% | $0.45 +2025-03-10 13:13:52,466 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6095178571427 | Take profit: 2104.1081482142854 +2025-03-10 13:13:52,659 - INFO - CLOSED long at 2090.49 | PnL: 0.84% | $1.29 +2025-03-10 13:13:52,683 - INFO - OPENED LONG at 2103.02 | Stop loss: 2092.489367857143 | Take profit: 2134.5885982142854 +2025-03-10 13:13:52,728 - INFO - TAKE PROFIT hit for long at 2134.5885982142854 | PnL: 1.50% | $2.47 +2025-03-10 13:13:52,749 - INFO - OPENED LONG at 2131.78 | Stop loss: 2121.105567857143 | Take profit: 2163.7799982142856 +2025-03-10 13:13:52,868 - INFO - CLOSED long at 2142.68 | PnL: 0.51% | $0.75 +2025-03-10 13:13:52,907 - INFO - OPENED LONG at 2140.01 | Stop loss: 2129.294417857143 | Take profit: 2172.133448214286 +2025-03-10 13:13:52,936 - INFO - CLOSED long at 2134.78 | PnL: -0.24% | $-0.63 +2025-03-10 13:13:52,974 - INFO - OPENED LONG at 2126.99 | Stop loss: 2116.3395178571427 | Take profit: 2158.9181482142853 +2025-03-10 13:13:53,045 - INFO - CLOSED long at 2121.09 | PnL: -0.28% | $-0.68 +2025-03-10 13:13:53,045 - INFO - OPENED SHORT at 2121.09 | Stop loss: 2131.710982142857 | Take profit: 2089.2503517857144 +2025-03-10 13:13:53,067 - INFO - CLOSED short at 2120.15 | PnL: 0.04% | $-0.10 +2025-03-10 13:13:53,068 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.533717857143 | Take profit: 2151.9755482142855 +2025-03-10 13:13:53,162 - INFO - CLOSED long at 2119.14 | PnL: -0.05% | $-0.27 +2025-03-10 13:13:53,162 - INFO - OPENED SHORT at 2119.14 | Stop loss: 2129.751232142857 | Take profit: 2087.329601785714 +2025-03-10 13:13:53,191 - INFO - CLOSED short at 2119.07 | PnL: 0.00% | $-0.17 +2025-03-10 13:13:53,192 - INFO - OPENED LONG at 2119.07 | Stop loss: 2108.459117857143 | Take profit: 2150.8793482142855 +2025-03-10 13:13:53,249 - INFO - STOP LOSS hit for long at 2108.459117857143 | PnL: -0.50% | $-1.08 +2025-03-10 13:13:53,301 - INFO - OPENED LONG at 2109.05 | Stop loss: 2098.489217857143 | Take profit: 2140.709048214286 +2025-03-10 13:13:53,400 - INFO - CLOSED long at 2112.46 | PnL: 0.16% | $0.11 +2025-03-10 13:13:53,422 - INFO - OPENED LONG at 2113.24 | Stop loss: 2102.6582678571426 | Take profit: 2144.961898214285 +2025-03-10 13:13:53,504 - INFO - CLOSED long at 2110.9 | PnL: -0.11% | $-0.37 +2025-03-10 13:13:53,504 - INFO - OPENED SHORT at 2110.9 | Stop loss: 2121.4700321428572 | Take profit: 2079.2132017857143 +2025-03-10 13:13:53,550 - INFO - CLOSED short at 2106.49 | PnL: 0.21% | $0.19 +2025-03-10 13:13:53,550 - INFO - OPENED LONG at 2106.49 | Stop loss: 2095.9420178571427 | Take profit: 2138.1106482142854 +2025-03-10 13:13:53,634 - INFO - STOP LOSS hit for long at 2095.9420178571427 | PnL: -0.50% | $-1.06 +2025-03-10 13:13:53,693 - INFO - OPENED LONG at 2098.1 | Stop loss: 2087.5939678571426 | Take profit: 2129.5947982142857 +2025-03-10 13:13:53,854 - INFO - CLOSED long at 2106.39 | PnL: 0.40% | $0.52 +2025-03-10 13:13:53,892 - INFO - OPENED LONG at 2103.86 | Stop loss: 2093.3251678571432 | Take profit: 2135.4411982142856 +2025-03-10 13:13:54,110 - INFO - STOP LOSS hit for long at 2093.3251678571432 | PnL: -0.50% | $-1.05 +2025-03-10 13:13:54,142 - INFO - OPENED LONG at 2091.1 | Stop loss: 2080.628967857143 | Take profit: 2122.4897982142857 +2025-03-10 13:13:54,245 - INFO - CLOSED long at 2083.28 | PnL: -0.37% | $-0.82 +2025-03-10 13:13:54,269 - INFO - OPENED LONG at 2088.44 | Stop loss: 2077.9822678571427 | Take profit: 2119.789898214286 +2025-03-10 13:13:54,411 - INFO - CLOSED long at 2083.41 | PnL: -0.24% | $-0.59 +2025-03-10 13:13:54,411 - INFO - OPENED SHORT at 2083.41 | Stop loss: 2093.8425821428573 | Take profit: 2052.135551785714 +2025-03-10 13:13:54,469 - INFO - CLOSED short at 2083.59 | PnL: -0.01% | $-0.19 +2025-03-10 13:13:54,469 - INFO - OPENED LONG at 2083.59 | Stop loss: 2073.1565178571427 | Take profit: 2114.867148214286 +2025-03-10 13:13:54,643 - INFO - CLOSED long at 2088.66 | PnL: 0.24% | $0.24 +2025-03-10 13:13:54,667 - INFO - OPENED LONG at 2088.32 | Stop loss: 2077.862867857143 | Take profit: 2119.6680982142857 +2025-03-10 13:13:54,756 - INFO - CLOSED long at 2087.78 | PnL: -0.03% | $-0.21 +2025-03-10 13:13:54,786 - INFO - OPENED LONG at 2086.81 | Stop loss: 2076.3604178571427 | Take profit: 2118.1354482142856 +2025-03-10 13:13:54,984 - INFO - CLOSED long at 2094.7 | PnL: 0.38% | $0.47 +2025-03-10 13:13:55,018 - INFO - OPENED LONG at 2097.8 | Stop loss: 2087.295467857143 | Take profit: 2129.290298214286 +2025-03-10 13:13:55,190 - INFO - CLOSED long at 2103.48 | PnL: 0.27% | $0.29 +2025-03-10 13:13:55,190 - INFO - OPENED SHORT at 2103.48 | Stop loss: 2114.012932142857 | Take profit: 2071.9045017857143 +2025-03-10 13:13:55,213 - INFO - CLOSED short at 2104.93 | PnL: -0.07% | $-0.29 +2025-03-10 13:13:55,213 - INFO - OPENED LONG at 2104.93 | Stop loss: 2094.3898178571426 | Take profit: 2136.527248214286 +2025-03-10 13:13:55,241 - INFO - CLOSED long at 2103.81 | PnL: -0.05% | $-0.26 +2025-03-10 13:13:55,241 - INFO - OPENED SHORT at 2103.81 | Stop loss: 2114.3445821428572 | Take profit: 2072.229551785714 +2025-03-10 13:13:55,276 - INFO - CLOSED short at 2103.07 | PnL: 0.04% | $-0.11 +2025-03-10 13:13:55,276 - INFO - OPENED LONG at 2103.07 | Stop loss: 2092.539117857143 | Take profit: 2134.639348214286 +2025-03-10 13:13:55,412 - INFO - CLOSED long at 2103.52 | PnL: 0.02% | $-0.13 +2025-03-10 13:13:55,442 - INFO - OPENED LONG at 2104.4 | Stop loss: 2093.862467857143 | Take profit: 2135.989298214286 +2025-03-10 13:13:55,464 - INFO - Trade Analysis: Win Rate=9.1% in uptrends, 0.0% in downtrends | Avg Win=$0.36, Avg Loss=$-0.31 +2025-03-10 13:13:55,464 - INFO - Episode 11: Reward=90.04, Balance=$85.79, Win Rate=26.2%, Trades=107, Episode PnL=$-9.73, Total PnL=$-259.30, Max Drawdown=14.3%, Pred Accuracy=99.8% +2025-03-10 13:13:55,465 - ERROR - Error in episode 11: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:13:55,466 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1812, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:13:55,488 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:13:55,750 - INFO - OPENED LONG at 2047.2 | Stop loss: 2036.9484678571428 | Take profit: 2077.931298214286 +2025-03-10 13:13:55,802 - INFO - CLOSED long at 2045.99 | PnL: -0.06% | $-0.32 +2025-03-10 13:13:55,824 - INFO - OPENED LONG at 2045.79 | Stop loss: 2035.5455178571428 | Take profit: 2076.5001482142857 +2025-03-10 13:13:56,236 - INFO - CLOSED long at 2063.29 | PnL: 0.86% | $1.49 +2025-03-10 13:13:56,275 - INFO - OPENED LONG at 2063.59 | Stop loss: 2053.256517857143 | Take profit: 2094.567148214286 +2025-03-10 13:13:56,393 - INFO - CLOSED long at 2060.0 | PnL: -0.17% | $-0.55 +2025-03-10 13:13:56,393 - INFO - OPENED SHORT at 2060.0 | Stop loss: 2070.315532142857 | Take profit: 2029.0767017857142 +2025-03-10 13:13:56,418 - INFO - CLOSED short at 2061.89 | PnL: -0.09% | $-0.38 +2025-03-10 13:13:56,418 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.5650178571427 | Take profit: 2092.841648214285 +2025-03-10 13:13:56,542 - INFO - CLOSED long at 2057.8 | PnL: -0.20% | $-0.59 +2025-03-10 13:13:56,542 - INFO - OPENED SHORT at 2057.8 | Stop loss: 2068.1045321428574 | Take profit: 2026.9097017857146 +2025-03-10 13:13:56,578 - INFO - CLOSED short at 2057.89 | PnL: -0.00% | $-0.21 +2025-03-10 13:13:56,578 - INFO - OPENED LONG at 2057.89 | Stop loss: 2047.5850178571427 | Take profit: 2088.7816482142853 +2025-03-10 13:13:56,634 - INFO - CLOSED long at 2058.11 | PnL: 0.01% | $-0.18 +2025-03-10 13:13:56,635 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.4160821428572 | Take profit: 2027.2150517857144 +2025-03-10 13:13:56,655 - INFO - CLOSED short at 2061.79 | PnL: -0.18% | $-0.55 +2025-03-10 13:13:56,656 - INFO - OPENED LONG at 2061.79 | Stop loss: 2051.465517857143 | Take profit: 2092.740148214286 +2025-03-10 13:13:56,675 - INFO - CLOSED long at 2061.18 | PnL: -0.03% | $-0.25 +2025-03-10 13:13:56,713 - INFO - OPENED LONG at 2065.86 | Stop loss: 2055.515167857143 | Take profit: 2096.871198214286 +2025-03-10 13:13:56,752 - INFO - CLOSED long at 2068.11 | PnL: 0.11% | $0.02 +2025-03-10 13:13:56,774 - INFO - OPENED LONG at 2068.29 | Stop loss: 2057.9330178571427 | Take profit: 2099.3376482142858 +2025-03-10 13:13:56,997 - INFO - CLOSED long at 2067.69 | PnL: -0.03% | $-0.25 +2025-03-10 13:13:57,017 - INFO - OPENED LONG at 2070.26 | Stop loss: 2059.893167857143 | Take profit: 2101.3371982142858 +2025-03-10 13:13:57,358 - INFO - CLOSED long at 2070.36 | PnL: 0.00% | $-0.19 +2025-03-10 13:13:57,394 - INFO - OPENED LONG at 2068.9 | Stop loss: 2058.539967857143 | Take profit: 2099.956798214286 +2025-03-10 13:13:57,509 - INFO - CLOSED long at 2067.51 | PnL: -0.07% | $-0.33 +2025-03-10 13:13:57,528 - INFO - OPENED LONG at 2069.01 | Stop loss: 2058.6494178571434 | Take profit: 2100.068448214286 +2025-03-10 13:13:57,589 - INFO - CLOSED long at 2066.19 | PnL: -0.14% | $-0.46 +2025-03-10 13:13:57,590 - INFO - OPENED SHORT at 2066.19 | Stop loss: 2076.536482142857 | Take profit: 2035.1738517857143 +2025-03-10 13:13:57,609 - INFO - CLOSED short at 2066.29 | PnL: -0.00% | $-0.20 +2025-03-10 13:13:57,609 - INFO - OPENED LONG at 2066.29 | Stop loss: 2055.943017857143 | Take profit: 2097.3076482142856 +2025-03-10 13:13:57,628 - INFO - CLOSED long at 2065.08 | PnL: -0.06% | $-0.31 +2025-03-10 13:13:57,628 - INFO - OPENED SHORT at 2065.08 | Stop loss: 2075.420932142857 | Take profit: 2034.0805017857142 +2025-03-10 13:13:57,660 - INFO - CLOSED short at 2066.18 | PnL: -0.05% | $-0.29 +2025-03-10 13:13:57,660 - INFO - OPENED LONG at 2066.18 | Stop loss: 2055.8335678571425 | Take profit: 2097.1959982142853 +2025-03-10 13:13:57,725 - INFO - CLOSED long at 2068.9 | PnL: 0.13% | $0.06 +2025-03-10 13:13:57,759 - INFO - OPENED LONG at 2068.51 | Stop loss: 2058.151917857143 | Take profit: 2099.560948214286 +2025-03-10 13:13:57,929 - INFO - CLOSED long at 2072.75 | PnL: 0.20% | $0.20 +2025-03-10 13:13:57,950 - INFO - OPENED LONG at 2073.11 | Stop loss: 2062.728917857143 | Take profit: 2104.2299482142857 +2025-03-10 13:13:58,371 - INFO - CLOSED long at 2068.58 | PnL: -0.22% | $-0.61 +2025-03-10 13:13:58,391 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.440467857143 | Take profit: 2099.855298214286 +2025-03-10 13:13:58,409 - INFO - CLOSED long at 2069.34 | PnL: 0.03% | $-0.14 +2025-03-10 13:13:58,478 - INFO - OPENED LONG at 2069.2 | Stop loss: 2058.8384678571424 | Take profit: 2100.2612982142855 +2025-03-10 13:13:58,607 - INFO - CLOSED long at 2070.4 | PnL: 0.06% | $-0.08 +2025-03-10 13:13:58,629 - INFO - OPENED LONG at 2070.73 | Stop loss: 2060.360817857143 | Take profit: 2101.8142482142857 +2025-03-10 13:13:58,648 - INFO - CLOSED long at 2068.5 | PnL: -0.11% | $-0.40 +2025-03-10 13:13:58,666 - INFO - OPENED LONG at 2068.69 | Stop loss: 2058.331017857143 | Take profit: 2099.7436482142857 +2025-03-10 13:13:58,731 - INFO - CLOSED long at 2067.86 | PnL: -0.04% | $-0.27 +2025-03-10 13:13:58,732 - INFO - OPENED SHORT at 2067.86 | Stop loss: 2078.2148321428576 | Take profit: 2036.8188017857144 +2025-03-10 13:13:58,752 - INFO - CLOSED short at 2066.4 | PnL: 0.07% | $-0.06 +2025-03-10 13:13:58,775 - INFO - OPENED LONG at 2066.1 | Stop loss: 2055.753967857143 | Take profit: 2097.1147982142857 +2025-03-10 13:13:58,834 - INFO - CLOSED long at 2064.47 | PnL: -0.08% | $-0.34 +2025-03-10 13:13:58,876 - INFO - OPENED LONG at 2070.04 | Stop loss: 2059.6742678571427 | Take profit: 2101.113898214286 +2025-03-10 13:13:58,911 - INFO - CLOSED long at 2067.8 | PnL: -0.11% | $-0.39 +2025-03-10 13:13:58,941 - INFO - OPENED LONG at 2068.18 | Stop loss: 2057.8235678571427 | Take profit: 2099.2259982142855 +2025-03-10 13:13:58,993 - INFO - CLOSED long at 2067.88 | PnL: -0.01% | $-0.21 +2025-03-10 13:13:59,025 - INFO - OPENED LONG at 2064.99 | Stop loss: 2054.6495178571427 | Take profit: 2095.9881482142855 +2025-03-10 13:13:59,075 - INFO - CLOSED long at 2065.26 | PnL: 0.01% | $-0.16 +2025-03-10 13:13:59,108 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.5600178571426 | Take profit: 2093.8566482142855 +2025-03-10 13:13:59,126 - INFO - CLOSED long at 2062.65 | PnL: -0.01% | $-0.21 +2025-03-10 13:13:59,150 - INFO - OPENED LONG at 2061.78 | Stop loss: 2051.4555678571433 | Take profit: 2092.729998214286 +2025-03-10 13:13:59,194 - INFO - CLOSED long at 2061.3 | PnL: -0.02% | $-0.23 +2025-03-10 13:13:59,195 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.6220321428573 | Take profit: 2030.3572017857146 +2025-03-10 13:13:59,208 - INFO - CLOSED short at 2063.59 | PnL: -0.11% | $-0.39 +2025-03-10 13:13:59,208 - INFO - OPENED LONG at 2063.59 | Stop loss: 2053.256517857143 | Take profit: 2094.567148214286 +2025-03-10 13:13:59,246 - INFO - CLOSED long at 2064.96 | PnL: 0.07% | $-0.06 +2025-03-10 13:13:59,246 - INFO - OPENED SHORT at 2064.96 | Stop loss: 2075.3003321428573 | Take profit: 2033.9623017857143 +2025-03-10 13:13:59,283 - INFO - CLOSED short at 2066.24 | PnL: -0.06% | $-0.30 +2025-03-10 13:13:59,283 - INFO - OPENED LONG at 2066.24 | Stop loss: 2055.8932678571427 | Take profit: 2097.2568982142857 +2025-03-10 13:13:59,312 - INFO - CLOSED long at 2067.1 | PnL: 0.04% | $-0.11 +2025-03-10 13:13:59,348 - INFO - OPENED LONG at 2065.54 | Stop loss: 2055.1967678571427 | Take profit: 2096.5463982142855 +2025-03-10 13:13:59,468 - INFO - CLOSED long at 2062.89 | PnL: -0.13% | $-0.42 +2025-03-10 13:13:59,506 - INFO - OPENED LONG at 2063.5 | Stop loss: 2053.166967857143 | Take profit: 2094.4757982142855 +2025-03-10 13:13:59,799 - INFO - CLOSED long at 2061.13 | PnL: -0.11% | $-0.39 +2025-03-10 13:13:59,829 - INFO - OPENED LONG at 2061.9 | Stop loss: 2051.574967857143 | Take profit: 2092.8517982142857 +2025-03-10 13:13:59,991 - INFO - CLOSED long at 2063.0 | PnL: 0.05% | $-0.09 +2025-03-10 13:14:00,013 - INFO - OPENED LONG at 2062.6 | Stop loss: 2052.271467857143 | Take profit: 2093.5622982142854 +2025-03-10 13:14:00,156 - INFO - CLOSED long at 2059.61 | PnL: -0.14% | $-0.45 +2025-03-10 13:14:00,156 - INFO - OPENED SHORT at 2059.61 | Stop loss: 2069.9235821428574 | Take profit: 2028.6925517857144 +2025-03-10 13:14:00,210 - INFO - CLOSED short at 2059.02 | PnL: 0.03% | $-0.13 +2025-03-10 13:14:00,216 - INFO - OPENED LONG at 2059.02 | Stop loss: 2048.7093678571428 | Take profit: 2089.9285982142856 +2025-03-10 13:14:00,449 - INFO - CLOSED long at 2059.8 | PnL: 0.04% | $-0.11 +2025-03-10 13:14:00,449 - INFO - OPENED SHORT at 2059.8 | Stop loss: 2070.114532142857 | Take profit: 2028.8797017857144 +2025-03-10 13:14:00,487 - INFO - CLOSED short at 2061.66 | PnL: -0.09% | $-0.34 +2025-03-10 13:14:00,520 - INFO - OPENED LONG at 2061.5 | Stop loss: 2051.1769678571427 | Take profit: 2092.445798214286 +2025-03-10 13:14:00,574 - INFO - CLOSED long at 2061.3 | PnL: -0.01% | $-0.20 +2025-03-10 13:14:00,609 - INFO - OPENED LONG at 2062.69 | Stop loss: 2052.361017857143 | Take profit: 2093.6536482142856 +2025-03-10 13:14:00,805 - INFO - CLOSED long at 2067.01 | PnL: 0.21% | $0.20 +2025-03-10 13:14:00,855 - INFO - OPENED LONG at 2069.79 | Stop loss: 2059.425517857143 | Take profit: 2100.860148214286 +2025-03-10 13:14:01,201 - INFO - CLOSED long at 2067.44 | PnL: -0.11% | $-0.39 +2025-03-10 13:14:01,202 - INFO - OPENED SHORT at 2067.44 | Stop loss: 2077.7927321428574 | Take profit: 2036.4051017857144 +2025-03-10 13:14:01,226 - INFO - CLOSED short at 2068.79 | PnL: -0.07% | $-0.30 +2025-03-10 13:14:01,228 - INFO - OPENED LONG at 2068.79 | Stop loss: 2058.430517857143 | Take profit: 2099.8451482142855 +2025-03-10 13:14:01,255 - INFO - CLOSED long at 2072.99 | PnL: 0.20% | $0.18 +2025-03-10 13:14:01,369 - INFO - OPENED LONG at 2066.38 | Stop loss: 2056.032567857143 | Take profit: 2097.3989982142857 +2025-03-10 13:14:01,717 - INFO - CLOSED long at 2068.59 | PnL: 0.11% | $0.01 +2025-03-10 13:14:01,753 - INFO - OPENED LONG at 2071.59 | Stop loss: 2061.216517857143 | Take profit: 2102.687148214286 +2025-03-10 13:14:01,879 - INFO - CLOSED long at 2070.8 | PnL: -0.04% | $-0.25 +2025-03-10 13:14:01,879 - INFO - OPENED SHORT at 2070.8 | Stop loss: 2081.1695321428574 | Take profit: 2039.7147017857146 +2025-03-10 13:14:01,909 - INFO - CLOSED short at 2070.35 | PnL: 0.02% | $-0.14 +2025-03-10 13:14:01,910 - INFO - OPENED LONG at 2070.35 | Stop loss: 2059.9827178571427 | Take profit: 2101.4285482142855 +2025-03-10 13:14:02,005 - INFO - CLOSED long at 2070.67 | PnL: 0.02% | $-0.15 +2025-03-10 13:14:02,005 - INFO - OPENED SHORT at 2070.67 | Stop loss: 2081.0388821428573 | Take profit: 2039.5866517857144 +2025-03-10 13:14:02,033 - INFO - CLOSED short at 2069.78 | PnL: 0.04% | $-0.10 +2025-03-10 13:14:02,034 - INFO - OPENED LONG at 2069.78 | Stop loss: 2059.415567857143 | Take profit: 2100.8499982142857 +2025-03-10 13:14:02,199 - INFO - CLOSED long at 2073.99 | PnL: 0.20% | $0.18 +2025-03-10 13:14:02,209 - INFO - OPENED SHORT at 2073.99 | Stop loss: 2084.375482142857 | Take profit: 2042.856851785714 +2025-03-10 13:14:02,226 - INFO - CLOSED short at 2075.32 | PnL: -0.06% | $-0.29 +2025-03-10 13:14:02,226 - INFO - OPENED LONG at 2075.32 | Stop loss: 2064.927867857143 | Take profit: 2106.473098214286 +2025-03-10 13:14:02,395 - INFO - CLOSED long at 2067.9 | PnL: -0.36% | $-0.81 +2025-03-10 13:14:02,395 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.255032142857 | Take profit: 2036.8582017857143 +2025-03-10 13:14:02,417 - INFO - CLOSED short at 2066.4 | PnL: 0.07% | $-0.05 +2025-03-10 13:14:02,418 - INFO - OPENED LONG at 2066.4 | Stop loss: 2056.052467857143 | Take profit: 2097.4192982142854 +2025-03-10 13:14:02,495 - INFO - CLOSED long at 2065.45 | PnL: -0.05% | $-0.26 +2025-03-10 13:14:02,495 - INFO - OPENED SHORT at 2065.45 | Stop loss: 2075.792782142857 | Take profit: 2034.4449517857142 +2025-03-10 13:14:02,529 - INFO - CLOSED short at 2068.1 | PnL: -0.13% | $-0.40 +2025-03-10 13:14:02,529 - INFO - OPENED LONG at 2068.1 | Stop loss: 2057.7439678571427 | Take profit: 2099.1447982142854 +2025-03-10 13:14:02,590 - INFO - CLOSED long at 2070.19 | PnL: 0.10% | $0.00 +2025-03-10 13:14:02,616 - INFO - OPENED LONG at 2070.1 | Stop loss: 2059.7339678571425 | Take profit: 2101.1747982142856 +2025-03-10 13:14:02,708 - INFO - CLOSED long at 2065.07 | PnL: -0.24% | $-0.60 +2025-03-10 13:14:02,738 - INFO - OPENED LONG at 2066.09 | Stop loss: 2055.744017857143 | Take profit: 2097.1046482142856 +2025-03-10 13:14:02,851 - INFO - CLOSED long at 2064.11 | PnL: -0.10% | $-0.34 +2025-03-10 13:14:02,851 - INFO - OPENED SHORT at 2064.11 | Stop loss: 2074.4460821428574 | Take profit: 2033.1250517857143 +2025-03-10 13:14:02,887 - INFO - CLOSED short at 2064.5 | PnL: -0.02% | $-0.21 +2025-03-10 13:14:02,888 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.161967857143 | Take profit: 2095.490798214286 +2025-03-10 13:14:03,108 - INFO - CLOSED long at 2053.01 | PnL: -0.56% | $-1.13 +2025-03-10 13:14:03,146 - INFO - OPENED SHORT at 2049.5 | Stop loss: 2059.7630321428574 | Take profit: 2018.7342017857143 +2025-03-10 13:14:03,168 - INFO - CLOSED short at 2051.99 | PnL: -0.12% | $-0.38 +2025-03-10 13:14:03,168 - INFO - OPENED LONG at 2051.99 | Stop loss: 2041.7145178571427 | Take profit: 2082.7931482142853 +2025-03-10 13:14:03,205 - INFO - CLOSED long at 2056.85 | PnL: 0.24% | $0.23 +2025-03-10 13:14:03,228 - INFO - OPENED LONG at 2057.11 | Stop loss: 2046.808917857143 | Take profit: 2087.989948214286 +2025-03-10 13:14:03,480 - INFO - CLOSED long at 2066.59 | PnL: 0.46% | $0.61 +2025-03-10 13:14:03,512 - INFO - OPENED LONG at 2064.08 | Stop loss: 2053.744067857143 | Take profit: 2095.0644982142853 +2025-03-10 13:14:03,572 - INFO - CLOSED long at 2060.7 | PnL: -0.16% | $-0.45 +2025-03-10 13:14:03,572 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.019032142857 | Take profit: 2029.7662017857142 +2025-03-10 13:14:03,591 - INFO - CLOSED short at 2061.84 | PnL: -0.06% | $-0.26 +2025-03-10 13:14:03,608 - INFO - OPENED SHORT at 2062.54 | Stop loss: 2072.868232142857 | Take profit: 2031.5786017857142 +2025-03-10 13:14:03,643 - INFO - CLOSED short at 2065.72 | PnL: -0.15% | $-0.43 +2025-03-10 13:14:03,643 - INFO - OPENED LONG at 2065.72 | Stop loss: 2055.3758678571426 | Take profit: 2096.729098214286 +2025-03-10 13:14:03,710 - INFO - CLOSED long at 2070.24 | PnL: 0.22% | $0.20 +2025-03-10 13:14:03,710 - INFO - OPENED SHORT at 2070.24 | Stop loss: 2080.606732142857 | Take profit: 2039.1631017857142 +2025-03-10 13:14:03,797 - INFO - CLOSED short at 2070.41 | PnL: -0.01% | $-0.18 +2025-03-10 13:14:03,799 - INFO - OPENED LONG at 2070.41 | Stop loss: 2060.042417857143 | Take profit: 2101.489448214286 +2025-03-10 13:14:03,868 - INFO - CLOSED long at 2071.89 | PnL: 0.07% | $-0.05 +2025-03-10 13:14:03,879 - INFO - OPENED SHORT at 2071.89 | Stop loss: 2082.2649821428568 | Take profit: 2040.7883517857142 +2025-03-10 13:14:03,904 - INFO - CLOSED short at 2071.8 | PnL: 0.00% | $-0.16 +2025-03-10 13:14:03,904 - INFO - OPENED LONG at 2071.8 | Stop loss: 2061.4254678571433 | Take profit: 2102.9002982142856 +2025-03-10 13:14:03,987 - INFO - CLOSED long at 2085.56 | PnL: 0.66% | $0.95 +2025-03-10 13:14:04,011 - INFO - OPENED LONG at 2090.49 | Stop loss: 2080.0220178571426 | Take profit: 2121.8706482142857 +2025-03-10 13:14:04,072 - INFO - TAKE PROFIT hit for long at 2121.8706482142857 | PnL: 1.50% | $2.39 +2025-03-10 13:14:04,105 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.826767857143 | Take profit: 2171.6563982142857 +2025-03-10 13:14:04,308 - INFO - STOP LOSS hit for long at 2128.826767857143 | PnL: -0.50% | $-1.05 +2025-03-10 13:14:04,325 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.647967857143 | Take profit: 2159.2327982142856 +2025-03-10 13:14:04,562 - INFO - STOP LOSS hit for long at 2116.647967857143 | PnL: -0.50% | $-1.04 +2025-03-10 13:14:04,601 - INFO - OPENED LONG at 2107.43 | Stop loss: 2096.8773178571428 | Take profit: 2139.0647482142854 +2025-03-10 13:14:04,782 - INFO - CLOSED long at 2114.8 | PnL: 0.35% | $0.43 +2025-03-10 13:14:04,808 - INFO - OPENED LONG at 2110.9 | Stop loss: 2100.329967857143 | Take profit: 2142.586798214286 +2025-03-10 13:14:04,963 - INFO - STOP LOSS hit for long at 2100.329967857143 | PnL: -0.50% | $-1.03 +2025-03-10 13:14:05,001 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.016817857143 | Take profit: 2131.046248214286 +2025-03-10 13:14:05,019 - INFO - CLOSED long at 2098.1 | PnL: -0.07% | $-0.29 +2025-03-10 13:14:05,019 - INFO - OPENED SHORT at 2098.1 | Stop loss: 2108.606032142857 | Take profit: 2066.605201785714 +2025-03-10 13:14:05,040 - INFO - CLOSED short at 2102.19 | PnL: -0.19% | $-0.50 +2025-03-10 13:14:05,042 - INFO - OPENED LONG at 2102.19 | Stop loss: 2091.663517857143 | Take profit: 2133.7461482142858 +2025-03-10 13:14:05,101 - INFO - CLOSED long at 2098.9 | PnL: -0.16% | $-0.43 +2025-03-10 13:14:05,102 - INFO - OPENED SHORT at 2098.9 | Stop loss: 2109.4100321428573 | Take profit: 2067.3932017857146 +2025-03-10 13:14:05,128 - INFO - CLOSED short at 2100.69 | PnL: -0.09% | $-0.31 +2025-03-10 13:14:05,128 - INFO - OPENED LONG at 2100.69 | Stop loss: 2090.171017857143 | Take profit: 2132.2236482142857 +2025-03-10 13:14:05,292 - INFO - CLOSED long at 2099.59 | PnL: -0.05% | $-0.25 +2025-03-10 13:14:05,355 - INFO - OPENED LONG at 2098.39 | Stop loss: 2087.882517857143 | Take profit: 2129.889148214286 +2025-03-10 13:14:05,384 - INFO - CLOSED long at 2095.29 | PnL: -0.15% | $-0.41 +2025-03-10 13:14:05,384 - INFO - OPENED SHORT at 2095.29 | Stop loss: 2105.7819821428575 | Take profit: 2063.8373517857144 +2025-03-10 13:14:05,414 - INFO - CLOSED short at 2093.46 | PnL: 0.09% | $-0.02 +2025-03-10 13:14:05,414 - INFO - OPENED LONG at 2093.46 | Stop loss: 2082.977167857143 | Take profit: 2124.8851982142855 +2025-03-10 13:14:05,432 - INFO - CLOSED long at 2093.33 | PnL: -0.01% | $-0.18 +2025-03-10 13:14:05,454 - INFO - OPENED LONG at 2092.46 | Stop loss: 2081.982167857143 | Take profit: 2123.8701982142857 +2025-03-10 13:14:05,475 - INFO - CLOSED long at 2091.1 | PnL: -0.06% | $-0.27 +2025-03-10 13:14:05,476 - INFO - OPENED SHORT at 2091.1 | Stop loss: 2101.5710321428573 | Take profit: 2059.710201785714 +2025-03-10 13:14:05,500 - INFO - CLOSED short at 2094.72 | PnL: -0.17% | $-0.45 +2025-03-10 13:14:05,500 - INFO - OPENED LONG at 2094.72 | Stop loss: 2084.2308678571426 | Take profit: 2126.1640982142853 +2025-03-10 13:14:05,565 - INFO - STOP LOSS hit for long at 2084.2308678571426 | PnL: -0.50% | $-0.98 +2025-03-10 13:14:05,584 - INFO - OPENED SHORT at 2088.44 | Stop loss: 2098.8977321428574 | Take profit: 2057.090101785714 +2025-03-10 13:14:05,625 - INFO - CLOSED short at 2085.3 | PnL: 0.15% | $0.08 +2025-03-10 13:14:05,626 - INFO - OPENED LONG at 2085.3 | Stop loss: 2074.857967857143 | Take profit: 2116.602798214286 +2025-03-10 13:14:05,657 - INFO - CLOSED long at 2082.44 | PnL: -0.14% | $-0.38 +2025-03-10 13:14:05,657 - INFO - OPENED SHORT at 2082.44 | Stop loss: 2092.867732142857 | Take profit: 2051.180101785714 +2025-03-10 13:14:05,692 - INFO - CLOSED short at 2081.49 | PnL: 0.05% | $-0.09 +2025-03-10 13:14:05,692 - INFO - OPENED LONG at 2081.49 | Stop loss: 2071.0670178571427 | Take profit: 2112.7356482142854 +2025-03-10 13:14:05,890 - INFO - CLOSED long at 2084.72 | PnL: 0.16% | $0.09 +2025-03-10 13:14:05,890 - INFO - OPENED SHORT at 2084.72 | Stop loss: 2095.1591321428573 | Take profit: 2053.4259017857144 +2025-03-10 13:14:05,911 - INFO - CLOSED short at 2085.83 | PnL: -0.05% | $-0.25 +2025-03-10 13:14:05,912 - INFO - OPENED LONG at 2085.83 | Stop loss: 2075.3853178571426 | Take profit: 2117.140748214286 +2025-03-10 13:14:05,973 - INFO - CLOSED long at 2088.32 | PnL: 0.12% | $0.03 +2025-03-10 13:14:05,973 - INFO - OPENED SHORT at 2088.32 | Stop loss: 2098.777132142857 | Take profit: 2056.971901785714 +2025-03-10 13:14:06,013 - INFO - CLOSED short at 2089.96 | PnL: -0.08% | $-0.29 +2025-03-10 13:14:06,013 - INFO - OPENED LONG at 2089.96 | Stop loss: 2079.494667857143 | Take profit: 2121.3326982142858 +2025-03-10 13:14:06,074 - INFO - CLOSED long at 2087.47 | PnL: -0.12% | $-0.35 +2025-03-10 13:14:06,074 - INFO - OPENED SHORT at 2087.47 | Stop loss: 2097.922882142857 | Take profit: 2056.134651785714 +2025-03-10 13:14:06,108 - INFO - CLOSED short at 2087.78 | PnL: -0.01% | $-0.18 +2025-03-10 13:14:06,109 - INFO - OPENED LONG at 2087.78 | Stop loss: 2077.325567857143 | Take profit: 2119.1199982142857 +2025-03-10 13:14:06,205 - INFO - CLOSED long at 2085.67 | PnL: -0.10% | $-0.32 +2025-03-10 13:14:06,205 - INFO - OPENED SHORT at 2085.67 | Stop loss: 2096.113882142857 | Take profit: 2054.3616517857145 +2025-03-10 13:14:06,235 - INFO - CLOSED short at 2089.2 | PnL: -0.17% | $-0.43 +2025-03-10 13:14:06,235 - INFO - OPENED LONG at 2089.2 | Stop loss: 2078.738467857143 | Take profit: 2120.5612982142857 +2025-03-10 13:14:06,258 - INFO - CLOSED long at 2091.05 | PnL: 0.09% | $-0.02 +2025-03-10 13:14:06,288 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.579217857143 | Take profit: 2122.4390482142862 +2025-03-10 13:14:06,308 - INFO - CLOSED long at 2091.95 | PnL: 0.04% | $-0.09 +2025-03-10 13:14:06,308 - INFO - OPENED SHORT at 2091.95 | Stop loss: 2102.425282142857 | Take profit: 2060.547451785714 +2025-03-10 13:14:06,338 - INFO - CLOSED short at 2094.7 | PnL: -0.13% | $-0.36 +2025-03-10 13:14:06,367 - INFO - OPENED LONG at 2097.8 | Stop loss: 2087.295467857143 | Take profit: 2129.290298214286 +2025-03-10 13:14:06,391 - INFO - CLOSED long at 2099.99 | PnL: 0.10% | $0.01 +2025-03-10 13:14:06,392 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.505482142857 | Take profit: 2068.466851785714 +2025-03-10 13:14:06,419 - INFO - CLOSED short at 2101.64 | PnL: -0.08% | $-0.28 +2025-03-10 13:14:06,419 - INFO - OPENED LONG at 2101.64 | Stop loss: 2091.1162678571427 | Take profit: 2133.1878982142857 +2025-03-10 13:14:06,709 - INFO - CLOSED long at 2103.07 | PnL: 0.07% | $-0.05 +2025-03-10 13:14:06,737 - INFO - OPENED LONG at 2101.5 | Stop loss: 2090.976967857143 | Take profit: 2133.0457982142857 +2025-03-10 13:14:06,757 - INFO - CLOSED long at 2105.83 | PnL: 0.21% | $0.17 +2025-03-10 13:14:06,806 - INFO - OPENED LONG at 2105.2 | Stop loss: 2094.6584678571426 | Take profit: 2136.8012982142855 +2025-03-10 13:14:06,897 - INFO - Trade Analysis: Win Rate=5.7% in uptrends, 0.0% in downtrends | Avg Win=$0.38, Avg Loss=$-0.33 +2025-03-10 13:14:06,897 - INFO - Episode 12: Reward=70.22, Balance=$78.76, Win Rate=18.5%, Trades=108, Episode PnL=$-13.31, Total PnL=$-280.54, Max Drawdown=22.3%, Pred Accuracy=99.9% +2025-03-10 13:14:06,897 - ERROR - Error in episode 12: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:14:06,900 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1812, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:14:06,923 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:14:07,350 - INFO - OPENED LONG at 2047.4 | Stop loss: 2037.147467857143 | Take profit: 2078.134298214286 +2025-03-10 13:14:07,369 - INFO - CLOSED long at 2047.2 | PnL: -0.01% | $-0.22 +2025-03-10 13:14:07,391 - INFO - OPENED LONG at 2045.99 | Stop loss: 2035.744517857143 | Take profit: 2076.703148214286 +2025-03-10 13:14:07,437 - INFO - CLOSED long at 2045.79 | PnL: -0.01% | $-0.22 +2025-03-10 13:14:07,459 - INFO - OPENED LONG at 2048.13 | Stop loss: 2037.873817857143 | Take profit: 2078.875248214286 +2025-03-10 13:14:07,560 - INFO - CLOSED long at 2049.89 | PnL: 0.09% | $-0.03 +2025-03-10 13:14:07,577 - INFO - OPENED LONG at 2051.11 | Stop loss: 2040.8389178571429 | Take profit: 2081.899948214286 +2025-03-10 13:14:07,649 - INFO - CLOSED long at 2052.3 | PnL: 0.06% | $-0.08 +2025-03-10 13:14:07,649 - INFO - OPENED SHORT at 2052.3 | Stop loss: 2062.577032142857 | Take profit: 2021.4922017857145 +2025-03-10 13:14:07,685 - INFO - CLOSED short at 2055.69 | PnL: -0.17% | $-0.52 +2025-03-10 13:14:07,685 - INFO - OPENED LONG at 2055.69 | Stop loss: 2045.396017857143 | Take profit: 2086.5486482142855 +2025-03-10 13:14:07,799 - INFO - CLOSED long at 2060.13 | PnL: 0.22% | $0.23 +2025-03-10 13:14:07,799 - INFO - OPENED SHORT at 2060.13 | Stop loss: 2070.446182142857 | Take profit: 2029.2047517857145 +2025-03-10 13:14:07,828 - INFO - CLOSED short at 2059.7 | PnL: 0.02% | $-0.16 +2025-03-10 13:14:07,828 - INFO - OPENED LONG at 2059.7 | Stop loss: 2049.3859678571425 | Take profit: 2090.6187982142856 +2025-03-10 13:14:07,845 - INFO - CLOSED long at 2061.49 | PnL: 0.09% | $-0.03 +2025-03-10 13:14:07,874 - INFO - OPENED LONG at 2063.29 | Stop loss: 2052.9580178571427 | Take profit: 2094.2626482142855 +2025-03-10 13:14:07,894 - INFO - CLOSED long at 2064.61 | PnL: 0.06% | $-0.07 +2025-03-10 13:14:07,914 - INFO - OPENED LONG at 2063.59 | Stop loss: 2053.256517857143 | Take profit: 2094.567148214286 +2025-03-10 13:14:08,058 - INFO - CLOSED long at 2060.0 | PnL: -0.17% | $-0.54 +2025-03-10 13:14:08,058 - INFO - OPENED SHORT at 2060.0 | Stop loss: 2070.315532142857 | Take profit: 2029.0767017857142 +2025-03-10 13:14:08,088 - INFO - CLOSED short at 2061.89 | PnL: -0.09% | $-0.37 +2025-03-10 13:14:08,088 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.5650178571427 | Take profit: 2092.841648214285 +2025-03-10 13:14:08,219 - INFO - CLOSED long at 2057.8 | PnL: -0.20% | $-0.58 +2025-03-10 13:14:08,219 - INFO - OPENED SHORT at 2057.8 | Stop loss: 2068.1045321428574 | Take profit: 2026.9097017857146 +2025-03-10 13:14:08,276 - INFO - CLOSED short at 2058.11 | PnL: -0.02% | $-0.22 +2025-03-10 13:14:08,276 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.803917857143 | Take profit: 2089.004948214286 +2025-03-10 13:14:08,363 - INFO - CLOSED long at 2065.86 | PnL: 0.38% | $0.53 +2025-03-10 13:14:08,383 - INFO - OPENED SHORT at 2070.58 | Stop loss: 2080.948432142857 | Take profit: 2039.4980017857142 +2025-03-10 13:14:08,407 - INFO - CLOSED short at 2068.11 | PnL: 0.12% | $0.04 +2025-03-10 13:14:08,407 - INFO - OPENED LONG at 2068.11 | Stop loss: 2057.753917857143 | Take profit: 2099.154948214286 +2025-03-10 13:14:08,432 - INFO - CLOSED long at 2068.29 | PnL: 0.01% | $-0.18 +2025-03-10 13:14:08,432 - INFO - OPENED SHORT at 2068.29 | Stop loss: 2078.646982142857 | Take profit: 2037.2423517857142 +2025-03-10 13:14:08,469 - INFO - CLOSED short at 2067.89 | PnL: 0.02% | $-0.16 +2025-03-10 13:14:08,469 - INFO - OPENED LONG at 2067.89 | Stop loss: 2057.535017857143 | Take profit: 2098.9316482142854 +2025-03-10 13:14:08,600 - INFO - CLOSED long at 2068.65 | PnL: 0.04% | $-0.12 +2025-03-10 13:14:08,627 - INFO - OPENED LONG at 2068.99 | Stop loss: 2058.6295178571427 | Take profit: 2100.0481482142854 +2025-03-10 13:14:08,708 - INFO - CLOSED long at 2071.44 | PnL: 0.12% | $0.04 +2025-03-10 13:14:08,732 - INFO - OPENED SHORT at 2073.73 | Stop loss: 2084.1141821428573 | Take profit: 2042.6007517857142 +2025-03-10 13:14:08,752 - INFO - CLOSED short at 2075.1 | PnL: -0.07% | $-0.32 +2025-03-10 13:14:08,752 - INFO - OPENED LONG at 2075.1 | Stop loss: 2064.708967857143 | Take profit: 2106.2497982142854 +2025-03-10 13:14:08,930 - INFO - CLOSED long at 2070.9 | PnL: -0.20% | $-0.58 +2025-03-10 13:14:08,930 - INFO - OPENED SHORT at 2070.9 | Stop loss: 2081.2700321428574 | Take profit: 2039.8132017857142 +2025-03-10 13:14:08,969 - INFO - CLOSED short at 2072.8 | PnL: -0.09% | $-0.37 +2025-03-10 13:14:08,969 - INFO - OPENED LONG at 2072.8 | Stop loss: 2062.420467857143 | Take profit: 2103.9152982142855 +2025-03-10 13:14:09,407 - INFO - CLOSED long at 2066.39 | PnL: -0.31% | $-0.78 +2025-03-10 13:14:09,407 - INFO - OPENED SHORT at 2066.39 | Stop loss: 2076.737482142857 | Take profit: 2035.3708517857142 +2025-03-10 13:14:09,424 - INFO - CLOSED short at 2065.99 | PnL: 0.02% | $-0.15 +2025-03-10 13:14:09,424 - INFO - OPENED LONG at 2065.99 | Stop loss: 2055.6445178571425 | Take profit: 2097.0031482142854 +2025-03-10 13:14:09,483 - INFO - CLOSED long at 2065.08 | PnL: -0.04% | $-0.27 +2025-03-10 13:14:09,509 - INFO - OPENED LONG at 2066.18 | Stop loss: 2055.8335678571425 | Take profit: 2097.1959982142853 +2025-03-10 13:14:09,671 - INFO - CLOSED long at 2069.96 | PnL: 0.18% | $0.16 +2025-03-10 13:14:09,719 - INFO - OPENED LONG at 2071.4 | Stop loss: 2061.0274678571427 | Take profit: 2102.4942982142857 +2025-03-10 13:14:09,777 - INFO - CLOSED long at 2071.36 | PnL: -0.00% | $-0.19 +2025-03-10 13:14:09,777 - INFO - OPENED SHORT at 2071.36 | Stop loss: 2081.7323321428576 | Take profit: 2040.2663017857144 +2025-03-10 13:14:09,811 - INFO - CLOSED short at 2072.75 | PnL: -0.07% | $-0.31 +2025-03-10 13:14:09,812 - INFO - OPENED LONG at 2072.75 | Stop loss: 2062.3707178571426 | Take profit: 2103.864548214286 +2025-03-10 13:14:09,915 - INFO - CLOSED long at 2073.9 | PnL: 0.06% | $-0.08 +2025-03-10 13:14:09,916 - INFO - OPENED SHORT at 2073.9 | Stop loss: 2084.2850321428573 | Take profit: 2042.7682017857144 +2025-03-10 13:14:09,933 - INFO - CLOSED short at 2071.92 | PnL: 0.10% | $-0.01 +2025-03-10 13:14:09,933 - INFO - OPENED LONG at 2071.92 | Stop loss: 2061.544867857143 | Take profit: 2103.0220982142855 +2025-03-10 13:14:09,955 - INFO - CLOSED long at 2070.4 | PnL: -0.07% | $-0.32 +2025-03-10 13:14:09,955 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.7675321428574 | Take profit: 2039.3207017857144 +2025-03-10 13:14:09,976 - INFO - CLOSED short at 2071.11 | PnL: -0.03% | $-0.25 +2025-03-10 13:14:09,977 - INFO - OPENED LONG at 2071.11 | Stop loss: 2060.738917857143 | Take profit: 2102.199948214286 +2025-03-10 13:14:09,991 - INFO - CLOSED long at 2069.46 | PnL: -0.08% | $-0.33 +2025-03-10 13:14:09,991 - INFO - OPENED SHORT at 2069.46 | Stop loss: 2079.8228321428574 | Take profit: 2038.3948017857144 +2025-03-10 13:14:10,022 - INFO - CLOSED short at 2069.35 | PnL: 0.01% | $-0.18 +2025-03-10 13:14:10,022 - INFO - OPENED LONG at 2069.35 | Stop loss: 2058.987717857143 | Take profit: 2100.4135482142856 +2025-03-10 13:14:10,085 - INFO - CLOSED long at 2067.0 | PnL: -0.11% | $-0.40 +2025-03-10 13:14:10,117 - INFO - OPENED LONG at 2067.79 | Stop loss: 2057.4355178571427 | Take profit: 2098.8301482142856 +2025-03-10 13:14:10,145 - INFO - CLOSED long at 2067.46 | PnL: -0.02% | $-0.21 +2025-03-10 13:14:10,186 - INFO - OPENED SHORT at 2066.8 | Stop loss: 2077.1495321428574 | Take profit: 2035.7747017857143 +2025-03-10 13:14:10,218 - INFO - CLOSED short at 2065.49 | PnL: 0.06% | $-0.07 +2025-03-10 13:14:10,218 - INFO - OPENED LONG at 2065.49 | Stop loss: 2055.1470178571426 | Take profit: 2096.4956482142857 +2025-03-10 13:14:10,276 - INFO - CLOSED long at 2067.89 | PnL: 0.12% | $0.03 +2025-03-10 13:14:10,276 - INFO - OPENED SHORT at 2067.89 | Stop loss: 2078.244982142857 | Take profit: 2036.8483517857142 +2025-03-10 13:14:10,296 - INFO - CLOSED short at 2068.58 | PnL: -0.03% | $-0.25 +2025-03-10 13:14:10,297 - INFO - OPENED LONG at 2068.58 | Stop loss: 2058.221567857143 | Take profit: 2099.631998214286 +2025-03-10 13:14:10,340 - INFO - CLOSED long at 2069.34 | PnL: 0.04% | $-0.12 +2025-03-10 13:14:10,359 - INFO - OPENED LONG at 2067.86 | Stop loss: 2057.505167857143 | Take profit: 2098.9011982142856 +2025-03-10 13:14:10,392 - INFO - CLOSED long at 2069.2 | PnL: 0.06% | $-0.06 +2025-03-10 13:14:10,399 - INFO - OPENED SHORT at 2069.2 | Stop loss: 2079.561532142857 | Take profit: 2038.1387017857141 +2025-03-10 13:14:10,428 - INFO - CLOSED short at 2070.3 | PnL: -0.05% | $-0.28 +2025-03-10 13:14:10,428 - INFO - OPENED LONG at 2070.3 | Stop loss: 2059.932967857143 | Take profit: 2101.377798214286 +2025-03-10 13:14:10,520 - INFO - CLOSED long at 2070.4 | PnL: 0.00% | $-0.17 +2025-03-10 13:14:10,520 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.7675321428574 | Take profit: 2039.3207017857144 +2025-03-10 13:14:10,557 - INFO - CLOSED short at 2070.73 | PnL: -0.02% | $-0.21 +2025-03-10 13:14:10,557 - INFO - OPENED LONG at 2070.73 | Stop loss: 2060.360817857143 | Take profit: 2101.8142482142857 +2025-03-10 13:14:10,817 - INFO - CLOSED long at 2067.8 | PnL: -0.14% | $-0.44 +2025-03-10 13:14:10,817 - INFO - OPENED SHORT at 2067.8 | Stop loss: 2078.154532142857 | Take profit: 2036.7597017857145 +2025-03-10 13:14:10,851 - INFO - CLOSED short at 2068.18 | PnL: -0.02% | $-0.21 +2025-03-10 13:14:10,852 - INFO - OPENED LONG at 2068.18 | Stop loss: 2057.8235678571427 | Take profit: 2099.2259982142855 +2025-03-10 13:14:11,027 - INFO - CLOSED long at 2065.26 | PnL: -0.14% | $-0.44 +2025-03-10 13:14:11,027 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.6018321428573 | Take profit: 2034.2578017857145 +2025-03-10 13:14:11,045 - INFO - CLOSED short at 2062.89 | PnL: 0.11% | $0.03 +2025-03-10 13:14:11,066 - INFO - OPENED SHORT at 2062.65 | Stop loss: 2072.978782142857 | Take profit: 2031.6869517857142 +2025-03-10 13:14:11,087 - INFO - CLOSED short at 2061.78 | PnL: 0.04% | $-0.10 +2025-03-10 13:14:11,087 - INFO - OPENED LONG at 2061.78 | Stop loss: 2051.4555678571433 | Take profit: 2092.729998214286 +2025-03-10 13:14:11,125 - INFO - CLOSED long at 2061.3 | PnL: -0.02% | $-0.22 +2025-03-10 13:14:11,141 - INFO - OPENED LONG at 2063.59 | Stop loss: 2053.256517857143 | Take profit: 2094.567148214286 +2025-03-10 13:14:11,182 - INFO - CLOSED long at 2066.24 | PnL: 0.13% | $0.05 +2025-03-10 13:14:11,182 - INFO - OPENED SHORT at 2066.24 | Stop loss: 2076.586732142857 | Take profit: 2035.223101785714 +2025-03-10 13:14:11,231 - INFO - CLOSED short at 2065.54 | PnL: 0.03% | $-0.12 +2025-03-10 13:14:11,232 - INFO - OPENED LONG at 2065.54 | Stop loss: 2055.1967678571427 | Take profit: 2096.5463982142855 +2025-03-10 13:14:11,323 - INFO - CLOSED long at 2064.08 | PnL: -0.07% | $-0.31 +2025-03-10 13:14:11,323 - INFO - OPENED SHORT at 2064.08 | Stop loss: 2074.415932142857 | Take profit: 2033.095501785714 +2025-03-10 13:14:11,356 - INFO - CLOSED short at 2062.71 | PnL: 0.07% | $-0.06 +2025-03-10 13:14:11,357 - INFO - OPENED LONG at 2062.71 | Stop loss: 2052.380917857143 | Take profit: 2093.6739482142857 +2025-03-10 13:14:11,416 - INFO - CLOSED long at 2064.5 | PnL: 0.09% | $-0.02 +2025-03-10 13:14:11,438 - INFO - OPENED LONG at 2063.5 | Stop loss: 2053.166967857143 | Take profit: 2094.4757982142855 +2025-03-10 13:14:11,563 - INFO - CLOSED long at 2060.31 | PnL: -0.15% | $-0.45 +2025-03-10 13:14:11,564 - INFO - OPENED SHORT at 2060.31 | Stop loss: 2070.627082142857 | Take profit: 2029.3820517857143 +2025-03-10 13:14:11,587 - INFO - CLOSED short at 2061.8 | PnL: -0.07% | $-0.31 +2025-03-10 13:14:11,587 - INFO - OPENED LONG at 2061.8 | Stop loss: 2051.475467857143 | Take profit: 2092.7502982142855 +2025-03-10 13:14:11,643 - INFO - CLOSED long at 2062.61 | PnL: 0.04% | $-0.11 +2025-03-10 13:14:11,677 - INFO - OPENED LONG at 2060.91 | Stop loss: 2050.5899178571426 | Take profit: 2091.8469482142855 +2025-03-10 13:14:11,817 - INFO - CLOSED long at 2065.36 | PnL: 0.22% | $0.20 +2025-03-10 13:14:11,818 - INFO - OPENED SHORT at 2065.36 | Stop loss: 2075.7023321428574 | Take profit: 2034.3563017857145 +2025-03-10 13:14:11,840 - INFO - CLOSED short at 2064.33 | PnL: 0.05% | $-0.09 +2025-03-10 13:14:11,841 - INFO - OPENED LONG at 2064.33 | Stop loss: 2053.9928178571427 | Take profit: 2095.3182482142856 +2025-03-10 13:14:12,376 - INFO - CLOSED long at 2054.89 | PnL: -0.46% | $-0.98 +2025-03-10 13:14:12,402 - INFO - OPENED LONG at 2054.83 | Stop loss: 2044.5403178571428 | Take profit: 2085.6757482142852 +2025-03-10 13:14:12,659 - INFO - CLOSED long at 2063.4 | PnL: 0.42% | $0.55 +2025-03-10 13:14:12,700 - INFO - OPENED LONG at 2066.01 | Stop loss: 2055.664417857143 | Take profit: 2097.023448214286 +2025-03-10 13:14:12,762 - INFO - CLOSED long at 2066.33 | PnL: 0.02% | $-0.15 +2025-03-10 13:14:12,762 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.6771821428574 | Take profit: 2035.3117517857143 +2025-03-10 13:14:12,787 - INFO - CLOSED short at 2066.34 | PnL: -0.00% | $-0.18 +2025-03-10 13:14:12,788 - INFO - OPENED LONG at 2066.34 | Stop loss: 2055.992767857143 | Take profit: 2097.358398214286 +2025-03-10 13:14:12,929 - INFO - CLOSED long at 2069.79 | PnL: 0.17% | $0.12 +2025-03-10 13:14:12,929 - INFO - OPENED SHORT at 2069.79 | Stop loss: 2080.154482142857 | Take profit: 2038.7198517857141 +2025-03-10 13:14:12,965 - INFO - CLOSED short at 2072.0 | PnL: -0.11% | $-0.36 +2025-03-10 13:14:12,965 - INFO - OPENED LONG at 2072.0 | Stop loss: 2061.624467857143 | Take profit: 2103.1032982142856 +2025-03-10 13:14:12,994 - INFO - CLOSED long at 2074.3 | PnL: 0.11% | $0.02 +2025-03-10 13:14:12,994 - INFO - OPENED SHORT at 2074.3 | Stop loss: 2084.6870321428573 | Take profit: 2043.1622017857144 +2025-03-10 13:14:13,024 - INFO - CLOSED short at 2078.01 | PnL: -0.18% | $-0.49 +2025-03-10 13:14:13,025 - INFO - OPENED LONG at 2078.01 | Stop loss: 2067.604417857143 | Take profit: 2109.203448214286 +2025-03-10 13:14:13,277 - INFO - CLOSED long at 2068.39 | PnL: -0.46% | $-0.98 +2025-03-10 13:14:13,313 - INFO - OPENED SHORT at 2069.69 | Stop loss: 2080.053982142857 | Take profit: 2038.6213517857145 +2025-03-10 13:14:13,353 - INFO - CLOSED short at 2069.03 | PnL: 0.03% | $-0.12 +2025-03-10 13:14:13,354 - INFO - OPENED LONG at 2069.03 | Stop loss: 2058.669317857143 | Take profit: 2100.088748214286 +2025-03-10 13:14:13,813 - INFO - CLOSED long at 2065.5 | PnL: -0.17% | $-0.46 +2025-03-10 13:14:13,849 - INFO - OPENED LONG at 2067.53 | Stop loss: 2057.176817857143 | Take profit: 2098.566248214286 +2025-03-10 13:14:13,964 - INFO - CLOSED long at 2066.5 | PnL: -0.05% | $-0.26 +2025-03-10 13:14:13,996 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.231517857143 | Take profit: 2099.642148214286 +2025-03-10 13:14:14,240 - INFO - CLOSED long at 2070.61 | PnL: 0.10% | $-0.00 +2025-03-10 13:14:14,262 - INFO - OPENED LONG at 2071.99 | Stop loss: 2061.614517857143 | Take profit: 2103.0931482142855 +2025-03-10 13:14:14,284 - INFO - CLOSED long at 2068.19 | PnL: -0.18% | $-0.48 +2025-03-10 13:14:14,285 - INFO - OPENED SHORT at 2068.19 | Stop loss: 2078.5464821428573 | Take profit: 2037.1438517857143 +2025-03-10 13:14:14,305 - INFO - CLOSED short at 2068.67 | PnL: -0.02% | $-0.21 +2025-03-10 13:14:14,328 - INFO - OPENED LONG at 2070.67 | Stop loss: 2060.301117857143 | Take profit: 2101.753348214286 +2025-03-10 13:14:14,350 - INFO - CLOSED long at 2069.78 | PnL: -0.04% | $-0.24 +2025-03-10 13:14:14,376 - INFO - OPENED LONG at 2071.61 | Stop loss: 2061.236417857143 | Take profit: 2102.7074482142857 +2025-03-10 13:14:14,496 - INFO - CLOSED long at 2073.99 | PnL: 0.11% | $0.03 +2025-03-10 13:14:14,524 - INFO - OPENED LONG at 2075.32 | Stop loss: 2064.927867857143 | Take profit: 2106.473098214286 +2025-03-10 13:14:14,662 - INFO - CLOSED long at 2072.09 | PnL: -0.16% | $-0.43 +2025-03-10 13:14:14,663 - INFO - OPENED SHORT at 2072.09 | Stop loss: 2082.4659821428577 | Take profit: 2040.9853517857146 +2025-03-10 13:14:14,698 - INFO - CLOSED short at 2069.97 | PnL: 0.10% | $0.00 +2025-03-10 13:14:14,699 - INFO - OPENED LONG at 2069.97 | Stop loss: 2059.604617857143 | Take profit: 2101.042848214285 +2025-03-10 13:14:14,973 - INFO - CLOSED long at 2069.0 | PnL: -0.05% | $-0.25 +2025-03-10 13:14:15,002 - INFO - OPENED LONG at 2070.19 | Stop loss: 2059.8235178571426 | Take profit: 2101.2661482142857 +2025-03-10 13:14:15,295 - INFO - CLOSED long at 2064.11 | PnL: -0.29% | $-0.66 +2025-03-10 13:14:15,316 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.161967857143 | Take profit: 2095.490798214286 +2025-03-10 13:14:15,465 - INFO - CLOSED long at 2058.65 | PnL: -0.28% | $-0.64 +2025-03-10 13:14:15,496 - INFO - OPENED LONG at 2056.77 | Stop loss: 2046.4706178571428 | Take profit: 2087.6448482142855 +2025-03-10 13:14:15,538 - INFO - CLOSED long at 2049.21 | PnL: -0.37% | $-0.77 +2025-03-10 13:14:15,559 - INFO - OPENED SHORT at 2049.5 | Stop loss: 2059.7630321428574 | Take profit: 2018.7342017857143 +2025-03-10 13:14:15,598 - INFO - CLOSED short at 2058.3 | PnL: -0.43% | $-0.86 +2025-03-10 13:14:15,598 - INFO - OPENED LONG at 2058.3 | Stop loss: 2047.9929678571432 | Take profit: 2089.1977982142857 +2025-03-10 13:14:15,620 - INFO - CLOSED long at 2056.85 | PnL: -0.07% | $-0.27 +2025-03-10 13:14:15,620 - INFO - OPENED SHORT at 2056.85 | Stop loss: 2067.149782142857 | Take profit: 2025.9739517857142 +2025-03-10 13:14:15,638 - INFO - CLOSED short at 2057.11 | PnL: -0.01% | $-0.18 +2025-03-10 13:14:15,639 - INFO - OPENED LONG at 2057.11 | Stop loss: 2046.808917857143 | Take profit: 2087.989948214286 +2025-03-10 13:14:15,678 - INFO - CLOSED long at 2062.83 | PnL: 0.28% | $0.29 +2025-03-10 13:14:15,697 - INFO - OPENED SHORT at 2063.9 | Stop loss: 2074.235032142857 | Take profit: 2032.9182017857145 +2025-03-10 13:14:15,718 - INFO - CLOSED short at 2065.1 | PnL: -0.06% | $-0.25 +2025-03-10 13:14:15,741 - INFO - OPENED LONG at 2062.43 | Stop loss: 2052.1023178571427 | Take profit: 2093.389748214285 +2025-03-10 13:14:15,932 - INFO - CLOSED long at 2059.9 | PnL: -0.12% | $-0.36 +2025-03-10 13:14:15,932 - INFO - OPENED SHORT at 2059.9 | Stop loss: 2070.215032142857 | Take profit: 2028.9782017857144 +2025-03-10 13:14:15,955 - INFO - CLOSED short at 2060.7 | PnL: -0.04% | $-0.22 +2025-03-10 13:14:15,956 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3809678571424 | Take profit: 2091.633798214286 +2025-03-10 13:14:16,053 - INFO - CLOSED long at 2070.31 | PnL: 0.47% | $0.58 +2025-03-10 13:14:16,053 - INFO - OPENED SHORT at 2070.31 | Stop loss: 2080.677082142857 | Take profit: 2039.2320517857142 +2025-03-10 13:14:16,091 - INFO - CLOSED short at 2070.24 | PnL: 0.00% | $-0.15 +2025-03-10 13:14:16,091 - INFO - OPENED LONG at 2070.24 | Stop loss: 2059.8732678571428 | Take profit: 2101.3168982142856 +2025-03-10 13:14:16,374 - INFO - CLOSED long at 2085.56 | PnL: 0.74% | $1.02 +2025-03-10 13:14:16,374 - INFO - OPENED SHORT at 2085.56 | Stop loss: 2096.0033321428573 | Take profit: 2054.2533017857145 +2025-03-10 13:14:16,400 - INFO - CLOSED short at 2090.49 | PnL: -0.24% | $-0.55 +2025-03-10 13:14:16,400 - INFO - OPENED LONG at 2090.49 | Stop loss: 2080.0220178571426 | Take profit: 2121.8706482142857 +2025-03-10 13:14:16,454 - INFO - TAKE PROFIT hit for long at 2121.8706482142857 | PnL: 1.50% | $2.26 +2025-03-10 13:14:16,491 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.826767857143 | Take profit: 2171.6563982142857 +2025-03-10 13:14:16,711 - INFO - STOP LOSS hit for long at 2128.826767857143 | PnL: -0.50% | $-0.99 +2025-03-10 13:14:16,747 - INFO - OPENED LONG at 2128.69 | Stop loss: 2118.031017857143 | Take profit: 2160.643648214286 +2025-03-10 13:14:16,809 - INFO - STOP LOSS hit for long at 2118.031017857143 | PnL: -0.50% | $-0.98 +2025-03-10 13:14:16,826 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.3148178571428 | Take profit: 2151.752248214286 +2025-03-10 13:14:17,009 - INFO - STOP LOSS hit for long at 2109.3148178571428 | PnL: -0.50% | $-0.97 +2025-03-10 13:14:17,029 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.0314678571426 | Take profit: 2142.282298214285 +2025-03-10 13:14:17,068 - INFO - CLOSED long at 2112.09 | PnL: 0.07% | $-0.05 +2025-03-10 13:14:17,107 - INFO - OPENED LONG at 2112.46 | Stop loss: 2101.882167857143 | Take profit: 2144.1701982142854 +2025-03-10 13:14:17,170 - INFO - CLOSED long at 2120.81 | PnL: 0.40% | $0.47 +2025-03-10 13:14:17,171 - INFO - OPENED SHORT at 2120.81 | Stop loss: 2131.429582142857 | Take profit: 2088.9745517857145 +2025-03-10 13:14:17,191 - INFO - CLOSED short at 2116.48 | PnL: 0.20% | $0.17 +2025-03-10 13:14:17,195 - INFO - OPENED LONG at 2116.48 | Stop loss: 2105.882067857143 | Take profit: 2148.250498214286 +2025-03-10 13:14:17,394 - INFO - STOP LOSS hit for long at 2105.882067857143 | PnL: -0.50% | $-0.97 +2025-03-10 13:14:17,416 - INFO - OPENED LONG at 2100.5 | Stop loss: 2089.981967857143 | Take profit: 2132.0307982142854 +2025-03-10 13:14:17,571 - INFO - CLOSED long at 2100.69 | PnL: 0.01% | $-0.14 +2025-03-10 13:14:17,593 - INFO - OPENED LONG at 2104.83 | Stop loss: 2094.290317857143 | Take profit: 2136.4257482142857 +2025-03-10 13:14:17,637 - INFO - CLOSED long at 2100.74 | PnL: -0.19% | $-0.47 +2025-03-10 13:14:17,670 - INFO - OPENED LONG at 2103.86 | Stop loss: 2093.3251678571432 | Take profit: 2135.4411982142856 +2025-03-10 13:14:17,895 - INFO - STOP LOSS hit for long at 2093.3251678571432 | PnL: -0.50% | $-0.95 +2025-03-10 13:14:17,933 - INFO - OPENED SHORT at 2094.72 | Stop loss: 2105.209132142857 | Take profit: 2063.275901785714 +2025-03-10 13:14:17,978 - INFO - CLOSED short at 2088.35 | PnL: 0.30% | $0.32 +2025-03-10 13:14:18,001 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.848067857143 | Take profit: 2114.5524982142856 +2025-03-10 13:14:18,243 - INFO - CLOSED long at 2083.41 | PnL: 0.01% | $-0.15 +2025-03-10 13:14:18,245 - INFO - OPENED SHORT at 2083.41 | Stop loss: 2093.8425821428573 | Take profit: 2052.135551785714 +2025-03-10 13:14:18,272 - INFO - CLOSED short at 2085.09 | PnL: -0.08% | $-0.28 +2025-03-10 13:14:18,272 - INFO - OPENED LONG at 2085.09 | Stop loss: 2074.649017857143 | Take profit: 2116.389648214286 +2025-03-10 13:14:18,430 - INFO - CLOSED long at 2088.66 | PnL: 0.17% | $0.11 +2025-03-10 13:14:18,430 - INFO - OPENED SHORT at 2088.66 | Stop loss: 2099.1188321428567 | Take profit: 2057.306801785714 +2025-03-10 13:14:18,461 - INFO - CLOSED short at 2088.32 | PnL: 0.02% | $-0.13 +2025-03-10 13:14:18,461 - INFO - OPENED LONG at 2088.32 | Stop loss: 2077.862867857143 | Take profit: 2119.6680982142857 +2025-03-10 13:14:18,955 - INFO - CLOSED long at 2098.49 | PnL: 0.49% | $0.60 +2025-03-10 13:14:18,988 - INFO - OPENED LONG at 2099.89 | Stop loss: 2089.3750178571427 | Take profit: 2131.411648214286 +2025-03-10 13:14:19,041 - INFO - CLOSED long at 2099.73 | PnL: -0.01% | $-0.17 +2025-03-10 13:14:19,042 - INFO - OPENED SHORT at 2099.73 | Stop loss: 2110.244182142857 | Take profit: 2068.2107517857144 +2025-03-10 13:14:19,071 - INFO - CLOSED short at 2106.15 | PnL: -0.31% | $-0.63 +2025-03-10 13:14:19,071 - INFO - OPENED LONG at 2106.15 | Stop loss: 2095.603717857143 | Take profit: 2137.765548214286 +2025-03-10 13:14:19,263 - INFO - CLOSED long at 2103.52 | PnL: -0.12% | $-0.35 +2025-03-10 13:14:19,263 - INFO - OPENED SHORT at 2103.52 | Stop loss: 2114.0531321428575 | Take profit: 2071.9439017857144 +2025-03-10 13:14:19,286 - INFO - CLOSED short at 2104.4 | PnL: -0.04% | $-0.22 +2025-03-10 13:14:19,286 - INFO - OPENED LONG at 2104.4 | Stop loss: 2093.862467857143 | Take profit: 2135.989298214286 +2025-03-10 13:14:19,311 - INFO - Trade Analysis: Win Rate=9.1% in uptrends, 0.0% in downtrends | Avg Win=$0.34, Avg Loss=$-0.33 +2025-03-10 13:14:19,311 - INFO - Episode 13: Reward=-24.56, Balance=$77.59, Win Rate=20.0%, Trades=115, Episode PnL=$-17.34, Total PnL=$-302.95, Max Drawdown=21.5%, Pred Accuracy=99.6% +2025-03-10 13:14:19,312 - ERROR - Error in episode 13: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:14:19,313 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1812, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:14:19,337 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:14:19,554 - INFO - OPENED LONG at 2047.4 | Stop loss: 2037.147467857143 | Take profit: 2078.134298214286 +2025-03-10 13:14:19,872 - INFO - CLOSED long at 2052.3 | PnL: 0.24% | $0.28 +2025-03-10 13:14:19,947 - INFO - OPENED LONG at 2056.89 | Stop loss: 2046.5900178571426 | Take profit: 2087.766648214286 +2025-03-10 13:14:19,969 - INFO - CLOSED long at 2058.39 | PnL: 0.07% | $-0.05 +2025-03-10 13:14:19,969 - INFO - OPENED SHORT at 2058.39 | Stop loss: 2068.697482142857 | Take profit: 2027.490851785714 +2025-03-10 13:14:19,994 - INFO - CLOSED short at 2060.13 | PnL: -0.08% | $-0.37 +2025-03-10 13:14:19,994 - INFO - OPENED LONG at 2060.13 | Stop loss: 2049.813817857143 | Take profit: 2091.055248214286 +2025-03-10 13:14:20,171 - INFO - CLOSED long at 2063.01 | PnL: 0.14% | $0.08 +2025-03-10 13:14:20,174 - INFO - OPENED SHORT at 2063.01 | Stop loss: 2073.3405821428573 | Take profit: 2032.0415517857145 +2025-03-10 13:14:20,195 - INFO - CLOSED short at 2060.99 | PnL: 0.10% | $-0.00 +2025-03-10 13:14:20,195 - INFO - OPENED LONG at 2060.99 | Stop loss: 2050.6695178571426 | Take profit: 2091.9281482142856 +2025-03-10 13:14:20,268 - INFO - CLOSED long at 2061.89 | PnL: 0.04% | $-0.11 +2025-03-10 13:14:20,291 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.5600178571426 | Take profit: 2093.8566482142855 +2025-03-10 13:14:20,416 - INFO - CLOSED long at 2057.94 | PnL: -0.24% | $-0.67 +2025-03-10 13:14:20,461 - INFO - OPENED LONG at 2061.79 | Stop loss: 2051.465517857143 | Take profit: 2092.740148214286 +2025-03-10 13:14:20,606 - INFO - CLOSED long at 2067.89 | PnL: 0.30% | $0.39 +2025-03-10 13:14:20,629 - INFO - OPENED LONG at 2071.63 | Stop loss: 2061.256317857143 | Take profit: 2102.727748214286 +2025-03-10 13:14:20,772 - INFO - CLOSED long at 2070.26 | PnL: -0.07% | $-0.33 +2025-03-10 13:14:20,798 - INFO - OPENED LONG at 2071.44 | Stop loss: 2061.0672678571427 | Take profit: 2102.534898214286 +2025-03-10 13:14:20,817 - INFO - CLOSED long at 2073.73 | PnL: 0.11% | $0.02 +2025-03-10 13:14:20,840 - INFO - OPENED LONG at 2075.1 | Stop loss: 2064.708967857143 | Take profit: 2106.2497982142854 +2025-03-10 13:14:20,948 - INFO - CLOSED long at 2069.37 | PnL: -0.28% | $-0.74 +2025-03-10 13:14:20,991 - INFO - OPENED LONG at 2072.8 | Stop loss: 2062.420467857143 | Take profit: 2103.9152982142855 +2025-03-10 13:14:21,360 - INFO - CLOSED long at 2066.19 | PnL: -0.32% | $-0.82 +2025-03-10 13:14:21,392 - INFO - OPENED LONG at 2066.29 | Stop loss: 2055.943017857143 | Take profit: 2097.3076482142856 +2025-03-10 13:14:21,540 - INFO - CLOSED long at 2068.59 | PnL: 0.11% | $0.02 +2025-03-10 13:14:21,570 - INFO - OPENED LONG at 2069.7 | Stop loss: 2059.335967857143 | Take profit: 2100.7687982142857 +2025-03-10 13:14:21,795 - INFO - CLOSED long at 2074.29 | PnL: 0.22% | $0.24 +2025-03-10 13:14:21,796 - INFO - OPENED SHORT at 2074.29 | Stop loss: 2084.676982142857 | Take profit: 2043.1523517857142 +2025-03-10 13:14:21,823 - INFO - CLOSED short at 2073.9 | PnL: 0.02% | $-0.16 +2025-03-10 13:14:21,824 - INFO - OPENED LONG at 2073.9 | Stop loss: 2063.514967857143 | Take profit: 2105.0317982142856 +2025-03-10 13:14:21,937 - INFO - CLOSED long at 2069.35 | PnL: -0.22% | $-0.62 +2025-03-10 13:14:21,956 - INFO - OPENED LONG at 2068.32 | Stop loss: 2057.962867857143 | Take profit: 2099.368098214286 +2025-03-10 13:14:22,049 - INFO - CLOSED long at 2066.8 | PnL: -0.07% | $-0.33 +2025-03-10 13:14:22,086 - INFO - OPENED LONG at 2065.49 | Stop loss: 2055.1470178571426 | Take profit: 2096.4956482142857 +2025-03-10 13:14:22,282 - INFO - CLOSED long at 2067.59 | PnL: 0.10% | $0.00 +2025-03-10 13:14:22,323 - INFO - OPENED LONG at 2070.3 | Stop loss: 2059.932967857143 | Take profit: 2101.377798214286 +2025-03-10 13:14:22,513 - INFO - CLOSED long at 2067.84 | PnL: -0.12% | $-0.42 +2025-03-10 13:14:22,513 - INFO - OPENED SHORT at 2067.84 | Stop loss: 2078.1947321428574 | Take profit: 2036.7991017857144 +2025-03-10 13:14:22,552 - INFO - CLOSED short at 2067.11 | PnL: 0.04% | $-0.12 +2025-03-10 13:14:22,555 - INFO - OPENED LONG at 2067.11 | Stop loss: 2056.758917857143 | Take profit: 2098.139948214286 +2025-03-10 13:14:22,591 - INFO - CLOSED long at 2067.86 | PnL: 0.04% | $-0.12 +2025-03-10 13:14:22,591 - INFO - OPENED SHORT at 2067.86 | Stop loss: 2078.2148321428576 | Take profit: 2036.8188017857144 +2025-03-10 13:14:22,611 - INFO - CLOSED short at 2066.4 | PnL: 0.07% | $-0.06 +2025-03-10 13:14:22,611 - INFO - OPENED LONG at 2066.4 | Stop loss: 2056.052467857143 | Take profit: 2097.4192982142854 +2025-03-10 13:14:22,741 - INFO - CLOSED long at 2070.04 | PnL: 0.18% | $0.15 +2025-03-10 13:14:22,774 - INFO - OPENED LONG at 2067.8 | Stop loss: 2057.445467857143 | Take profit: 2098.8402982142857 +2025-03-10 13:14:22,893 - INFO - CLOSED long at 2064.99 | PnL: -0.14% | $-0.45 +2025-03-10 13:14:22,893 - INFO - OPENED SHORT at 2064.99 | Stop loss: 2075.330482142857 | Take profit: 2033.991851785714 +2025-03-10 13:14:22,947 - INFO - CLOSED short at 2065.83 | PnL: -0.04% | $-0.27 +2025-03-10 13:14:22,947 - INFO - OPENED LONG at 2065.83 | Stop loss: 2055.4853178571425 | Take profit: 2096.8407482142857 +2025-03-10 13:14:23,773 - INFO - CLOSED long at 2064.7 | PnL: -0.05% | $-0.29 +2025-03-10 13:14:23,774 - INFO - OPENED SHORT at 2064.7 | Stop loss: 2075.039032142857 | Take profit: 2033.706201785714 +2025-03-10 13:14:23,816 - INFO - CLOSED short at 2062.61 | PnL: 0.10% | $0.00 +2025-03-10 13:14:23,816 - INFO - OPENED LONG at 2062.61 | Stop loss: 2052.281417857143 | Take profit: 2093.572448214286 +2025-03-10 13:14:23,897 - INFO - CLOSED long at 2061.13 | PnL: -0.07% | $-0.32 +2025-03-10 13:14:23,928 - INFO - OPENED LONG at 2061.9 | Stop loss: 2051.574967857143 | Take profit: 2092.8517982142857 +2025-03-10 13:14:24,054 - INFO - CLOSED long at 2064.33 | PnL: 0.12% | $0.03 +2025-03-10 13:14:24,099 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.0575178571426 | Take profit: 2094.3641482142853 +2025-03-10 13:14:24,139 - INFO - CLOSED long at 2064.79 | PnL: 0.07% | $-0.06 +2025-03-10 13:14:24,177 - INFO - OPENED LONG at 2065.89 | Stop loss: 2055.5450178571427 | Take profit: 2096.9016482142856 +2025-03-10 13:14:24,259 - INFO - CLOSED long at 2062.6 | PnL: -0.16% | $-0.49 +2025-03-10 13:14:24,260 - INFO - OPENED SHORT at 2062.6 | Stop loss: 2072.928532142857 | Take profit: 2031.6377017857142 +2025-03-10 13:14:24,289 - INFO - CLOSED short at 2061.89 | PnL: 0.03% | $-0.12 +2025-03-10 13:14:24,290 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.5650178571427 | Take profit: 2092.841648214285 +2025-03-10 13:14:24,325 - INFO - CLOSED long at 2061.7 | PnL: -0.01% | $-0.20 +2025-03-10 13:14:24,326 - INFO - OPENED SHORT at 2061.7 | Stop loss: 2072.024032142857 | Take profit: 2030.751201785714 +2025-03-10 13:14:24,360 - INFO - CLOSED short at 2060.7 | PnL: 0.05% | $-0.10 +2025-03-10 13:14:24,361 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3809678571424 | Take profit: 2091.633798214286 +2025-03-10 13:14:24,392 - INFO - CLOSED long at 2061.09 | PnL: 0.02% | $-0.15 +2025-03-10 13:14:24,393 - INFO - OPENED SHORT at 2061.09 | Stop loss: 2071.4109821428574 | Take profit: 2030.1503517857145 +2025-03-10 13:14:24,433 - INFO - CLOSED short at 2059.61 | PnL: 0.07% | $-0.05 +2025-03-10 13:14:24,433 - INFO - OPENED LONG at 2059.61 | Stop loss: 2049.2964178571433 | Take profit: 2090.527448214286 +2025-03-10 13:14:24,861 - INFO - CLOSED long at 2059.8 | PnL: 0.01% | $-0.17 +2025-03-10 13:14:24,892 - INFO - OPENED LONG at 2061.66 | Stop loss: 2051.3361678571428 | Take profit: 2092.608198214286 +2025-03-10 13:14:24,992 - INFO - CLOSED long at 2061.3 | PnL: -0.02% | $-0.22 +2025-03-10 13:14:24,992 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.6220321428573 | Take profit: 2030.3572017857146 +2025-03-10 13:14:25,030 - INFO - CLOSED short at 2062.69 | PnL: -0.07% | $-0.31 +2025-03-10 13:14:25,031 - INFO - OPENED LONG at 2062.69 | Stop loss: 2052.361017857143 | Take profit: 2093.6536482142856 +2025-03-10 13:14:25,055 - INFO - CLOSED long at 2063.4 | PnL: 0.03% | $-0.12 +2025-03-10 13:14:25,056 - INFO - OPENED SHORT at 2063.4 | Stop loss: 2073.732532142857 | Take profit: 2032.4257017857144 +2025-03-10 13:14:25,108 - INFO - CLOSED short at 2066.01 | PnL: -0.13% | $-0.42 +2025-03-10 13:14:25,109 - INFO - OPENED LONG at 2066.01 | Stop loss: 2055.664417857143 | Take profit: 2097.023448214286 +2025-03-10 13:14:25,389 - INFO - CLOSED long at 2072.0 | PnL: 0.29% | $0.35 +2025-03-10 13:14:25,389 - INFO - OPENED SHORT at 2072.0 | Stop loss: 2082.3755321428575 | Take profit: 2040.8967017857144 +2025-03-10 13:14:25,420 - INFO - CLOSED short at 2074.3 | PnL: -0.11% | $-0.39 +2025-03-10 13:14:25,420 - INFO - OPENED LONG at 2074.3 | Stop loss: 2063.912967857143 | Take profit: 2105.437798214286 +2025-03-10 13:14:25,473 - INFO - CLOSED long at 2075.01 | PnL: 0.03% | $-0.12 +2025-03-10 13:14:25,502 - INFO - OPENED LONG at 2072.6 | Stop loss: 2062.2214678571427 | Take profit: 2103.712298214286 +2025-03-10 13:14:25,564 - INFO - CLOSED long at 2070.01 | PnL: -0.12% | $-0.41 +2025-03-10 13:14:25,596 - INFO - OPENED LONG at 2071.6 | Stop loss: 2061.226467857143 | Take profit: 2102.6972982142856 +2025-03-10 13:14:25,661 - INFO - CLOSED long at 2070.0 | PnL: -0.08% | $-0.32 +2025-03-10 13:14:25,661 - INFO - OPENED SHORT at 2070.0 | Stop loss: 2080.365532142857 | Take profit: 2038.9267017857142 +2025-03-10 13:14:25,728 - INFO - CLOSED short at 2068.39 | PnL: 0.08% | $-0.04 +2025-03-10 13:14:25,728 - INFO - OPENED LONG at 2068.39 | Stop loss: 2058.032517857143 | Take profit: 2099.4391482142855 +2025-03-10 13:14:25,898 - INFO - CLOSED long at 2071.49 | PnL: 0.15% | $0.09 +2025-03-10 13:14:25,899 - INFO - OPENED SHORT at 2071.49 | Stop loss: 2081.8629821428567 | Take profit: 2040.394351785714 +2025-03-10 13:14:25,926 - INFO - CLOSED short at 2069.87 | PnL: 0.08% | $-0.04 +2025-03-10 13:14:25,977 - INFO - OPENED LONG at 2066.38 | Stop loss: 2056.032567857143 | Take profit: 2097.3989982142857 +2025-03-10 13:14:26,076 - INFO - CLOSED long at 2063.95 | PnL: -0.12% | $-0.40 +2025-03-10 13:14:26,158 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.161967857143 | Take profit: 2095.490798214286 +2025-03-10 13:14:26,361 - INFO - CLOSED long at 2065.31 | PnL: 0.04% | $-0.11 +2025-03-10 13:14:26,386 - INFO - OPENED LONG at 2066.8 | Stop loss: 2056.450467857143 | Take profit: 2097.825298214286 +2025-03-10 13:14:26,679 - INFO - CLOSED long at 2069.69 | PnL: 0.14% | $0.07 +2025-03-10 13:14:26,729 - INFO - OPENED LONG at 2070.8 | Stop loss: 2060.430467857143 | Take profit: 2101.885298214286 +2025-03-10 13:14:26,771 - INFO - CLOSED long at 2070.61 | PnL: -0.01% | $-0.20 +2025-03-10 13:14:26,771 - INFO - OPENED SHORT at 2070.61 | Stop loss: 2080.9785821428572 | Take profit: 2039.5275517857144 +2025-03-10 13:14:26,799 - INFO - CLOSED short at 2071.99 | PnL: -0.07% | $-0.30 +2025-03-10 13:14:26,800 - INFO - OPENED LONG at 2071.99 | Stop loss: 2061.614517857143 | Take profit: 2103.0931482142855 +2025-03-10 13:14:26,924 - INFO - CLOSED long at 2071.61 | PnL: -0.02% | $-0.21 +2025-03-10 13:14:26,925 - INFO - OPENED SHORT at 2071.61 | Stop loss: 2081.9835821428574 | Take profit: 2040.5125517857143 +2025-03-10 13:14:26,953 - INFO - CLOSED short at 2074.37 | PnL: -0.13% | $-0.42 +2025-03-10 13:14:26,954 - INFO - OPENED LONG at 2074.37 | Stop loss: 2063.982617857143 | Take profit: 2105.508848214286 +2025-03-10 13:14:27,475 - INFO - CLOSED long at 2068.1 | PnL: -0.30% | $-0.72 +2025-03-10 13:14:27,500 - INFO - OPENED LONG at 2069.0 | Stop loss: 2058.639467857143 | Take profit: 2100.058298214286 +2025-03-10 13:14:27,617 - INFO - CLOSED long at 2065.7 | PnL: -0.16% | $-0.46 +2025-03-10 13:14:27,618 - INFO - OPENED SHORT at 2065.7 | Stop loss: 2076.044032142857 | Take profit: 2034.691201785714 +2025-03-10 13:14:27,687 - INFO - CLOSED short at 2066.09 | PnL: -0.02% | $-0.21 +2025-03-10 13:14:27,687 - INFO - OPENED LONG at 2066.09 | Stop loss: 2055.744017857143 | Take profit: 2097.1046482142856 +2025-03-10 13:14:27,803 - INFO - CLOSED long at 2065.06 | PnL: -0.05% | $-0.26 +2025-03-10 13:14:27,803 - INFO - OPENED SHORT at 2065.06 | Stop loss: 2075.4008321428573 | Take profit: 2034.0608017857141 +2025-03-10 13:14:27,845 - INFO - CLOSED short at 2064.5 | PnL: 0.03% | $-0.13 +2025-03-10 13:14:27,845 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.161967857143 | Take profit: 2095.490798214286 +2025-03-10 13:14:28,034 - INFO - STOP LOSS hit for long at 2054.161967857143 | PnL: -0.50% | $-1.05 +2025-03-10 13:14:28,057 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.9484178571429 | Take profit: 2079.971448214286 +2025-03-10 13:14:28,147 - INFO - CLOSED long at 2056.85 | PnL: 0.37% | $0.47 +2025-03-10 13:14:28,170 - INFO - OPENED LONG at 2057.11 | Stop loss: 2046.808917857143 | Take profit: 2087.989948214286 +2025-03-10 13:14:28,832 - INFO - CLOSED long at 2072.99 | PnL: 0.77% | $1.17 +2025-03-10 13:14:28,833 - INFO - OPENED SHORT at 2072.99 | Stop loss: 2083.370482142857 | Take profit: 2041.871851785714 +2025-03-10 13:14:28,860 - INFO - CLOSED short at 2071.89 | PnL: 0.05% | $-0.08 +2025-03-10 13:14:28,862 - INFO - OPENED LONG at 2071.89 | Stop loss: 2061.5150178571425 | Take profit: 2102.9916482142853 +2025-03-10 13:14:29,014 - INFO - CLOSED long at 2090.49 | PnL: 0.90% | $1.41 +2025-03-10 13:14:29,043 - INFO - OPENED LONG at 2103.02 | Stop loss: 2092.489367857143 | Take profit: 2134.5885982142854 +2025-03-10 13:14:29,106 - INFO - TAKE PROFIT hit for long at 2134.5885982142854 | PnL: 1.50% | $2.51 +2025-03-10 13:14:29,130 - INFO - OPENED LONG at 2131.78 | Stop loss: 2121.105567857143 | Take profit: 2163.7799982142856 +2025-03-10 13:14:29,391 - INFO - STOP LOSS hit for long at 2121.105567857143 | PnL: -0.50% | $-1.11 +2025-03-10 13:14:29,422 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.533717857143 | Take profit: 2151.9755482142855 +2025-03-10 13:14:29,448 - INFO - CLOSED long at 2117.24 | PnL: -0.14% | $-0.43 +2025-03-10 13:14:29,449 - INFO - OPENED SHORT at 2117.24 | Stop loss: 2127.841732142857 | Take profit: 2085.458101785714 +2025-03-10 13:14:29,479 - INFO - CLOSED short at 2119.93 | PnL: -0.13% | $-0.41 +2025-03-10 13:14:29,480 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.3148178571428 | Take profit: 2151.752248214286 +2025-03-10 13:14:29,660 - INFO - STOP LOSS hit for long at 2109.3148178571428 | PnL: -0.50% | $-1.08 +2025-03-10 13:14:29,687 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.0314678571426 | Take profit: 2142.282298214285 +2025-03-10 13:14:30,158 - INFO - STOP LOSS hit for long at 2100.0314678571426 | PnL: -0.50% | $-1.07 +2025-03-10 13:14:30,192 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.016817857143 | Take profit: 2131.046248214286 +2025-03-10 13:14:30,278 - INFO - CLOSED long at 2099.25 | PnL: -0.01% | $-0.20 +2025-03-10 13:14:30,278 - INFO - OPENED SHORT at 2099.25 | Stop loss: 2109.761782142857 | Take profit: 2067.7379517857144 +2025-03-10 13:14:30,300 - INFO - CLOSED short at 2098.9 | PnL: 0.02% | $-0.15 +2025-03-10 13:14:30,300 - INFO - OPENED LONG at 2098.9 | Stop loss: 2088.389967857143 | Take profit: 2130.4067982142856 +2025-03-10 13:14:30,380 - INFO - CLOSED long at 2100.74 | PnL: 0.09% | $-0.02 +2025-03-10 13:14:30,381 - INFO - OPENED SHORT at 2100.74 | Stop loss: 2111.259232142857 | Take profit: 2069.205601785714 +2025-03-10 13:14:30,415 - INFO - CLOSED short at 2103.86 | PnL: -0.15% | $-0.44 +2025-03-10 13:14:30,416 - INFO - OPENED LONG at 2103.86 | Stop loss: 2093.3251678571432 | Take profit: 2135.4411982142856 +2025-03-10 13:14:30,664 - INFO - STOP LOSS hit for long at 2093.3251678571432 | PnL: -0.50% | $-1.05 +2025-03-10 13:14:30,687 - INFO - OPENED LONG at 2091.1 | Stop loss: 2080.628967857143 | Take profit: 2122.4897982142857 +2025-03-10 13:14:30,903 - INFO - CLOSED long at 2081.49 | PnL: -0.46% | $-0.96 +2025-03-10 13:14:30,939 - INFO - OPENED LONG at 2080.38 | Stop loss: 2069.962567857143 | Take profit: 2111.6089982142857 +2025-03-10 13:14:31,420 - INFO - CLOSED long at 2089.79 | PnL: 0.45% | $0.60 +2025-03-10 13:14:31,482 - INFO - OPENED SHORT at 2091.05 | Stop loss: 2101.520782142857 | Take profit: 2059.6609517857146 +2025-03-10 13:14:31,511 - INFO - CLOSED short at 2091.05 | PnL: 0.00% | $-0.17 +2025-03-10 13:14:31,511 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.579217857143 | Take profit: 2122.4390482142862 +2025-03-10 13:14:31,571 - INFO - CLOSED long at 2097.8 | PnL: 0.32% | $0.38 +2025-03-10 13:14:31,572 - INFO - OPENED SHORT at 2097.8 | Stop loss: 2108.3045321428576 | Take profit: 2066.3097017857144 +2025-03-10 13:14:31,611 - INFO - CLOSED short at 2099.99 | PnL: -0.10% | $-0.35 +2025-03-10 13:14:31,612 - INFO - OPENED LONG at 2099.99 | Stop loss: 2089.4745178571425 | Take profit: 2131.513148214285 +2025-03-10 13:14:31,775 - INFO - CLOSED long at 2100.89 | PnL: 0.04% | $-0.10 +2025-03-10 13:14:31,775 - INFO - OPENED SHORT at 2100.89 | Stop loss: 2111.409982142857 | Take profit: 2069.353351785714 +2025-03-10 13:14:31,817 - INFO - CLOSED short at 2106.15 | PnL: -0.25% | $-0.60 +2025-03-10 13:14:31,842 - INFO - OPENED LONG at 2103.48 | Stop loss: 2092.947067857143 | Take profit: 2135.0554982142858 +2025-03-10 13:14:31,896 - INFO - CLOSED long at 2103.07 | PnL: -0.02% | $-0.20 +2025-03-10 13:14:31,925 - INFO - OPENED LONG at 2101.5 | Stop loss: 2090.976967857143 | Take profit: 2133.0457982142857 +2025-03-10 13:14:32,053 - INFO - CLOSED long at 2104.4 | PnL: 0.14% | $0.06 +2025-03-10 13:14:32,053 - INFO - OPENED SHORT at 2104.4 | Stop loss: 2114.9375321428574 | Take profit: 2072.8107017857146 +2025-03-10 13:14:32,091 - INFO - Trade Analysis: Win Rate=6.7% in uptrends, 0.0% in downtrends | Avg Win=$0.42, Avg Loss=$-0.35 +2025-03-10 13:14:32,091 - INFO - Episode 14: Reward=106.44, Balance=$85.42, Win Rate=23.3%, Trades=86, Episode PnL=$-12.22, Total PnL=$-317.53, Max Drawdown=14.9%, Pred Accuracy=99.9% +2025-03-10 13:14:32,091 - ERROR - Error in episode 14: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:14:32,094 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1812, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:14:32,114 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:14:32,381 - INFO - OPENED LONG at 2046.58 | Stop loss: 2036.3315678571428 | Take profit: 2077.3019982142855 +2025-03-10 13:14:32,399 - INFO - CLOSED long at 2047.4 | PnL: 0.04% | $-0.12 +2025-03-10 13:14:32,424 - INFO - OPENED LONG at 2047.2 | Stop loss: 2036.9484678571428 | Take profit: 2077.931298214286 +2025-03-10 13:14:32,777 - INFO - CLOSED long at 2052.3 | PnL: 0.25% | $0.30 +2025-03-10 13:14:32,802 - INFO - OPENED LONG at 2055.69 | Stop loss: 2045.396017857143 | Take profit: 2086.5486482142855 +2025-03-10 13:14:32,822 - INFO - CLOSED long at 2057.01 | PnL: 0.06% | $-0.07 +2025-03-10 13:14:32,822 - INFO - OPENED SHORT at 2057.01 | Stop loss: 2067.3105821428576 | Take profit: 2026.1315517857145 +2025-03-10 13:14:32,850 - INFO - CLOSED short at 2056.89 | PnL: 0.01% | $-0.19 +2025-03-10 13:14:32,850 - INFO - OPENED LONG at 2056.89 | Stop loss: 2046.5900178571426 | Take profit: 2087.766648214286 +2025-03-10 13:14:32,960 - INFO - CLOSED long at 2063.29 | PnL: 0.31% | $0.42 +2025-03-10 13:14:32,984 - INFO - OPENED LONG at 2064.61 | Stop loss: 2054.2714178571428 | Take profit: 2095.602448214286 +2025-03-10 13:14:33,081 - INFO - CLOSED long at 2064.69 | PnL: 0.00% | $-0.19 +2025-03-10 13:14:33,124 - INFO - OPENED LONG at 2063.01 | Stop loss: 2052.679417857143 | Take profit: 2093.978448214286 +2025-03-10 13:14:33,295 - INFO - CLOSED long at 2059.49 | PnL: -0.17% | $-0.54 +2025-03-10 13:14:33,295 - INFO - OPENED SHORT at 2059.49 | Stop loss: 2069.8029821428568 | Take profit: 2028.574351785714 +2025-03-10 13:14:33,316 - INFO - CLOSED short at 2057.8 | PnL: 0.08% | $-0.04 +2025-03-10 13:14:33,316 - INFO - OPENED LONG at 2057.8 | Stop loss: 2047.495467857143 | Take profit: 2088.6902982142856 +2025-03-10 13:14:33,590 - INFO - CLOSED long at 2070.58 | PnL: 0.62% | $1.03 +2025-03-10 13:14:33,590 - INFO - OPENED SHORT at 2070.58 | Stop loss: 2080.948432142857 | Take profit: 2039.4980017857142 +2025-03-10 13:14:33,621 - INFO - CLOSED short at 2068.11 | PnL: 0.12% | $0.04 +2025-03-10 13:14:33,622 - INFO - OPENED LONG at 2068.11 | Stop loss: 2057.753917857143 | Take profit: 2099.154948214286 +2025-03-10 13:14:33,829 - INFO - CLOSED long at 2068.99 | PnL: 0.04% | $-0.11 +2025-03-10 13:14:33,857 - INFO - OPENED LONG at 2067.9 | Stop loss: 2057.544967857143 | Take profit: 2098.941798214286 +2025-03-10 13:14:33,929 - INFO - CLOSED long at 2071.44 | PnL: 0.17% | $0.14 +2025-03-10 13:14:33,955 - INFO - OPENED LONG at 2073.73 | Stop loss: 2063.3458178571427 | Take profit: 2104.859248214286 +2025-03-10 13:14:34,455 - INFO - CLOSED long at 2067.6 | PnL: -0.30% | $-0.79 +2025-03-10 13:14:34,476 - INFO - OPENED LONG at 2067.51 | Stop loss: 2057.156917857143 | Take profit: 2098.5459482142855 +2025-03-10 13:14:34,712 - INFO - CLOSED long at 2068.76 | PnL: 0.06% | $-0.08 +2025-03-10 13:14:34,788 - INFO - OPENED LONG at 2068.51 | Stop loss: 2058.151917857143 | Take profit: 2099.560948214286 +2025-03-10 13:14:34,962 - INFO - CLOSED long at 2073.11 | PnL: 0.22% | $0.24 +2025-03-10 13:14:34,985 - INFO - OPENED LONG at 2072.7 | Stop loss: 2062.3209678571425 | Take profit: 2103.8137982142857 +2025-03-10 13:14:35,499 - INFO - CLOSED long at 2068.8 | PnL: -0.19% | $-0.57 +2025-03-10 13:14:35,539 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.977767857143 | Take profit: 2100.4033982142855 +2025-03-10 13:14:35,694 - INFO - CLOSED long at 2070.7 | PnL: 0.07% | $-0.07 +2025-03-10 13:14:35,694 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.069032142857 | Take profit: 2039.6162017857139 +2025-03-10 13:14:35,720 - INFO - CLOSED short at 2070.4 | PnL: 0.01% | $-0.17 +2025-03-10 13:14:35,720 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.032467857143 | Take profit: 2101.479298214286 +2025-03-10 13:14:35,761 - INFO - CLOSED long at 2068.5 | PnL: -0.09% | $-0.38 +2025-03-10 13:14:35,762 - INFO - OPENED SHORT at 2068.5 | Stop loss: 2078.858032142857 | Take profit: 2037.4492017857142 +2025-03-10 13:14:35,788 - INFO - CLOSED short at 2068.69 | PnL: -0.01% | $-0.21 +2025-03-10 13:14:35,788 - INFO - OPENED LONG at 2068.69 | Stop loss: 2058.331017857143 | Take profit: 2099.7436482142857 +2025-03-10 13:14:35,849 - INFO - CLOSED long at 2067.11 | PnL: -0.08% | $-0.35 +2025-03-10 13:14:35,849 - INFO - OPENED SHORT at 2067.11 | Stop loss: 2077.4610821428573 | Take profit: 2036.0800517857144 +2025-03-10 13:14:35,886 - INFO - CLOSED short at 2067.86 | PnL: -0.04% | $-0.27 +2025-03-10 13:14:35,886 - INFO - OPENED LONG at 2067.86 | Stop loss: 2057.505167857143 | Take profit: 2098.9011982142856 +2025-03-10 13:14:36,944 - INFO - CLOSED long at 2064.7 | PnL: -0.15% | $-0.49 +2025-03-10 13:14:36,944 - INFO - OPENED SHORT at 2064.7 | Stop loss: 2075.039032142857 | Take profit: 2033.706201785714 +2025-03-10 13:14:36,969 - INFO - CLOSED short at 2062.61 | PnL: 0.10% | $0.00 +2025-03-10 13:14:36,970 - INFO - OPENED LONG at 2062.61 | Stop loss: 2052.281417857143 | Take profit: 2093.572448214286 +2025-03-10 13:14:36,992 - INFO - CLOSED long at 2060.91 | PnL: -0.08% | $-0.35 +2025-03-10 13:14:37,086 - INFO - OPENED LONG at 2061.13 | Stop loss: 2050.808817857143 | Take profit: 2092.0702482142856 +2025-03-10 13:14:37,158 - INFO - CLOSED long at 2064.1 | PnL: 0.14% | $0.09 +2025-03-10 13:14:37,197 - INFO - OPENED LONG at 2065.36 | Stop loss: 2055.017667857143 | Take profit: 2096.363698214286 +2025-03-10 13:14:37,329 - INFO - CLOSED long at 2063.0 | PnL: -0.11% | $-0.41 +2025-03-10 13:14:37,410 - INFO - OPENED LONG at 2061.7 | Stop loss: 2051.3759678571428 | Take profit: 2092.6487982142853 +2025-03-10 13:14:38,044 - INFO - CLOSED long at 2066.36 | PnL: 0.23% | $0.24 +2025-03-10 13:14:38,071 - INFO - OPENED LONG at 2066.01 | Stop loss: 2055.664417857143 | Take profit: 2097.023448214286 +2025-03-10 13:14:38,159 - INFO - CLOSED long at 2066.34 | PnL: 0.02% | $-0.16 +2025-03-10 13:14:38,159 - INFO - OPENED SHORT at 2066.34 | Stop loss: 2076.6872321428573 | Take profit: 2035.3216017857144 +2025-03-10 13:14:38,179 - INFO - CLOSED short at 2066.79 | PnL: -0.02% | $-0.23 +2025-03-10 13:14:38,180 - INFO - OPENED LONG at 2066.79 | Stop loss: 2056.440517857143 | Take profit: 2097.8151482142853 +2025-03-10 13:14:38,412 - INFO - CLOSED long at 2075.01 | PnL: 0.40% | $0.57 +2025-03-10 13:14:38,413 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.4005821428573 | Take profit: 2043.8615517857145 +2025-03-10 13:14:38,447 - INFO - CLOSED short at 2071.04 | PnL: 0.19% | $0.18 +2025-03-10 13:14:38,449 - INFO - OPENED LONG at 2071.04 | Stop loss: 2060.669267857143 | Take profit: 2102.1288982142855 +2025-03-10 13:14:38,466 - INFO - CLOSED long at 2070.01 | PnL: -0.05% | $-0.29 +2025-03-10 13:14:38,466 - INFO - OPENED SHORT at 2070.01 | Stop loss: 2080.375582142857 | Take profit: 2038.9365517857145 +2025-03-10 13:14:38,490 - INFO - CLOSED short at 2071.6 | PnL: -0.08% | $-0.34 +2025-03-10 13:14:38,490 - INFO - OPENED LONG at 2071.6 | Stop loss: 2061.226467857143 | Take profit: 2102.6972982142856 +2025-03-10 13:14:38,732 - INFO - CLOSED long at 2071.49 | PnL: -0.01% | $-0.20 +2025-03-10 13:14:38,734 - INFO - OPENED SHORT at 2071.49 | Stop loss: 2081.8629821428567 | Take profit: 2040.394351785714 +2025-03-10 13:14:38,792 - INFO - CLOSED short at 2067.33 | PnL: 0.20% | $0.19 +2025-03-10 13:14:38,792 - INFO - OPENED LONG at 2067.33 | Stop loss: 2056.977817857143 | Take profit: 2098.3632482142857 +2025-03-10 13:14:38,908 - INFO - CLOSED long at 2064.5 | PnL: -0.14% | $-0.46 +2025-03-10 13:14:38,950 - INFO - OPENED LONG at 2064.4 | Stop loss: 2054.062467857143 | Take profit: 2095.3892982142856 +2025-03-10 13:14:39,058 - INFO - CLOSED long at 2065.29 | PnL: 0.04% | $-0.11 +2025-03-10 13:14:39,058 - INFO - OPENED SHORT at 2065.29 | Stop loss: 2075.631982142857 | Take profit: 2034.2873517857145 +2025-03-10 13:14:39,092 - INFO - CLOSED short at 2065.31 | PnL: -0.00% | $-0.19 +2025-03-10 13:14:39,093 - INFO - OPENED LONG at 2065.31 | Stop loss: 2054.9679178571428 | Take profit: 2096.3129482142854 +2025-03-10 13:14:39,257 - INFO - CLOSED long at 2071.35 | PnL: 0.29% | $0.37 +2025-03-10 13:14:39,281 - INFO - OPENED LONG at 2070.9 | Stop loss: 2060.529967857143 | Take profit: 2101.986798214286 +2025-03-10 13:14:39,679 - INFO - CLOSED long at 2073.99 | PnL: 0.15% | $0.09 +2025-03-10 13:14:39,701 - INFO - OPENED LONG at 2075.32 | Stop loss: 2064.927867857143 | Take profit: 2106.473098214286 +2025-03-10 13:14:39,723 - INFO - CLOSED long at 2075.29 | PnL: -0.00% | $-0.19 +2025-03-10 13:14:39,741 - INFO - OPENED LONG at 2076.9 | Stop loss: 2066.499967857143 | Take profit: 2108.0767982142856 +2025-03-10 13:14:39,846 - INFO - CLOSED long at 2069.97 | PnL: -0.33% | $-0.83 +2025-03-10 13:14:39,848 - INFO - OPENED SHORT at 2069.97 | Stop loss: 2080.335382142857 | Take profit: 2038.897151785714 +2025-03-10 13:14:39,880 - INFO - CLOSED short at 2067.7 | PnL: 0.11% | $0.02 +2025-03-10 13:14:39,922 - INFO - OPENED LONG at 2067.0 | Stop loss: 2056.649467857143 | Take profit: 2098.0282982142858 +2025-03-10 13:14:39,986 - INFO - CLOSED long at 2066.4 | PnL: -0.03% | $-0.24 +2025-03-10 13:14:40,008 - INFO - OPENED LONG at 2066.89 | Stop loss: 2056.5400178571426 | Take profit: 2097.9166482142855 +2025-03-10 13:14:40,086 - INFO - CLOSED long at 2069.0 | PnL: 0.10% | $0.00 +2025-03-10 13:14:40,086 - INFO - OPENED SHORT at 2069.0 | Stop loss: 2079.360532142857 | Take profit: 2037.9417017857143 +2025-03-10 13:14:40,116 - INFO - CLOSED short at 2070.19 | PnL: -0.06% | $-0.30 +2025-03-10 13:14:40,116 - INFO - OPENED LONG at 2070.19 | Stop loss: 2059.8235178571426 | Take profit: 2101.2661482142857 +2025-03-10 13:14:40,135 - INFO - CLOSED long at 2070.1 | PnL: -0.00% | $-0.20 +2025-03-10 13:14:40,135 - INFO - OPENED SHORT at 2070.1 | Stop loss: 2080.466032142857 | Take profit: 2039.0252017857142 +2025-03-10 13:14:40,158 - INFO - CLOSED short at 2067.19 | PnL: 0.14% | $0.08 +2025-03-10 13:14:40,158 - INFO - OPENED LONG at 2067.19 | Stop loss: 2056.838517857143 | Take profit: 2098.2211482142857 +2025-03-10 13:14:40,208 - INFO - CLOSED long at 2065.7 | PnL: -0.07% | $-0.32 +2025-03-10 13:14:40,241 - INFO - OPENED LONG at 2065.8 | Stop loss: 2055.455467857143 | Take profit: 2096.810298214286 +2025-03-10 13:14:40,336 - INFO - CLOSED long at 2063.39 | PnL: -0.12% | $-0.41 +2025-03-10 13:14:40,365 - INFO - OPENED LONG at 2062.34 | Stop loss: 2052.012767857143 | Take profit: 2093.2983982142855 +2025-03-10 13:14:40,507 - INFO - CLOSED long at 2063.01 | PnL: 0.03% | $-0.13 +2025-03-10 13:14:40,508 - INFO - OPENED SHORT at 2063.01 | Stop loss: 2073.3405821428573 | Take profit: 2032.0415517857145 +2025-03-10 13:14:40,528 - INFO - CLOSED short at 2060.7 | PnL: 0.11% | $0.02 +2025-03-10 13:14:40,528 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3809678571424 | Take profit: 2091.633798214286 +2025-03-10 13:14:40,690 - INFO - STOP LOSS hit for long at 2050.3809678571424 | PnL: -0.50% | $-1.12 +2025-03-10 13:14:40,723 - INFO - OPENED LONG at 2049.5 | Stop loss: 2039.2369678571429 | Take profit: 2080.2657982142855 +2025-03-10 13:14:40,793 - INFO - CLOSED long at 2056.85 | PnL: 0.36% | $0.48 +2025-03-10 13:14:40,803 - INFO - OPENED SHORT at 2056.85 | Stop loss: 2067.149782142857 | Take profit: 2025.9739517857142 +2025-03-10 13:14:40,824 - INFO - CLOSED short at 2057.11 | PnL: -0.01% | $-0.21 +2025-03-10 13:14:40,824 - INFO - OPENED LONG at 2057.11 | Stop loss: 2046.808917857143 | Take profit: 2087.989948214286 +2025-03-10 13:14:40,883 - INFO - CLOSED long at 2063.9 | PnL: 0.33% | $0.43 +2025-03-10 13:14:40,883 - INFO - OPENED SHORT at 2063.9 | Stop loss: 2074.235032142857 | Take profit: 2032.9182017857145 +2025-03-10 13:14:40,899 - INFO - CLOSED short at 2065.1 | PnL: -0.06% | $-0.29 +2025-03-10 13:14:40,899 - INFO - OPENED LONG at 2065.1 | Stop loss: 2054.758967857143 | Take profit: 2096.099798214286 +2025-03-10 13:14:41,096 - INFO - CLOSED long at 2061.21 | PnL: -0.19% | $-0.53 +2025-03-10 13:14:41,098 - INFO - OPENED SHORT at 2061.21 | Stop loss: 2071.531582142857 | Take profit: 2030.2685517857142 +2025-03-10 13:14:41,164 - INFO - CLOSED short at 2060.7 | PnL: 0.02% | $-0.14 +2025-03-10 13:14:41,164 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3809678571424 | Take profit: 2091.633798214286 +2025-03-10 13:14:41,214 - INFO - CLOSED long at 2062.54 | PnL: 0.09% | $-0.02 +2025-03-10 13:14:41,214 - INFO - OPENED SHORT at 2062.54 | Stop loss: 2072.868232142857 | Take profit: 2031.5786017857142 +2025-03-10 13:14:41,239 - INFO - CLOSED short at 2065.72 | PnL: -0.15% | $-0.47 +2025-03-10 13:14:41,239 - INFO - OPENED LONG at 2065.72 | Stop loss: 2055.3758678571426 | Take profit: 2096.729098214286 +2025-03-10 13:14:41,340 - INFO - CLOSED long at 2070.41 | PnL: 0.23% | $0.23 +2025-03-10 13:14:41,340 - INFO - OPENED SHORT at 2070.41 | Stop loss: 2080.777582142857 | Take profit: 2039.3305517857143 +2025-03-10 13:14:41,361 - INFO - CLOSED short at 2073.49 | PnL: -0.15% | $-0.46 +2025-03-10 13:14:41,363 - INFO - OPENED LONG at 2073.49 | Stop loss: 2063.1070178571426 | Take profit: 2104.6156482142856 +2025-03-10 13:14:41,457 - INFO - CLOSED long at 2071.89 | PnL: -0.08% | $-0.32 +2025-03-10 13:14:41,504 - INFO - OPENED LONG at 2071.8 | Stop loss: 2061.4254678571433 | Take profit: 2102.9002982142856 +2025-03-10 13:14:41,646 - INFO - TAKE PROFIT hit for long at 2102.9002982142856 | PnL: 1.50% | $2.55 +2025-03-10 13:14:41,690 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.826767857143 | Take profit: 2171.6563982142857 +2025-03-10 13:14:41,741 - INFO - CLOSED long at 2137.59 | PnL: -0.09% | $-0.36 +2025-03-10 13:14:41,749 - INFO - OPENED SHORT at 2137.59 | Stop loss: 2148.2934821428576 | Take profit: 2105.5028517857145 +2025-03-10 13:14:41,769 - INFO - CLOSED short at 2141.41 | PnL: -0.18% | $-0.52 +2025-03-10 13:14:41,769 - INFO - OPENED LONG at 2141.41 | Stop loss: 2130.6874178571425 | Take profit: 2173.5544482142855 +2025-03-10 13:14:41,882 - INFO - CLOSED long at 2134.78 | PnL: -0.31% | $-0.76 +2025-03-10 13:14:41,927 - INFO - OPENED SHORT at 2126.99 | Stop loss: 2137.640482142857 | Take profit: 2095.061851785714 +2025-03-10 13:14:41,963 - INFO - CLOSED short at 2127.3 | PnL: -0.01% | $-0.21 +2025-03-10 13:14:41,964 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.647967857143 | Take profit: 2159.2327982142856 +2025-03-10 13:14:42,098 - INFO - CLOSED long at 2118.52 | PnL: -0.41% | $-0.94 +2025-03-10 13:14:42,098 - INFO - OPENED SHORT at 2118.52 | Stop loss: 2129.128132142857 | Take profit: 2086.7189017857145 +2025-03-10 13:14:42,141 - INFO - CLOSED short at 2119.07 | PnL: -0.03% | $-0.23 +2025-03-10 13:14:42,141 - INFO - OPENED LONG at 2119.07 | Stop loss: 2108.459117857143 | Take profit: 2150.8793482142855 +2025-03-10 13:14:42,180 - INFO - STOP LOSS hit for long at 2108.459117857143 | PnL: -0.50% | $-1.09 +2025-03-10 13:14:42,220 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.0314678571426 | Take profit: 2142.282298214285 +2025-03-10 13:14:42,251 - INFO - CLOSED long at 2109.05 | PnL: -0.07% | $-0.31 +2025-03-10 13:14:42,251 - INFO - OPENED SHORT at 2109.05 | Stop loss: 2119.6107821428577 | Take profit: 2077.3909517857146 +2025-03-10 13:14:42,288 - INFO - CLOSED short at 2112.09 | PnL: -0.14% | $-0.43 +2025-03-10 13:14:42,288 - INFO - OPENED LONG at 2112.09 | Stop loss: 2101.514017857143 | Take profit: 2143.794648214286 +2025-03-10 13:14:42,463 - INFO - CLOSED long at 2114.8 | PnL: 0.13% | $0.05 +2025-03-10 13:14:42,488 - INFO - OPENED LONG at 2110.9 | Stop loss: 2100.329967857143 | Take profit: 2142.586798214286 +2025-03-10 13:14:42,649 - INFO - STOP LOSS hit for long at 2100.329967857143 | PnL: -0.50% | $-1.07 +2025-03-10 13:14:42,686 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.016817857143 | Take profit: 2131.046248214286 +2025-03-10 13:14:42,756 - INFO - CLOSED long at 2102.19 | PnL: 0.13% | $0.05 +2025-03-10 13:14:42,756 - INFO - OPENED SHORT at 2102.19 | Stop loss: 2112.716482142857 | Take profit: 2070.6338517857143 +2025-03-10 13:14:42,809 - INFO - CLOSED short at 2099.25 | PnL: 0.14% | $0.07 +2025-03-10 13:14:42,811 - INFO - OPENED LONG at 2099.25 | Stop loss: 2088.738217857143 | Take profit: 2130.7620482142856 +2025-03-10 13:14:42,885 - INFO - CLOSED long at 2106.39 | PnL: 0.34% | $0.42 +2025-03-10 13:14:42,909 - INFO - OPENED LONG at 2100.74 | Stop loss: 2090.2207678571426 | Take profit: 2132.2743982142856 +2025-03-10 13:14:43,191 - INFO - CLOSED long at 2091.1 | PnL: -0.46% | $-0.99 +2025-03-10 13:14:43,214 - INFO - OPENED LONG at 2094.72 | Stop loss: 2084.2308678571426 | Take profit: 2126.1640982142853 +2025-03-10 13:14:43,234 - INFO - CLOSED long at 2094.08 | PnL: -0.03% | $-0.23 +2025-03-10 13:14:43,234 - INFO - OPENED SHORT at 2094.08 | Stop loss: 2104.565932142857 | Take profit: 2062.6455017857143 +2025-03-10 13:14:43,253 - INFO - CLOSED short at 2088.35 | PnL: 0.27% | $0.30 +2025-03-10 13:14:43,253 - INFO - OPENED LONG at 2088.35 | Stop loss: 2077.8927178571425 | Take profit: 2119.6985482142854 +2025-03-10 13:14:43,333 - INFO - CLOSED long at 2085.3 | PnL: -0.15% | $-0.43 +2025-03-10 13:14:43,358 - INFO - OPENED LONG at 2082.44 | Stop loss: 2072.012267857143 | Take profit: 2113.699898214286 +2025-03-10 13:14:43,497 - INFO - CLOSED long at 2086.57 | PnL: 0.20% | $0.17 +2025-03-10 13:14:43,503 - INFO - OPENED SHORT at 2086.57 | Stop loss: 2097.0183821428573 | Take profit: 2055.2481517857145 +2025-03-10 13:14:43,546 - INFO - CLOSED short at 2084.72 | PnL: 0.09% | $-0.02 +2025-03-10 13:14:43,546 - INFO - OPENED LONG at 2084.72 | Stop loss: 2074.2808678571428 | Take profit: 2116.0140982142852 +2025-03-10 13:14:44,249 - INFO - CLOSED long at 2105.83 | PnL: 1.01% | $1.59 +2025-03-10 13:14:44,249 - INFO - OPENED SHORT at 2105.83 | Stop loss: 2116.3746821428567 | Take profit: 2074.2192517857143 +2025-03-10 13:14:44,271 - INFO - CLOSED short at 2103.64 | PnL: 0.10% | $0.01 +2025-03-10 13:14:44,272 - INFO - OPENED LONG at 2103.64 | Stop loss: 2093.1062678571425 | Take profit: 2135.2178982142855 +2025-03-10 13:14:44,355 - INFO - Trade Analysis: Win Rate=31.2% in uptrends, 0.0% in downtrends | Avg Win=$0.35, Avg Loss=$-0.36 +2025-03-10 13:14:44,356 - INFO - Episode 15: Reward=124.50, Balance=$89.22, Win Rate=34.1%, Trades=88, Episode PnL=$-9.13, Total PnL=$-328.31, Max Drawdown=13.1%, Pred Accuracy=99.7% +2025-03-10 13:14:44,356 - ERROR - Error in episode 15: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:14:44,357 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1812, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:14:44,379 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:14:44,559 - INFO - OPENED LONG at 2046.58 | Stop loss: 2036.3315678571428 | Take profit: 2077.3019982142855 +2025-03-10 13:14:44,575 - INFO - CLOSED long at 2047.4 | PnL: 0.04% | $-0.12 +2025-03-10 13:14:44,575 - INFO - OPENED SHORT at 2047.4 | Stop loss: 2057.652532142857 | Take profit: 2016.6657017857144 +2025-03-10 13:14:44,602 - INFO - CLOSED short at 2047.2 | PnL: 0.01% | $-0.18 +2025-03-10 13:14:44,602 - INFO - OPENED LONG at 2047.2 | Stop loss: 2036.9484678571428 | Take profit: 2077.931298214286 +2025-03-10 13:14:44,816 - INFO - CLOSED long at 2051.89 | PnL: 0.23% | $0.26 +2025-03-10 13:14:44,842 - INFO - OPENED LONG at 2052.3 | Stop loss: 2042.022967857143 | Take profit: 2083.107798214286 +2025-03-10 13:14:45,533 - INFO - CLOSED long at 2071.63 | PnL: 0.94% | $1.67 +2025-03-10 13:14:45,555 - INFO - OPENED LONG at 2070.99 | Stop loss: 2060.6195178571425 | Take profit: 2102.0781482142856 +2025-03-10 13:14:45,835 - INFO - CLOSED long at 2072.91 | PnL: 0.09% | $-0.01 +2025-03-10 13:14:45,838 - INFO - OPENED SHORT at 2072.91 | Stop loss: 2083.290082142857 | Take profit: 2041.793051785714 +2025-03-10 13:14:45,867 - INFO - CLOSED short at 2072.33 | PnL: 0.03% | $-0.15 +2025-03-10 13:14:45,868 - INFO - OPENED LONG at 2072.33 | Stop loss: 2061.9528178571427 | Take profit: 2103.4382482142855 +2025-03-10 13:14:45,930 - INFO - CLOSED long at 2071.41 | PnL: -0.04% | $-0.29 +2025-03-10 13:14:45,930 - INFO - OPENED SHORT at 2071.41 | Stop loss: 2081.782582142857 | Take profit: 2040.3155517857142 +2025-03-10 13:14:45,962 - INFO - CLOSED short at 2069.37 | PnL: 0.10% | $-0.00 +2025-03-10 13:14:45,962 - INFO - OPENED LONG at 2069.37 | Stop loss: 2059.0076178571426 | Take profit: 2100.4338482142857 +2025-03-10 13:14:46,078 - INFO - CLOSED long at 2070.28 | PnL: 0.04% | $-0.11 +2025-03-10 13:14:46,078 - INFO - OPENED SHORT at 2070.28 | Stop loss: 2080.646932142857 | Take profit: 2039.2025017857145 +2025-03-10 13:14:46,108 - INFO - CLOSED short at 2068.02 | PnL: 0.11% | $0.02 +2025-03-10 13:14:46,109 - INFO - OPENED LONG at 2068.02 | Stop loss: 2057.6643678571427 | Take profit: 2099.063598214286 +2025-03-10 13:14:46,171 - INFO - CLOSED long at 2070.36 | PnL: 0.11% | $0.03 +2025-03-10 13:14:46,208 - INFO - OPENED LONG at 2068.9 | Stop loss: 2058.539967857143 | Take profit: 2099.956798214286 +2025-03-10 13:14:46,281 - INFO - CLOSED long at 2069.19 | PnL: 0.01% | $-0.17 +2025-03-10 13:14:46,281 - INFO - OPENED SHORT at 2069.19 | Stop loss: 2079.551482142857 | Take profit: 2038.1288517857145 +2025-03-10 13:14:46,317 - INFO - CLOSED short at 2068.8 | PnL: 0.02% | $-0.16 +2025-03-10 13:14:46,317 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.440467857143 | Take profit: 2099.855298214286 +2025-03-10 13:14:46,558 - INFO - CLOSED long at 2068.76 | PnL: -0.00% | $-0.20 +2025-03-10 13:14:46,559 - INFO - OPENED SHORT at 2068.76 | Stop loss: 2079.1193321428573 | Take profit: 2037.7053017857147 +2025-03-10 13:14:46,605 - INFO - CLOSED short at 2068.51 | PnL: 0.01% | $-0.18 +2025-03-10 13:14:46,605 - INFO - OPENED LONG at 2068.51 | Stop loss: 2058.151917857143 | Take profit: 2099.560948214286 +2025-03-10 13:14:46,626 - INFO - CLOSED long at 2068.59 | PnL: 0.00% | $-0.19 +2025-03-10 13:14:46,627 - INFO - OPENED SHORT at 2068.59 | Stop loss: 2078.9484821428573 | Take profit: 2037.5378517857143 +2025-03-10 13:14:46,650 - INFO - CLOSED short at 2069.7 | PnL: -0.05% | $-0.31 +2025-03-10 13:14:46,651 - INFO - OPENED LONG at 2069.7 | Stop loss: 2059.335967857143 | Take profit: 2100.7687982142857 +2025-03-10 13:14:46,671 - INFO - CLOSED long at 2070.4 | PnL: 0.03% | $-0.13 +2025-03-10 13:14:46,700 - INFO - OPENED LONG at 2069.96 | Stop loss: 2059.594667857143 | Take profit: 2101.0326982142856 +2025-03-10 13:14:46,768 - INFO - CLOSED long at 2071.36 | PnL: 0.07% | $-0.06 +2025-03-10 13:14:46,801 - INFO - OPENED LONG at 2072.75 | Stop loss: 2062.3707178571426 | Take profit: 2103.864548214286 +2025-03-10 13:14:46,893 - INFO - CLOSED long at 2074.29 | PnL: 0.07% | $-0.05 +2025-03-10 13:14:46,893 - INFO - OPENED SHORT at 2074.29 | Stop loss: 2084.676982142857 | Take profit: 2043.1523517857142 +2025-03-10 13:14:46,919 - INFO - CLOSED short at 2073.9 | PnL: 0.02% | $-0.16 +2025-03-10 13:14:46,919 - INFO - OPENED LONG at 2073.9 | Stop loss: 2063.514967857143 | Take profit: 2105.0317982142856 +2025-03-10 13:14:47,022 - INFO - CLOSED long at 2069.35 | PnL: -0.22% | $-0.63 +2025-03-10 13:14:47,059 - INFO - OPENED LONG at 2068.32 | Stop loss: 2057.962867857143 | Take profit: 2099.368098214286 +2025-03-10 13:14:47,102 - INFO - CLOSED long at 2067.0 | PnL: -0.06% | $-0.32 +2025-03-10 13:14:47,180 - INFO - OPENED LONG at 2067.46 | Stop loss: 2057.107167857143 | Take profit: 2098.4951982142857 +2025-03-10 13:14:47,305 - INFO - CLOSED long at 2068.58 | PnL: 0.05% | $-0.09 +2025-03-10 13:14:47,305 - INFO - OPENED SHORT at 2068.58 | Stop loss: 2078.9384321428574 | Take profit: 2037.5280017857142 +2025-03-10 13:14:47,327 - INFO - CLOSED short at 2068.8 | PnL: -0.01% | $-0.22 +2025-03-10 13:14:47,327 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.440467857143 | Take profit: 2099.855298214286 +2025-03-10 13:14:47,385 - INFO - CLOSED long at 2067.59 | PnL: -0.06% | $-0.31 +2025-03-10 13:14:47,422 - INFO - OPENED LONG at 2069.2 | Stop loss: 2058.8384678571424 | Take profit: 2100.2612982142855 +2025-03-10 13:14:47,563 - INFO - CLOSED long at 2070.4 | PnL: 0.06% | $-0.08 +2025-03-10 13:14:47,563 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.7675321428574 | Take profit: 2039.3207017857144 +2025-03-10 13:14:47,595 - INFO - CLOSED short at 2070.73 | PnL: -0.02% | $-0.23 +2025-03-10 13:14:47,642 - INFO - OPENED LONG at 2068.69 | Stop loss: 2058.331017857143 | Take profit: 2099.7436482142857 +2025-03-10 13:14:47,661 - INFO - CLOSED long at 2067.84 | PnL: -0.04% | $-0.27 +2025-03-10 13:14:47,683 - INFO - OPENED LONG at 2067.11 | Stop loss: 2056.758917857143 | Take profit: 2098.139948214286 +2025-03-10 13:14:47,730 - INFO - CLOSED long at 2066.4 | PnL: -0.03% | $-0.26 +2025-03-10 13:14:47,779 - INFO - OPENED LONG at 2065.28 | Stop loss: 2054.9380678571433 | Take profit: 2096.282498214286 +2025-03-10 13:14:47,815 - INFO - CLOSED long at 2066.39 | PnL: 0.05% | $-0.09 +2025-03-10 13:14:47,862 - INFO - OPENED LONG at 2064.47 | Stop loss: 2054.132117857143 | Take profit: 2095.4603482142857 +2025-03-10 13:14:47,899 - INFO - CLOSED long at 2070.04 | PnL: 0.27% | $0.33 +2025-03-10 13:14:47,945 - INFO - OPENED LONG at 2067.8 | Stop loss: 2057.445467857143 | Take profit: 2098.8402982142857 +2025-03-10 13:14:48,152 - INFO - CLOSED long at 2062.89 | PnL: -0.24% | $-0.65 +2025-03-10 13:14:48,152 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.219982142857 | Take profit: 2031.9233517857142 +2025-03-10 13:14:48,176 - INFO - CLOSED short at 2062.65 | PnL: 0.01% | $-0.17 +2025-03-10 13:14:48,176 - INFO - OPENED LONG at 2062.65 | Stop loss: 2052.321217857143 | Take profit: 2093.6130482142858 +2025-03-10 13:14:48,207 - INFO - CLOSED long at 2061.78 | PnL: -0.04% | $-0.27 +2025-03-10 13:14:48,208 - INFO - OPENED SHORT at 2061.78 | Stop loss: 2072.104432142857 | Take profit: 2030.8300017857146 +2025-03-10 13:14:48,254 - INFO - CLOSED short at 2059.59 | PnL: 0.11% | $0.01 +2025-03-10 13:14:48,256 - INFO - OPENED LONG at 2059.59 | Stop loss: 2049.276517857143 | Take profit: 2090.507148214286 +2025-03-10 13:14:48,370 - INFO - CLOSED long at 2064.96 | PnL: 0.26% | $0.31 +2025-03-10 13:14:48,371 - INFO - OPENED SHORT at 2064.96 | Stop loss: 2075.3003321428573 | Take profit: 2033.9623017857143 +2025-03-10 13:14:48,400 - INFO - CLOSED short at 2066.24 | PnL: -0.06% | $-0.31 +2025-03-10 13:14:48,401 - INFO - OPENED LONG at 2066.24 | Stop loss: 2055.8932678571427 | Take profit: 2097.2568982142857 +2025-03-10 13:14:48,570 - INFO - CLOSED long at 2062.71 | PnL: -0.17% | $-0.52 +2025-03-10 13:14:48,604 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.5600178571426 | Take profit: 2093.8566482142855 +2025-03-10 13:14:48,702 - INFO - CLOSED long at 2063.5 | PnL: 0.03% | $-0.13 +2025-03-10 13:14:48,702 - INFO - OPENED SHORT at 2063.5 | Stop loss: 2073.833032142857 | Take profit: 2032.5242017857142 +2025-03-10 13:14:48,748 - INFO - CLOSED short at 2061.6 | PnL: 0.09% | $-0.02 +2025-03-10 13:14:48,748 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.276467857143 | Take profit: 2092.547298214286 +2025-03-10 13:14:48,788 - INFO - CLOSED long at 2060.9 | PnL: -0.03% | $-0.25 +2025-03-10 13:14:48,788 - INFO - OPENED SHORT at 2060.9 | Stop loss: 2071.2200321428572 | Take profit: 2029.9632017857143 +2025-03-10 13:14:48,818 - INFO - CLOSED short at 2060.65 | PnL: 0.01% | $-0.17 +2025-03-10 13:14:48,818 - INFO - OPENED LONG at 2060.65 | Stop loss: 2050.3312178571427 | Take profit: 2091.583048214286 +2025-03-10 13:14:48,843 - INFO - CLOSED long at 2058.89 | PnL: -0.09% | $-0.35 +2025-03-10 13:14:48,921 - INFO - OPENED LONG at 2061.8 | Stop loss: 2051.475467857143 | Take profit: 2092.7502982142855 +2025-03-10 13:14:49,185 - INFO - CLOSED long at 2061.9 | PnL: 0.00% | $-0.18 +2025-03-10 13:14:49,186 - INFO - OPENED SHORT at 2061.9 | Stop loss: 2072.2250321428573 | Take profit: 2030.9482017857144 +2025-03-10 13:14:49,223 - INFO - CLOSED short at 2064.1 | PnL: -0.11% | $-0.39 +2025-03-10 13:14:49,224 - INFO - OPENED LONG at 2064.1 | Stop loss: 2053.7639678571427 | Take profit: 2095.0847982142855 +2025-03-10 13:14:49,341 - INFO - CLOSED long at 2064.79 | PnL: 0.03% | $-0.12 +2025-03-10 13:14:49,342 - INFO - OPENED SHORT at 2064.79 | Stop loss: 2075.1294821428573 | Take profit: 2033.7948517857142 +2025-03-10 13:14:49,370 - INFO - CLOSED short at 2065.89 | PnL: -0.05% | $-0.29 +2025-03-10 13:14:49,370 - INFO - OPENED LONG at 2065.89 | Stop loss: 2055.5450178571427 | Take profit: 2096.9016482142856 +2025-03-10 13:14:49,759 - INFO - CLOSED long at 2059.46 | PnL: -0.31% | $-0.77 +2025-03-10 13:14:49,799 - INFO - OPENED LONG at 2057.4 | Stop loss: 2047.097467857143 | Take profit: 2088.284298214286 +2025-03-10 13:14:49,820 - INFO - CLOSED long at 2058.28 | PnL: 0.04% | $-0.11 +2025-03-10 13:14:49,845 - INFO - OPENED LONG at 2056.28 | Stop loss: 2045.9830678571432 | Take profit: 2087.147498214286 +2025-03-10 13:14:49,932 - INFO - CLOSED long at 2056.71 | PnL: 0.02% | $-0.15 +2025-03-10 13:14:49,932 - INFO - OPENED SHORT at 2056.71 | Stop loss: 2067.0090821428576 | Take profit: 2025.8360517857145 +2025-03-10 13:14:49,956 - INFO - CLOSED short at 2058.15 | PnL: -0.07% | $-0.31 +2025-03-10 13:14:49,956 - INFO - OPENED LONG at 2058.15 | Stop loss: 2047.843717857143 | Take profit: 2089.045548214286 +2025-03-10 13:14:50,723 - INFO - CLOSED long at 2071.6 | PnL: 0.65% | $1.02 +2025-03-10 13:14:50,723 - INFO - OPENED SHORT at 2071.6 | Stop loss: 2081.973532142857 | Take profit: 2040.5027017857142 +2025-03-10 13:14:50,748 - INFO - CLOSED short at 2073.23 | PnL: -0.08% | $-0.33 +2025-03-10 13:14:50,749 - INFO - OPENED LONG at 2073.23 | Stop loss: 2062.848317857143 | Take profit: 2104.3517482142856 +2025-03-10 13:14:50,840 - INFO - CLOSED long at 2068.39 | PnL: -0.23% | $-0.62 +2025-03-10 13:14:50,905 - INFO - OPENED LONG at 2069.69 | Stop loss: 2059.3260178571427 | Take profit: 2100.758648214286 +2025-03-10 13:14:51,389 - INFO - CLOSED long at 2064.31 | PnL: -0.26% | $-0.66 +2025-03-10 13:14:51,390 - INFO - OPENED SHORT at 2064.31 | Stop loss: 2074.647082142857 | Take profit: 2033.3220517857144 +2025-03-10 13:14:51,413 - INFO - CLOSED short at 2065.5 | PnL: -0.06% | $-0.29 +2025-03-10 13:14:51,413 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.1569678571427 | Take profit: 2096.5057982142857 +2025-03-10 13:14:51,465 - INFO - CLOSED long at 2065.29 | PnL: -0.01% | $-0.20 +2025-03-10 13:14:51,467 - INFO - OPENED SHORT at 2065.29 | Stop loss: 2075.631982142857 | Take profit: 2034.2873517857145 +2025-03-10 13:14:51,496 - INFO - CLOSED short at 2065.31 | PnL: -0.00% | $-0.18 +2025-03-10 13:14:51,497 - INFO - OPENED LONG at 2065.31 | Stop loss: 2054.9679178571428 | Take profit: 2096.3129482142854 +2025-03-10 13:14:51,723 - INFO - CLOSED long at 2071.35 | PnL: 0.29% | $0.35 +2025-03-10 13:14:51,769 - INFO - OPENED LONG at 2070.9 | Stop loss: 2060.529967857143 | Take profit: 2101.986798214286 +2025-03-10 13:14:52,275 - INFO - CLOSED long at 2075.29 | PnL: 0.21% | $0.20 +2025-03-10 13:14:52,275 - INFO - OPENED SHORT at 2075.29 | Stop loss: 2085.681982142857 | Take profit: 2044.1373517857144 +2025-03-10 13:14:52,299 - INFO - CLOSED short at 2076.9 | PnL: -0.08% | $-0.32 +2025-03-10 13:14:52,300 - INFO - OPENED LONG at 2076.9 | Stop loss: 2066.499967857143 | Take profit: 2108.0767982142856 +2025-03-10 13:14:52,529 - INFO - STOP LOSS hit for long at 2066.499967857143 | PnL: -0.50% | $-1.09 +2025-03-10 13:14:52,584 - INFO - OPENED LONG at 2066.89 | Stop loss: 2056.5400178571426 | Take profit: 2097.9166482142855 +2025-03-10 13:14:53,163 - INFO - CLOSED long at 2060.7 | PnL: -0.30% | $-0.72 +2025-03-10 13:14:53,163 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.019032142857 | Take profit: 2029.7662017857142 +2025-03-10 13:14:53,186 - INFO - CLOSED short at 2060.2 | PnL: 0.02% | $-0.13 +2025-03-10 13:14:53,187 - INFO - OPENED LONG at 2060.2 | Stop loss: 2049.8834678571425 | Take profit: 2091.1262982142853 +2025-03-10 13:14:53,436 - INFO - STOP LOSS hit for long at 2049.8834678571425 | PnL: -0.50% | $-1.07 +2025-03-10 13:14:53,457 - INFO - OPENED SHORT at 2049.5 | Stop loss: 2059.7630321428574 | Take profit: 2018.7342017857143 +2025-03-10 13:14:53,481 - INFO - CLOSED short at 2051.99 | PnL: -0.12% | $-0.39 +2025-03-10 13:14:53,481 - INFO - OPENED LONG at 2051.99 | Stop loss: 2041.7145178571427 | Take profit: 2082.7931482142853 +2025-03-10 13:14:53,501 - INFO - CLOSED long at 2058.3 | PnL: 0.31% | $0.36 +2025-03-10 13:14:53,549 - INFO - OPENED LONG at 2057.11 | Stop loss: 2046.808917857143 | Take profit: 2087.989948214286 +2025-03-10 13:14:53,563 - INFO - CLOSED long at 2057.89 | PnL: 0.04% | $-0.11 +2025-03-10 13:14:53,591 - INFO - OPENED SHORT at 2062.83 | Stop loss: 2073.159682142857 | Take profit: 2031.8642517857143 +2025-03-10 13:14:53,637 - INFO - CLOSED short at 2063.9 | PnL: -0.05% | $-0.27 +2025-03-10 13:14:53,643 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.564967857143 | Take profit: 2094.881798214286 +2025-03-10 13:14:53,819 - INFO - CLOSED long at 2068.33 | PnL: 0.21% | $0.20 +2025-03-10 13:14:53,819 - INFO - OPENED SHORT at 2068.33 | Stop loss: 2078.687182142857 | Take profit: 2037.2817517857143 +2025-03-10 13:14:53,839 - INFO - CLOSED short at 2067.49 | PnL: 0.04% | $-0.10 +2025-03-10 13:14:53,839 - INFO - OPENED LONG at 2067.49 | Stop loss: 2057.137017857143 | Take profit: 2098.5256482142854 +2025-03-10 13:14:54,383 - INFO - CLOSED long at 2074.9 | PnL: 0.36% | $0.45 +2025-03-10 13:14:54,383 - INFO - OPENED SHORT at 2074.9 | Stop loss: 2085.2900321428574 | Take profit: 2043.7532017857143 +2025-03-10 13:14:54,423 - INFO - CLOSED short at 2076.08 | PnL: -0.06% | $-0.28 +2025-03-10 13:14:54,473 - INFO - OPENED LONG at 2077.61 | Stop loss: 2067.206417857143 | Take profit: 2108.797448214286 +2025-03-10 13:14:54,619 - INFO - TAKE PROFIT hit for long at 2108.797448214286 | PnL: 1.50% | $2.46 +2025-03-10 13:14:54,643 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.826767857143 | Take profit: 2171.6563982142857 +2025-03-10 13:14:54,684 - INFO - CLOSED long at 2133.95 | PnL: -0.26% | $-0.65 +2025-03-10 13:14:54,684 - INFO - OPENED SHORT at 2133.95 | Stop loss: 2144.6352821428572 | Take profit: 2101.917451785714 +2025-03-10 13:14:54,712 - INFO - CLOSED short at 2137.59 | PnL: -0.17% | $-0.48 +2025-03-10 13:14:54,713 - INFO - OPENED LONG at 2137.59 | Stop loss: 2126.8865178571427 | Take profit: 2169.677148214286 +2025-03-10 13:14:54,965 - INFO - CLOSED long at 2128.69 | PnL: -0.42% | $-0.92 +2025-03-10 13:14:54,991 - INFO - OPENED LONG at 2121.09 | Stop loss: 2110.4690178571427 | Take profit: 2152.929648214286 +2025-03-10 13:14:55,056 - INFO - CLOSED long at 2119.93 | PnL: -0.05% | $-0.27 +2025-03-10 13:14:55,056 - INFO - OPENED SHORT at 2119.93 | Stop loss: 2130.545182142857 | Take profit: 2088.1077517857143 +2025-03-10 13:14:55,083 - INFO - CLOSED short at 2121.4 | PnL: -0.07% | $-0.30 +2025-03-10 13:14:55,083 - INFO - OPENED LONG at 2121.4 | Stop loss: 2110.777467857143 | Take profit: 2153.2442982142857 +2025-03-10 13:14:55,105 - INFO - CLOSED long at 2118.52 | PnL: -0.14% | $-0.41 +2025-03-10 13:14:55,131 - INFO - OPENED LONG at 2119.14 | Stop loss: 2108.5287678571426 | Take profit: 2150.9503982142855 +2025-03-10 13:14:55,204 - INFO - STOP LOSS hit for long at 2108.5287678571426 | PnL: -0.50% | $-1.05 +2025-03-10 13:14:55,228 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.0314678571426 | Take profit: 2142.282298214285 +2025-03-10 13:14:55,591 - INFO - CLOSED long at 2100.5 | PnL: -0.48% | $-1.00 +2025-03-10 13:14:55,618 - INFO - OPENED LONG at 2090.0 | Stop loss: 2079.5344678571428 | Take profit: 2121.3732982142856 +2025-03-10 13:14:55,758 - INFO - CLOSED long at 2099.25 | PnL: 0.44% | $0.58 +2025-03-10 13:14:55,786 - INFO - OPENED LONG at 2098.9 | Stop loss: 2088.389967857143 | Take profit: 2130.4067982142856 +2025-03-10 13:14:56,248 - INFO - STOP LOSS hit for long at 2088.389967857143 | PnL: -0.50% | $-1.03 +2025-03-10 13:14:56,273 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.848067857143 | Take profit: 2114.5524982142856 +2025-03-10 13:14:56,539 - INFO - CLOSED long at 2083.59 | PnL: 0.01% | $-0.14 +2025-03-10 13:14:56,539 - INFO - OPENED SHORT at 2083.59 | Stop loss: 2094.023482142857 | Take profit: 2052.3128517857144 +2025-03-10 13:14:56,566 - INFO - CLOSED short at 2086.57 | PnL: -0.14% | $-0.41 +2025-03-10 13:14:56,566 - INFO - OPENED LONG at 2086.57 | Stop loss: 2076.121617857143 | Take profit: 2117.8918482142863 +2025-03-10 13:14:56,838 - INFO - CLOSED long at 2087.78 | PnL: 0.06% | $-0.07 +2025-03-10 13:14:56,838 - INFO - OPENED SHORT at 2087.78 | Stop loss: 2098.2344321428573 | Take profit: 2056.4400017857147 +2025-03-10 13:14:56,866 - INFO - CLOSED short at 2086.81 | PnL: 0.05% | $-0.09 +2025-03-10 13:14:56,866 - INFO - OPENED LONG at 2086.81 | Stop loss: 2076.3604178571427 | Take profit: 2118.1354482142856 +2025-03-10 13:14:57,085 - INFO - CLOSED long at 2099.99 | PnL: 0.63% | $0.89 +2025-03-10 13:14:57,085 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.505482142857 | Take profit: 2068.466851785714 +2025-03-10 13:14:57,111 - INFO - CLOSED short at 2101.64 | PnL: -0.08% | $-0.30 +2025-03-10 13:14:57,111 - INFO - OPENED LONG at 2101.64 | Stop loss: 2091.1162678571427 | Take profit: 2133.1878982142857 +2025-03-10 13:14:57,237 - INFO - CLOSED long at 2106.15 | PnL: 0.21% | $0.19 +2025-03-10 13:14:57,237 - INFO - OPENED SHORT at 2106.15 | Stop loss: 2116.6962821428574 | Take profit: 2074.5344517857143 +2025-03-10 13:14:57,275 - INFO - CLOSED short at 2104.93 | PnL: 0.06% | $-0.07 +2025-03-10 13:14:57,275 - INFO - OPENED LONG at 2104.93 | Stop loss: 2094.3898178571426 | Take profit: 2136.527248214286 +2025-03-10 13:14:57,465 - INFO - Trade Analysis: Win Rate=8.3% in uptrends, 0.0% in downtrends | Avg Win=$0.55, Avg Loss=$-0.32 +2025-03-10 13:14:57,465 - INFO - Episode 16: Reward=91.96, Balance=$85.24, Win Rate=18.3%, Trades=93, Episode PnL=$-12.22, Total PnL=$-343.07, Max Drawdown=16.1%, Pred Accuracy=99.8% +2025-03-10 13:14:57,466 - ERROR - Error in episode 16: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:14:57,466 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1812, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:14:57,488 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:14:57,689 - INFO - OPENED LONG at 2046.58 | Stop loss: 2036.3315678571428 | Take profit: 2077.3019982142855 +2025-03-10 13:14:58,009 - INFO - CLOSED long at 2053.26 | PnL: 0.33% | $0.45 +2025-03-10 13:14:58,047 - INFO - OPENED LONG at 2051.89 | Stop loss: 2041.6150178571427 | Take profit: 2082.6916482142856 +2025-03-10 13:14:58,644 - INFO - CLOSED long at 2060.31 | PnL: 0.41% | $0.62 +2025-03-10 13:14:58,667 - INFO - OPENED LONG at 2059.49 | Stop loss: 2049.177017857143 | Take profit: 2090.4056482142855 +2025-03-10 13:14:58,730 - INFO - CLOSED long at 2057.94 | PnL: -0.08% | $-0.35 +2025-03-10 13:14:58,754 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.803917857143 | Take profit: 2089.004948214286 +2025-03-10 13:14:58,910 - INFO - CLOSED long at 2070.58 | PnL: 0.61% | $1.01 +2025-03-10 13:14:58,948 - INFO - OPENED LONG at 2068.11 | Stop loss: 2057.753917857143 | Take profit: 2099.154948214286 +2025-03-10 13:14:59,085 - INFO - CLOSED long at 2068.65 | PnL: 0.03% | $-0.15 +2025-03-10 13:14:59,115 - INFO - OPENED LONG at 2068.99 | Stop loss: 2058.6295178571427 | Take profit: 2100.0481482142854 +2025-03-10 13:14:59,307 - INFO - CLOSED long at 2072.91 | PnL: 0.19% | $0.18 +2025-03-10 13:14:59,311 - INFO - OPENED SHORT at 2072.91 | Stop loss: 2083.290082142857 | Take profit: 2041.793051785714 +2025-03-10 13:14:59,349 - INFO - CLOSED short at 2072.33 | PnL: 0.03% | $-0.15 +2025-03-10 13:14:59,349 - INFO - OPENED LONG at 2072.33 | Stop loss: 2061.9528178571427 | Take profit: 2103.4382482142855 +2025-03-10 13:14:59,406 - INFO - CLOSED long at 2071.41 | PnL: -0.04% | $-0.29 +2025-03-10 13:14:59,408 - INFO - OPENED SHORT at 2071.41 | Stop loss: 2081.782582142857 | Take profit: 2040.3155517857142 +2025-03-10 13:14:59,423 - INFO - CLOSED short at 2069.37 | PnL: 0.10% | $-0.00 +2025-03-10 13:14:59,423 - INFO - OPENED LONG at 2069.37 | Stop loss: 2059.0076178571426 | Take profit: 2100.4338482142857 +2025-03-10 13:14:59,897 - INFO - CLOSED long at 2066.39 | PnL: -0.14% | $-0.49 +2025-03-10 13:14:59,898 - INFO - OPENED SHORT at 2066.39 | Stop loss: 2076.737482142857 | Take profit: 2035.3708517857142 +2025-03-10 13:14:59,934 - INFO - CLOSED short at 2065.99 | PnL: 0.02% | $-0.16 +2025-03-10 13:14:59,934 - INFO - OPENED LONG at 2065.99 | Stop loss: 2055.6445178571425 | Take profit: 2097.0031482142854 +2025-03-10 13:15:00,034 - INFO - CLOSED long at 2065.08 | PnL: -0.04% | $-0.29 +2025-03-10 13:15:00,034 - INFO - OPENED SHORT at 2065.08 | Stop loss: 2075.420932142857 | Take profit: 2034.0805017857142 +2025-03-10 13:15:00,067 - INFO - CLOSED short at 2066.18 | PnL: -0.05% | $-0.31 +2025-03-10 13:15:00,068 - INFO - OPENED LONG at 2066.18 | Stop loss: 2055.8335678571425 | Take profit: 2097.1959982142853 +2025-03-10 13:15:00,173 - INFO - CLOSED long at 2068.51 | PnL: 0.11% | $0.03 +2025-03-10 13:15:00,174 - INFO - OPENED SHORT at 2068.51 | Stop loss: 2078.8680821428575 | Take profit: 2037.4590517857146 +2025-03-10 13:15:00,210 - INFO - CLOSED short at 2068.59 | PnL: -0.00% | $-0.21 +2025-03-10 13:15:00,210 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.231517857143 | Take profit: 2099.642148214286 +2025-03-10 13:15:00,589 - INFO - CLOSED long at 2073.9 | PnL: 0.26% | $0.31 +2025-03-10 13:15:00,615 - INFO - OPENED LONG at 2071.92 | Stop loss: 2061.544867857143 | Take profit: 2103.0220982142855 +2025-03-10 13:15:00,658 - INFO - CLOSED long at 2071.11 | PnL: -0.04% | $-0.28 +2025-03-10 13:15:00,659 - INFO - OPENED SHORT at 2071.11 | Stop loss: 2081.4810821428573 | Take profit: 2040.0200517857143 +2025-03-10 13:15:00,682 - INFO - CLOSED short at 2069.46 | PnL: 0.08% | $-0.04 +2025-03-10 13:15:00,714 - INFO - OPENED LONG at 2069.35 | Stop loss: 2058.987717857143 | Take profit: 2100.4135482142856 +2025-03-10 13:15:01,160 - INFO - CLOSED long at 2067.59 | PnL: -0.09% | $-0.37 +2025-03-10 13:15:01,185 - INFO - OPENED LONG at 2069.2 | Stop loss: 2058.8384678571424 | Take profit: 2100.2612982142855 +2025-03-10 13:15:01,633 - INFO - CLOSED long at 2066.39 | PnL: -0.14% | $-0.47 +2025-03-10 13:15:01,683 - INFO - OPENED LONG at 2064.47 | Stop loss: 2054.132117857143 | Take profit: 2095.4603482142857 +2025-03-10 13:15:01,828 - INFO - CLOSED long at 2065.69 | PnL: 0.06% | $-0.08 +2025-03-10 13:15:01,828 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.0339821428574 | Take profit: 2034.6813517857142 +2025-03-10 13:15:01,855 - INFO - CLOSED short at 2067.88 | PnL: -0.11% | $-0.40 +2025-03-10 13:15:01,886 - INFO - OPENED LONG at 2064.99 | Stop loss: 2054.6495178571427 | Take profit: 2095.9881482142855 +2025-03-10 13:15:02,005 - INFO - CLOSED long at 2062.65 | PnL: -0.11% | $-0.42 +2025-03-10 13:15:02,048 - INFO - OPENED LONG at 2061.78 | Stop loss: 2051.4555678571433 | Take profit: 2092.729998214286 +2025-03-10 13:15:02,248 - INFO - CLOSED long at 2067.1 | PnL: 0.26% | $0.31 +2025-03-10 13:15:02,287 - INFO - OPENED LONG at 2065.54 | Stop loss: 2055.1967678571427 | Take profit: 2096.5463982142855 +2025-03-10 13:15:02,317 - INFO - CLOSED long at 2066.09 | PnL: 0.03% | $-0.14 +2025-03-10 13:15:02,352 - INFO - OPENED LONG at 2064.45 | Stop loss: 2054.1122178571427 | Take profit: 2095.4400482142855 +2025-03-10 13:15:02,457 - INFO - CLOSED long at 2062.71 | PnL: -0.08% | $-0.36 +2025-03-10 13:15:02,531 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.5600178571426 | Take profit: 2093.8566482142855 +2025-03-10 13:15:03,056 - INFO - CLOSED long at 2061.9 | PnL: -0.05% | $-0.29 +2025-03-10 13:15:03,056 - INFO - OPENED SHORT at 2061.9 | Stop loss: 2072.2250321428573 | Take profit: 2030.9482017857144 +2025-03-10 13:15:03,099 - INFO - CLOSED short at 2065.36 | PnL: -0.17% | $-0.52 +2025-03-10 13:15:03,099 - INFO - OPENED LONG at 2065.36 | Stop loss: 2055.017667857143 | Take profit: 2096.363698214286 +2025-03-10 13:15:03,147 - INFO - CLOSED long at 2063.39 | PnL: -0.10% | $-0.38 +2025-03-10 13:15:03,169 - INFO - OPENED SHORT at 2064.79 | Stop loss: 2075.1294821428573 | Take profit: 2033.7948517857142 +2025-03-10 13:15:03,203 - INFO - CLOSED short at 2065.89 | PnL: -0.05% | $-0.29 +2025-03-10 13:15:03,203 - INFO - OPENED LONG at 2065.89 | Stop loss: 2055.5450178571427 | Take profit: 2096.9016482142856 +2025-03-10 13:15:03,475 - INFO - CLOSED long at 2061.09 | PnL: -0.23% | $-0.64 +2025-03-10 13:15:03,475 - INFO - OPENED SHORT at 2061.09 | Stop loss: 2071.4109821428574 | Take profit: 2030.1503517857145 +2025-03-10 13:15:03,510 - INFO - CLOSED short at 2059.61 | PnL: 0.07% | $-0.05 +2025-03-10 13:15:03,510 - INFO - OPENED LONG at 2059.61 | Stop loss: 2049.2964178571433 | Take profit: 2090.527448214286 +2025-03-10 13:15:04,127 - INFO - CLOSED long at 2063.4 | PnL: 0.18% | $0.16 +2025-03-10 13:15:04,171 - INFO - OPENED LONG at 2066.36 | Stop loss: 2056.0126678571432 | Take profit: 2097.3786982142856 +2025-03-10 13:15:04,238 - INFO - CLOSED long at 2064.49 | PnL: -0.09% | $-0.36 +2025-03-10 13:15:04,238 - INFO - OPENED SHORT at 2064.49 | Stop loss: 2074.827982142857 | Take profit: 2033.499351785714 +2025-03-10 13:15:04,260 - INFO - CLOSED short at 2066.33 | PnL: -0.09% | $-0.36 +2025-03-10 13:15:04,260 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.982817857143 | Take profit: 2097.348248214286 +2025-03-10 13:15:04,327 - INFO - CLOSED long at 2067.33 | PnL: 0.05% | $-0.10 +2025-03-10 13:15:04,352 - INFO - OPENED LONG at 2067.01 | Stop loss: 2056.659417857143 | Take profit: 2098.038448214286 +2025-03-10 13:15:04,457 - INFO - CLOSED long at 2074.3 | PnL: 0.35% | $0.48 +2025-03-10 13:15:04,483 - INFO - OPENED LONG at 2078.01 | Stop loss: 2067.604417857143 | Take profit: 2109.203448214286 +2025-03-10 13:15:04,569 - INFO - CLOSED long at 2070.01 | PnL: -0.38% | $-0.92 +2025-03-10 13:15:04,595 - INFO - OPENED SHORT at 2071.6 | Stop loss: 2081.973532142857 | Take profit: 2040.5027017857142 +2025-03-10 13:15:04,624 - INFO - CLOSED short at 2073.23 | PnL: -0.08% | $-0.34 +2025-03-10 13:15:04,624 - INFO - OPENED LONG at 2073.23 | Stop loss: 2062.848317857143 | Take profit: 2104.3517482142856 +2025-03-10 13:15:04,825 - INFO - CLOSED long at 2071.49 | PnL: -0.08% | $-0.34 +2025-03-10 13:15:04,851 - INFO - OPENED SHORT at 2069.87 | Stop loss: 2080.234882142857 | Take profit: 2038.7986517857141 +2025-03-10 13:15:04,871 - INFO - CLOSED short at 2067.33 | PnL: 0.12% | $0.04 +2025-03-10 13:15:04,900 - INFO - OPENED LONG at 2066.38 | Stop loss: 2056.032567857143 | Take profit: 2097.3989982142857 +2025-03-10 13:15:05,064 - INFO - CLOSED long at 2064.4 | PnL: -0.10% | $-0.37 +2025-03-10 13:15:05,088 - INFO - OPENED LONG at 2064.31 | Stop loss: 2053.972917857143 | Take profit: 2095.297948214286 +2025-03-10 13:15:05,408 - INFO - CLOSED long at 2070.8 | PnL: 0.31% | $0.40 +2025-03-10 13:15:05,432 - INFO - OPENED LONG at 2070.35 | Stop loss: 2059.9827178571427 | Take profit: 2101.4285482142855 +2025-03-10 13:15:05,731 - INFO - CLOSED long at 2076.9 | PnL: 0.32% | $0.40 +2025-03-10 13:15:05,777 - INFO - OPENED LONG at 2074.0 | Stop loss: 2063.6144678571427 | Take profit: 2105.133298214286 +2025-03-10 13:15:05,833 - INFO - CLOSED long at 2067.7 | PnL: -0.30% | $-0.76 +2025-03-10 13:15:05,833 - INFO - OPENED SHORT at 2067.7 | Stop loss: 2078.054032142857 | Take profit: 2036.661201785714 +2025-03-10 13:15:05,870 - INFO - CLOSED short at 2067.9 | PnL: -0.01% | $-0.20 +2025-03-10 13:15:05,890 - INFO - OPENED LONG at 2066.4 | Stop loss: 2056.052467857143 | Take profit: 2097.4192982142854 +2025-03-10 13:15:05,992 - INFO - CLOSED long at 2069.0 | PnL: 0.13% | $0.05 +2025-03-10 13:15:06,014 - INFO - OPENED LONG at 2070.19 | Stop loss: 2059.8235178571426 | Take profit: 2101.2661482142857 +2025-03-10 13:15:06,052 - INFO - CLOSED long at 2067.19 | PnL: -0.14% | $-0.45 +2025-03-10 13:15:06,052 - INFO - OPENED SHORT at 2067.19 | Stop loss: 2077.541482142857 | Take profit: 2036.1588517857142 +2025-03-10 13:15:06,080 - INFO - CLOSED short at 2065.5 | PnL: 0.08% | $-0.03 +2025-03-10 13:15:06,081 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.1569678571427 | Take profit: 2096.5057982142857 +2025-03-10 13:15:06,124 - INFO - CLOSED long at 2065.8 | PnL: 0.01% | $-0.16 +2025-03-10 13:15:06,124 - INFO - OPENED SHORT at 2065.8 | Stop loss: 2076.1445321428573 | Take profit: 2034.7897017857144 +2025-03-10 13:15:06,150 - INFO - CLOSED short at 2065.07 | PnL: 0.04% | $-0.12 +2025-03-10 13:15:06,150 - INFO - OPENED LONG at 2065.07 | Stop loss: 2054.729117857143 | Take profit: 2096.069348214286 +2025-03-10 13:15:06,590 - INFO - STOP LOSS hit for long at 2054.729117857143 | PnL: -0.50% | $-1.11 +2025-03-10 13:15:06,645 - INFO - OPENED LONG at 2049.5 | Stop loss: 2039.2369678571429 | Take profit: 2080.2657982142855 +2025-03-10 13:15:07,155 - INFO - CLOSED long at 2070.31 | PnL: 1.02% | $1.67 +2025-03-10 13:15:07,199 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.977767857143 | Take profit: 2100.4033982142855 +2025-03-10 13:15:07,327 - INFO - CLOSED long at 2071.89 | PnL: 0.12% | $0.04 +2025-03-10 13:15:07,353 - INFO - OPENED LONG at 2071.8 | Stop loss: 2061.4254678571433 | Take profit: 2102.9002982142856 +2025-03-10 13:15:07,503 - INFO - TAKE PROFIT hit for long at 2102.9002982142856 | PnL: 1.50% | $2.60 +2025-03-10 13:15:07,533 - INFO - OPENED LONG at 2130.7 | Stop loss: 2120.0309678571425 | Take profit: 2162.6837982142856 +2025-03-10 13:15:07,624 - INFO - CLOSED long at 2137.59 | PnL: 0.32% | $0.43 +2025-03-10 13:15:07,624 - INFO - OPENED SHORT at 2137.59 | Stop loss: 2148.2934821428576 | Take profit: 2105.5028517857145 +2025-03-10 13:15:07,677 - INFO - CLOSED short at 2141.3 | PnL: -0.17% | $-0.52 +2025-03-10 13:15:07,678 - INFO - OPENED LONG at 2141.3 | Stop loss: 2130.577967857143 | Take profit: 2173.4427982142856 +2025-03-10 13:15:07,768 - INFO - STOP LOSS hit for long at 2130.577967857143 | PnL: -0.50% | $-1.14 +2025-03-10 13:15:07,789 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.647967857143 | Take profit: 2159.2327982142856 +2025-03-10 13:15:07,842 - INFO - CLOSED long at 2121.09 | PnL: -0.29% | $-0.74 +2025-03-10 13:15:07,868 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.533717857143 | Take profit: 2151.9755482142855 +2025-03-10 13:15:07,951 - INFO - CLOSED long at 2121.4 | PnL: 0.06% | $-0.08 +2025-03-10 13:15:07,976 - INFO - OPENED LONG at 2118.52 | Stop loss: 2107.9118678571426 | Take profit: 2150.321098214286 +2025-03-10 13:15:08,105 - INFO - STOP LOSS hit for long at 2107.9118678571426 | PnL: -0.50% | $-1.12 +2025-03-10 13:15:08,159 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.0314678571426 | Take profit: 2142.282298214285 +2025-03-10 13:15:08,243 - INFO - CLOSED long at 2112.95 | PnL: 0.11% | $0.02 +2025-03-10 13:15:08,267 - INFO - OPENED LONG at 2112.46 | Stop loss: 2101.882167857143 | Take profit: 2144.1701982142854 +2025-03-10 13:15:08,285 - INFO - CLOSED long at 2113.24 | PnL: 0.04% | $-0.12 +2025-03-10 13:15:08,310 - INFO - OPENED LONG at 2112.99 | Stop loss: 2102.4095178571424 | Take profit: 2144.7081482142853 +2025-03-10 13:15:08,480 - INFO - CLOSED long at 2108.71 | PnL: -0.20% | $-0.56 +2025-03-10 13:15:08,480 - INFO - OPENED SHORT at 2108.71 | Stop loss: 2119.2690821428573 | Take profit: 2077.0560517857143 +2025-03-10 13:15:08,514 - INFO - CLOSED short at 2106.49 | PnL: 0.11% | $0.01 +2025-03-10 13:15:08,559 - INFO - OPENED LONG at 2108.06 | Stop loss: 2097.504167857143 | Take profit: 2139.7041982142855 +2025-03-10 13:15:08,637 - INFO - STOP LOSS hit for long at 2097.504167857143 | PnL: -0.50% | $-1.10 +2025-03-10 13:15:08,661 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.016817857143 | Take profit: 2131.046248214286 +2025-03-10 13:15:08,704 - INFO - CLOSED long at 2102.19 | PnL: 0.13% | $0.05 +2025-03-10 13:15:08,704 - INFO - OPENED SHORT at 2102.19 | Stop loss: 2112.716482142857 | Take profit: 2070.6338517857143 +2025-03-10 13:15:08,742 - INFO - CLOSED short at 2099.25 | PnL: 0.14% | $0.07 +2025-03-10 13:15:08,742 - INFO - OPENED LONG at 2099.25 | Stop loss: 2088.738217857143 | Take profit: 2130.7620482142856 +2025-03-10 13:15:08,972 - INFO - CLOSED long at 2104.68 | PnL: 0.26% | $0.29 +2025-03-10 13:15:08,999 - INFO - OPENED LONG at 2101.51 | Stop loss: 2090.986917857143 | Take profit: 2133.0559482142858 +2025-03-10 13:15:09,288 - INFO - CLOSED long at 2088.35 | PnL: -0.63% | $-1.32 +2025-03-10 13:15:09,328 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.848067857143 | Take profit: 2114.5524982142856 +2025-03-10 13:15:09,478 - INFO - CLOSED long at 2080.38 | PnL: -0.14% | $-0.43 +2025-03-10 13:15:09,479 - INFO - OPENED SHORT at 2080.38 | Stop loss: 2090.7974321428574 | Take profit: 2049.1510017857145 +2025-03-10 13:15:09,526 - INFO - CLOSED short at 2083.41 | PnL: -0.15% | $-0.44 +2025-03-10 13:15:09,528 - INFO - OPENED LONG at 2083.41 | Stop loss: 2072.977417857143 | Take profit: 2114.6844482142856 +2025-03-10 13:15:09,723 - INFO - CLOSED long at 2085.83 | PnL: 0.12% | $0.03 +2025-03-10 13:15:09,760 - INFO - OPENED LONG at 2085.85 | Stop loss: 2075.405217857143 | Take profit: 2117.1610482142855 +2025-03-10 13:15:09,809 - INFO - CLOSED long at 2088.32 | PnL: 0.12% | $0.03 +2025-03-10 13:15:09,810 - INFO - OPENED SHORT at 2088.32 | Stop loss: 2098.777132142857 | Take profit: 2056.971901785714 +2025-03-10 13:15:09,830 - INFO - CLOSED short at 2088.1 | PnL: 0.01% | $-0.16 +2025-03-10 13:15:09,830 - INFO - OPENED LONG at 2088.1 | Stop loss: 2077.643967857143 | Take profit: 2119.4447982142856 +2025-03-10 13:15:10,235 - INFO - CLOSED long at 2099.99 | PnL: 0.57% | $0.83 +2025-03-10 13:15:10,280 - INFO - OPENED SHORT at 2097.11 | Stop loss: 2107.611082142857 | Take profit: 2065.6300517857144 +2025-03-10 13:15:10,309 - INFO - CLOSED short at 2098.49 | PnL: -0.07% | $-0.30 +2025-03-10 13:15:10,309 - INFO - OPENED LONG at 2098.49 | Stop loss: 2087.9820178571426 | Take profit: 2129.9906482142856 +2025-03-10 13:15:10,426 - INFO - CLOSED long at 2106.15 | PnL: 0.37% | $0.47 +2025-03-10 13:15:10,426 - INFO - OPENED SHORT at 2106.15 | Stop loss: 2116.6962821428574 | Take profit: 2074.5344517857143 +2025-03-10 13:15:10,471 - INFO - CLOSED short at 2103.48 | PnL: 0.13% | $0.05 +2025-03-10 13:15:10,471 - INFO - OPENED LONG at 2103.48 | Stop loss: 2092.947067857143 | Take profit: 2135.0554982142858 +2025-03-10 13:15:10,742 - INFO - Trade Analysis: Win Rate=13.0% in uptrends, 0.0% in downtrends | Avg Win=$0.41, Avg Loss=$-0.40 +2025-03-10 13:15:10,743 - INFO - Episode 17: Reward=133.49, Balance=$90.27, Win Rate=34.2%, Trades=79, Episode PnL=$-5.85, Total PnL=$-352.80, Max Drawdown=12.2%, Pred Accuracy=100.0% +2025-03-10 13:15:10,743 - ERROR - Error in episode 17: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:15:10,744 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1812, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:15:10,764 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:15:11,119 - INFO - OPENED LONG at 2046.58 | Stop loss: 2036.3315678571428 | Take profit: 2077.3019982142855 +2025-03-10 13:15:11,208 - INFO - CLOSED long at 2045.99 | PnL: -0.03% | $-0.26 +2025-03-10 13:15:11,208 - INFO - OPENED SHORT at 2045.99 | Stop loss: 2056.235482142857 | Take profit: 2015.2768517857144 +2025-03-10 13:15:11,237 - INFO - CLOSED short at 2045.79 | PnL: 0.01% | $-0.18 +2025-03-10 13:15:11,237 - INFO - OPENED LONG at 2045.79 | Stop loss: 2035.5455178571428 | Take profit: 2076.5001482142857 +2025-03-10 13:15:11,350 - INFO - CLOSED long at 2050.24 | PnL: 0.22% | $0.23 +2025-03-10 13:15:11,375 - INFO - OPENED LONG at 2049.89 | Stop loss: 2039.6250178571427 | Take profit: 2080.661648214286 +2025-03-10 13:15:11,741 - INFO - CLOSED long at 2064.69 | PnL: 0.72% | $1.23 +2025-03-10 13:15:11,769 - INFO - OPENED LONG at 2063.01 | Stop loss: 2052.679417857143 | Take profit: 2093.978448214286 +2025-03-10 13:15:12,015 - INFO - CLOSED long at 2057.94 | PnL: -0.25% | $-0.69 +2025-03-10 13:15:12,038 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.803917857143 | Take profit: 2089.004948214286 +2025-03-10 13:15:12,107 - INFO - CLOSED long at 2064.32 | PnL: 0.30% | $0.40 +2025-03-10 13:15:12,131 - INFO - OPENED LONG at 2065.86 | Stop loss: 2055.515167857143 | Take profit: 2096.871198214286 +2025-03-10 13:15:12,371 - INFO - CLOSED long at 2067.9 | PnL: 0.10% | $-0.00 +2025-03-10 13:15:12,395 - INFO - OPENED LONG at 2067.69 | Stop loss: 2057.336017857143 | Take profit: 2098.7286482142854 +2025-03-10 13:15:12,788 - INFO - CLOSED long at 2070.7 | PnL: 0.15% | $0.09 +2025-03-10 13:15:12,813 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.977767857143 | Take profit: 2100.4033982142855 +2025-03-10 13:15:13,876 - INFO - CLOSED long at 2070.3 | PnL: 0.05% | $-0.11 +2025-03-10 13:15:13,904 - INFO - OPENED LONG at 2071.59 | Stop loss: 2061.216517857143 | Take profit: 2102.687148214286 +2025-03-10 13:15:14,076 - INFO - CLOSED long at 2067.11 | PnL: -0.22% | $-0.63 +2025-03-10 13:15:14,102 - INFO - OPENED LONG at 2067.86 | Stop loss: 2057.505167857143 | Take profit: 2098.9011982142856 +2025-03-10 13:15:14,221 - INFO - CLOSED long at 2064.47 | PnL: -0.16% | $-0.52 +2025-03-10 13:15:14,246 - INFO - OPENED LONG at 2070.04 | Stop loss: 2059.6742678571427 | Take profit: 2101.113898214286 +2025-03-10 13:15:14,508 - INFO - STOP LOSS hit for long at 2059.6742678571427 | PnL: -0.50% | $-1.19 +2025-03-10 13:15:14,532 - INFO - OPENED LONG at 2061.3 | Stop loss: 2050.977967857143 | Take profit: 2092.242798214286 +2025-03-10 13:15:14,895 - INFO - CLOSED long at 2060.9 | PnL: -0.02% | $-0.23 +2025-03-10 13:15:14,896 - INFO - OPENED SHORT at 2060.9 | Stop loss: 2071.2200321428572 | Take profit: 2029.9632017857143 +2025-03-10 13:15:14,924 - INFO - CLOSED short at 2060.65 | PnL: 0.01% | $-0.17 +2025-03-10 13:15:14,926 - INFO - OPENED LONG at 2060.65 | Stop loss: 2050.3312178571427 | Take profit: 2091.583048214286 +2025-03-10 13:15:15,052 - INFO - CLOSED long at 2064.7 | PnL: 0.20% | $0.19 +2025-03-10 13:15:15,052 - INFO - OPENED SHORT at 2064.7 | Stop loss: 2075.039032142857 | Take profit: 2033.706201785714 +2025-03-10 13:15:15,099 - INFO - CLOSED short at 2062.61 | PnL: 0.10% | $0.00 +2025-03-10 13:15:15,099 - INFO - OPENED LONG at 2062.61 | Stop loss: 2052.281417857143 | Take profit: 2093.572448214286 +2025-03-10 13:15:15,274 - INFO - CLOSED long at 2065.36 | PnL: 0.13% | $0.06 +2025-03-10 13:15:15,274 - INFO - OPENED SHORT at 2065.36 | Stop loss: 2075.7023321428574 | Take profit: 2034.3563017857145 +2025-03-10 13:15:15,302 - INFO - CLOSED short at 2064.33 | PnL: 0.05% | $-0.10 +2025-03-10 13:15:15,302 - INFO - OPENED LONG at 2064.33 | Stop loss: 2053.9928178571427 | Take profit: 2095.3182482142856 +2025-03-10 13:15:15,645 - INFO - CLOSED long at 2060.7 | PnL: -0.18% | $-0.54 +2025-03-10 13:15:15,673 - INFO - OPENED LONG at 2061.09 | Stop loss: 2050.769017857143 | Take profit: 2092.0296482142858 +2025-03-10 13:15:15,695 - INFO - CLOSED long at 2059.61 | PnL: -0.07% | $-0.33 +2025-03-10 13:15:15,695 - INFO - OPENED SHORT at 2059.61 | Stop loss: 2069.9235821428574 | Take profit: 2028.6925517857144 +2025-03-10 13:15:15,726 - INFO - CLOSED short at 2059.16 | PnL: 0.02% | $-0.15 +2025-03-10 13:15:15,726 - INFO - OPENED LONG at 2059.16 | Stop loss: 2048.8486678571426 | Take profit: 2090.0706982142856 +2025-03-10 13:15:16,038 - INFO - CLOSED long at 2055.6 | PnL: -0.17% | $-0.53 +2025-03-10 13:15:16,039 - INFO - OPENED SHORT at 2055.6 | Stop loss: 2065.893532142857 | Take profit: 2024.7427017857142 +2025-03-10 13:15:16,069 - INFO - CLOSED short at 2054.89 | PnL: 0.03% | $-0.13 +2025-03-10 13:15:16,069 - INFO - OPENED LONG at 2054.89 | Stop loss: 2044.6000178571428 | Take profit: 2085.736648214285 +2025-03-10 13:15:16,548 - INFO - CLOSED long at 2063.9 | PnL: 0.44% | $0.65 +2025-03-10 13:15:16,581 - INFO - OPENED LONG at 2064.49 | Stop loss: 2054.1520178571427 | Take profit: 2095.480648214286 +2025-03-10 13:15:16,627 - INFO - CLOSED long at 2066.33 | PnL: 0.09% | $-0.02 +2025-03-10 13:15:16,722 - INFO - OPENED LONG at 2066.79 | Stop loss: 2056.440517857143 | Take profit: 2097.8151482142853 +2025-03-10 13:15:17,433 - INFO - CLOSED long at 2068.79 | PnL: 0.10% | $-0.01 +2025-03-10 13:15:17,433 - INFO - OPENED SHORT at 2068.79 | Stop loss: 2079.149482142857 | Take profit: 2037.7348517857142 +2025-03-10 13:15:17,488 - INFO - CLOSED short at 2072.99 | PnL: -0.20% | $-0.58 +2025-03-10 13:15:17,488 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6095178571427 | Take profit: 2104.1081482142854 +2025-03-10 13:15:17,619 - INFO - CLOSED long at 2067.33 | PnL: -0.27% | $-0.71 +2025-03-10 13:15:17,621 - INFO - OPENED SHORT at 2067.33 | Stop loss: 2077.682182142857 | Take profit: 2036.2967517857144 +2025-03-10 13:15:17,657 - INFO - CLOSED short at 2066.38 | PnL: 0.05% | $-0.10 +2025-03-10 13:15:17,658 - INFO - OPENED LONG at 2066.38 | Stop loss: 2056.032567857143 | Take profit: 2097.3989982142857 +2025-03-10 13:15:17,796 - INFO - CLOSED long at 2063.97 | PnL: -0.12% | $-0.41 +2025-03-10 13:15:17,797 - INFO - OPENED SHORT at 2063.97 | Stop loss: 2074.305382142857 | Take profit: 2032.987151785714 +2025-03-10 13:15:17,832 - INFO - CLOSED short at 2064.5 | PnL: -0.03% | $-0.24 +2025-03-10 13:15:17,832 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.161967857143 | Take profit: 2095.490798214286 +2025-03-10 13:15:18,363 - INFO - CLOSED long at 2069.69 | PnL: 0.25% | $0.29 +2025-03-10 13:15:18,363 - INFO - OPENED SHORT at 2069.69 | Stop loss: 2080.053982142857 | Take profit: 2038.6213517857145 +2025-03-10 13:15:18,394 - INFO - CLOSED short at 2070.7 | PnL: -0.05% | $-0.28 +2025-03-10 13:15:18,394 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3309678571427 | Take profit: 2101.7837982142855 +2025-03-10 13:15:18,786 - INFO - CLOSED long at 2074.37 | PnL: 0.18% | $0.15 +2025-03-10 13:15:18,818 - INFO - OPENED LONG at 2075.07 | Stop loss: 2064.679117857143 | Take profit: 2106.219348214286 +2025-03-10 13:15:19,235 - INFO - CLOSED long at 2067.9 | PnL: -0.35% | $-0.84 +2025-03-10 13:15:19,235 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.255032142857 | Take profit: 2036.8582017857143 +2025-03-10 13:15:19,259 - INFO - CLOSED short at 2066.4 | PnL: 0.07% | $-0.05 +2025-03-10 13:15:19,260 - INFO - OPENED LONG at 2066.4 | Stop loss: 2056.052467857143 | Take profit: 2097.4192982142854 +2025-03-10 13:15:20,042 - INFO - STOP LOSS hit for long at 2056.052467857143 | PnL: -0.50% | $-1.12 +2025-03-10 13:15:20,075 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.9484178571429 | Take profit: 2079.971448214286 +2025-03-10 13:15:20,130 - INFO - CLOSED long at 2051.99 | PnL: 0.14% | $0.07 +2025-03-10 13:15:20,131 - INFO - OPENED SHORT at 2051.99 | Stop loss: 2062.265482142857 | Take profit: 2021.186851785714 +2025-03-10 13:15:20,157 - INFO - CLOSED short at 2058.3 | PnL: -0.31% | $-0.75 +2025-03-10 13:15:20,158 - INFO - OPENED LONG at 2058.3 | Stop loss: 2047.9929678571432 | Take profit: 2089.1977982142857 +2025-03-10 13:15:20,434 - INFO - CLOSED long at 2067.49 | PnL: 0.45% | $0.64 +2025-03-10 13:15:20,434 - INFO - OPENED SHORT at 2067.49 | Stop loss: 2077.8429821428567 | Take profit: 2036.4543517857142 +2025-03-10 13:15:20,462 - INFO - CLOSED short at 2066.59 | PnL: 0.04% | $-0.10 +2025-03-10 13:15:20,463 - INFO - OPENED LONG at 2066.59 | Stop loss: 2056.241517857143 | Take profit: 2097.612148214286 +2025-03-10 13:15:20,540 - INFO - CLOSED long at 2059.9 | PnL: -0.32% | $-0.78 +2025-03-10 13:15:20,540 - INFO - OPENED SHORT at 2059.9 | Stop loss: 2070.215032142857 | Take profit: 2028.9782017857144 +2025-03-10 13:15:20,567 - INFO - CLOSED short at 2060.7 | PnL: -0.04% | $-0.25 +2025-03-10 13:15:20,568 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3809678571424 | Take profit: 2091.633798214286 +2025-03-10 13:15:20,619 - INFO - CLOSED long at 2062.54 | PnL: 0.09% | $-0.02 +2025-03-10 13:15:20,620 - INFO - OPENED SHORT at 2062.54 | Stop loss: 2072.868232142857 | Take profit: 2031.5786017857142 +2025-03-10 13:15:20,653 - INFO - CLOSED short at 2065.72 | PnL: -0.15% | $-0.46 +2025-03-10 13:15:20,654 - INFO - OPENED LONG at 2065.72 | Stop loss: 2055.3758678571426 | Take profit: 2096.729098214286 +2025-03-10 13:15:20,675 - INFO - CLOSED long at 2070.31 | PnL: 0.22% | $0.22 +2025-03-10 13:15:20,676 - INFO - OPENED SHORT at 2070.31 | Stop loss: 2080.677082142857 | Take profit: 2039.2320517857142 +2025-03-10 13:15:20,708 - INFO - CLOSED short at 2070.24 | PnL: 0.00% | $-0.18 +2025-03-10 13:15:20,708 - INFO - OPENED LONG at 2070.24 | Stop loss: 2059.8732678571428 | Take profit: 2101.3168982142856 +2025-03-10 13:15:21,081 - INFO - TAKE PROFIT hit for long at 2101.3168982142856 | PnL: 1.50% | $2.55 +2025-03-10 13:15:21,111 - INFO - OPENED LONG at 2130.7 | Stop loss: 2120.0309678571425 | Take profit: 2162.6837982142856 +2025-03-10 13:15:21,521 - INFO - STOP LOSS hit for long at 2120.0309678571425 | PnL: -0.50% | $-1.12 +2025-03-10 13:15:21,547 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.3148178571428 | Take profit: 2151.752248214286 +2025-03-10 13:15:21,636 - INFO - CLOSED long at 2119.14 | PnL: -0.04% | $-0.25 +2025-03-10 13:15:21,636 - INFO - OPENED SHORT at 2119.14 | Stop loss: 2129.751232142857 | Take profit: 2087.329601785714 +2025-03-10 13:15:21,668 - INFO - CLOSED short at 2119.07 | PnL: 0.00% | $-0.18 +2025-03-10 13:15:21,668 - INFO - OPENED LONG at 2119.07 | Stop loss: 2108.459117857143 | Take profit: 2150.8793482142855 +2025-03-10 13:15:21,728 - INFO - STOP LOSS hit for long at 2108.459117857143 | PnL: -0.50% | $-1.10 +2025-03-10 13:15:21,759 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.0314678571426 | Take profit: 2142.282298214285 +2025-03-10 13:15:21,978 - INFO - CLOSED long at 2116.48 | PnL: 0.28% | $0.32 +2025-03-10 13:15:21,979 - INFO - OPENED SHORT at 2116.48 | Stop loss: 2127.077932142857 | Take profit: 2084.7095017857146 +2025-03-10 13:15:22,007 - INFO - CLOSED short at 2114.8 | PnL: 0.08% | $-0.04 +2025-03-10 13:15:22,007 - INFO - OPENED LONG at 2114.8 | Stop loss: 2104.210467857143 | Take profit: 2146.545298214286 +2025-03-10 13:15:22,032 - INFO - CLOSED long at 2110.9 | PnL: -0.18% | $-0.52 +2025-03-10 13:15:22,064 - INFO - OPENED LONG at 2108.71 | Stop loss: 2098.1509178571428 | Take profit: 2140.3639482142858 +2025-03-10 13:15:22,175 - INFO - CLOSED long at 2100.5 | PnL: -0.39% | $-0.89 +2025-03-10 13:15:22,179 - INFO - OPENED SHORT at 2100.5 | Stop loss: 2111.0180321428575 | Take profit: 2068.969201785714 +2025-03-10 13:15:22,211 - INFO - CLOSED short at 2090.0 | PnL: 0.50% | $0.72 +2025-03-10 13:15:22,211 - INFO - OPENED LONG at 2090.0 | Stop loss: 2079.5344678571428 | Take profit: 2121.3732982142856 +2025-03-10 13:15:22,289 - INFO - CLOSED long at 2102.19 | PnL: 0.58% | $0.87 +2025-03-10 13:15:22,346 - INFO - OPENED LONG at 2099.25 | Stop loss: 2088.738217857143 | Take profit: 2130.7620482142856 +2025-03-10 13:15:22,643 - INFO - CLOSED long at 2100.02 | PnL: 0.04% | $-0.12 +2025-03-10 13:15:22,670 - INFO - OPENED SHORT at 2098.39 | Stop loss: 2108.8974821428574 | Take profit: 2066.890851785714 +2025-03-10 13:15:22,755 - INFO - CLOSED short at 2093.33 | PnL: 0.24% | $0.26 +2025-03-10 13:15:22,755 - INFO - OPENED LONG at 2093.33 | Stop loss: 2082.8478178571427 | Take profit: 2124.7532482142856 +2025-03-10 13:15:22,913 - INFO - CLOSED long at 2083.28 | PnL: -0.48% | $-1.06 +2025-03-10 13:15:22,945 - INFO - OPENED SHORT at 2088.44 | Stop loss: 2098.8977321428574 | Take profit: 2057.090101785714 +2025-03-10 13:15:22,973 - INFO - CLOSED short at 2083.97 | PnL: 0.21% | $0.21 +2025-03-10 13:15:22,973 - INFO - OPENED LONG at 2083.97 | Stop loss: 2073.5346178571426 | Take profit: 2115.2528482142857 +2025-03-10 13:15:22,999 - INFO - CLOSED long at 2085.3 | PnL: 0.06% | $-0.07 +2025-03-10 13:15:23,030 - INFO - OPENED LONG at 2082.44 | Stop loss: 2072.012267857143 | Take profit: 2113.699898214286 +2025-03-10 13:15:23,223 - INFO - CLOSED long at 2083.41 | PnL: 0.05% | $-0.10 +2025-03-10 13:15:23,223 - INFO - OPENED SHORT at 2083.41 | Stop loss: 2093.8425821428573 | Take profit: 2052.135551785714 +2025-03-10 13:15:23,330 - INFO - CLOSED short at 2083.59 | PnL: -0.01% | $-0.20 +2025-03-10 13:15:23,330 - INFO - OPENED LONG at 2083.59 | Stop loss: 2073.1565178571427 | Take profit: 2114.867148214286 +2025-03-10 13:15:23,377 - INFO - CLOSED long at 2086.57 | PnL: 0.14% | $0.08 +2025-03-10 13:15:23,406 - INFO - OPENED LONG at 2085.8 | Stop loss: 2075.355467857143 | Take profit: 2117.110298214286 +2025-03-10 13:15:23,481 - INFO - CLOSED long at 2085.85 | PnL: 0.00% | $-0.18 +2025-03-10 13:15:23,481 - INFO - OPENED SHORT at 2085.85 | Stop loss: 2096.294782142857 | Take profit: 2054.5389517857143 +2025-03-10 13:15:23,508 - INFO - CLOSED short at 2088.66 | PnL: -0.13% | $-0.42 +2025-03-10 13:15:23,508 - INFO - OPENED LONG at 2088.66 | Stop loss: 2078.2011678571425 | Take profit: 2120.0131982142857 +2025-03-10 13:15:23,532 - INFO - CLOSED long at 2088.32 | PnL: -0.02% | $-0.21 +2025-03-10 13:15:23,532 - INFO - OPENED SHORT at 2088.32 | Stop loss: 2098.777132142857 | Take profit: 2056.971901785714 +2025-03-10 13:15:23,567 - INFO - CLOSED short at 2088.1 | PnL: 0.01% | $-0.16 +2025-03-10 13:15:23,567 - INFO - OPENED LONG at 2088.1 | Stop loss: 2077.643967857143 | Take profit: 2119.4447982142856 +2025-03-10 13:15:24,374 - INFO - CLOSED long at 2103.07 | PnL: 0.72% | $1.10 +2025-03-10 13:15:24,432 - INFO - OPENED LONG at 2101.5 | Stop loss: 2090.976967857143 | Take profit: 2133.0457982142857 +2025-03-10 13:15:24,531 - INFO - CLOSED long at 2103.64 | PnL: 0.10% | $0.00 +2025-03-10 13:15:24,574 - INFO - OPENED LONG at 2105.2 | Stop loss: 2094.6584678571426 | Take profit: 2136.8012982142855 +2025-03-10 13:15:24,670 - INFO - Trade Analysis: Win Rate=17.2% in uptrends, 0.0% in downtrends | Avg Win=$0.47, Avg Loss=$-0.39 +2025-03-10 13:15:24,672 - INFO - Episode 18: Reward=135.09, Balance=$91.03, Win Rate=30.6%, Trades=72, Episode PnL=$-5.01, Total PnL=$-361.77, Max Drawdown=10.0%, Pred Accuracy=99.9% +2025-03-10 13:15:24,672 - ERROR - Error in episode 18: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:15:24,672 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1812, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:15:24,698 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:15:25,037 - INFO - OPENED LONG at 2046.58 | Stop loss: 2036.3315678571428 | Take profit: 2077.3019982142855 +2025-03-10 13:15:25,999 - INFO - CLOSED long at 2063.01 | PnL: 0.80% | $1.40 +2025-03-10 13:15:25,999 - INFO - OPENED SHORT at 2063.01 | Stop loss: 2073.3405821428573 | Take profit: 2032.0415517857145 +2025-03-10 13:15:26,050 - INFO - CLOSED short at 2060.99 | PnL: 0.10% | $-0.00 +2025-03-10 13:15:26,056 - INFO - OPENED LONG at 2060.99 | Stop loss: 2050.6695178571426 | Take profit: 2091.9281482142856 +2025-03-10 13:15:26,186 - INFO - CLOSED long at 2061.89 | PnL: 0.04% | $-0.11 +2025-03-10 13:15:26,211 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.5600178571426 | Take profit: 2093.8566482142855 +2025-03-10 13:15:26,559 - INFO - CLOSED long at 2065.86 | PnL: 0.14% | $0.09 +2025-03-10 13:15:26,583 - INFO - OPENED LONG at 2070.58 | Stop loss: 2060.2115678571427 | Take profit: 2101.6619982142856 +2025-03-10 13:15:27,251 - INFO - CLOSED long at 2070.7 | PnL: 0.01% | $-0.19 +2025-03-10 13:15:27,251 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.069032142857 | Take profit: 2039.6162017857139 +2025-03-10 13:15:27,280 - INFO - CLOSED short at 2069.34 | PnL: 0.07% | $-0.07 +2025-03-10 13:15:27,280 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.977767857143 | Take profit: 2100.4033982142855 +2025-03-10 13:15:27,353 - INFO - CLOSED long at 2067.6 | PnL: -0.08% | $-0.37 +2025-03-10 13:15:27,382 - INFO - OPENED LONG at 2067.51 | Stop loss: 2057.156917857143 | Take profit: 2098.5459482142855 +2025-03-10 13:15:27,434 - INFO - CLOSED long at 2066.39 | PnL: -0.05% | $-0.31 +2025-03-10 13:15:27,434 - INFO - OPENED SHORT at 2066.39 | Stop loss: 2076.737482142857 | Take profit: 2035.3708517857142 +2025-03-10 13:15:27,468 - INFO - CLOSED short at 2065.99 | PnL: 0.02% | $-0.16 +2025-03-10 13:15:27,469 - INFO - OPENED LONG at 2065.99 | Stop loss: 2055.6445178571425 | Take profit: 2097.0031482142854 +2025-03-10 13:15:27,711 - INFO - CLOSED long at 2068.9 | PnL: 0.14% | $0.08 +2025-03-10 13:15:27,711 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.260032142857 | Take profit: 2037.8432017857144 +2025-03-10 13:15:27,753 - INFO - CLOSED short at 2068.51 | PnL: 0.02% | $-0.16 +2025-03-10 13:15:27,755 - INFO - OPENED LONG at 2068.51 | Stop loss: 2058.151917857143 | Take profit: 2099.560948214286 +2025-03-10 13:15:28,129 - INFO - CLOSED long at 2072.15 | PnL: 0.18% | $0.15 +2025-03-10 13:15:28,129 - INFO - OPENED SHORT at 2072.15 | Stop loss: 2082.5262821428573 | Take profit: 2041.0444517857145 +2025-03-10 13:15:28,160 - INFO - CLOSED short at 2074.29 | PnL: -0.10% | $-0.40 +2025-03-10 13:15:28,161 - INFO - OPENED LONG at 2074.29 | Stop loss: 2063.903017857143 | Take profit: 2105.4276482142855 +2025-03-10 13:15:28,184 - INFO - CLOSED long at 2073.9 | PnL: -0.02% | $-0.24 +2025-03-10 13:15:28,211 - INFO - OPENED LONG at 2071.92 | Stop loss: 2061.544867857143 | Take profit: 2103.0220982142855 +2025-03-10 13:15:28,592 - INFO - CLOSED long at 2068.58 | PnL: -0.16% | $-0.52 +2025-03-10 13:15:28,616 - INFO - OPENED SHORT at 2068.8 | Stop loss: 2079.159532142857 | Take profit: 2037.7447017857144 +2025-03-10 13:15:28,644 - INFO - CLOSED short at 2069.34 | PnL: -0.03% | $-0.25 +2025-03-10 13:15:28,644 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.977767857143 | Take profit: 2100.4033982142855 +2025-03-10 13:15:28,829 - INFO - CLOSED long at 2070.4 | PnL: 0.05% | $-0.10 +2025-03-10 13:15:28,829 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.7675321428574 | Take profit: 2039.3207017857144 +2025-03-10 13:15:28,863 - INFO - CLOSED short at 2070.73 | PnL: -0.02% | $-0.23 +2025-03-10 13:15:28,864 - INFO - OPENED LONG at 2070.73 | Stop loss: 2060.360817857143 | Take profit: 2101.8142482142857 +2025-03-10 13:15:29,437 - INFO - CLOSED long at 2062.65 | PnL: -0.39% | $-0.96 +2025-03-10 13:15:29,437 - INFO - OPENED SHORT at 2062.65 | Stop loss: 2072.978782142857 | Take profit: 2031.6869517857142 +2025-03-10 13:15:29,464 - INFO - CLOSED short at 2061.78 | PnL: 0.04% | $-0.11 +2025-03-10 13:15:29,493 - INFO - OPENED LONG at 2059.59 | Stop loss: 2049.276517857143 | Take profit: 2090.507148214286 +2025-03-10 13:15:29,692 - INFO - CLOSED long at 2066.09 | PnL: 0.32% | $0.42 +2025-03-10 13:15:29,746 - INFO - OPENED LONG at 2064.08 | Stop loss: 2053.744067857143 | Take profit: 2095.0644982142853 +2025-03-10 13:15:29,910 - INFO - CLOSED long at 2060.9 | PnL: -0.15% | $-0.49 +2025-03-10 13:15:29,910 - INFO - OPENED SHORT at 2060.9 | Stop loss: 2071.2200321428572 | Take profit: 2029.9632017857143 +2025-03-10 13:15:29,944 - INFO - CLOSED short at 2060.65 | PnL: 0.01% | $-0.17 +2025-03-10 13:15:29,944 - INFO - OPENED LONG at 2060.65 | Stop loss: 2050.3312178571427 | Take profit: 2091.583048214286 +2025-03-10 13:15:29,967 - INFO - CLOSED long at 2058.89 | PnL: -0.09% | $-0.36 +2025-03-10 13:15:29,967 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.199982142857 | Take profit: 2027.9833517857144 +2025-03-10 13:15:30,035 - INFO - CLOSED short at 2060.31 | PnL: -0.07% | $-0.33 +2025-03-10 13:15:30,035 - INFO - OPENED LONG at 2060.31 | Stop loss: 2049.992917857143 | Take profit: 2091.237948214286 +2025-03-10 13:15:30,209 - INFO - CLOSED long at 2062.61 | PnL: 0.11% | $0.02 +2025-03-10 13:15:30,210 - INFO - OPENED SHORT at 2062.61 | Stop loss: 2072.9385821428573 | Take profit: 2031.6475517857143 +2025-03-10 13:15:30,240 - INFO - CLOSED short at 2060.91 | PnL: 0.08% | $-0.03 +2025-03-10 13:15:30,241 - INFO - OPENED LONG at 2060.91 | Stop loss: 2050.5899178571426 | Take profit: 2091.8469482142855 +2025-03-10 13:15:30,271 - INFO - CLOSED long at 2060.3 | PnL: -0.03% | $-0.25 +2025-03-10 13:15:30,303 - INFO - OPENED LONG at 2061.13 | Stop loss: 2050.808817857143 | Take profit: 2092.0702482142856 +2025-03-10 13:15:30,706 - INFO - CLOSED long at 2063.0 | PnL: 0.09% | $-0.02 +2025-03-10 13:15:30,736 - INFO - OPENED LONG at 2062.6 | Stop loss: 2052.271467857143 | Take profit: 2093.5622982142854 +2025-03-10 13:15:30,798 - INFO - CLOSED long at 2061.7 | PnL: -0.04% | $-0.27 +2025-03-10 13:15:30,798 - INFO - OPENED SHORT at 2061.7 | Stop loss: 2072.024032142857 | Take profit: 2030.751201785714 +2025-03-10 13:15:30,870 - INFO - CLOSED short at 2060.7 | PnL: 0.05% | $-0.10 +2025-03-10 13:15:30,870 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3809678571424 | Take profit: 2091.633798214286 +2025-03-10 13:15:30,984 - INFO - CLOSED long at 2059.61 | PnL: -0.05% | $-0.29 +2025-03-10 13:15:30,984 - INFO - OPENED SHORT at 2059.61 | Stop loss: 2069.9235821428574 | Take profit: 2028.6925517857144 +2025-03-10 13:15:31,013 - INFO - CLOSED short at 2059.16 | PnL: 0.02% | $-0.15 +2025-03-10 13:15:31,013 - INFO - OPENED LONG at 2059.16 | Stop loss: 2048.8486678571426 | Take profit: 2090.0706982142856 +2025-03-10 13:15:31,366 - INFO - CLOSED long at 2054.89 | PnL: -0.21% | $-0.58 +2025-03-10 13:15:31,366 - INFO - OPENED SHORT at 2054.89 | Stop loss: 2065.1799821428567 | Take profit: 2024.043351785714 +2025-03-10 13:15:31,392 - INFO - CLOSED short at 2054.83 | PnL: 0.00% | $-0.18 +2025-03-10 13:15:31,392 - INFO - OPENED LONG at 2054.83 | Stop loss: 2044.5403178571428 | Take profit: 2085.6757482142852 +2025-03-10 13:15:31,676 - INFO - CLOSED long at 2063.4 | PnL: 0.42% | $0.60 +2025-03-10 13:15:31,740 - INFO - OPENED LONG at 2066.36 | Stop loss: 2056.0126678571432 | Take profit: 2097.3786982142856 +2025-03-10 13:15:31,796 - INFO - CLOSED long at 2063.9 | PnL: -0.12% | $-0.41 +2025-03-10 13:15:31,829 - INFO - OPENED LONG at 2064.49 | Stop loss: 2054.1520178571427 | Take profit: 2095.480648214286 +2025-03-10 13:15:32,319 - INFO - CLOSED long at 2070.0 | PnL: 0.27% | $0.31 +2025-03-10 13:15:32,319 - INFO - OPENED SHORT at 2070.0 | Stop loss: 2080.365532142857 | Take profit: 2038.9267017857142 +2025-03-10 13:15:32,350 - INFO - CLOSED short at 2068.15 | PnL: 0.09% | $-0.02 +2025-03-10 13:15:32,350 - INFO - OPENED LONG at 2068.15 | Stop loss: 2057.793717857143 | Take profit: 2099.1955482142857 +2025-03-10 13:15:32,497 - INFO - CLOSED long at 2069.03 | PnL: 0.04% | $-0.11 +2025-03-10 13:15:32,497 - INFO - OPENED SHORT at 2069.03 | Stop loss: 2079.3906821428573 | Take profit: 2037.9712517857145 +2025-03-10 13:15:32,568 - INFO - CLOSED short at 2067.44 | PnL: 0.08% | $-0.04 +2025-03-10 13:15:32,568 - INFO - OPENED LONG at 2067.44 | Stop loss: 2057.0872678571427 | Take profit: 2098.4748982142855 +2025-03-10 13:15:32,591 - INFO - CLOSED long at 2068.79 | PnL: 0.07% | $-0.07 +2025-03-10 13:15:32,617 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6095178571427 | Take profit: 2104.1081482142854 +2025-03-10 13:15:32,641 - INFO - CLOSED long at 2071.49 | PnL: -0.07% | $-0.33 +2025-03-10 13:15:32,663 - INFO - OPENED LONG at 2069.87 | Stop loss: 2059.505117857143 | Take profit: 2100.9413482142854 +2025-03-10 13:15:33,652 - INFO - CLOSED long at 2073.27 | PnL: 0.16% | $0.12 +2025-03-10 13:15:33,652 - INFO - OPENED SHORT at 2073.27 | Stop loss: 2083.6518821428567 | Take profit: 2042.1476517857143 +2025-03-10 13:15:33,673 - INFO - CLOSED short at 2073.99 | PnL: -0.03% | $-0.25 +2025-03-10 13:15:33,673 - INFO - OPENED LONG at 2073.99 | Stop loss: 2063.6045178571426 | Take profit: 2105.1231482142853 +2025-03-10 13:15:33,823 - INFO - CLOSED long at 2069.97 | PnL: -0.19% | $-0.55 +2025-03-10 13:15:33,823 - INFO - OPENED SHORT at 2069.97 | Stop loss: 2080.335382142857 | Take profit: 2038.897151785714 +2025-03-10 13:15:33,848 - INFO - CLOSED short at 2067.7 | PnL: 0.11% | $0.02 +2025-03-10 13:15:33,848 - INFO - OPENED LONG at 2067.7 | Stop loss: 2057.3459678571426 | Take profit: 2098.7387982142855 +2025-03-10 13:15:33,867 - INFO - CLOSED long at 2067.0 | PnL: -0.03% | $-0.25 +2025-03-10 13:15:33,867 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.350532142857 | Take profit: 2035.9717017857142 +2025-03-10 13:15:33,889 - INFO - CLOSED short at 2067.9 | PnL: -0.04% | $-0.27 +2025-03-10 13:15:33,889 - INFO - OPENED LONG at 2067.9 | Stop loss: 2057.544967857143 | Take profit: 2098.941798214286 +2025-03-10 13:15:34,165 - INFO - CLOSED long at 2065.07 | PnL: -0.14% | $-0.44 +2025-03-10 13:15:34,165 - INFO - OPENED SHORT at 2065.07 | Stop loss: 2075.4108821428576 | Take profit: 2034.0706517857145 +2025-03-10 13:15:34,185 - INFO - CLOSED short at 2066.09 | PnL: -0.05% | $-0.28 +2025-03-10 13:15:34,185 - INFO - OPENED LONG at 2066.09 | Stop loss: 2055.744017857143 | Take profit: 2097.1046482142856 +2025-03-10 13:15:34,380 - INFO - CLOSED long at 2063.01 | PnL: -0.15% | $-0.46 +2025-03-10 13:15:34,380 - INFO - OPENED SHORT at 2063.01 | Stop loss: 2073.3405821428573 | Take profit: 2032.0415517857145 +2025-03-10 13:15:34,402 - INFO - CLOSED short at 2060.7 | PnL: 0.11% | $0.02 +2025-03-10 13:15:34,403 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3809678571424 | Take profit: 2091.633798214286 +2025-03-10 13:15:34,561 - INFO - STOP LOSS hit for long at 2050.3809678571424 | PnL: -0.50% | $-1.10 +2025-03-10 13:15:34,583 - INFO - OPENED LONG at 2049.5 | Stop loss: 2039.2369678571429 | Take profit: 2080.2657982142855 +2025-03-10 13:15:34,673 - INFO - CLOSED long at 2057.11 | PnL: 0.37% | $0.49 +2025-03-10 13:15:34,673 - INFO - OPENED SHORT at 2057.11 | Stop loss: 2067.411082142857 | Take profit: 2026.2300517857145 +2025-03-10 13:15:34,698 - INFO - CLOSED short at 2057.89 | PnL: -0.04% | $-0.25 +2025-03-10 13:15:34,698 - INFO - OPENED LONG at 2057.89 | Stop loss: 2047.5850178571427 | Take profit: 2088.7816482142853 +2025-03-10 13:15:34,717 - INFO - CLOSED long at 2062.83 | PnL: 0.24% | $0.25 +2025-03-10 13:15:34,718 - INFO - OPENED SHORT at 2062.83 | Stop loss: 2073.159682142857 | Take profit: 2031.8642517857143 +2025-03-10 13:15:34,742 - INFO - CLOSED short at 2063.9 | PnL: -0.05% | $-0.28 +2025-03-10 13:15:34,743 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.564967857143 | Take profit: 2094.881798214286 +2025-03-10 13:15:35,118 - INFO - CLOSED long at 2069.34 | PnL: 0.26% | $0.30 +2025-03-10 13:15:35,145 - INFO - OPENED SHORT at 2069.81 | Stop loss: 2080.1745821428567 | Take profit: 2038.7395517857142 +2025-03-10 13:15:35,170 - INFO - CLOSED short at 2070.41 | PnL: -0.03% | $-0.23 +2025-03-10 13:15:35,170 - INFO - OPENED LONG at 2070.41 | Stop loss: 2060.042417857143 | Take profit: 2101.489448214286 +2025-03-10 13:15:35,427 - INFO - TAKE PROFIT hit for long at 2101.489448214286 | PnL: 1.50% | $2.55 +2025-03-10 13:15:35,458 - INFO - OPENED LONG at 2130.7 | Stop loss: 2120.0309678571425 | Take profit: 2162.6837982142856 +2025-03-10 13:15:35,824 - INFO - STOP LOSS hit for long at 2120.0309678571425 | PnL: -0.50% | $-1.12 +2025-03-10 13:15:35,851 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.3148178571428 | Take profit: 2151.752248214286 +2025-03-10 13:15:36,011 - INFO - STOP LOSS hit for long at 2109.3148178571428 | PnL: -0.50% | $-1.11 +2025-03-10 13:15:36,040 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.0314678571426 | Take profit: 2142.282298214285 +2025-03-10 13:15:36,407 - INFO - CLOSED long at 2120.81 | PnL: 0.48% | $0.70 +2025-03-10 13:15:36,440 - INFO - OPENED LONG at 2116.48 | Stop loss: 2105.882067857143 | Take profit: 2148.250498214286 +2025-03-10 13:15:36,598 - INFO - STOP LOSS hit for long at 2105.882067857143 | PnL: -0.50% | $-1.10 +2025-03-10 13:15:36,632 - INFO - OPENED SHORT at 2100.5 | Stop loss: 2111.0180321428575 | Take profit: 2068.969201785714 +2025-03-10 13:15:36,760 - INFO - CLOSED short at 2098.1 | PnL: 0.11% | $0.03 +2025-03-10 13:15:36,761 - INFO - OPENED LONG at 2098.1 | Stop loss: 2087.5939678571426 | Take profit: 2129.5947982142857 +2025-03-10 13:15:37,130 - INFO - CLOSED long at 2101.51 | PnL: 0.16% | $0.11 +2025-03-10 13:15:37,130 - INFO - OPENED SHORT at 2101.51 | Stop loss: 2112.0330821428574 | Take profit: 2069.964051785714 +2025-03-10 13:15:37,175 - INFO - CLOSED short at 2099.59 | PnL: 0.09% | $-0.02 +2025-03-10 13:15:37,175 - INFO - OPENED LONG at 2099.59 | Stop loss: 2089.0765178571432 | Take profit: 2131.1071482142856 +2025-03-10 13:15:37,306 - INFO - CLOSED long at 2093.33 | PnL: -0.30% | $-0.72 +2025-03-10 13:15:37,333 - INFO - OPENED LONG at 2092.46 | Stop loss: 2081.982167857143 | Take profit: 2123.8701982142857 +2025-03-10 13:15:37,740 - INFO - STOP LOSS hit for long at 2081.982167857143 | PnL: -0.50% | $-1.08 +2025-03-10 13:15:37,768 - INFO - OPENED LONG at 2080.38 | Stop loss: 2069.962567857143 | Take profit: 2111.6089982142857 +2025-03-10 13:15:38,423 - INFO - CLOSED long at 2085.67 | PnL: 0.25% | $0.27 +2025-03-10 13:15:38,423 - INFO - OPENED SHORT at 2085.67 | Stop loss: 2096.113882142857 | Take profit: 2054.3616517857145 +2025-03-10 13:15:38,443 - INFO - CLOSED short at 2089.2 | PnL: -0.17% | $-0.48 +2025-03-10 13:15:38,443 - INFO - OPENED LONG at 2089.2 | Stop loss: 2078.738467857143 | Take profit: 2120.5612982142857 +2025-03-10 13:15:38,582 - INFO - CLOSED long at 2099.99 | PnL: 0.52% | $0.74 +2025-03-10 13:15:38,584 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.505482142857 | Take profit: 2068.466851785714 +2025-03-10 13:15:38,621 - INFO - CLOSED short at 2101.64 | PnL: -0.08% | $-0.32 +2025-03-10 13:15:38,621 - INFO - OPENED LONG at 2101.64 | Stop loss: 2091.1162678571427 | Take profit: 2133.1878982142857 +2025-03-10 13:15:38,672 - INFO - CLOSED long at 2097.11 | PnL: -0.22% | $-0.56 +2025-03-10 13:15:38,672 - INFO - OPENED SHORT at 2097.11 | Stop loss: 2107.611082142857 | Take profit: 2065.6300517857144 +2025-03-10 13:15:38,713 - INFO - CLOSED short at 2098.49 | PnL: -0.07% | $-0.29 +2025-03-10 13:15:38,713 - INFO - OPENED LONG at 2098.49 | Stop loss: 2087.9820178571426 | Take profit: 2129.9906482142856 +2025-03-10 13:15:38,784 - INFO - CLOSED long at 2100.89 | PnL: 0.11% | $0.03 +2025-03-10 13:15:38,784 - INFO - OPENED SHORT at 2100.89 | Stop loss: 2111.409982142857 | Take profit: 2069.353351785714 +2025-03-10 13:15:38,808 - INFO - CLOSED short at 2099.73 | PnL: 0.06% | $-0.08 +2025-03-10 13:15:38,809 - INFO - OPENED LONG at 2099.73 | Stop loss: 2089.215817857143 | Take profit: 2131.249248214286 +2025-03-10 13:15:38,933 - INFO - CLOSED long at 2101.5 | PnL: 0.08% | $-0.03 +2025-03-10 13:15:38,958 - INFO - OPENED LONG at 2105.83 | Stop loss: 2095.2853178571427 | Take profit: 2137.4407482142856 +2025-03-10 13:15:39,152 - INFO - Trade Analysis: Win Rate=11.4% in uptrends, 0.0% in downtrends | Avg Win=$0.41, Avg Loss=$-0.34 +2025-03-10 13:15:39,153 - INFO - Episode 19: Reward=124.61, Balance=$89.03, Win Rate=26.6%, Trades=79, Episode PnL=$-9.03, Total PnL=$-372.73, Max Drawdown=12.2%, Pred Accuracy=99.9% +2025-03-10 13:15:39,153 - ERROR - Error in episode 19: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:15:39,155 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1812, in train_agent + f"Max Drawdown={env.max_drawdown*100:.1f}%, Pred Accuracy={prediction_accuracy:.1f}%") + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:15:39,177 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:15:39,395 - INFO - OPENED LONG at 2046.58 | Stop loss: 2036.3315678571428 | Take profit: 2077.3019982142855 +2025-03-10 13:15:39,643 - INFO - CLOSED long at 2049.89 | PnL: 0.16% | $0.12 +2025-03-10 13:15:39,643 - INFO - OPENED SHORT at 2049.89 | Stop loss: 2060.154982142857 | Take profit: 2019.1183517857141 +2025-03-10 13:15:39,676 - INFO - CLOSED short at 2051.11 | PnL: -0.06% | $-0.32 +2025-03-10 13:15:39,676 - INFO - OPENED LONG at 2051.11 | Stop loss: 2040.8389178571429 | Take profit: 2081.899948214286 +2025-03-10 13:15:40,348 - INFO - CLOSED long at 2064.32 | PnL: 0.64% | $1.08 +2025-03-10 13:15:40,373 - INFO - OPENED LONG at 2065.86 | Stop loss: 2055.515167857143 | Take profit: 2096.871198214286 +2025-03-10 13:15:40,604 - INFO - CLOSED long at 2067.69 | PnL: 0.09% | $-0.02 +2025-03-10 13:15:40,626 - INFO - OPENED LONG at 2070.26 | Stop loss: 2059.893167857143 | Take profit: 2101.3371982142858 +2025-03-10 13:15:41,086 - INFO - CLOSED long at 2067.51 | PnL: -0.13% | $-0.47 +2025-03-10 13:15:41,087 - INFO - OPENED SHORT at 2067.51 | Stop loss: 2077.8630821428574 | Take profit: 2036.4740517857144 +2025-03-10 13:15:41,112 - INFO - CLOSED short at 2069.01 | PnL: -0.07% | $-0.34 +2025-03-10 13:15:41,112 - INFO - OPENED LONG at 2069.01 | Stop loss: 2058.6494178571434 | Take profit: 2100.068448214286 +2025-03-10 13:15:41,233 - INFO - CLOSED long at 2065.08 | PnL: -0.19% | $-0.58 +2025-03-10 13:15:41,262 - INFO - OPENED LONG at 2066.18 | Stop loss: 2055.8335678571425 | Take profit: 2097.1959982142853 +2025-03-10 13:15:41,380 - INFO - CLOSED long at 2069.7 | PnL: 0.17% | $0.14 +2025-03-10 13:15:41,403 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.032467857143 | Take profit: 2101.479298214286 +2025-03-10 13:15:41,543 - INFO - CLOSED long at 2072.7 | PnL: 0.11% | $0.02 +2025-03-10 13:15:41,567 - INFO - OPENED LONG at 2072.15 | Stop loss: 2061.773717857143 | Take profit: 2103.2555482142857 +2025-03-10 13:15:41,607 - INFO - CLOSED long at 2073.9 | PnL: 0.08% | $-0.03 +2025-03-10 13:15:41,607 - INFO - OPENED SHORT at 2073.9 | Stop loss: 2084.2850321428573 | Take profit: 2042.7682017857144 +2025-03-10 13:15:41,649 - INFO - CLOSED short at 2070.4 | PnL: 0.17% | $0.14 +2025-03-10 13:15:41,649 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.032467857143 | Take profit: 2101.479298214286 +2025-03-10 13:15:41,916 - INFO - CLOSED long at 2065.26 | PnL: -0.25% | $-0.69 +2025-03-10 13:15:41,948 - INFO - OPENED LONG at 2067.89 | Stop loss: 2057.535017857143 | Take profit: 2098.9316482142854 +2025-03-10 13:15:42,064 - INFO - CLOSED long at 2067.59 | PnL: -0.01% | $-0.23 +2025-03-10 13:15:42,066 - INFO - OPENED SHORT at 2067.59 | Stop loss: 2077.943482142857 | Take profit: 2036.5528517857142 +2025-03-10 13:15:42,094 - INFO - CLOSED short at 2069.2 | PnL: -0.08% | $-0.35 +2025-03-10 13:15:42,094 - INFO - OPENED LONG at 2069.2 | Stop loss: 2058.8384678571424 | Take profit: 2100.2612982142855 +2025-03-10 13:15:42,284 - INFO - CLOSED long at 2067.84 | PnL: -0.07% | $-0.32 +2025-03-10 13:15:42,284 - INFO - OPENED SHORT at 2067.84 | Stop loss: 2078.1947321428574 | Take profit: 2036.7991017857144 +2025-03-10 13:15:42,309 - INFO - CLOSED short at 2067.11 | PnL: 0.04% | $-0.13 +2025-03-10 13:15:42,310 - INFO - OPENED LONG at 2067.11 | Stop loss: 2056.758917857143 | Take profit: 2098.139948214286 +2025-03-10 13:15:42,620 - INFO - CLOSED long at 2065.26 | PnL: -0.09% | $-0.37 +2025-03-10 13:15:42,645 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.5600178571426 | Take profit: 2093.8566482142855 +2025-03-10 13:15:42,786 - INFO - CLOSED long at 2066.24 | PnL: 0.16% | $0.12 +2025-03-10 13:15:42,786 - INFO - OPENED SHORT at 2066.24 | Stop loss: 2076.586732142857 | Take profit: 2035.223101785714 +2025-03-10 13:15:42,805 - INFO - CLOSED short at 2067.1 | PnL: -0.04% | $-0.27 +2025-03-10 13:15:42,805 - INFO - OPENED LONG at 2067.1 | Stop loss: 2056.748967857143 | Take profit: 2098.1297982142855 +2025-03-10 13:15:42,843 - INFO - CLOSED long at 2066.09 | PnL: -0.05% | $-0.29 +2025-03-10 13:15:42,868 - INFO - OPENED LONG at 2064.45 | Stop loss: 2054.1122178571427 | Take profit: 2095.4400482142855 +2025-03-10 13:15:44,146 - INFO - CLOSED long at 2058.15 | PnL: -0.31% | $-0.78 +2025-03-10 13:15:44,146 - INFO - OPENED SHORT at 2058.15 | Stop loss: 2068.4562821428576 | Take profit: 2027.2544517857145 +2025-03-10 13:15:44,180 - INFO - CLOSED short at 2059.8 | PnL: -0.08% | $-0.34 +2025-03-10 13:15:44,181 - INFO - OPENED LONG at 2059.8 | Stop loss: 2049.4854678571432 | Take profit: 2090.720298214286 +2025-03-10 13:15:44,538 - INFO - CLOSED long at 2067.33 | PnL: 0.37% | $0.51 +2025-03-10 13:15:44,575 - INFO - OPENED LONG at 2067.01 | Stop loss: 2056.659417857143 | Take profit: 2098.038448214286 +2025-03-10 13:15:44,622 - INFO - CLOSED long at 2069.79 | PnL: 0.13% | $0.07 +2025-03-10 13:15:44,622 - INFO - OPENED SHORT at 2069.79 | Stop loss: 2080.154482142857 | Take profit: 2038.7198517857141 +2025-03-10 13:15:44,644 - INFO - CLOSED short at 2072.0 | PnL: -0.11% | $-0.40 +2025-03-10 13:15:44,645 - INFO - OPENED LONG at 2072.0 | Stop loss: 2061.624467857143 | Take profit: 2103.1032982142856 +2025-03-10 13:15:45,990 - INFO - CLOSED long at 2068.67 | PnL: -0.16% | $-0.50 +2025-03-10 13:15:45,990 - INFO - OPENED SHORT at 2068.67 | Stop loss: 2079.028882142857 | Take profit: 2037.6166517857143 +2025-03-10 13:15:46,030 - INFO - CLOSED short at 2070.67 | PnL: -0.10% | $-0.37 +2025-03-10 13:15:46,036 - INFO - OPENED LONG at 2070.67 | Stop loss: 2060.301117857143 | Take profit: 2101.753348214286 +2025-03-10 13:15:46,119 - INFO - CLOSED long at 2071.61 | PnL: 0.05% | $-0.10 +2025-03-10 13:15:46,162 - INFO - OPENED LONG at 2074.37 | Stop loss: 2063.982617857143 | Take profit: 2105.508848214286 +2025-03-10 13:15:47,020 - INFO - CLOSED long at 2063.39 | PnL: -0.53% | $-1.19 +2025-03-10 13:15:47,020 - INFO - OPENED SHORT at 2063.39 | Stop loss: 2073.722482142857 | Take profit: 2032.415851785714 +2025-03-10 13:15:47,046 - INFO - CLOSED short at 2062.34 | PnL: 0.05% | $-0.09 +2025-03-10 13:15:47,046 - INFO - OPENED LONG at 2062.34 | Stop loss: 2052.012767857143 | Take profit: 2093.2983982142855 +2025-03-10 13:15:47,381 - INFO - CLOSED long at 2059.2 | PnL: -0.15% | $-0.47 +2025-03-10 13:15:47,381 - INFO - OPENED SHORT at 2059.2 | Stop loss: 2069.511532142857 | Take profit: 2028.288701785714 +2025-03-10 13:15:47,403 - INFO - CLOSED short at 2058.09 | PnL: 0.05% | $-0.09 +2025-03-10 13:15:47,403 - INFO - OPENED LONG at 2058.09 | Stop loss: 2047.784017857143 | Take profit: 2088.9846482142857 +2025-03-10 13:15:47,753 - INFO - CLOSED long at 2063.9 | PnL: 0.28% | $0.34 +2025-03-10 13:15:47,782 - INFO - OPENED LONG at 2065.1 | Stop loss: 2054.758967857143 | Take profit: 2096.099798214286 +2025-03-10 13:15:47,994 - INFO - CLOSED long at 2059.9 | PnL: -0.25% | $-0.65 +2025-03-10 13:15:47,994 - INFO - OPENED SHORT at 2059.9 | Stop loss: 2070.215032142857 | Take profit: 2028.9782017857144 +2025-03-10 13:15:48,047 - INFO - CLOSED short at 2060.7 | PnL: -0.04% | $-0.26 +2025-03-10 13:15:48,048 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3809678571424 | Take profit: 2091.633798214286 +2025-03-10 13:15:48,215 - INFO - CLOSED long at 2070.24 | PnL: 0.46% | $0.67 +2025-03-10 13:15:48,264 - INFO - OPENED LONG at 2069.81 | Stop loss: 2059.4454178571427 | Take profit: 2100.8804482142855 +2025-03-10 13:15:48,507 - INFO - CLOSED long at 2076.08 | PnL: 0.30% | $0.38 +2025-03-10 13:15:48,507 - INFO - OPENED SHORT at 2076.08 | Stop loss: 2086.475932142857 | Take profit: 2044.9155017857142 +2025-03-10 13:15:48,560 - INFO - CLOSED short at 2077.61 | PnL: -0.07% | $-0.32 +2025-03-10 13:15:48,560 - INFO - OPENED LONG at 2077.61 | Stop loss: 2067.206417857143 | Take profit: 2108.797448214286 +2025-03-10 13:15:48,659 - INFO - TAKE PROFIT hit for long at 2108.797448214286 | PnL: 1.50% | $2.60 +2025-03-10 13:15:48,686 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.826767857143 | Take profit: 2171.6563982142857 +2025-03-10 13:15:48,878 - INFO - CLOSED long at 2142.68 | PnL: 0.15% | $0.09 +2025-03-10 13:15:48,918 - INFO - OPENED LONG at 2140.01 | Stop loss: 2129.294417857143 | Take profit: 2172.133448214286 +2025-03-10 13:15:48,978 - INFO - STOP LOSS hit for long at 2129.294417857143 | PnL: -0.50% | $-1.15 +2025-03-10 13:15:49,003 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.647967857143 | Take profit: 2159.2327982142856 +2025-03-10 13:15:49,070 - INFO - CLOSED long at 2120.15 | PnL: -0.34% | $-0.82 +2025-03-10 13:15:49,112 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.3148178571428 | Take profit: 2151.752248214286 +2025-03-10 13:15:49,285 - INFO - STOP LOSS hit for long at 2109.3148178571428 | PnL: -0.50% | $-1.12 +2025-03-10 13:15:49,320 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.0314678571426 | Take profit: 2142.282298214285 +2025-03-10 13:15:49,730 - INFO - STOP LOSS hit for long at 2100.0314678571426 | PnL: -0.50% | $-1.11 +2025-03-10 13:15:49,776 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.016817857143 | Take profit: 2131.046248214286 +2025-03-10 13:15:50,104 - INFO - CLOSED long at 2101.51 | PnL: 0.09% | $-0.01 +2025-03-10 13:15:50,148 - INFO - OPENED LONG at 2099.59 | Stop loss: 2089.0765178571432 | Take profit: 2131.1071482142856 +2025-03-10 13:15:50,201 - INFO - CLOSED long at 2098.39 | PnL: -0.06% | $-0.29 +2025-03-10 13:15:50,202 - INFO - OPENED SHORT at 2098.39 | Stop loss: 2108.8974821428574 | Take profit: 2066.890851785714 +2025-03-10 13:15:50,226 - INFO - CLOSED short at 2095.29 | PnL: 0.15% | $0.09 +2025-03-10 13:15:50,226 - INFO - OPENED LONG at 2095.29 | Stop loss: 2084.798017857143 | Take profit: 2126.742648214286 +2025-03-10 13:15:50,339 - INFO - CLOSED long at 2094.72 | PnL: -0.03% | $-0.23 +2025-03-10 13:15:50,363 - INFO - OPENED LONG at 2094.08 | Stop loss: 2083.594067857143 | Take profit: 2125.5144982142856 +2025-03-10 13:15:50,441 - INFO - STOP LOSS hit for long at 2083.594067857143 | PnL: -0.50% | $-1.09 +2025-03-10 13:15:50,481 - INFO - OPENED LONG at 2088.44 | Stop loss: 2077.9822678571427 | Take profit: 2119.789898214286 +2025-03-10 13:15:50,578 - INFO - CLOSED long at 2082.44 | PnL: -0.29% | $-0.70 +2025-03-10 13:15:50,601 - INFO - OPENED LONG at 2081.49 | Stop loss: 2071.0670178571427 | Take profit: 2112.7356482142854 +2025-03-10 13:15:50,800 - INFO - CLOSED long at 2084.72 | PnL: 0.16% | $0.10 +2025-03-10 13:15:50,844 - INFO - OPENED LONG at 2085.83 | Stop loss: 2075.3853178571426 | Take profit: 2117.140748214286 +2025-03-10 13:15:50,930 - INFO - CLOSED long at 2088.66 | PnL: 0.14% | $0.06 +2025-03-10 13:15:50,933 - INFO - OPENED SHORT at 2088.66 | Stop loss: 2099.1188321428567 | Take profit: 2057.306801785714 +2025-03-10 13:15:50,977 - INFO - CLOSED short at 2088.32 | PnL: 0.02% | $-0.15 +2025-03-10 13:15:50,977 - INFO - OPENED LONG at 2088.32 | Stop loss: 2077.862867857143 | Take profit: 2119.6680982142857 +2025-03-10 13:15:51,793 - INFO - CLOSED long at 2101.5 | PnL: 0.63% | $0.95 +2025-03-10 13:15:51,836 - INFO - OPENED LONG at 2105.83 | Stop loss: 2095.2853178571427 | Take profit: 2137.4407482142856 +2025-03-10 13:15:51,997 - INFO - Trade Analysis: Win Rate=15.0% in uptrends, 0.0% in downtrends | Avg Win=$0.44, Avg Loss=$-0.45 +2025-03-10 13:15:51,997 - INFO - Episode 20: Reward=149.73, Balance=$90.81, Win Rate=31.5%, Trades=54, Episode PnL=$-5.01, Total PnL=$-381.92, Max Drawdown=10.9%, Pred Accuracy=99.8% +2025-03-10 13:15:51,997 - ERROR - Error in episode 20: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:15:51,997 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1812, in train_agent + f"Max Drawdown={env.max_drawdown*100:.1f}%, Pred Accuracy={prediction_accuracy:.1f}%") + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:15:52,027 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:15:52,238 - INFO - OPENED LONG at 2046.58 | Stop loss: 2036.3315678571428 | Take profit: 2077.3019982142855 +2025-03-10 13:15:52,723 - INFO - CLOSED long at 2060.13 | PnL: 0.66% | $1.12 +2025-03-10 13:15:52,723 - INFO - OPENED SHORT at 2060.13 | Stop loss: 2070.446182142857 | Take profit: 2029.2047517857145 +2025-03-10 13:15:52,746 - INFO - CLOSED short at 2059.7 | PnL: 0.02% | $-0.16 +2025-03-10 13:15:52,746 - INFO - OPENED LONG at 2059.7 | Stop loss: 2049.3859678571425 | Take profit: 2090.6187982142856 +2025-03-10 13:15:53,017 - INFO - CLOSED long at 2064.69 | PnL: 0.24% | $0.29 +2025-03-10 13:15:53,043 - INFO - OPENED LONG at 2063.01 | Stop loss: 2052.679417857143 | Take profit: 2093.978448214286 +2025-03-10 13:15:53,091 - INFO - CLOSED long at 2058.3 | PnL: -0.23% | $-0.66 +2025-03-10 13:15:53,091 - INFO - OPENED SHORT at 2058.3 | Stop loss: 2068.6070321428574 | Take profit: 2027.4022017857146 +2025-03-10 13:15:53,118 - INFO - CLOSED short at 2060.0 | PnL: -0.08% | $-0.36 +2025-03-10 13:15:53,118 - INFO - OPENED LONG at 2060.0 | Stop loss: 2049.684467857143 | Take profit: 2090.9232982142858 +2025-03-10 13:15:53,672 - INFO - CLOSED long at 2071.63 | PnL: 0.56% | $0.92 +2025-03-10 13:15:53,722 - INFO - OPENED LONG at 2070.99 | Stop loss: 2060.6195178571425 | Take profit: 2102.0781482142856 +2025-03-10 13:15:53,969 - INFO - CLOSED long at 2072.91 | PnL: 0.09% | $-0.01 +2025-03-10 13:15:54,011 - INFO - OPENED LONG at 2072.33 | Stop loss: 2061.9528178571427 | Take profit: 2103.4382482142855 +2025-03-10 13:15:54,643 - INFO - CLOSED long at 2066.39 | PnL: -0.29% | $-0.78 +2025-03-10 13:15:54,669 - INFO - OPENED LONG at 2065.99 | Stop loss: 2055.6445178571425 | Take profit: 2097.0031482142854 +2025-03-10 13:15:54,741 - INFO - CLOSED long at 2065.08 | PnL: -0.04% | $-0.29 +2025-03-10 13:15:54,741 - INFO - OPENED SHORT at 2065.08 | Stop loss: 2075.420932142857 | Take profit: 2034.0805017857142 +2025-03-10 13:15:54,765 - INFO - CLOSED short at 2066.18 | PnL: -0.05% | $-0.30 +2025-03-10 13:15:54,766 - INFO - OPENED LONG at 2066.18 | Stop loss: 2055.8335678571425 | Take profit: 2097.1959982142853 +2025-03-10 13:15:55,207 - INFO - CLOSED long at 2072.75 | PnL: 0.32% | $0.43 +2025-03-10 13:15:55,275 - INFO - OPENED LONG at 2073.11 | Stop loss: 2062.728917857143 | Take profit: 2104.2299482142857 +2025-03-10 13:15:56,320 - INFO - CLOSED long at 2065.28 | PnL: -0.38% | $-0.95 +2025-03-10 13:15:56,345 - INFO - OPENED LONG at 2066.39 | Stop loss: 2056.0425178571427 | Take profit: 2097.409148214286 +2025-03-10 13:15:57,013 - INFO - CLOSED long at 2064.08 | PnL: -0.11% | $-0.42 +2025-03-10 13:15:57,037 - INFO - OPENED LONG at 2062.71 | Stop loss: 2052.380917857143 | Take profit: 2093.6739482142857 +2025-03-10 13:15:57,222 - INFO - CLOSED long at 2058.89 | PnL: -0.19% | $-0.56 +2025-03-10 13:15:57,259 - INFO - OPENED LONG at 2059.3 | Stop loss: 2048.987967857143 | Take profit: 2090.212798214286 +2025-03-10 13:15:57,426 - INFO - CLOSED long at 2060.91 | PnL: 0.08% | $-0.04 +2025-03-10 13:15:57,443 - INFO - OPENED LONG at 2060.3 | Stop loss: 2049.982967857143 | Take profit: 2091.227798214286 +2025-03-10 13:15:57,521 - INFO - CLOSED long at 2064.1 | PnL: 0.18% | $0.16 +2025-03-10 13:15:57,545 - INFO - OPENED LONG at 2065.36 | Stop loss: 2055.017667857143 | Take profit: 2096.363698214286 +2025-03-10 13:15:57,570 - INFO - CLOSED long at 2064.33 | PnL: -0.05% | $-0.29 +2025-03-10 13:15:57,570 - INFO - OPENED SHORT at 2064.33 | Stop loss: 2074.667182142857 | Take profit: 2033.3417517857142 +2025-03-10 13:15:57,625 - INFO - CLOSED short at 2063.39 | PnL: 0.05% | $-0.11 +2025-03-10 13:15:57,625 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.0575178571426 | Take profit: 2094.3641482142853 +2025-03-10 13:15:57,677 - INFO - CLOSED long at 2064.79 | PnL: 0.07% | $-0.06 +2025-03-10 13:15:57,685 - INFO - OPENED SHORT at 2064.79 | Stop loss: 2075.1294821428573 | Take profit: 2033.7948517857142 +2025-03-10 13:15:57,742 - INFO - CLOSED short at 2065.89 | PnL: -0.05% | $-0.30 +2025-03-10 13:15:57,742 - INFO - OPENED LONG at 2065.89 | Stop loss: 2055.5450178571427 | Take profit: 2096.9016482142856 +2025-03-10 13:15:57,776 - INFO - CLOSED long at 2063.53 | PnL: -0.11% | $-0.42 +2025-03-10 13:15:57,800 - INFO - OPENED LONG at 2063.0 | Stop loss: 2052.6694678571425 | Take profit: 2093.968298214286 +2025-03-10 13:15:57,864 - INFO - CLOSED long at 2061.7 | PnL: -0.06% | $-0.31 +2025-03-10 13:15:57,888 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3809678571424 | Take profit: 2091.633798214286 +2025-03-10 13:15:58,722 - INFO - CLOSED long at 2066.33 | PnL: 0.27% | $0.33 +2025-03-10 13:15:58,723 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.6771821428574 | Take profit: 2035.3117517857143 +2025-03-10 13:15:58,751 - INFO - CLOSED short at 2066.34 | PnL: -0.00% | $-0.19 +2025-03-10 13:15:58,751 - INFO - OPENED LONG at 2066.34 | Stop loss: 2055.992767857143 | Take profit: 2097.358398214286 +2025-03-10 13:15:58,998 - INFO - CLOSED long at 2069.79 | PnL: 0.17% | $0.13 +2025-03-10 13:15:58,999 - INFO - OPENED SHORT at 2069.79 | Stop loss: 2080.154482142857 | Take profit: 2038.7198517857141 +2025-03-10 13:15:59,025 - INFO - CLOSED short at 2072.0 | PnL: -0.11% | $-0.40 +2025-03-10 13:15:59,025 - INFO - OPENED LONG at 2072.0 | Stop loss: 2061.624467857143 | Take profit: 2103.1032982142856 +2025-03-10 13:15:59,393 - INFO - CLOSED long at 2069.69 | PnL: -0.11% | $-0.41 +2025-03-10 13:15:59,420 - INFO - OPENED LONG at 2069.03 | Stop loss: 2058.669317857143 | Take profit: 2100.088748214286 +2025-03-10 13:15:59,775 - INFO - CLOSED long at 2063.97 | PnL: -0.24% | $-0.66 +2025-03-10 13:15:59,775 - INFO - OPENED SHORT at 2063.97 | Stop loss: 2074.305382142857 | Take profit: 2032.987151785714 +2025-03-10 13:15:59,802 - INFO - CLOSED short at 2064.5 | PnL: -0.03% | $-0.24 +2025-03-10 13:15:59,802 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.161967857143 | Take profit: 2095.490798214286 +2025-03-10 13:15:59,822 - INFO - CLOSED long at 2065.3 | PnL: 0.04% | $-0.12 +2025-03-10 13:15:59,823 - INFO - OPENED SHORT at 2065.3 | Stop loss: 2075.6420321428573 | Take profit: 2034.2972017857144 +2025-03-10 13:15:59,849 - INFO - CLOSED short at 2064.4 | PnL: 0.04% | $-0.11 +2025-03-10 13:15:59,849 - INFO - OPENED LONG at 2064.4 | Stop loss: 2054.062467857143 | Take profit: 2095.3892982142856 +2025-03-10 13:16:00,208 - INFO - CLOSED long at 2071.59 | PnL: 0.35% | $0.47 +2025-03-10 13:16:00,237 - INFO - OPENED LONG at 2070.2 | Stop loss: 2059.8334678571428 | Take profit: 2101.2762982142854 +2025-03-10 13:16:00,668 - INFO - CLOSED long at 2074.37 | PnL: 0.20% | $0.19 +2025-03-10 13:16:00,709 - INFO - OPENED LONG at 2075.07 | Stop loss: 2064.679117857143 | Take profit: 2106.219348214286 +2025-03-10 13:16:00,812 - INFO - CLOSED long at 2075.32 | PnL: 0.01% | $-0.17 +2025-03-10 13:16:00,859 - INFO - OPENED LONG at 2075.29 | Stop loss: 2064.898017857143 | Take profit: 2106.442648214286 +2025-03-10 13:16:01,263 - INFO - CLOSED long at 2068.1 | PnL: -0.35% | $-0.85 +2025-03-10 13:16:01,263 - INFO - OPENED SHORT at 2068.1 | Stop loss: 2078.456032142857 | Take profit: 2037.0552017857142 +2025-03-10 13:16:01,308 - INFO - CLOSED short at 2069.0 | PnL: -0.04% | $-0.27 +2025-03-10 13:16:01,310 - INFO - OPENED LONG at 2069.0 | Stop loss: 2058.639467857143 | Take profit: 2100.058298214286 +2025-03-10 13:16:01,444 - INFO - CLOSED long at 2065.5 | PnL: -0.17% | $-0.51 +2025-03-10 13:16:01,471 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.355967857143 | Take profit: 2096.7087982142857 +2025-03-10 13:16:02,105 - INFO - STOP LOSS hit for long at 2055.355967857143 | PnL: -0.50% | $-1.12 +2025-03-10 13:16:02,150 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.9484178571429 | Take profit: 2079.971448214286 +2025-03-10 13:16:02,631 - INFO - CLOSED long at 2060.7 | PnL: 0.56% | $0.85 +2025-03-10 13:16:02,631 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.019032142857 | Take profit: 2029.7662017857142 +2025-03-10 13:16:02,650 - INFO - CLOSED short at 2061.84 | PnL: -0.06% | $-0.29 +2025-03-10 13:16:02,655 - INFO - OPENED LONG at 2061.84 | Stop loss: 2051.515267857143 | Take profit: 2092.790898214286 +2025-03-10 13:16:02,697 - INFO - CLOSED long at 2065.72 | PnL: 0.19% | $0.16 +2025-03-10 13:16:02,697 - INFO - OPENED SHORT at 2065.72 | Stop loss: 2076.064132142857 | Take profit: 2034.7109017857142 +2025-03-10 13:16:02,723 - INFO - CLOSED short at 2070.31 | PnL: -0.22% | $-0.60 +2025-03-10 13:16:02,724 - INFO - OPENED LONG at 2070.31 | Stop loss: 2059.942917857143 | Take profit: 2101.3879482142856 +2025-03-10 13:16:02,932 - INFO - CLOSED long at 2074.05 | PnL: 0.18% | $0.15 +2025-03-10 13:16:02,932 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.435782142857 | Take profit: 2042.9159517857145 +2025-03-10 13:16:02,972 - INFO - CLOSED short at 2072.99 | PnL: 0.05% | $-0.09 +2025-03-10 13:16:02,973 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6095178571427 | Take profit: 2104.1081482142854 +2025-03-10 13:16:03,047 - INFO - CLOSED long at 2074.9 | PnL: 0.09% | $-0.01 +2025-03-10 13:16:03,047 - INFO - OPENED SHORT at 2074.9 | Stop loss: 2085.2900321428574 | Take profit: 2043.7532017857143 +2025-03-10 13:16:03,076 - INFO - CLOSED short at 2076.08 | PnL: -0.06% | $-0.29 +2025-03-10 13:16:03,077 - INFO - OPENED LONG at 2076.08 | Stop loss: 2065.684067857143 | Take profit: 2107.2444982142856 +2025-03-10 13:16:03,222 - INFO - TAKE PROFIT hit for long at 2107.2444982142856 | PnL: 1.50% | $2.58 +2025-03-10 13:16:03,293 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.826767857143 | Take profit: 2171.6563982142857 +2025-03-10 13:16:03,517 - INFO - CLOSED long at 2140.01 | PnL: 0.02% | $-0.15 +2025-03-10 13:16:03,518 - INFO - OPENED SHORT at 2140.01 | Stop loss: 2150.725582142857 | Take profit: 2107.8865517857143 +2025-03-10 13:16:03,548 - INFO - CLOSED short at 2134.78 | PnL: 0.24% | $0.27 +2025-03-10 13:16:03,548 - INFO - OPENED LONG at 2134.78 | Stop loss: 2124.090567857143 | Take profit: 2166.8249982142856 +2025-03-10 13:16:03,698 - INFO - CLOSED long at 2128.69 | PnL: -0.29% | $-0.73 +2025-03-10 13:16:03,698 - INFO - OPENED SHORT at 2128.69 | Stop loss: 2139.348982142857 | Take profit: 2096.7363517857143 +2025-03-10 13:16:03,759 - INFO - CLOSED short at 2121.09 | PnL: 0.36% | $0.48 +2025-03-10 13:16:03,760 - INFO - OPENED LONG at 2121.09 | Stop loss: 2110.4690178571427 | Take profit: 2152.929648214286 +2025-03-10 13:16:04,162 - INFO - CLOSED long at 2107.43 | PnL: -0.64% | $-1.41 +2025-03-10 13:16:04,190 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.0314678571426 | Take profit: 2142.282298214285 +2025-03-10 13:16:04,288 - INFO - CLOSED long at 2112.46 | PnL: 0.09% | $-0.02 +2025-03-10 13:16:04,321 - INFO - OPENED LONG at 2113.24 | Stop loss: 2102.6582678571426 | Take profit: 2144.961898214285 +2025-03-10 13:16:04,663 - INFO - CLOSED long at 2103.33 | PnL: -0.47% | $-1.06 +2025-03-10 13:16:04,692 - INFO - OPENED LONG at 2100.5 | Stop loss: 2089.981967857143 | Take profit: 2132.0307982142854 +2025-03-10 13:16:04,718 - INFO - CLOSED long at 2090.0 | PnL: -0.50% | $-1.11 +2025-03-10 13:16:04,720 - INFO - OPENED SHORT at 2090.0 | Stop loss: 2100.4655321428572 | Take profit: 2058.6267017857144 +2025-03-10 13:16:04,748 - INFO - CLOSED short at 2099.53 | PnL: -0.46% | $-1.01 +2025-03-10 13:16:04,749 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.016817857143 | Take profit: 2131.046248214286 +2025-03-10 13:16:05,094 - INFO - CLOSED long at 2103.86 | PnL: 0.21% | $0.19 +2025-03-10 13:16:05,122 - INFO - OPENED LONG at 2104.68 | Stop loss: 2094.141067857143 | Take profit: 2136.2734982142856 +2025-03-10 13:16:05,145 - INFO - CLOSED long at 2101.51 | PnL: -0.15% | $-0.45 +2025-03-10 13:16:05,145 - INFO - OPENED SHORT at 2101.51 | Stop loss: 2112.0330821428574 | Take profit: 2069.964051785714 +2025-03-10 13:16:05,171 - INFO - CLOSED short at 2099.59 | PnL: 0.09% | $-0.02 +2025-03-10 13:16:05,171 - INFO - OPENED LONG at 2099.59 | Stop loss: 2089.0765178571432 | Take profit: 2131.1071482142856 +2025-03-10 13:16:05,326 - INFO - CLOSED long at 2095.29 | PnL: -0.20% | $-0.55 +2025-03-10 13:16:05,326 - INFO - OPENED SHORT at 2095.29 | Stop loss: 2105.7819821428575 | Take profit: 2063.8373517857144 +2025-03-10 13:16:05,376 - INFO - CLOSED short at 2093.46 | PnL: 0.09% | $-0.02 +2025-03-10 13:16:05,376 - INFO - OPENED LONG at 2093.46 | Stop loss: 2082.977167857143 | Take profit: 2124.8851982142855 +2025-03-10 13:16:05,403 - INFO - CLOSED long at 2093.33 | PnL: -0.01% | $-0.19 +2025-03-10 13:16:05,425 - INFO - OPENED LONG at 2092.46 | Stop loss: 2081.982167857143 | Take profit: 2123.8701982142857 +2025-03-10 13:16:05,738 - INFO - STOP LOSS hit for long at 2081.982167857143 | PnL: -0.50% | $-1.07 +2025-03-10 13:16:05,772 - INFO - OPENED LONG at 2080.38 | Stop loss: 2069.962567857143 | Take profit: 2111.6089982142857 +2025-03-10 13:16:05,911 - INFO - CLOSED long at 2085.8 | PnL: 0.26% | $0.28 +2025-03-10 13:16:05,934 - INFO - OPENED LONG at 2084.72 | Stop loss: 2074.2808678571428 | Take profit: 2116.0140982142852 +2025-03-10 13:16:06,224 - INFO - CLOSED long at 2087.47 | PnL: 0.13% | $0.06 +2025-03-10 13:16:06,252 - INFO - OPENED LONG at 2087.78 | Stop loss: 2077.325567857143 | Take profit: 2119.1199982142857 +2025-03-10 13:16:06,646 - INFO - CLOSED long at 2101.64 | PnL: 0.66% | $1.00 +2025-03-10 13:16:06,671 - INFO - OPENED LONG at 2097.11 | Stop loss: 2086.608917857143 | Take profit: 2128.589948214286 +2025-03-10 13:16:06,997 - INFO - CLOSED long at 2103.07 | PnL: 0.28% | $0.33 +2025-03-10 13:16:07,024 - INFO - OPENED LONG at 2101.5 | Stop loss: 2090.976967857143 | Take profit: 2133.0457982142857 +2025-03-10 13:16:07,162 - INFO - Trade Analysis: Win Rate=13.6% in uptrends, 0.0% in downtrends | Avg Win=$0.52, Avg Loss=$-0.43 +2025-03-10 13:16:07,163 - INFO - Episode 21: Reward=133.74, Balance=$90.28, Win Rate=29.9%, Trades=67, Episode PnL=$-6.54, Total PnL=$-391.64, Max Drawdown=12.5%, Pred Accuracy=100.0% +2025-03-10 13:16:07,163 - ERROR - Error in episode 21: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:16:07,165 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1812, in train_agent + f"Max Drawdown={env.max_drawdown*100:.1f}%, Pred Accuracy={prediction_accuracy:.1f}%") + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:16:07,186 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:16:07,553 - INFO - OPENED LONG at 2046.58 | Stop loss: 2036.3315678571428 | Take profit: 2077.3019982142855 +2025-03-10 13:16:07,573 - INFO - CLOSED long at 2047.4 | PnL: 0.04% | $-0.12 +2025-03-10 13:16:07,596 - INFO - OPENED LONG at 2047.2 | Stop loss: 2036.9484678571428 | Take profit: 2077.931298214286 +2025-03-10 13:16:07,663 - INFO - CLOSED long at 2045.79 | PnL: -0.07% | $-0.33 +2025-03-10 13:16:07,686 - INFO - OPENED LONG at 2048.13 | Stop loss: 2037.873817857143 | Take profit: 2078.875248214286 +2025-03-10 13:16:07,813 - INFO - CLOSED long at 2049.89 | PnL: 0.09% | $-0.03 +2025-03-10 13:16:07,854 - INFO - OPENED SHORT at 2051.11 | Stop loss: 2061.3810821428574 | Take profit: 2020.3200517857144 +2025-03-10 13:16:07,897 - INFO - CLOSED short at 2053.26 | PnL: -0.10% | $-0.40 +2025-03-10 13:16:07,898 - INFO - OPENED LONG at 2053.26 | Stop loss: 2042.9781678571433 | Take profit: 2084.082198214286 +2025-03-10 13:16:08,474 - INFO - CLOSED long at 2062.89 | PnL: 0.47% | $0.73 +2025-03-10 13:16:08,494 - INFO - OPENED LONG at 2060.31 | Stop loss: 2049.992917857143 | Take profit: 2091.237948214286 +2025-03-10 13:16:08,675 - INFO - CLOSED long at 2061.79 | PnL: 0.07% | $-0.06 +2025-03-10 13:16:08,721 - INFO - OPENED LONG at 2061.18 | Stop loss: 2050.8585678571426 | Take profit: 2092.1209982142855 +2025-03-10 13:16:08,784 - INFO - CLOSED long at 2065.86 | PnL: 0.23% | $0.25 +2025-03-10 13:16:08,806 - INFO - OPENED LONG at 2070.58 | Stop loss: 2060.2115678571427 | Take profit: 2101.6619982142856 +2025-03-10 13:16:08,900 - INFO - CLOSED long at 2070.99 | PnL: 0.02% | $-0.16 +2025-03-10 13:16:08,900 - INFO - OPENED SHORT at 2070.99 | Stop loss: 2081.360482142857 | Take profit: 2039.9018517857141 +2025-03-10 13:16:08,926 - INFO - CLOSED short at 2069.6 | PnL: 0.07% | $-0.07 +2025-03-10 13:16:08,926 - INFO - OPENED LONG at 2069.6 | Stop loss: 2059.236467857143 | Take profit: 2100.6672982142854 +2025-03-10 13:16:08,967 - INFO - CLOSED long at 2068.99 | PnL: -0.03% | $-0.26 +2025-03-10 13:16:08,967 - INFO - OPENED SHORT at 2068.99 | Stop loss: 2079.350482142857 | Take profit: 2037.931851785714 +2025-03-10 13:16:09,014 - INFO - CLOSED short at 2067.9 | PnL: 0.05% | $-0.09 +2025-03-10 13:16:09,016 - INFO - OPENED LONG at 2067.9 | Stop loss: 2057.544967857143 | Take profit: 2098.941798214286 +2025-03-10 13:16:09,133 - INFO - CLOSED long at 2071.44 | PnL: 0.17% | $0.14 +2025-03-10 13:16:09,173 - INFO - OPENED LONG at 2073.73 | Stop loss: 2063.3458178571427 | Take profit: 2104.859248214286 +2025-03-10 13:16:09,225 - INFO - CLOSED long at 2072.91 | PnL: -0.04% | $-0.28 +2025-03-10 13:16:09,251 - INFO - OPENED LONG at 2072.33 | Stop loss: 2061.9528178571427 | Take profit: 2103.4382482142855 +2025-03-10 13:16:10,057 - INFO - CLOSED long at 2068.59 | PnL: -0.18% | $-0.55 +2025-03-10 13:16:10,057 - INFO - OPENED SHORT at 2068.59 | Stop loss: 2078.9484821428573 | Take profit: 2037.5378517857143 +2025-03-10 13:16:10,084 - INFO - CLOSED short at 2069.7 | PnL: -0.05% | $-0.30 +2025-03-10 13:16:10,085 - INFO - OPENED LONG at 2069.7 | Stop loss: 2059.335967857143 | Take profit: 2100.7687982142857 +2025-03-10 13:16:10,146 - INFO - CLOSED long at 2071.4 | PnL: 0.08% | $-0.03 +2025-03-10 13:16:10,207 - INFO - OPENED LONG at 2071.36 | Stop loss: 2060.9876678571427 | Take profit: 2102.453698214286 +2025-03-10 13:16:10,355 - INFO - CLOSED long at 2072.15 | PnL: 0.04% | $-0.12 +2025-03-10 13:16:10,383 - INFO - OPENED LONG at 2074.29 | Stop loss: 2063.903017857143 | Take profit: 2105.4276482142855 +2025-03-10 13:16:10,508 - INFO - CLOSED long at 2069.35 | PnL: -0.24% | $-0.66 +2025-03-10 13:16:10,508 - INFO - OPENED SHORT at 2069.35 | Stop loss: 2079.7122821428575 | Take profit: 2038.2864517857142 +2025-03-10 13:16:10,528 - INFO - CLOSED short at 2068.32 | PnL: 0.05% | $-0.10 +2025-03-10 13:16:10,528 - INFO - OPENED LONG at 2068.32 | Stop loss: 2057.962867857143 | Take profit: 2099.368098214286 +2025-03-10 13:16:10,924 - INFO - CLOSED long at 2067.59 | PnL: -0.04% | $-0.26 +2025-03-10 13:16:10,924 - INFO - OPENED SHORT at 2067.59 | Stop loss: 2077.943482142857 | Take profit: 2036.5528517857142 +2025-03-10 13:16:10,964 - INFO - CLOSED short at 2069.2 | PnL: -0.08% | $-0.34 +2025-03-10 13:16:10,964 - INFO - OPENED LONG at 2069.2 | Stop loss: 2058.8384678571424 | Take profit: 2100.2612982142855 +2025-03-10 13:16:11,458 - INFO - CLOSED long at 2065.28 | PnL: -0.19% | $-0.56 +2025-03-10 13:16:11,516 - INFO - OPENED LONG at 2066.39 | Stop loss: 2056.0425178571427 | Take profit: 2097.409148214286 +2025-03-10 13:16:12,273 - INFO - CLOSED long at 2066.09 | PnL: -0.01% | $-0.22 +2025-03-10 13:16:12,274 - INFO - OPENED SHORT at 2066.09 | Stop loss: 2076.4359821428575 | Take profit: 2035.0753517857145 +2025-03-10 13:16:12,347 - INFO - CLOSED short at 2064.45 | PnL: 0.08% | $-0.04 +2025-03-10 13:16:12,348 - INFO - OPENED LONG at 2064.45 | Stop loss: 2054.1122178571427 | Take profit: 2095.4400482142855 +2025-03-10 13:16:12,603 - INFO - CLOSED long at 2059.3 | PnL: -0.25% | $-0.67 +2025-03-10 13:16:12,682 - INFO - OPENED LONG at 2061.8 | Stop loss: 2051.475467857143 | Take profit: 2092.7502982142855 +2025-03-10 13:16:13,195 - INFO - CLOSED long at 2059.61 | PnL: -0.11% | $-0.39 +2025-03-10 13:16:13,215 - INFO - OPENED LONG at 2059.16 | Stop loss: 2048.8486678571426 | Take profit: 2090.0706982142856 +2025-03-10 13:16:14,023 - INFO - CLOSED long at 2075.01 | PnL: 0.77% | $1.26 +2025-03-10 13:16:14,023 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.4005821428573 | Take profit: 2043.8615517857145 +2025-03-10 13:16:14,051 - INFO - CLOSED short at 2072.6 | PnL: 0.12% | $0.03 +2025-03-10 13:16:14,052 - INFO - OPENED LONG at 2072.6 | Stop loss: 2062.2214678571427 | Take profit: 2103.712298214286 +2025-03-10 13:16:14,092 - INFO - CLOSED long at 2070.01 | PnL: -0.12% | $-0.43 +2025-03-10 13:16:14,114 - INFO - OPENED LONG at 2071.6 | Stop loss: 2061.226467857143 | Take profit: 2102.6972982142856 +2025-03-10 13:16:14,139 - INFO - CLOSED long at 2073.23 | PnL: 0.08% | $-0.04 +2025-03-10 13:16:14,162 - INFO - OPENED LONG at 2070.0 | Stop loss: 2059.634467857143 | Take profit: 2101.0732982142854 +2025-03-10 13:16:14,484 - INFO - CLOSED long at 2067.33 | PnL: -0.13% | $-0.44 +2025-03-10 13:16:14,511 - INFO - OPENED LONG at 2066.38 | Stop loss: 2056.032567857143 | Take profit: 2097.3989982142857 +2025-03-10 13:16:14,922 - INFO - CLOSED long at 2068.59 | PnL: 0.11% | $0.01 +2025-03-10 13:16:14,943 - INFO - OPENED LONG at 2071.59 | Stop loss: 2061.216517857143 | Take profit: 2102.687148214286 +2025-03-10 13:16:15,586 - INFO - CLOSED long at 2075.61 | PnL: 0.19% | $0.18 +2025-03-10 13:16:15,607 - INFO - OPENED LONG at 2074.0 | Stop loss: 2063.6144678571427 | Take profit: 2105.133298214286 +2025-03-10 13:16:15,664 - INFO - CLOSED long at 2067.7 | PnL: -0.30% | $-0.77 +2025-03-10 13:16:15,664 - INFO - OPENED SHORT at 2067.7 | Stop loss: 2078.054032142857 | Take profit: 2036.661201785714 +2025-03-10 13:16:15,690 - INFO - CLOSED short at 2067.0 | PnL: 0.03% | $-0.12 +2025-03-10 13:16:15,690 - INFO - OPENED LONG at 2067.0 | Stop loss: 2056.649467857143 | Take profit: 2098.0282982142858 +2025-03-10 13:16:16,085 - INFO - CLOSED long at 2066.09 | PnL: -0.04% | $-0.27 +2025-03-10 13:16:16,109 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.0575178571426 | Take profit: 2094.3641482142853 +2025-03-10 13:16:16,409 - INFO - CLOSED long at 2059.2 | PnL: -0.20% | $-0.57 +2025-03-10 13:16:16,409 - INFO - OPENED SHORT at 2059.2 | Stop loss: 2069.511532142857 | Take profit: 2028.288701785714 +2025-03-10 13:16:16,433 - INFO - CLOSED short at 2058.09 | PnL: 0.05% | $-0.09 +2025-03-10 13:16:16,433 - INFO - OPENED LONG at 2058.09 | Stop loss: 2047.784017857143 | Take profit: 2088.9846482142857 +2025-03-10 13:16:16,721 - INFO - CLOSED long at 2063.9 | PnL: 0.28% | $0.34 +2025-03-10 13:16:16,721 - INFO - OPENED SHORT at 2063.9 | Stop loss: 2074.235032142857 | Take profit: 2032.9182017857145 +2025-03-10 13:16:16,756 - INFO - CLOSED short at 2065.1 | PnL: -0.06% | $-0.30 +2025-03-10 13:16:16,756 - INFO - OPENED LONG at 2065.1 | Stop loss: 2054.758967857143 | Take profit: 2096.099798214286 +2025-03-10 13:16:16,874 - INFO - CLOSED long at 2066.59 | PnL: 0.07% | $-0.05 +2025-03-10 13:16:16,897 - INFO - OPENED LONG at 2064.08 | Stop loss: 2053.744067857143 | Take profit: 2095.0644982142853 +2025-03-10 13:16:17,456 - INFO - TAKE PROFIT hit for long at 2095.0644982142853 | PnL: 1.50% | $2.61 +2025-03-10 13:16:17,486 - INFO - OPENED LONG at 2130.7 | Stop loss: 2120.0309678571425 | Take profit: 2162.6837982142856 +2025-03-10 13:16:17,709 - INFO - CLOSED long at 2126.99 | PnL: -0.17% | $-0.52 +2025-03-10 13:16:17,727 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.647967857143 | Take profit: 2159.2327982142856 +2025-03-10 13:16:18,003 - INFO - STOP LOSS hit for long at 2116.647967857143 | PnL: -0.50% | $-1.14 +2025-03-10 13:16:18,024 - INFO - OPENED LONG at 2107.43 | Stop loss: 2096.8773178571428 | Take profit: 2139.0647482142854 +2025-03-10 13:16:18,458 - INFO - STOP LOSS hit for long at 2096.8773178571428 | PnL: -0.50% | $-1.13 +2025-03-10 13:16:18,486 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.016817857143 | Take profit: 2131.046248214286 +2025-03-10 13:16:18,689 - INFO - CLOSED long at 2100.74 | PnL: 0.06% | $-0.08 +2025-03-10 13:16:18,689 - INFO - OPENED SHORT at 2100.74 | Stop loss: 2111.259232142857 | Take profit: 2069.205601785714 +2025-03-10 13:16:18,711 - INFO - CLOSED short at 2103.86 | PnL: -0.15% | $-0.46 +2025-03-10 13:16:18,712 - INFO - OPENED LONG at 2103.86 | Stop loss: 2093.3251678571432 | Take profit: 2135.4411982142856 +2025-03-10 13:16:18,907 - INFO - STOP LOSS hit for long at 2093.3251678571432 | PnL: -0.50% | $-1.11 +2025-03-10 13:16:18,932 - INFO - OPENED LONG at 2091.1 | Stop loss: 2080.628967857143 | Take profit: 2122.4897982142857 +2025-03-10 13:16:19,125 - INFO - STOP LOSS hit for long at 2080.628967857143 | PnL: -0.50% | $-1.10 +2025-03-10 13:16:19,152 - INFO - OPENED LONG at 2081.25 | Stop loss: 2070.8282178571426 | Take profit: 2112.492048214286 +2025-03-10 13:16:19,628 - INFO - CLOSED long at 2099.99 | PnL: 0.90% | $1.44 +2025-03-10 13:16:19,651 - INFO - OPENED LONG at 2101.64 | Stop loss: 2091.1162678571427 | Take profit: 2133.1878982142857 +2025-03-10 13:16:19,700 - INFO - CLOSED long at 2098.49 | PnL: -0.15% | $-0.46 +2025-03-10 13:16:19,700 - INFO - OPENED SHORT at 2098.49 | Stop loss: 2108.997982142857 | Take profit: 2066.989351785714 +2025-03-10 13:16:19,729 - INFO - CLOSED short at 2099.89 | PnL: -0.07% | $-0.30 +2025-03-10 13:16:19,729 - INFO - OPENED LONG at 2099.89 | Stop loss: 2089.3750178571427 | Take profit: 2131.411648214286 +2025-03-10 13:16:19,751 - INFO - CLOSED long at 2100.89 | PnL: 0.05% | $-0.10 +2025-03-10 13:16:19,751 - INFO - OPENED SHORT at 2100.89 | Stop loss: 2111.409982142857 | Take profit: 2069.353351785714 +2025-03-10 13:16:19,780 - INFO - CLOSED short at 2099.73 | PnL: 0.06% | $-0.08 +2025-03-10 13:16:19,781 - INFO - OPENED LONG at 2099.73 | Stop loss: 2089.215817857143 | Take profit: 2131.249248214286 +2025-03-10 13:16:20,036 - INFO - CLOSED long at 2104.4 | PnL: 0.22% | $0.22 +2025-03-10 13:16:20,059 - INFO - Trade Analysis: Win Rate=10.5% in uptrends, 0.0% in downtrends | Avg Win=$0.66, Avg Loss=$-0.35 +2025-03-10 13:16:20,060 - INFO - Episode 22: Reward=137.40, Balance=$91.62, Win Rate=20.0%, Trades=55, Episode PnL=$-5.90, Total PnL=$-400.02, Max Drawdown=9.1%, Pred Accuracy=99.9% +2025-03-10 13:16:20,060 - ERROR - Error in episode 22: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:16:20,061 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1812, in train_agent + f"Max Drawdown={env.max_drawdown*100:.1f}%, Pred Accuracy={prediction_accuracy:.1f}%") + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:16:20,082 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:16:20,274 - INFO - OPENED LONG at 2046.58 | Stop loss: 2036.3315678571428 | Take profit: 2077.3019982142855 +2025-03-10 13:16:20,533 - INFO - CLOSED long at 2048.51 | PnL: 0.09% | $-0.01 +2025-03-10 13:16:20,577 - INFO - OPENED LONG at 2050.0 | Stop loss: 2039.7344678571428 | Take profit: 2080.773298214286 +2025-03-10 13:16:20,812 - INFO - CLOSED long at 2057.01 | PnL: 0.34% | $0.48 +2025-03-10 13:16:20,813 - INFO - OPENED SHORT at 2057.01 | Stop loss: 2067.3105821428576 | Take profit: 2026.1315517857145 +2025-03-10 13:16:20,838 - INFO - CLOSED short at 2056.89 | PnL: 0.01% | $-0.19 +2025-03-10 13:16:20,840 - INFO - OPENED LONG at 2056.89 | Stop loss: 2046.5900178571426 | Take profit: 2087.766648214286 +2025-03-10 13:16:20,860 - INFO - CLOSED long at 2058.39 | PnL: 0.07% | $-0.05 +2025-03-10 13:16:20,860 - INFO - OPENED SHORT at 2058.39 | Stop loss: 2068.697482142857 | Take profit: 2027.490851785714 +2025-03-10 13:16:20,881 - INFO - CLOSED short at 2060.13 | PnL: -0.08% | $-0.37 +2025-03-10 13:16:20,881 - INFO - OPENED LONG at 2060.13 | Stop loss: 2049.813817857143 | Take profit: 2091.055248214286 +2025-03-10 13:16:21,164 - INFO - CLOSED long at 2058.3 | PnL: -0.09% | $-0.37 +2025-03-10 13:16:21,225 - INFO - OPENED SHORT at 2061.89 | Stop loss: 2072.214982142857 | Take profit: 2030.938351785714 +2025-03-10 13:16:21,272 - INFO - CLOSED short at 2060.31 | PnL: 0.08% | $-0.05 +2025-03-10 13:16:21,272 - INFO - OPENED LONG at 2060.31 | Stop loss: 2049.992917857143 | Take profit: 2091.237948214286 +2025-03-10 13:16:21,373 - INFO - CLOSED long at 2057.94 | PnL: -0.12% | $-0.42 +2025-03-10 13:16:21,394 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.803917857143 | Take profit: 2089.004948214286 +2025-03-10 13:16:21,716 - INFO - CLOSED long at 2067.9 | PnL: 0.48% | $0.74 +2025-03-10 13:16:21,716 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.255032142857 | Take profit: 2036.8582017857143 +2025-03-10 13:16:21,744 - INFO - CLOSED short at 2067.69 | PnL: 0.01% | $-0.18 +2025-03-10 13:16:21,745 - INFO - OPENED LONG at 2067.69 | Stop loss: 2057.336017857143 | Take profit: 2098.7286482142854 +2025-03-10 13:16:21,851 - INFO - CLOSED long at 2072.91 | PnL: 0.25% | $0.30 +2025-03-10 13:16:21,851 - INFO - OPENED SHORT at 2072.91 | Stop loss: 2083.290082142857 | Take profit: 2041.793051785714 +2025-03-10 13:16:21,874 - INFO - CLOSED short at 2072.33 | PnL: 0.03% | $-0.14 +2025-03-10 13:16:21,901 - INFO - OPENED LONG at 2071.38 | Stop loss: 2061.007567857143 | Take profit: 2102.4739982142855 +2025-03-10 13:16:22,058 - INFO - CLOSED long at 2068.02 | PnL: -0.16% | $-0.52 +2025-03-10 13:16:22,098 - INFO - OPENED LONG at 2067.2 | Stop loss: 2056.8484678571426 | Take profit: 2098.2312982142853 +2025-03-10 13:16:23,437 - INFO - CLOSED long at 2065.26 | PnL: -0.09% | $-0.38 +2025-03-10 13:16:23,438 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.6018321428573 | Take profit: 2034.2578017857145 +2025-03-10 13:16:23,520 - INFO - CLOSED short at 2068.58 | PnL: -0.16% | $-0.51 +2025-03-10 13:16:23,520 - INFO - OPENED LONG at 2068.58 | Stop loss: 2058.221567857143 | Take profit: 2099.631998214286 +2025-03-10 13:16:23,672 - INFO - CLOSED long at 2070.3 | PnL: 0.08% | $-0.03 +2025-03-10 13:16:23,673 - INFO - OPENED SHORT at 2070.3 | Stop loss: 2080.6670321428574 | Take profit: 2039.2222017857146 +2025-03-10 13:16:23,692 - INFO - CLOSED short at 2071.59 | PnL: -0.06% | $-0.32 +2025-03-10 13:16:23,693 - INFO - OPENED LONG at 2071.59 | Stop loss: 2061.216517857143 | Take profit: 2102.687148214286 +2025-03-10 13:16:23,966 - INFO - CLOSED long at 2066.4 | PnL: -0.25% | $-0.68 +2025-03-10 13:16:23,966 - INFO - OPENED SHORT at 2066.4 | Stop loss: 2076.7475321428574 | Take profit: 2035.3807017857143 +2025-03-10 13:16:23,994 - INFO - CLOSED short at 2066.1 | PnL: 0.01% | $-0.17 +2025-03-10 13:16:23,994 - INFO - OPENED LONG at 2066.1 | Stop loss: 2055.753967857143 | Take profit: 2097.1147982142857 +2025-03-10 13:16:25,188 - INFO - CLOSED long at 2063.39 | PnL: -0.13% | $-0.45 +2025-03-10 13:16:25,188 - INFO - OPENED SHORT at 2063.39 | Stop loss: 2073.722482142857 | Take profit: 2032.415851785714 +2025-03-10 13:16:25,209 - INFO - CLOSED short at 2064.79 | PnL: -0.07% | $-0.32 +2025-03-10 13:16:25,232 - INFO - OPENED LONG at 2065.89 | Stop loss: 2055.5450178571427 | Take profit: 2096.9016482142856 +2025-03-10 13:16:25,710 - INFO - STOP LOSS hit for long at 2055.5450178571427 | PnL: -0.50% | $-1.15 +2025-03-10 13:16:25,736 - INFO - OPENED LONG at 2054.83 | Stop loss: 2044.5403178571428 | Take profit: 2085.6757482142852 +2025-03-10 13:16:26,363 - INFO - CLOSED long at 2069.79 | PnL: 0.73% | $1.19 +2025-03-10 13:16:26,388 - INFO - OPENED LONG at 2072.0 | Stop loss: 2061.624467857143 | Take profit: 2103.1032982142856 +2025-03-10 13:16:26,936 - INFO - CLOSED long at 2065.7 | PnL: -0.30% | $-0.77 +2025-03-10 13:16:26,962 - INFO - OPENED LONG at 2065.66 | Stop loss: 2055.316167857143 | Take profit: 2096.6681982142854 +2025-03-10 13:16:26,998 - INFO - CLOSED long at 2063.95 | PnL: -0.08% | $-0.35 +2025-03-10 13:16:27,035 - INFO - OPENED LONG at 2063.97 | Stop loss: 2053.6346178571425 | Take profit: 2094.9528482142855 +2025-03-10 13:16:27,922 - INFO - CLOSED long at 2074.0 | PnL: 0.49% | $0.73 +2025-03-10 13:16:27,922 - INFO - OPENED SHORT at 2074.0 | Stop loss: 2084.3855321428573 | Take profit: 2042.8667017857142 +2025-03-10 13:16:27,958 - INFO - CLOSED short at 2072.09 | PnL: 0.09% | $-0.02 +2025-03-10 13:16:27,958 - INFO - OPENED LONG at 2072.09 | Stop loss: 2061.714017857143 | Take profit: 2103.1946482142857 +2025-03-10 13:16:27,978 - INFO - CLOSED long at 2069.97 | PnL: -0.10% | $-0.39 +2025-03-10 13:16:28,000 - INFO - OPENED LONG at 2067.7 | Stop loss: 2057.3459678571426 | Take profit: 2098.7387982142855 +2025-03-10 13:16:28,386 - INFO - CLOSED long at 2066.09 | PnL: -0.08% | $-0.34 +2025-03-10 13:16:28,386 - INFO - OPENED SHORT at 2066.09 | Stop loss: 2076.4359821428575 | Take profit: 2035.0753517857145 +2025-03-10 13:16:28,407 - INFO - CLOSED short at 2063.39 | PnL: 0.13% | $0.06 +2025-03-10 13:16:28,408 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.0575178571426 | Take profit: 2094.3641482142853 +2025-03-10 13:16:28,429 - INFO - CLOSED long at 2062.34 | PnL: -0.05% | $-0.29 +2025-03-10 13:16:28,429 - INFO - OPENED SHORT at 2062.34 | Stop loss: 2072.6672321428573 | Take profit: 2031.3816017857143 +2025-03-10 13:16:28,448 - INFO - CLOSED short at 2063.98 | PnL: -0.08% | $-0.34 +2025-03-10 13:16:28,448 - INFO - OPENED LONG at 2063.98 | Stop loss: 2053.644567857143 | Take profit: 2094.9629982142856 +2025-03-10 13:16:28,471 - INFO - CLOSED long at 2066.1 | PnL: 0.10% | $0.01 +2025-03-10 13:16:28,471 - INFO - OPENED SHORT at 2066.1 | Stop loss: 2076.446032142857 | Take profit: 2035.0852017857142 +2025-03-10 13:16:28,490 - INFO - CLOSED short at 2065.06 | PnL: 0.05% | $-0.09 +2025-03-10 13:16:28,495 - INFO - OPENED LONG at 2065.06 | Stop loss: 2054.719167857143 | Take profit: 2096.0591982142855 +2025-03-10 13:16:28,738 - INFO - CLOSED long at 2058.65 | PnL: -0.31% | $-0.77 +2025-03-10 13:16:28,786 - INFO - OPENED LONG at 2053.01 | Stop loss: 2042.729417857143 | Take profit: 2083.828448214286 +2025-03-10 13:16:28,825 - INFO - CLOSED long at 2049.5 | PnL: -0.17% | $-0.50 +2025-03-10 13:16:28,844 - INFO - OPENED LONG at 2051.99 | Stop loss: 2041.7145178571427 | Take profit: 2082.7931482142853 +2025-03-10 13:16:29,012 - INFO - CLOSED long at 2062.43 | PnL: 0.51% | $0.76 +2025-03-10 13:16:29,055 - INFO - OPENED LONG at 2062.55 | Stop loss: 2052.221717857143 | Take profit: 2093.511548214286 +2025-03-10 13:16:29,399 - INFO - CLOSED long at 2070.41 | PnL: 0.38% | $0.53 +2025-03-10 13:16:29,431 - INFO - OPENED LONG at 2073.49 | Stop loss: 2063.1070178571426 | Take profit: 2104.6156482142856 +2025-03-10 13:16:29,490 - INFO - CLOSED long at 2072.99 | PnL: -0.02% | $-0.23 +2025-03-10 13:16:29,490 - INFO - OPENED SHORT at 2072.99 | Stop loss: 2083.370482142857 | Take profit: 2041.871851785714 +2025-03-10 13:16:29,522 - INFO - CLOSED short at 2071.89 | PnL: 0.05% | $-0.09 +2025-03-10 13:16:29,522 - INFO - OPENED LONG at 2071.89 | Stop loss: 2061.5150178571425 | Take profit: 2102.9916482142853 +2025-03-10 13:16:29,590 - INFO - CLOSED long at 2076.08 | PnL: 0.20% | $0.19 +2025-03-10 13:16:29,590 - INFO - OPENED SHORT at 2076.08 | Stop loss: 2086.475932142857 | Take profit: 2044.9155017857142 +2025-03-10 13:16:29,614 - INFO - CLOSED short at 2077.61 | PnL: -0.07% | $-0.33 +2025-03-10 13:16:29,614 - INFO - OPENED LONG at 2077.61 | Stop loss: 2067.206417857143 | Take profit: 2108.797448214286 +2025-03-10 13:16:29,696 - INFO - TAKE PROFIT hit for long at 2108.797448214286 | PnL: 1.50% | $2.62 +2025-03-10 13:16:29,722 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.826767857143 | Take profit: 2171.6563982142857 +2025-03-10 13:16:29,969 - INFO - STOP LOSS hit for long at 2128.826767857143 | PnL: -0.50% | $-1.15 +2025-03-10 13:16:29,989 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.647967857143 | Take profit: 2159.2327982142856 +2025-03-10 13:16:30,166 - INFO - CLOSED long at 2119.14 | PnL: -0.38% | $-0.92 +2025-03-10 13:16:30,166 - INFO - OPENED SHORT at 2119.14 | Stop loss: 2129.751232142857 | Take profit: 2087.329601785714 +2025-03-10 13:16:30,212 - INFO - CLOSED short at 2119.07 | PnL: 0.00% | $-0.18 +2025-03-10 13:16:30,213 - INFO - OPENED LONG at 2119.07 | Stop loss: 2108.459117857143 | Take profit: 2150.8793482142855 +2025-03-10 13:16:30,308 - INFO - STOP LOSS hit for long at 2108.459117857143 | PnL: -0.50% | $-1.13 +2025-03-10 13:16:30,358 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.0314678571426 | Take profit: 2142.282298214285 +2025-03-10 13:16:30,403 - INFO - CLOSED long at 2112.09 | PnL: 0.07% | $-0.05 +2025-03-10 13:16:30,423 - INFO - OPENED LONG at 2112.95 | Stop loss: 2102.369717857143 | Take profit: 2144.6675482142855 +2025-03-10 13:16:30,753 - INFO - STOP LOSS hit for long at 2102.369717857143 | PnL: -0.50% | $-1.11 +2025-03-10 13:16:30,794 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.016817857143 | Take profit: 2131.046248214286 +2025-03-10 13:16:31,075 - INFO - CLOSED long at 2101.51 | PnL: 0.09% | $-0.01 +2025-03-10 13:16:31,077 - INFO - OPENED SHORT at 2101.51 | Stop loss: 2112.0330821428574 | Take profit: 2069.964051785714 +2025-03-10 13:16:31,115 - INFO - CLOSED short at 2099.59 | PnL: 0.09% | $-0.02 +2025-03-10 13:16:31,115 - INFO - OPENED LONG at 2099.59 | Stop loss: 2089.0765178571432 | Take profit: 2131.1071482142856 +2025-03-10 13:16:31,338 - INFO - STOP LOSS hit for long at 2089.0765178571432 | PnL: -0.50% | $-1.10 +2025-03-10 13:16:31,363 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.848067857143 | Take profit: 2114.5524982142856 +2025-03-10 13:16:31,397 - INFO - CLOSED long at 2088.44 | PnL: 0.25% | $0.27 +2025-03-10 13:16:31,440 - INFO - OPENED LONG at 2083.97 | Stop loss: 2073.5346178571426 | Take profit: 2115.2528482142857 +2025-03-10 13:16:31,564 - INFO - CLOSED long at 2080.38 | PnL: -0.17% | $-0.49 +2025-03-10 13:16:31,564 - INFO - OPENED SHORT at 2080.38 | Stop loss: 2090.7974321428574 | Take profit: 2049.1510017857145 +2025-03-10 13:16:31,587 - INFO - CLOSED short at 2081.25 | PnL: -0.04% | $-0.26 +2025-03-10 13:16:31,587 - INFO - OPENED LONG at 2081.25 | Stop loss: 2070.8282178571426 | Take profit: 2112.492048214286 +2025-03-10 13:16:32,357 - INFO - CLOSED long at 2106.15 | PnL: 1.20% | $1.97 +2025-03-10 13:16:32,357 - INFO - OPENED SHORT at 2106.15 | Stop loss: 2116.6962821428574 | Take profit: 2074.5344517857143 +2025-03-10 13:16:32,384 - INFO - CLOSED short at 2103.48 | PnL: 0.13% | $0.05 +2025-03-10 13:16:32,384 - INFO - OPENED LONG at 2103.48 | Stop loss: 2092.947067857143 | Take profit: 2135.0554982142858 +2025-03-10 13:16:32,490 - INFO - CLOSED long at 2105.83 | PnL: 0.11% | $0.02 +2025-03-10 13:16:32,515 - INFO - OPENED LONG at 2103.64 | Stop loss: 2093.1062678571425 | Take profit: 2135.2178982142855 +2025-03-10 13:16:32,534 - INFO - CLOSED long at 2105.2 | PnL: 0.07% | $-0.05 +2025-03-10 13:16:32,560 - INFO - OPENED LONG at 2103.52 | Stop loss: 2092.986867857143 | Take profit: 2135.0960982142856 +2025-03-10 13:16:32,633 - INFO - Trade Analysis: Win Rate=13.0% in uptrends, 0.0% in downtrends | Avg Win=$0.66, Avg Loss=$-0.39 +2025-03-10 13:16:32,634 - INFO - Episode 23: Reward=141.02, Balance=$92.62, Win Rate=25.4%, Trades=59, Episode PnL=$-7.92, Total PnL=$-407.40, Max Drawdown=8.9%, Pred Accuracy=99.9% +2025-03-10 13:16:32,635 - ERROR - Error in episode 23: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:16:32,637 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1812, in train_agent + f"{trade_analysis.get('downtrend_win_rate', 0):.1f}% in downtrends | " + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:16:32,659 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:16:32,948 - INFO - OPENED LONG at 2046.58 | Stop loss: 2036.3315678571428 | Take profit: 2077.3019982142855 +2025-03-10 13:16:33,148 - INFO - CLOSED long at 2050.0 | PnL: 0.17% | $0.13 +2025-03-10 13:16:33,207 - INFO - OPENED LONG at 2049.89 | Stop loss: 2039.6250178571427 | Take profit: 2080.661648214286 +2025-03-10 13:16:33,236 - INFO - CLOSED long at 2051.11 | PnL: 0.06% | $-0.08 +2025-03-10 13:16:33,286 - INFO - OPENED LONG at 2053.26 | Stop loss: 2042.9781678571433 | Take profit: 2084.082198214286 +2025-03-10 13:16:33,586 - INFO - CLOSED long at 2064.61 | PnL: 0.55% | $0.90 +2025-03-10 13:16:33,586 - INFO - OPENED SHORT at 2064.61 | Stop loss: 2074.948582142857 | Take profit: 2033.6175517857146 +2025-03-10 13:16:33,633 - INFO - CLOSED short at 2063.59 | PnL: 0.05% | $-0.10 +2025-03-10 13:16:33,633 - INFO - OPENED LONG at 2063.59 | Stop loss: 2053.256517857143 | Take profit: 2094.567148214286 +2025-03-10 13:16:33,917 - INFO - CLOSED long at 2059.49 | PnL: -0.20% | $-0.60 +2025-03-10 13:16:33,917 - INFO - OPENED SHORT at 2059.49 | Stop loss: 2069.8029821428568 | Take profit: 2028.574351785714 +2025-03-10 13:16:33,944 - INFO - CLOSED short at 2057.8 | PnL: 0.08% | $-0.04 +2025-03-10 13:16:33,944 - INFO - OPENED LONG at 2057.8 | Stop loss: 2047.495467857143 | Take profit: 2088.6902982142856 +2025-03-10 13:16:34,706 - INFO - CLOSED long at 2070.28 | PnL: 0.61% | $1.01 +2025-03-10 13:16:34,707 - INFO - OPENED SHORT at 2070.28 | Stop loss: 2080.646932142857 | Take profit: 2039.2025017857145 +2025-03-10 13:16:34,734 - INFO - CLOSED short at 2068.02 | PnL: 0.11% | $0.02 +2025-03-10 13:16:34,735 - INFO - OPENED LONG at 2068.02 | Stop loss: 2057.6643678571427 | Take profit: 2099.063598214286 +2025-03-10 13:16:34,757 - INFO - CLOSED long at 2067.2 | PnL: -0.04% | $-0.28 +2025-03-10 13:16:34,757 - INFO - OPENED SHORT at 2067.2 | Stop loss: 2077.551532142857 | Take profit: 2036.1687017857141 +2025-03-10 13:16:34,805 - INFO - CLOSED short at 2070.36 | PnL: -0.15% | $-0.51 +2025-03-10 13:16:34,806 - INFO - OPENED LONG at 2070.36 | Stop loss: 2059.992667857143 | Take profit: 2101.438698214286 +2025-03-10 13:16:35,420 - INFO - CLOSED long at 2071.39 | PnL: 0.05% | $-0.10 +2025-03-10 13:16:35,454 - INFO - OPENED LONG at 2071.36 | Stop loss: 2060.9876678571427 | Take profit: 2102.453698214286 +2025-03-10 13:16:35,670 - INFO - CLOSED long at 2071.92 | PnL: 0.03% | $-0.15 +2025-03-10 13:16:35,671 - INFO - OPENED SHORT at 2071.92 | Stop loss: 2082.2951321428573 | Take profit: 2040.8179017857142 +2025-03-10 13:16:35,723 - INFO - CLOSED short at 2070.4 | PnL: 0.07% | $-0.05 +2025-03-10 13:16:35,724 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.032467857143 | Take profit: 2101.479298214286 +2025-03-10 13:16:36,158 - INFO - CLOSED long at 2067.59 | PnL: -0.14% | $-0.47 +2025-03-10 13:16:36,181 - INFO - OPENED LONG at 2069.2 | Stop loss: 2058.8384678571424 | Take profit: 2100.2612982142855 +2025-03-10 13:16:36,307 - INFO - CLOSED long at 2068.5 | PnL: -0.03% | $-0.26 +2025-03-10 13:16:36,333 - INFO - OPENED LONG at 2068.69 | Stop loss: 2058.331017857143 | Take profit: 2099.7436482142857 +2025-03-10 13:16:36,715 - INFO - CLOSED long at 2065.83 | PnL: -0.14% | $-0.47 +2025-03-10 13:16:36,715 - INFO - OPENED SHORT at 2065.83 | Stop loss: 2076.174682142857 | Take profit: 2034.8192517857142 +2025-03-10 13:16:36,734 - INFO - CLOSED short at 2066.15 | PnL: -0.02% | $-0.23 +2025-03-10 13:16:36,734 - INFO - OPENED LONG at 2066.15 | Stop loss: 2055.803717857143 | Take profit: 2097.1655482142855 +2025-03-10 13:16:37,059 - INFO - CLOSED long at 2064.08 | PnL: -0.10% | $-0.39 +2025-03-10 13:16:37,059 - INFO - OPENED SHORT at 2064.08 | Stop loss: 2074.415932142857 | Take profit: 2033.095501785714 +2025-03-10 13:16:37,091 - INFO - CLOSED short at 2062.71 | PnL: 0.07% | $-0.07 +2025-03-10 13:16:37,091 - INFO - OPENED LONG at 2062.71 | Stop loss: 2052.380917857143 | Take profit: 2093.6739482142857 +2025-03-10 13:16:37,873 - INFO - CLOSED long at 2059.46 | PnL: -0.16% | $-0.50 +2025-03-10 13:16:37,874 - INFO - OPENED SHORT at 2059.46 | Stop loss: 2069.772832142857 | Take profit: 2028.5448017857143 +2025-03-10 13:16:37,899 - INFO - CLOSED short at 2057.4 | PnL: 0.10% | $0.00 +2025-03-10 13:16:37,899 - INFO - OPENED LONG at 2057.4 | Stop loss: 2047.097467857143 | Take profit: 2088.284298214286 +2025-03-10 13:16:38,470 - INFO - CLOSED long at 2065.69 | PnL: 0.40% | $0.59 +2025-03-10 13:16:38,471 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.0339821428574 | Take profit: 2034.6813517857142 +2025-03-10 13:16:38,510 - INFO - CLOSED short at 2069.79 | PnL: -0.20% | $-0.58 +2025-03-10 13:16:38,510 - INFO - OPENED LONG at 2069.79 | Stop loss: 2059.425517857143 | Take profit: 2100.860148214286 +2025-03-10 13:16:38,613 - INFO - CLOSED long at 2075.01 | PnL: 0.25% | $0.30 +2025-03-10 13:16:38,628 - INFO - OPENED SHORT at 2072.6 | Stop loss: 2082.9785321428567 | Take profit: 2041.4877017857143 +2025-03-10 13:16:38,650 - INFO - CLOSED short at 2071.04 | PnL: 0.08% | $-0.05 +2025-03-10 13:16:38,651 - INFO - OPENED LONG at 2071.04 | Stop loss: 2060.669267857143 | Take profit: 2102.1288982142855 +2025-03-10 13:16:38,691 - INFO - CLOSED long at 2071.6 | PnL: 0.03% | $-0.14 +2025-03-10 13:16:38,691 - INFO - OPENED SHORT at 2071.6 | Stop loss: 2081.973532142857 | Take profit: 2040.5027017857142 +2025-03-10 13:16:38,712 - INFO - CLOSED short at 2073.23 | PnL: -0.08% | $-0.35 +2025-03-10 13:16:38,712 - INFO - OPENED LONG at 2073.23 | Stop loss: 2062.848317857143 | Take profit: 2104.3517482142856 +2025-03-10 13:16:38,781 - INFO - CLOSED long at 2068.39 | PnL: -0.23% | $-0.65 +2025-03-10 13:16:38,825 - INFO - OPENED LONG at 2069.69 | Stop loss: 2059.3260178571427 | Take profit: 2100.758648214286 +2025-03-10 13:16:39,053 - INFO - CLOSED long at 2065.7 | PnL: -0.19% | $-0.56 +2025-03-10 13:16:39,073 - INFO - OPENED LONG at 2065.66 | Stop loss: 2055.316167857143 | Take profit: 2096.6681982142854 +2025-03-10 13:16:39,108 - INFO - CLOSED long at 2063.97 | PnL: -0.08% | $-0.35 +2025-03-10 13:16:39,134 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.161967857143 | Take profit: 2095.490798214286 +2025-03-10 13:16:39,827 - INFO - CLOSED long at 2074.35 | PnL: 0.48% | $0.72 +2025-03-10 13:16:39,828 - INFO - OPENED SHORT at 2074.35 | Stop loss: 2084.7372821428567 | Take profit: 2043.2114517857142 +2025-03-10 13:16:39,848 - INFO - CLOSED short at 2073.27 | PnL: 0.05% | $-0.09 +2025-03-10 13:16:39,849 - INFO - OPENED LONG at 2073.27 | Stop loss: 2062.888117857143 | Take profit: 2104.3923482142854 +2025-03-10 13:16:40,217 - INFO - CLOSED long at 2068.1 | PnL: -0.25% | $-0.67 +2025-03-10 13:16:40,245 - INFO - OPENED LONG at 2069.0 | Stop loss: 2058.639467857143 | Take profit: 2100.058298214286 +2025-03-10 13:16:40,300 - INFO - CLOSED long at 2067.19 | PnL: -0.09% | $-0.36 +2025-03-10 13:16:40,301 - INFO - OPENED SHORT at 2067.19 | Stop loss: 2077.541482142857 | Take profit: 2036.1588517857142 +2025-03-10 13:16:40,321 - INFO - CLOSED short at 2065.5 | PnL: 0.08% | $-0.03 +2025-03-10 13:16:40,322 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.1569678571427 | Take profit: 2096.5057982142857 +2025-03-10 13:16:40,726 - INFO - CLOSED long at 2058.09 | PnL: -0.36% | $-0.87 +2025-03-10 13:16:40,752 - INFO - OPENED LONG at 2058.65 | Stop loss: 2048.341217857143 | Take profit: 2089.553048214286 +2025-03-10 13:16:41,064 - INFO - CLOSED long at 2062.43 | PnL: 0.18% | $0.16 +2025-03-10 13:16:41,064 - INFO - OPENED SHORT at 2062.43 | Stop loss: 2072.757682142857 | Take profit: 2031.470251785714 +2025-03-10 13:16:41,086 - INFO - CLOSED short at 2062.55 | PnL: -0.01% | $-0.20 +2025-03-10 13:16:41,086 - INFO - OPENED LONG at 2062.55 | Stop loss: 2052.221717857143 | Take profit: 2093.511548214286 +2025-03-10 13:16:41,375 - INFO - CLOSED long at 2069.81 | PnL: 0.35% | $0.47 +2025-03-10 13:16:41,393 - INFO - OPENED LONG at 2070.41 | Stop loss: 2060.042417857143 | Take profit: 2101.489448214286 +2025-03-10 13:16:41,477 - INFO - CLOSED long at 2071.89 | PnL: 0.07% | $-0.05 +2025-03-10 13:16:41,537 - INFO - OPENED LONG at 2076.08 | Stop loss: 2065.684067857143 | Take profit: 2107.2444982142856 +2025-03-10 13:16:41,639 - INFO - CLOSED long at 2130.7 | PnL: 2.63% | $4.78 +2025-03-10 13:16:41,662 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.826767857143 | Take profit: 2171.6563982142857 +2025-03-10 13:16:41,832 - INFO - STOP LOSS hit for long at 2128.826767857143 | PnL: -0.50% | $-1.19 +2025-03-10 13:16:41,856 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.647967857143 | Take profit: 2159.2327982142856 +2025-03-10 13:16:42,053 - INFO - STOP LOSS hit for long at 2116.647967857143 | PnL: -0.50% | $-1.18 +2025-03-10 13:16:42,080 - INFO - OPENED LONG at 2107.43 | Stop loss: 2096.8773178571428 | Take profit: 2139.0647482142854 +2025-03-10 13:16:42,204 - INFO - CLOSED long at 2113.24 | PnL: 0.28% | $0.34 +2025-03-10 13:16:42,228 - INFO - OPENED LONG at 2112.99 | Stop loss: 2102.4095178571424 | Take profit: 2144.7081482142853 +2025-03-10 13:16:42,292 - INFO - CLOSED long at 2114.8 | PnL: 0.09% | $-0.03 +2025-03-10 13:16:42,312 - INFO - OPENED LONG at 2110.9 | Stop loss: 2100.329967857143 | Take profit: 2142.586798214286 +2025-03-10 13:16:42,427 - INFO - STOP LOSS hit for long at 2100.329967857143 | PnL: -0.50% | $-1.17 +2025-03-10 13:16:42,453 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.016817857143 | Take profit: 2131.046248214286 +2025-03-10 13:16:42,554 - INFO - CLOSED long at 2098.9 | PnL: -0.03% | $-0.25 +2025-03-10 13:16:42,578 - INFO - OPENED LONG at 2100.69 | Stop loss: 2090.171017857143 | Take profit: 2132.2236482142857 +2025-03-10 13:16:42,929 - INFO - STOP LOSS hit for long at 2090.171017857143 | PnL: -0.50% | $-1.15 +2025-03-10 13:16:42,953 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.848067857143 | Take profit: 2114.5524982142856 +2025-03-10 13:16:43,070 - INFO - CLOSED long at 2080.38 | PnL: -0.14% | $-0.45 +2025-03-10 13:16:43,070 - INFO - OPENED SHORT at 2080.38 | Stop loss: 2090.7974321428574 | Take profit: 2049.1510017857145 +2025-03-10 13:16:43,092 - INFO - CLOSED short at 2081.25 | PnL: -0.04% | $-0.27 +2025-03-10 13:16:43,092 - INFO - OPENED LONG at 2081.25 | Stop loss: 2070.8282178571426 | Take profit: 2112.492048214286 +2025-03-10 13:16:43,669 - INFO - CLOSED long at 2098.49 | PnL: 0.83% | $1.37 +2025-03-10 13:16:43,710 - INFO - OPENED LONG at 2100.89 | Stop loss: 2090.370017857143 | Take profit: 2132.4266482142853 +2025-03-10 13:16:43,963 - INFO - Trade Analysis: Win Rate=10.5% in uptrends, 0.0% in downtrends | Avg Win=$0.83, Avg Loss=$-0.39 +2025-03-10 13:16:43,964 - INFO - Episode 24: Reward=151.47, Balance=$95.85, Win Rate=25.5%, Trades=51, Episode PnL=$-4.18, Total PnL=$-411.55, Max Drawdown=5.7%, Pred Accuracy=99.8% +2025-03-10 13:16:43,964 - ERROR - Error in episode 24: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:16:43,965 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1812, in train_agent + f"{trade_analysis.get('downtrend_win_rate', 0):.1f}% in downtrends | " + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:16:43,985 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:16:44,248 - INFO - OPENED LONG at 2046.58 | Stop loss: 2036.3315678571428 | Take profit: 2077.3019982142855 +2025-03-10 13:16:44,632 - INFO - CLOSED long at 2056.89 | PnL: 0.50% | $0.80 +2025-03-10 13:16:44,664 - INFO - OPENED LONG at 2058.39 | Stop loss: 2048.0825178571426 | Take profit: 2089.289148214286 +2025-03-10 13:16:44,975 - INFO - CLOSED long at 2061.89 | PnL: 0.17% | $0.14 +2025-03-10 13:16:44,975 - INFO - OPENED SHORT at 2061.89 | Stop loss: 2072.214982142857 | Take profit: 2030.938351785714 +2025-03-10 13:16:45,012 - INFO - CLOSED short at 2062.89 | PnL: -0.05% | $-0.30 +2025-03-10 13:16:45,013 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.5600178571426 | Take profit: 2093.8566482142855 +2025-03-10 13:16:45,164 - INFO - CLOSED long at 2057.94 | PnL: -0.24% | $-0.68 +2025-03-10 13:16:45,164 - INFO - OPENED SHORT at 2057.94 | Stop loss: 2068.2452321428573 | Take profit: 2027.0476017857145 +2025-03-10 13:16:45,185 - INFO - CLOSED short at 2058.11 | PnL: -0.01% | $-0.21 +2025-03-10 13:16:45,185 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.803917857143 | Take profit: 2089.004948214286 +2025-03-10 13:16:45,485 - INFO - CLOSED long at 2068.65 | PnL: 0.51% | $0.82 +2025-03-10 13:16:45,485 - INFO - OPENED SHORT at 2068.65 | Stop loss: 2079.0087821428574 | Take profit: 2037.5969517857145 +2025-03-10 13:16:45,519 - INFO - CLOSED short at 2068.99 | PnL: -0.02% | $-0.23 +2025-03-10 13:16:45,555 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.255032142857 | Take profit: 2036.8582017857143 +2025-03-10 13:16:45,582 - INFO - CLOSED short at 2067.69 | PnL: 0.01% | $-0.18 +2025-03-10 13:16:45,582 - INFO - OPENED LONG at 2067.69 | Stop loss: 2057.336017857143 | Take profit: 2098.7286482142854 +2025-03-10 13:16:45,602 - INFO - CLOSED long at 2070.26 | PnL: 0.12% | $0.05 +2025-03-10 13:16:45,627 - INFO - OPENED LONG at 2071.44 | Stop loss: 2061.0672678571427 | Take profit: 2102.534898214286 +2025-03-10 13:16:46,021 - INFO - CLOSED long at 2070.7 | PnL: -0.04% | $-0.27 +2025-03-10 13:16:46,042 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.977767857143 | Take profit: 2100.4033982142855 +2025-03-10 13:16:46,099 - INFO - CLOSED long at 2067.6 | PnL: -0.08% | $-0.37 +2025-03-10 13:16:46,125 - INFO - OPENED LONG at 2067.51 | Stop loss: 2057.156917857143 | Take profit: 2098.5459482142855 +2025-03-10 13:16:46,307 - INFO - CLOSED long at 2066.18 | PnL: -0.06% | $-0.32 +2025-03-10 13:16:46,307 - INFO - OPENED SHORT at 2066.18 | Stop loss: 2076.526432142857 | Take profit: 2035.1640017857142 +2025-03-10 13:16:46,369 - INFO - CLOSED short at 2068.9 | PnL: -0.13% | $-0.46 +2025-03-10 13:16:46,369 - INFO - OPENED LONG at 2068.9 | Stop loss: 2058.539967857143 | Take profit: 2099.956798214286 +2025-03-10 13:16:46,517 - INFO - CLOSED long at 2071.39 | PnL: 0.12% | $0.04 +2025-03-10 13:16:46,518 - INFO - OPENED SHORT at 2071.39 | Stop loss: 2081.762482142857 | Take profit: 2040.2958517857141 +2025-03-10 13:16:46,555 - INFO - CLOSED short at 2072.75 | PnL: -0.07% | $-0.32 +2025-03-10 13:16:46,588 - INFO - OPENED LONG at 2073.11 | Stop loss: 2062.728917857143 | Take profit: 2104.2299482142857 +2025-03-10 13:16:46,758 - INFO - CLOSED long at 2070.4 | PnL: -0.13% | $-0.45 +2025-03-10 13:16:46,780 - INFO - OPENED LONG at 2071.11 | Stop loss: 2060.738917857143 | Take profit: 2102.199948214286 +2025-03-10 13:16:46,903 - INFO - CLOSED long at 2066.8 | PnL: -0.21% | $-0.60 +2025-03-10 13:16:46,903 - INFO - OPENED SHORT at 2066.8 | Stop loss: 2077.1495321428574 | Take profit: 2035.7747017857143 +2025-03-10 13:16:46,925 - INFO - CLOSED short at 2065.49 | PnL: 0.06% | $-0.07 +2025-03-10 13:16:46,925 - INFO - OPENED LONG at 2065.49 | Stop loss: 2055.1470178571426 | Take profit: 2096.4956482142857 +2025-03-10 13:16:47,101 - INFO - CLOSED long at 2067.86 | PnL: 0.11% | $0.03 +2025-03-10 13:16:47,125 - INFO - OPENED LONG at 2067.59 | Stop loss: 2057.236517857143 | Take profit: 2098.6271482142856 +2025-03-10 13:16:47,693 - INFO - CLOSED long at 2062.65 | PnL: -0.24% | $-0.66 +2025-03-10 13:16:47,710 - INFO - OPENED LONG at 2061.78 | Stop loss: 2051.4555678571433 | Take profit: 2092.729998214286 +2025-03-10 13:16:48,112 - INFO - CLOSED long at 2058.89 | PnL: -0.14% | $-0.46 +2025-03-10 13:16:48,112 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.199982142857 | Take profit: 2027.9833517857144 +2025-03-10 13:16:48,135 - INFO - CLOSED short at 2059.3 | PnL: -0.02% | $-0.23 +2025-03-10 13:16:48,135 - INFO - OPENED LONG at 2059.3 | Stop loss: 2048.987967857143 | Take profit: 2090.212798214286 +2025-03-10 13:16:48,454 - INFO - CLOSED long at 2064.33 | PnL: 0.24% | $0.28 +2025-03-10 13:16:48,454 - INFO - OPENED SHORT at 2064.33 | Stop loss: 2074.667182142857 | Take profit: 2033.3417517857142 +2025-03-10 13:16:48,480 - INFO - CLOSED short at 2063.39 | PnL: 0.05% | $-0.10 +2025-03-10 13:16:48,480 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.0575178571426 | Take profit: 2094.3641482142853 +2025-03-10 13:16:48,552 - INFO - CLOSED long at 2063.53 | PnL: 0.01% | $-0.18 +2025-03-10 13:16:48,594 - INFO - OPENED LONG at 2063.0 | Stop loss: 2052.6694678571425 | Take profit: 2093.968298214286 +2025-03-10 13:16:48,700 - INFO - CLOSED long at 2061.7 | PnL: -0.06% | $-0.31 +2025-03-10 13:16:48,701 - INFO - OPENED SHORT at 2061.7 | Stop loss: 2072.024032142857 | Take profit: 2030.751201785714 +2025-03-10 13:16:48,737 - INFO - CLOSED short at 2060.7 | PnL: 0.05% | $-0.10 +2025-03-10 13:16:48,738 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3809678571424 | Take profit: 2091.633798214286 +2025-03-10 13:16:48,832 - INFO - CLOSED long at 2059.02 | PnL: -0.08% | $-0.34 +2025-03-10 13:16:48,857 - INFO - OPENED LONG at 2058.89 | Stop loss: 2048.5800178571426 | Take profit: 2089.7966482142856 +2025-03-10 13:16:48,879 - INFO - CLOSED long at 2059.96 | PnL: 0.05% | $-0.09 +2025-03-10 13:16:48,880 - INFO - OPENED SHORT at 2059.96 | Stop loss: 2070.275332142857 | Take profit: 2029.0373017857144 +2025-03-10 13:16:48,904 - INFO - CLOSED short at 2059.46 | PnL: 0.02% | $-0.14 +2025-03-10 13:16:48,904 - INFO - OPENED LONG at 2059.46 | Stop loss: 2049.147167857143 | Take profit: 2090.375198214286 +2025-03-10 13:16:49,987 - INFO - CLOSED long at 2069.03 | PnL: 0.46% | $0.69 +2025-03-10 13:16:50,005 - INFO - OPENED LONG at 2067.44 | Stop loss: 2057.0872678571427 | Take profit: 2098.4748982142855 +2025-03-10 13:16:50,769 - INFO - CLOSED long at 2070.61 | PnL: 0.15% | $0.10 +2025-03-10 13:16:50,791 - INFO - OPENED LONG at 2071.99 | Stop loss: 2061.614517857143 | Take profit: 2103.0931482142855 +2025-03-10 13:16:51,246 - INFO - CLOSED long at 2067.7 | PnL: -0.21% | $-0.58 +2025-03-10 13:16:51,274 - INFO - OPENED LONG at 2067.0 | Stop loss: 2056.649467857143 | Take profit: 2098.0282982142858 +2025-03-10 13:16:51,442 - INFO - CLOSED long at 2065.45 | PnL: -0.07% | $-0.33 +2025-03-10 13:16:51,479 - INFO - OPENED LONG at 2068.1 | Stop loss: 2057.7439678571427 | Take profit: 2099.1447982142854 +2025-03-10 13:16:51,558 - INFO - CLOSED long at 2070.1 | PnL: 0.10% | $-0.01 +2025-03-10 13:16:51,582 - INFO - OPENED LONG at 2067.19 | Stop loss: 2056.838517857143 | Take profit: 2098.2211482142857 +2025-03-10 13:16:52,111 - INFO - STOP LOSS hit for long at 2056.838517857143 | PnL: -0.50% | $-1.13 +2025-03-10 13:16:52,132 - INFO - OPENED LONG at 2053.01 | Stop loss: 2042.729417857143 | Take profit: 2083.828448214286 +2025-03-10 13:16:52,415 - INFO - CLOSED long at 2062.43 | PnL: 0.46% | $0.67 +2025-03-10 13:16:52,415 - INFO - OPENED SHORT at 2062.43 | Stop loss: 2072.757682142857 | Take profit: 2031.470251785714 +2025-03-10 13:16:52,441 - INFO - CLOSED short at 2062.55 | PnL: -0.01% | $-0.20 +2025-03-10 13:16:52,442 - INFO - OPENED LONG at 2062.55 | Stop loss: 2052.221717857143 | Take profit: 2093.511548214286 +2025-03-10 13:16:53,129 - INFO - TAKE PROFIT hit for long at 2093.511548214286 | PnL: 1.50% | $2.62 +2025-03-10 13:16:53,156 - INFO - OPENED LONG at 2130.7 | Stop loss: 2120.0309678571425 | Take profit: 2162.6837982142856 +2025-03-10 13:16:53,514 - INFO - STOP LOSS hit for long at 2120.0309678571425 | PnL: -0.50% | $-1.16 +2025-03-10 13:16:53,548 - INFO - OPENED SHORT at 2119.93 | Stop loss: 2130.545182142857 | Take profit: 2088.1077517857143 +2025-03-10 13:16:53,568 - INFO - CLOSED short at 2121.4 | PnL: -0.07% | $-0.32 +2025-03-10 13:16:53,568 - INFO - OPENED LONG at 2121.4 | Stop loss: 2110.777467857143 | Take profit: 2153.2442982142857 +2025-03-10 13:16:53,666 - INFO - STOP LOSS hit for long at 2110.777467857143 | PnL: -0.50% | $-1.14 +2025-03-10 13:16:53,689 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.0314678571426 | Take profit: 2142.282298214285 +2025-03-10 13:16:53,950 - INFO - CLOSED long at 2108.71 | PnL: -0.09% | $-0.35 +2025-03-10 13:16:53,975 - INFO - OPENED LONG at 2106.49 | Stop loss: 2095.9420178571427 | Take profit: 2138.1106482142854 +2025-03-10 13:16:54,053 - INFO - STOP LOSS hit for long at 2095.9420178571427 | PnL: -0.50% | $-1.12 +2025-03-10 13:16:54,073 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.016817857143 | Take profit: 2131.046248214286 +2025-03-10 13:16:54,330 - INFO - CLOSED long at 2104.68 | PnL: 0.25% | $0.27 +2025-03-10 13:16:54,357 - INFO - OPENED LONG at 2101.51 | Stop loss: 2090.986917857143 | Take profit: 2133.0559482142858 +2025-03-10 13:16:54,555 - INFO - STOP LOSS hit for long at 2090.986917857143 | PnL: -0.50% | $-1.11 +2025-03-10 13:16:54,610 - INFO - OPENED LONG at 2088.44 | Stop loss: 2077.9822678571427 | Take profit: 2119.789898214286 +2025-03-10 13:16:54,777 - INFO - CLOSED long at 2083.41 | PnL: -0.24% | $-0.62 +2025-03-10 13:16:54,797 - INFO - OPENED LONG at 2085.09 | Stop loss: 2074.649017857143 | Take profit: 2116.389648214286 +2025-03-10 13:16:55,151 - INFO - CLOSED long at 2085.67 | PnL: 0.03% | $-0.13 +2025-03-10 13:16:55,151 - INFO - OPENED SHORT at 2085.67 | Stop loss: 2096.113882142857 | Take profit: 2054.3616517857145 +2025-03-10 13:16:55,177 - INFO - CLOSED short at 2089.2 | PnL: -0.17% | $-0.49 +2025-03-10 13:16:55,178 - INFO - OPENED LONG at 2089.2 | Stop loss: 2078.738467857143 | Take profit: 2120.5612982142857 +2025-03-10 13:16:55,654 - INFO - CLOSED long at 2103.52 | PnL: 0.69% | $1.05 +2025-03-10 13:16:55,679 - INFO - OPENED LONG at 2104.4 | Stop loss: 2093.862467857143 | Take profit: 2135.989298214286 +2025-03-10 13:16:55,697 - INFO - Trade Analysis: Win Rate=5.6% in uptrends, 0.0% in downtrends | Avg Win=$0.58, Avg Loss=$-0.43 +2025-03-10 13:16:55,698 - INFO - Episode 25: Reward=148.82, Balance=$91.78, Win Rate=26.0%, Trades=50, Episode PnL=$-7.57, Total PnL=$-419.78, Max Drawdown=9.4%, Pred Accuracy=100.0% +2025-03-10 13:16:55,699 - ERROR - Error in episode 25: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:16:55,699 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1812, in train_agent + f"{trade_analysis.get('downtrend_win_rate', 0):.1f}% in downtrends | " + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:16:55,719 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:16:56,028 - INFO - OPENED LONG at 2046.58 | Stop loss: 2036.3315678571428 | Take profit: 2077.3019982142855 +2025-03-10 13:16:56,256 - INFO - CLOSED long at 2050.24 | PnL: 0.18% | $0.16 +2025-03-10 13:16:56,256 - INFO - OPENED SHORT at 2050.24 | Stop loss: 2060.506732142857 | Take profit: 2019.4631017857141 +2025-03-10 13:16:56,283 - INFO - CLOSED short at 2049.89 | PnL: 0.02% | $-0.16 +2025-03-10 13:16:56,283 - INFO - OPENED LONG at 2049.89 | Stop loss: 2039.6250178571427 | Take profit: 2080.661648214286 +2025-03-10 13:16:57,366 - INFO - CLOSED long at 2075.1 | PnL: 1.23% | $2.24 +2025-03-10 13:16:57,401 - INFO - OPENED LONG at 2072.91 | Stop loss: 2062.5299178571427 | Take profit: 2104.0269482142853 +2025-03-10 13:16:57,828 - INFO - CLOSED long at 2067.51 | PnL: -0.26% | $-0.73 +2025-03-10 13:16:57,828 - INFO - OPENED SHORT at 2067.51 | Stop loss: 2077.8630821428574 | Take profit: 2036.4740517857144 +2025-03-10 13:16:57,864 - INFO - CLOSED short at 2069.01 | PnL: -0.07% | $-0.35 +2025-03-10 13:16:57,864 - INFO - OPENED LONG at 2069.01 | Stop loss: 2058.6494178571434 | Take profit: 2100.068448214286 +2025-03-10 13:16:58,454 - INFO - CLOSED long at 2071.92 | PnL: 0.14% | $0.08 +2025-03-10 13:16:58,454 - INFO - OPENED SHORT at 2071.92 | Stop loss: 2082.2951321428573 | Take profit: 2040.8179017857142 +2025-03-10 13:16:58,474 - INFO - CLOSED short at 2070.4 | PnL: 0.07% | $-0.05 +2025-03-10 13:16:58,474 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.032467857143 | Take profit: 2101.479298214286 +2025-03-10 13:16:58,594 - INFO - CLOSED long at 2067.79 | PnL: -0.13% | $-0.45 +2025-03-10 13:16:58,595 - INFO - OPENED SHORT at 2067.79 | Stop loss: 2078.144482142857 | Take profit: 2036.7498517857143 +2025-03-10 13:16:58,628 - INFO - CLOSED short at 2067.46 | PnL: 0.02% | $-0.17 +2025-03-10 13:16:58,629 - INFO - OPENED LONG at 2067.46 | Stop loss: 2057.107167857143 | Take profit: 2098.4951982142857 +2025-03-10 13:16:58,729 - INFO - CLOSED long at 2063.61 | PnL: -0.19% | $-0.57 +2025-03-10 13:16:58,729 - INFO - OPENED SHORT at 2063.61 | Stop loss: 2073.9435821428574 | Take profit: 2032.6325517857144 +2025-03-10 13:16:58,754 - INFO - CLOSED short at 2065.26 | PnL: -0.08% | $-0.36 +2025-03-10 13:16:58,754 - INFO - OPENED LONG at 2065.26 | Stop loss: 2054.918167857143 | Take profit: 2096.262198214286 +2025-03-10 13:16:58,799 - INFO - CLOSED long at 2068.58 | PnL: 0.16% | $0.12 +2025-03-10 13:16:58,819 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.440467857143 | Take profit: 2099.855298214286 +2025-03-10 13:16:58,902 - INFO - CLOSED long at 2069.2 | PnL: 0.02% | $-0.16 +2025-03-10 13:16:58,903 - INFO - OPENED SHORT at 2069.2 | Stop loss: 2079.561532142857 | Take profit: 2038.1387017857141 +2025-03-10 13:16:58,924 - INFO - CLOSED short at 2070.3 | PnL: -0.05% | $-0.30 +2025-03-10 13:16:58,924 - INFO - OPENED LONG at 2070.3 | Stop loss: 2059.932967857143 | Take profit: 2101.377798214286 +2025-03-10 13:16:59,537 - INFO - CLOSED long at 2062.65 | PnL: -0.37% | $-0.93 +2025-03-10 13:16:59,537 - INFO - OPENED SHORT at 2062.65 | Stop loss: 2072.978782142857 | Take profit: 2031.6869517857142 +2025-03-10 13:16:59,559 - INFO - CLOSED short at 2061.78 | PnL: 0.04% | $-0.11 +2025-03-10 13:16:59,559 - INFO - OPENED LONG at 2061.78 | Stop loss: 2051.4555678571433 | Take profit: 2092.729998214286 +2025-03-10 13:17:00,518 - INFO - CLOSED long at 2061.7 | PnL: -0.00% | $-0.20 +2025-03-10 13:17:00,538 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3809678571424 | Take profit: 2091.633798214286 +2025-03-10 13:17:00,672 - INFO - CLOSED long at 2059.02 | PnL: -0.08% | $-0.35 +2025-03-10 13:17:00,713 - INFO - OPENED LONG at 2058.89 | Stop loss: 2048.5800178571426 | Take profit: 2089.7966482142856 +2025-03-10 13:17:00,804 - INFO - CLOSED long at 2058.28 | PnL: -0.03% | $-0.25 +2025-03-10 13:17:00,805 - INFO - OPENED SHORT at 2058.28 | Stop loss: 2068.586932142857 | Take profit: 2027.3825017857146 +2025-03-10 13:17:00,826 - INFO - CLOSED short at 2056.28 | PnL: 0.10% | $-0.01 +2025-03-10 13:17:00,826 - INFO - OPENED LONG at 2056.28 | Stop loss: 2045.9830678571432 | Take profit: 2087.147498214286 +2025-03-10 13:17:01,218 - INFO - CLOSED long at 2064.49 | PnL: 0.40% | $0.58 +2025-03-10 13:17:01,251 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.982817857143 | Take profit: 2097.348248214286 +2025-03-10 13:17:01,352 - INFO - CLOSED long at 2065.69 | PnL: -0.03% | $-0.25 +2025-03-10 13:17:01,352 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.0339821428574 | Take profit: 2034.6813517857142 +2025-03-10 13:17:01,369 - INFO - CLOSED short at 2069.79 | PnL: -0.20% | $-0.58 +2025-03-10 13:17:01,369 - INFO - OPENED LONG at 2069.79 | Stop loss: 2059.425517857143 | Take profit: 2100.860148214286 +2025-03-10 13:17:01,403 - INFO - CLOSED long at 2072.0 | PnL: 0.11% | $0.01 +2025-03-10 13:17:01,403 - INFO - OPENED SHORT at 2072.0 | Stop loss: 2082.3755321428575 | Take profit: 2040.8967017857144 +2025-03-10 13:17:01,443 - INFO - CLOSED short at 2074.3 | PnL: -0.11% | $-0.41 +2025-03-10 13:17:01,443 - INFO - OPENED LONG at 2074.3 | Stop loss: 2063.912967857143 | Take profit: 2105.437798214286 +2025-03-10 13:17:01,607 - INFO - CLOSED long at 2071.6 | PnL: -0.13% | $-0.44 +2025-03-10 13:17:01,626 - INFO - OPENED LONG at 2073.23 | Stop loss: 2062.848317857143 | Take profit: 2104.3517482142856 +2025-03-10 13:17:02,400 - INFO - CLOSED long at 2070.7 | PnL: -0.12% | $-0.42 +2025-03-10 13:17:02,400 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.069032142857 | Take profit: 2039.6162017857139 +2025-03-10 13:17:02,420 - INFO - CLOSED short at 2070.8 | PnL: -0.00% | $-0.20 +2025-03-10 13:17:02,420 - INFO - OPENED LONG at 2070.8 | Stop loss: 2060.430467857143 | Take profit: 2101.885298214286 +2025-03-10 13:17:02,519 - INFO - CLOSED long at 2068.67 | PnL: -0.10% | $-0.39 +2025-03-10 13:17:02,548 - INFO - OPENED LONG at 2070.67 | Stop loss: 2060.301117857143 | Take profit: 2101.753348214286 +2025-03-10 13:17:02,957 - INFO - CLOSED long at 2066.4 | PnL: -0.21% | $-0.58 +2025-03-10 13:17:02,957 - INFO - OPENED SHORT at 2066.4 | Stop loss: 2076.7475321428574 | Take profit: 2035.3807017857143 +2025-03-10 13:17:02,991 - INFO - CLOSED short at 2066.89 | PnL: -0.02% | $-0.23 +2025-03-10 13:17:02,991 - INFO - OPENED LONG at 2066.89 | Stop loss: 2056.5400178571426 | Take profit: 2097.9166482142855 +2025-03-10 13:17:03,271 - INFO - CLOSED long at 2065.8 | PnL: -0.05% | $-0.29 +2025-03-10 13:17:03,272 - INFO - OPENED SHORT at 2065.8 | Stop loss: 2076.1445321428573 | Take profit: 2034.7897017857144 +2025-03-10 13:17:03,296 - INFO - CLOSED short at 2065.07 | PnL: 0.04% | $-0.12 +2025-03-10 13:17:03,296 - INFO - OPENED LONG at 2065.07 | Stop loss: 2054.729117857143 | Take profit: 2096.069348214286 +2025-03-10 13:17:03,392 - INFO - CLOSED long at 2063.98 | PnL: -0.05% | $-0.29 +2025-03-10 13:17:03,392 - INFO - OPENED SHORT at 2063.98 | Stop loss: 2074.315432142857 | Take profit: 2032.9970017857142 +2025-03-10 13:17:03,430 - INFO - CLOSED short at 2066.1 | PnL: -0.10% | $-0.38 +2025-03-10 13:17:03,430 - INFO - OPENED LONG at 2066.1 | Stop loss: 2055.753967857143 | Take profit: 2097.1147982142857 +2025-03-10 13:17:03,734 - INFO - STOP LOSS hit for long at 2055.753967857143 | PnL: -0.50% | $-1.11 +2025-03-10 13:17:03,758 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.9484178571429 | Take profit: 2079.971448214286 +2025-03-10 13:17:03,784 - INFO - CLOSED long at 2049.5 | PnL: 0.01% | $-0.16 +2025-03-10 13:17:03,820 - INFO - OPENED LONG at 2051.99 | Stop loss: 2041.7145178571427 | Take profit: 2082.7931482142853 +2025-03-10 13:17:04,017 - INFO - CLOSED long at 2062.43 | PnL: 0.51% | $0.75 +2025-03-10 13:17:04,042 - INFO - OPENED LONG at 2062.55 | Stop loss: 2052.221717857143 | Take profit: 2093.511548214286 +2025-03-10 13:17:04,058 - INFO - CLOSED long at 2065.12 | PnL: 0.12% | $0.05 +2025-03-10 13:17:04,083 - INFO - OPENED LONG at 2068.33 | Stop loss: 2057.9728178571427 | Take profit: 2099.3782482142856 +2025-03-10 13:17:04,105 - INFO - CLOSED long at 2067.49 | PnL: -0.04% | $-0.26 +2025-03-10 13:17:04,105 - INFO - OPENED SHORT at 2067.49 | Stop loss: 2077.8429821428567 | Take profit: 2036.4543517857142 +2025-03-10 13:17:04,125 - INFO - CLOSED short at 2066.59 | PnL: 0.04% | $-0.10 +2025-03-10 13:17:04,125 - INFO - OPENED LONG at 2066.59 | Stop loss: 2056.241517857143 | Take profit: 2097.612148214286 +2025-03-10 13:17:04,261 - INFO - CLOSED long at 2061.84 | PnL: -0.23% | $-0.61 +2025-03-10 13:17:04,261 - INFO - OPENED SHORT at 2061.84 | Stop loss: 2072.1647321428572 | Take profit: 2030.8891017857145 +2025-03-10 13:17:04,293 - INFO - CLOSED short at 2062.54 | PnL: -0.03% | $-0.24 +2025-03-10 13:17:04,293 - INFO - OPENED LONG at 2062.54 | Stop loss: 2052.211767857143 | Take profit: 2093.5013982142855 +2025-03-10 13:17:04,546 - INFO - CLOSED long at 2074.9 | PnL: 0.60% | $0.91 +2025-03-10 13:17:04,578 - INFO - OPENED LONG at 2076.08 | Stop loss: 2065.684067857143 | Take profit: 2107.2444982142856 +2025-03-10 13:17:04,729 - INFO - TAKE PROFIT hit for long at 2107.2444982142856 | PnL: 1.50% | $2.58 +2025-03-10 13:17:04,754 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.826767857143 | Take profit: 2171.6563982142857 +2025-03-10 13:17:04,869 - INFO - CLOSED long at 2142.68 | PnL: 0.15% | $0.09 +2025-03-10 13:17:04,890 - INFO - OPENED LONG at 2140.01 | Stop loss: 2129.294417857143 | Take profit: 2172.133448214286 +2025-03-10 13:17:04,931 - INFO - STOP LOSS hit for long at 2129.294417857143 | PnL: -0.50% | $-1.14 +2025-03-10 13:17:04,954 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.647967857143 | Take profit: 2159.2327982142856 +2025-03-10 13:17:05,219 - INFO - STOP LOSS hit for long at 2116.647967857143 | PnL: -0.50% | $-1.12 +2025-03-10 13:17:05,241 - INFO - OPENED LONG at 2107.43 | Stop loss: 2096.8773178571428 | Take profit: 2139.0647482142854 +2025-03-10 13:17:05,262 - INFO - CLOSED long at 2110.6 | PnL: 0.15% | $0.09 +2025-03-10 13:17:05,263 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1685321428567 | Take profit: 2078.917701785714 +2025-03-10 13:17:05,287 - INFO - CLOSED short at 2109.05 | PnL: 0.07% | $-0.05 +2025-03-10 13:17:05,287 - INFO - OPENED LONG at 2109.05 | Stop loss: 2098.489217857143 | Take profit: 2140.709048214286 +2025-03-10 13:17:05,334 - INFO - CLOSED long at 2112.95 | PnL: 0.18% | $0.16 +2025-03-10 13:17:05,334 - INFO - OPENED SHORT at 2112.95 | Stop loss: 2123.5302821428572 | Take profit: 2081.232451785714 +2025-03-10 13:17:05,359 - INFO - CLOSED short at 2112.46 | PnL: 0.02% | $-0.14 +2025-03-10 13:17:05,359 - INFO - OPENED LONG at 2112.46 | Stop loss: 2101.882167857143 | Take profit: 2144.1701982142854 +2025-03-10 13:17:05,634 - INFO - STOP LOSS hit for long at 2101.882167857143 | PnL: -0.50% | $-1.11 +2025-03-10 13:17:05,657 - INFO - OPENED LONG at 2090.0 | Stop loss: 2079.5344678571428 | Take profit: 2121.3732982142856 +2025-03-10 13:17:05,882 - INFO - CLOSED long at 2106.39 | PnL: 0.78% | $1.25 +2025-03-10 13:17:05,911 - INFO - OPENED LONG at 2100.74 | Stop loss: 2090.2207678571426 | Take profit: 2132.2743982142856 +2025-03-10 13:17:06,063 - INFO - CLOSED long at 2095.29 | PnL: -0.26% | $-0.67 +2025-03-10 13:17:06,069 - INFO - OPENED SHORT at 2095.29 | Stop loss: 2105.7819821428575 | Take profit: 2063.8373517857144 +2025-03-10 13:17:06,088 - INFO - CLOSED short at 2093.46 | PnL: 0.09% | $-0.02 +2025-03-10 13:17:06,088 - INFO - OPENED LONG at 2093.46 | Stop loss: 2082.977167857143 | Take profit: 2124.8851982142855 +2025-03-10 13:17:06,382 - INFO - STOP LOSS hit for long at 2082.977167857143 | PnL: -0.50% | $-1.10 +2025-03-10 13:17:06,399 - INFO - OPENED LONG at 2081.49 | Stop loss: 2071.0670178571427 | Take profit: 2112.7356482142854 +2025-03-10 13:17:06,578 - INFO - CLOSED long at 2085.83 | PnL: 0.21% | $0.20 +2025-03-10 13:17:06,578 - INFO - OPENED SHORT at 2085.83 | Stop loss: 2096.2746821428573 | Take profit: 2054.519251785714 +2025-03-10 13:17:06,615 - INFO - CLOSED short at 2085.85 | PnL: -0.00% | $-0.18 +2025-03-10 13:17:06,615 - INFO - OPENED LONG at 2085.85 | Stop loss: 2075.405217857143 | Take profit: 2117.1610482142855 +2025-03-10 13:17:07,053 - INFO - CLOSED long at 2101.64 | PnL: 0.76% | $1.19 +2025-03-10 13:17:07,053 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.163732142857 | Take profit: 2070.092101785714 +2025-03-10 13:17:07,086 - INFO - CLOSED short at 2097.11 | PnL: 0.22% | $0.21 +2025-03-10 13:17:07,088 - INFO - OPENED LONG at 2097.11 | Stop loss: 2086.608917857143 | Take profit: 2128.589948214286 +2025-03-10 13:17:07,147 - INFO - CLOSED long at 2099.89 | PnL: 0.13% | $0.06 +2025-03-10 13:17:07,147 - INFO - OPENED SHORT at 2099.89 | Stop loss: 2110.404982142857 | Take profit: 2068.368351785714 +2025-03-10 13:17:07,179 - INFO - CLOSED short at 2100.89 | PnL: -0.05% | $-0.27 +2025-03-10 13:17:07,179 - INFO - OPENED LONG at 2100.89 | Stop loss: 2090.370017857143 | Take profit: 2132.4266482142853 +2025-03-10 13:17:07,384 - INFO - CLOSED long at 2105.2 | PnL: 0.21% | $0.19 +2025-03-10 13:17:07,414 - INFO - OPENED LONG at 2103.52 | Stop loss: 2092.986867857143 | Take profit: 2135.0960982142856 +2025-03-10 13:17:07,480 - INFO - Trade Analysis: Win Rate=7.1% in uptrends, 0.0% in downtrends | Avg Win=$0.57, Avg Loss=$-0.40 +2025-03-10 13:17:07,482 - INFO - Episode 26: Reward=144.47, Balance=$92.88, Win Rate=29.7%, Trades=64, Episode PnL=$-2.61, Total PnL=$-426.89, Max Drawdown=10.5%, Pred Accuracy=99.9% +2025-03-10 13:17:07,482 - ERROR - Error in episode 26: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:17:07,482 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1812, in train_agent + f"{trade_analysis.get('downtrend_win_rate', 0):.1f}% in downtrends | " + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:17:07,503 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:17:07,904 - INFO - OPENED LONG at 2046.58 | Stop loss: 2036.3315678571428 | Take profit: 2077.3019982142855 +2025-03-10 13:17:07,942 - INFO - CLOSED long at 2047.2 | PnL: 0.03% | $-0.14 +2025-03-10 13:17:07,942 - INFO - OPENED SHORT at 2047.2 | Stop loss: 2057.451532142857 | Take profit: 2016.4687017857143 +2025-03-10 13:17:07,968 - INFO - CLOSED short at 2045.99 | PnL: 0.06% | $-0.08 +2025-03-10 13:17:07,968 - INFO - OPENED LONG at 2045.99 | Stop loss: 2035.744517857143 | Take profit: 2076.703148214286 +2025-03-10 13:17:08,626 - INFO - CLOSED long at 2060.99 | PnL: 0.73% | $1.25 +2025-03-10 13:17:08,657 - INFO - OPENED LONG at 2058.3 | Stop loss: 2047.9929678571432 | Take profit: 2089.1977982142857 +2025-03-10 13:17:08,865 - INFO - CLOSED long at 2058.11 | PnL: -0.01% | $-0.22 +2025-03-10 13:17:08,892 - INFO - OPENED LONG at 2061.79 | Stop loss: 2051.465517857143 | Take profit: 2092.740148214286 +2025-03-10 13:17:09,387 - INFO - CLOSED long at 2071.41 | PnL: 0.47% | $0.73 +2025-03-10 13:17:09,389 - INFO - OPENED SHORT at 2071.41 | Stop loss: 2081.782582142857 | Take profit: 2040.3155517857142 +2025-03-10 13:17:09,416 - INFO - CLOSED short at 2069.37 | PnL: 0.10% | $-0.00 +2025-03-10 13:17:09,416 - INFO - OPENED LONG at 2069.37 | Stop loss: 2059.0076178571426 | Take profit: 2100.4338482142857 +2025-03-10 13:17:09,613 - INFO - CLOSED long at 2068.9 | PnL: -0.02% | $-0.25 +2025-03-10 13:17:09,613 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.260032142857 | Take profit: 2037.8432017857144 +2025-03-10 13:17:09,633 - INFO - CLOSED short at 2070.7 | PnL: -0.09% | $-0.38 +2025-03-10 13:17:09,639 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3309678571427 | Take profit: 2101.7837982142855 +2025-03-10 13:17:10,016 - INFO - CLOSED long at 2068.59 | PnL: -0.10% | $-0.40 +2025-03-10 13:17:10,033 - INFO - OPENED LONG at 2069.7 | Stop loss: 2059.335967857143 | Take profit: 2100.7687982142857 +2025-03-10 13:17:10,271 - INFO - CLOSED long at 2074.29 | PnL: 0.22% | $0.24 +2025-03-10 13:17:10,301 - INFO - OPENED SHORT at 2073.9 | Stop loss: 2084.2850321428573 | Take profit: 2042.7682017857144 +2025-03-10 13:17:10,330 - INFO - CLOSED short at 2071.92 | PnL: 0.10% | $-0.01 +2025-03-10 13:17:10,330 - INFO - OPENED LONG at 2071.92 | Stop loss: 2061.544867857143 | Take profit: 2103.0220982142855 +2025-03-10 13:17:10,351 - INFO - CLOSED long at 2070.4 | PnL: -0.07% | $-0.35 +2025-03-10 13:17:10,375 - INFO - OPENED LONG at 2071.11 | Stop loss: 2060.738917857143 | Take profit: 2102.199948214286 +2025-03-10 13:17:10,412 - INFO - CLOSED long at 2069.35 | PnL: -0.08% | $-0.37 +2025-03-10 13:17:10,413 - INFO - OPENED SHORT at 2069.35 | Stop loss: 2079.7122821428575 | Take profit: 2038.2864517857142 +2025-03-10 13:17:10,434 - INFO - CLOSED short at 2068.32 | PnL: 0.05% | $-0.10 +2025-03-10 13:17:10,435 - INFO - OPENED LONG at 2068.32 | Stop loss: 2057.962867857143 | Take profit: 2099.368098214286 +2025-03-10 13:17:10,451 - INFO - CLOSED long at 2067.0 | PnL: -0.06% | $-0.32 +2025-03-10 13:17:10,452 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.350532142857 | Take profit: 2035.9717017857142 +2025-03-10 13:17:10,472 - INFO - CLOSED short at 2067.79 | PnL: -0.04% | $-0.27 +2025-03-10 13:17:10,472 - INFO - OPENED LONG at 2067.79 | Stop loss: 2057.4355178571427 | Take profit: 2098.8301482142856 +2025-03-10 13:17:20,497 - INFO - Using GPU: NVIDIA GeForce RTX 4060 Laptop GPU +2025-03-10 13:17:20,519 - INFO - Exchange initialized with standard CCXT: mexc +2025-03-10 13:17:20,519 - INFO - Fetching initial data for ETH/USDT +2025-03-10 13:17:24,269 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 13:17:24,294 - INFO - Initialized environment with 500 candles +2025-03-10 13:17:26,817 - INFO - Starting training for 1000 episodes... +2025-03-10 13:17:26,817 - INFO - Starting training on device: cuda +2025-03-10 13:17:26,844 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:17:27,122 - INFO - OPENED SHORT at 2048.13 | Stop loss: 2058.3860178571426 | Take profit: 2017.3849982142858 +2025-03-10 13:17:27,122 - INFO - CLOSED short at 2047.59 | PnL: 0.03% | $-0.15 +2025-03-10 13:17:27,122 - INFO - OPENED LONG at 2050.0 | Stop loss: 2039.7346321428572 | Take profit: 2080.7730517857144 +2025-03-10 13:17:27,122 - INFO - CLOSED long at 2053.26 | PnL: 0.16% | $0.12 +2025-03-10 13:17:27,126 - INFO - OPENED SHORT at 2053.26 | Stop loss: 2063.5416678571432 | Take profit: 2022.4380482142858 +2025-03-10 13:17:27,126 - INFO - CLOSED short at 2051.89 | PnL: 0.07% | $-0.07 +2025-03-10 13:17:27,126 - INFO - OPENED LONG at 2051.89 | Stop loss: 2041.615182142857 | Take profit: 2082.691401785714 +2025-03-10 13:17:27,126 - INFO - CLOSED long at 2052.3 | PnL: 0.02% | $-0.16 +2025-03-10 13:17:27,126 - INFO - OPENED SHORT at 2052.3 | Stop loss: 2062.576867857143 | Take profit: 2021.492448214286 +2025-03-10 13:17:27,126 - INFO - CLOSED short at 2060.13 | PnL: -0.38% | $-0.95 +2025-03-10 13:17:27,126 - INFO - OPENED LONG at 2060.13 | Stop loss: 2049.813982142857 | Take profit: 2091.0550017857145 +2025-03-10 13:17:27,126 - INFO - CLOSED long at 2059.7 | PnL: -0.02% | $-0.24 +2025-03-10 13:17:27,130 - INFO - OPENED SHORT at 2059.7 | Stop loss: 2070.0138678571425 | Take profit: 2028.7814482142855 +2025-03-10 13:17:27,131 - INFO - CLOSED short at 2064.61 | PnL: -0.24% | $-0.66 +2025-03-10 13:17:27,131 - INFO - OPENED SHORT at 2063.59 | Stop loss: 2073.923317857143 | Take profit: 2032.6130982142859 +2025-03-10 13:17:27,132 - INFO - CLOSED short at 2061.61 | PnL: 0.10% | $-0.01 +2025-03-10 13:17:27,133 - INFO - OPENED SHORT at 2064.69 | Stop loss: 2075.028817857143 | Take profit: 2033.6965982142856 +2025-03-10 13:17:27,134 - INFO - CLOSED short at 2060.99 | PnL: 0.18% | $0.15 +2025-03-10 13:17:27,134 - INFO - OPENED LONG at 2058.3 | Stop loss: 2047.9931321428573 | Take profit: 2089.197551785714 +2025-03-10 13:17:27,136 - INFO - CLOSED long at 2061.89 | PnL: 0.17% | $0.14 +2025-03-10 13:17:27,136 - INFO - OPENED SHORT at 2061.89 | Stop loss: 2072.214817857143 | Take profit: 2030.9385982142855 +2025-03-10 13:17:27,137 - INFO - CLOSED short at 2059.49 | PnL: 0.12% | $0.03 +2025-03-10 13:17:27,138 - INFO - OPENED SHORT at 2057.89 | Stop loss: 2068.194817857143 | Take profit: 2026.9985982142855 +2025-03-10 13:17:27,139 - INFO - CLOSED short at 2057.94 | PnL: -0.00% | $-0.20 +2025-03-10 13:17:27,139 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.415917857143 | Take profit: 2027.215298214286 +2025-03-10 13:17:27,140 - INFO - CLOSED short at 2061.18 | PnL: -0.15% | $-0.48 +2025-03-10 13:17:27,140 - INFO - OPENED SHORT at 2065.86 | Stop loss: 2076.2046678571432 | Take profit: 2034.8490482142859 +2025-03-10 13:17:27,141 - INFO - CLOSED short at 2070.58 | PnL: -0.23% | $-0.64 +2025-03-10 13:17:27,141 - INFO - OPENED LONG at 2070.58 | Stop loss: 2060.2117321428573 | Take profit: 2101.6617517857144 +2025-03-10 13:17:27,143 - INFO - CLOSED long at 2069.6 | PnL: -0.05% | $-0.28 +2025-03-10 13:17:27,143 - INFO - OPENED SHORT at 2069.6 | Stop loss: 2079.963367857143 | Take profit: 2038.5329482142856 +2025-03-10 13:17:27,145 - INFO - CLOSED short at 2070.26 | PnL: -0.03% | $-0.25 +2025-03-10 13:17:27,145 - INFO - OPENED LONG at 2070.26 | Stop loss: 2059.893332142857 | Take profit: 2101.3369517857145 +2025-03-10 13:17:27,146 - INFO - CLOSED long at 2075.1 | PnL: 0.23% | $0.26 +2025-03-10 13:17:27,146 - INFO - OPENED SHORT at 2075.1 | Stop loss: 2085.490867857143 | Take profit: 2043.9504482142856 +2025-03-10 13:17:27,148 - INFO - CLOSED short at 2072.33 | PnL: 0.13% | $0.06 +2025-03-10 13:17:27,148 - INFO - OPENED LONG at 2071.38 | Stop loss: 2061.0077321428575 | Take profit: 2102.4737517857143 +2025-03-10 13:17:27,149 - INFO - CLOSED long at 2071.41 | PnL: 0.00% | $-0.19 +2025-03-10 13:17:27,149 - INFO - OPENED SHORT at 2071.41 | Stop loss: 2081.7824178571427 | Take profit: 2040.3157982142855 +2025-03-10 13:17:27,150 - INFO - CLOSED short at 2069.37 | PnL: 0.10% | $-0.00 +2025-03-10 13:17:27,150 - INFO - OPENED LONG at 2069.37 | Stop loss: 2059.007782142857 | Take profit: 2100.4336017857145 +2025-03-10 13:17:27,150 - INFO - CLOSED long at 2072.8 | PnL: 0.17% | $0.13 +2025-03-10 13:17:27,150 - INFO - OPENED SHORT at 2072.8 | Stop loss: 2083.179367857143 | Take profit: 2041.684948214286 +2025-03-10 13:17:27,152 - INFO - CLOSED short at 2070.79 | PnL: 0.10% | $-0.01 +2025-03-10 13:17:27,152 - INFO - OPENED LONG at 2070.79 | Stop loss: 2060.420682142857 | Take profit: 2101.874901785714 +2025-03-10 13:17:27,153 - INFO - CLOSED long at 2070.28 | PnL: -0.02% | $-0.24 +2025-03-10 13:17:27,153 - INFO - OPENED SHORT at 2070.28 | Stop loss: 2080.6467678571435 | Take profit: 2039.202748214286 +2025-03-10 13:17:27,154 - INFO - CLOSED short at 2067.2 | PnL: 0.15% | $0.09 +2025-03-10 13:17:27,296 - INFO - OPENED LONG at 2070.36 | Stop loss: 2059.992832142857 | Take profit: 2101.4384517857143 +2025-03-10 13:17:27,318 - INFO - CLOSED long at 2068.9 | PnL: -0.07% | $-0.33 +2025-03-10 13:17:27,392 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.4406321428573 | Take profit: 2099.8550517857147 +2025-03-10 13:17:27,410 - INFO - CLOSED long at 2067.6 | PnL: -0.06% | $-0.30 +2025-03-10 13:17:27,427 - INFO - OPENED LONG at 2067.51 | Stop loss: 2057.1570821428572 | Take profit: 2098.5457017857143 +2025-03-10 13:17:27,464 - INFO - CLOSED long at 2066.39 | PnL: -0.05% | $-0.29 +2025-03-10 13:17:27,484 - INFO - OPENED SHORT at 2065.99 | Stop loss: 2076.335317857143 | Take profit: 2034.9770982142854 +2025-03-10 13:17:27,520 - INFO - CLOSED short at 2066.29 | PnL: -0.01% | $-0.22 +2025-03-10 13:17:27,520 - INFO - OPENED LONG at 2066.29 | Stop loss: 2055.943182142857 | Take profit: 2097.3074017857143 +2025-03-10 13:17:27,555 - INFO - CLOSED long at 2066.18 | PnL: -0.01% | $-0.20 +2025-03-10 13:17:27,591 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.259867857143 | Take profit: 2037.843448214286 +2025-03-10 13:17:27,627 - INFO - CLOSED short at 2068.59 | PnL: 0.01% | $-0.16 +2025-03-10 13:17:27,627 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.231682142857 | Take profit: 2099.6419017857143 +2025-03-10 13:17:27,678 - INFO - CLOSED long at 2069.96 | PnL: 0.07% | $-0.06 +2025-03-10 13:17:27,697 - INFO - OPENED SHORT at 2071.4 | Stop loss: 2081.7723678571433 | Take profit: 2040.305948214286 +2025-03-10 13:17:27,714 - INFO - CLOSED short at 2071.39 | PnL: 0.00% | $-0.19 +2025-03-10 13:17:27,714 - INFO - OPENED LONG at 2071.39 | Stop loss: 2061.0176821428568 | Take profit: 2102.483901785714 +2025-03-10 13:17:27,731 - INFO - CLOSED long at 2071.36 | PnL: -0.00% | $-0.19 +2025-03-10 13:17:27,731 - INFO - OPENED SHORT at 2071.36 | Stop loss: 2081.732167857143 | Take profit: 2040.2665482142859 +2025-03-10 13:17:27,752 - INFO - CLOSED short at 2072.75 | PnL: -0.07% | $-0.31 +2025-03-10 13:17:27,752 - INFO - OPENED LONG at 2072.75 | Stop loss: 2062.370882142857 | Take profit: 2103.8643017857144 +2025-03-10 13:17:27,770 - INFO - CLOSED long at 2073.11 | PnL: 0.02% | $-0.15 +2025-03-10 13:17:27,786 - INFO - OPENED SHORT at 2072.7 | Stop loss: 2083.0788678571425 | Take profit: 2041.5864482142856 +2025-03-10 13:17:27,817 - INFO - CLOSED short at 2074.29 | PnL: -0.08% | $-0.33 +2025-03-10 13:17:27,916 - INFO - OPENED LONG at 2069.35 | Stop loss: 2058.987882142857 | Take profit: 2100.413301785714 +2025-03-10 13:17:27,942 - INFO - CLOSED long at 2068.32 | PnL: -0.05% | $-0.28 +2025-03-10 13:17:28,020 - INFO - OPENED SHORT at 2066.8 | Stop loss: 2077.1493678571433 | Take profit: 2035.7749482142858 +2025-03-10 13:17:28,061 - INFO - CLOSED short at 2063.61 | PnL: 0.15% | $0.10 +2025-03-10 13:17:28,093 - INFO - OPENED SHORT at 2067.89 | Stop loss: 2078.244817857143 | Take profit: 2036.8485982142856 +2025-03-10 13:17:28,149 - INFO - CLOSED short at 2069.34 | PnL: -0.07% | $-0.32 +2025-03-10 13:17:28,167 - INFO - OPENED LONG at 2067.86 | Stop loss: 2057.5053321428572 | Take profit: 2098.9009517857144 +2025-03-10 13:17:28,188 - INFO - CLOSED long at 2067.59 | PnL: -0.01% | $-0.21 +2025-03-10 13:17:28,188 - INFO - OPENED SHORT at 2067.59 | Stop loss: 2077.943317857143 | Take profit: 2036.553098214286 +2025-03-10 13:17:28,209 - INFO - CLOSED short at 2069.2 | PnL: -0.08% | $-0.33 +2025-03-10 13:17:28,249 - INFO - OPENED SHORT at 2071.59 | Stop loss: 2081.963317857143 | Take profit: 2040.493098214286 +2025-03-10 13:17:28,269 - INFO - CLOSED short at 2070.7 | PnL: 0.04% | $-0.10 +2025-03-10 13:17:28,292 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.767367857143 | Take profit: 2039.3209482142859 +2025-03-10 13:17:28,362 - INFO - CLOSED short at 2067.84 | PnL: 0.12% | $0.04 +2025-03-10 13:17:28,362 - INFO - OPENED LONG at 2067.84 | Stop loss: 2057.4854321428575 | Take profit: 2098.8806517857142 +2025-03-10 13:17:28,434 - INFO - CLOSED long at 2066.1 | PnL: -0.08% | $-0.34 +2025-03-10 13:17:28,434 - INFO - OPENED SHORT at 2066.1 | Stop loss: 2076.4458678571427 | Take profit: 2035.0854482142856 +2025-03-10 13:17:28,468 - INFO - CLOSED short at 2066.39 | PnL: -0.01% | $-0.21 +2025-03-10 13:17:28,531 - INFO - OPENED SHORT at 2067.8 | Stop loss: 2078.1543678571434 | Take profit: 2036.759948214286 +2025-03-10 13:17:28,575 - INFO - CLOSED short at 2065.69 | PnL: 0.10% | $0.00 +2025-03-10 13:17:28,575 - INFO - OPENED LONG at 2065.69 | Stop loss: 2055.3461821428573 | Take profit: 2096.6984017857144 +2025-03-10 13:17:28,610 - INFO - CLOSED long at 2064.99 | PnL: -0.03% | $-0.24 +2025-03-10 13:17:28,670 - INFO - OPENED LONG at 2065.26 | Stop loss: 2054.9183321428573 | Take profit: 2096.2619517857147 +2025-03-10 13:17:28,709 - INFO - CLOSED long at 2062.65 | PnL: -0.13% | $-0.41 +2025-03-10 13:17:28,709 - INFO - OPENED SHORT at 2062.65 | Stop loss: 2072.978617857143 | Take profit: 2031.6871982142857 +2025-03-10 13:17:28,725 - INFO - CLOSED short at 2061.78 | PnL: 0.04% | $-0.10 +2025-03-10 13:17:28,725 - INFO - OPENED LONG at 2061.78 | Stop loss: 2051.4557321428574 | Take profit: 2092.7297517857146 +2025-03-10 13:17:28,762 - INFO - CLOSED long at 2061.3 | PnL: -0.02% | $-0.22 +2025-03-10 13:17:28,762 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.621867857143 | Take profit: 2030.357448214286 +2025-03-10 13:17:28,786 - INFO - CLOSED short at 2063.59 | PnL: -0.11% | $-0.38 +2025-03-10 13:17:28,786 - INFO - OPENED LONG at 2063.59 | Stop loss: 2053.2566821428572 | Take profit: 2094.5669017857144 +2025-03-10 13:17:28,806 - INFO - CLOSED long at 2064.96 | PnL: 0.07% | $-0.06 +2025-03-10 13:17:28,867 - INFO - OPENED LONG at 2065.54 | Stop loss: 2055.196932142857 | Take profit: 2096.5461517857143 +2025-03-10 13:17:28,891 - INFO - CLOSED long at 2066.09 | PnL: 0.03% | $-0.13 +2025-03-10 13:17:28,909 - INFO - OPENED LONG at 2064.45 | Stop loss: 2054.112382142857 | Take profit: 2095.439801785714 +2025-03-10 13:17:28,960 - INFO - CLOSED long at 2062.89 | PnL: -0.08% | $-0.32 +2025-03-10 13:17:28,963 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.2198178571425 | Take profit: 2031.9235982142857 +2025-03-10 13:17:29,014 - INFO - CLOSED short at 2061.6 | PnL: 0.06% | $-0.07 +2025-03-10 13:17:29,015 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.276632142857 | Take profit: 2092.5470517857143 +2025-03-10 13:17:29,052 - INFO - CLOSED long at 2060.65 | PnL: -0.05% | $-0.26 +2025-03-10 13:17:29,052 - INFO - OPENED SHORT at 2060.65 | Stop loss: 2070.9686178571433 | Take profit: 2029.7171982142859 +2025-03-10 13:17:29,070 - INFO - CLOSED short at 2058.89 | PnL: 0.09% | $-0.03 +2025-03-10 13:17:29,084 - INFO - OPENED SHORT at 2059.3 | Stop loss: 2069.611867857143 | Take profit: 2028.3874482142858 +2025-03-10 13:17:29,141 - INFO - CLOSED short at 2064.7 | PnL: -0.26% | $-0.65 +2025-03-10 13:17:29,141 - INFO - OPENED LONG at 2064.7 | Stop loss: 2054.361132142857 | Take profit: 2095.693551785714 +2025-03-10 13:17:29,162 - INFO - CLOSED long at 2062.61 | PnL: -0.10% | $-0.36 +2025-03-10 13:17:29,245 - INFO - OPENED LONG at 2064.1 | Stop loss: 2053.764132142857 | Take profit: 2095.084551785714 +2025-03-10 13:17:29,268 - INFO - CLOSED long at 2065.36 | PnL: 0.06% | $-0.07 +2025-03-10 13:17:29,268 - INFO - OPENED SHORT at 2065.36 | Stop loss: 2075.702167857143 | Take profit: 2034.3565482142858 +2025-03-10 13:17:29,286 - INFO - CLOSED short at 2064.33 | PnL: 0.05% | $-0.09 +2025-03-10 13:17:29,385 - INFO - OPENED LONG at 2063.0 | Stop loss: 2052.669632142857 | Take profit: 2093.968051785714 +2025-03-10 13:17:29,424 - INFO - CLOSED long at 2061.89 | PnL: -0.05% | $-0.27 +2025-03-10 13:17:29,442 - INFO - OPENED SHORT at 2061.7 | Stop loss: 2072.0238678571427 | Take profit: 2030.7514482142856 +2025-03-10 13:17:29,475 - INFO - CLOSED short at 2061.09 | PnL: 0.03% | $-0.12 +2025-03-10 13:17:29,545 - INFO - OPENED LONG at 2058.89 | Stop loss: 2048.580182142857 | Take profit: 2089.7964017857144 +2025-03-10 13:17:29,574 - INFO - CLOSED long at 2059.96 | PnL: 0.05% | $-0.08 +2025-03-10 13:17:29,603 - INFO - OPENED LONG at 2057.4 | Stop loss: 2047.0976321428573 | Take profit: 2088.2840517857144 +2025-03-10 13:17:29,666 - INFO - CLOSED long at 2055.6 | PnL: -0.09% | $-0.33 +2025-03-10 13:17:29,685 - INFO - OPENED SHORT at 2054.89 | Stop loss: 2065.1798178571426 | Take profit: 2024.0435982142856 +2025-03-10 13:17:29,700 - INFO - CLOSED short at 2054.83 | PnL: 0.00% | $-0.17 +2025-03-10 13:17:29,758 - INFO - OPENED SHORT at 2059.8 | Stop loss: 2070.1143678571434 | Take profit: 2028.8799482142858 +2025-03-10 13:17:29,794 - INFO - CLOSED short at 2061.5 | PnL: -0.08% | $-0.32 +2025-03-10 13:17:29,812 - INFO - OPENED SHORT at 2061.6 | Stop loss: 2071.9233678571427 | Take profit: 2030.6529482142857 +2025-03-10 13:17:29,867 - INFO - CLOSED short at 2063.4 | PnL: -0.09% | $-0.33 +2025-03-10 13:17:29,909 - INFO - OPENED LONG at 2066.01 | Stop loss: 2055.6645821428574 | Take profit: 2097.0232017857147 +2025-03-10 13:17:29,981 - INFO - CLOSED long at 2066.34 | PnL: 0.02% | $-0.15 +2025-03-10 13:17:29,981 - INFO - OPENED SHORT at 2066.34 | Stop loss: 2076.687067857143 | Take profit: 2035.3218482142859 +2025-03-10 13:17:30,021 - INFO - CLOSED short at 2067.33 | PnL: -0.05% | $-0.26 +2025-03-10 13:17:30,021 - INFO - OPENED LONG at 2067.33 | Stop loss: 2056.977982142857 | Take profit: 2098.363001785714 +2025-03-10 13:17:30,039 - INFO - CLOSED long at 2067.01 | PnL: -0.02% | $-0.20 +2025-03-10 13:17:30,058 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.033817857143 | Take profit: 2034.6815982142857 +2025-03-10 13:17:30,117 - INFO - STOP LOSS hit for short at 2076.033817857143 | PnL: -0.50% | $-1.03 +2025-03-10 13:17:30,144 - INFO - OPENED LONG at 2075.01 | Stop loss: 2064.6195821428573 | Take profit: 2106.1582017857145 +2025-03-10 13:17:30,182 - INFO - CLOSED long at 2071.04 | PnL: -0.19% | $-0.49 +2025-03-10 13:17:30,258 - INFO - OPENED LONG at 2070.0 | Stop loss: 2059.634632142857 | Take profit: 2101.0730517857146 +2025-03-10 13:17:30,324 - INFO - CLOSED long at 2069.03 | PnL: -0.05% | $-0.25 +2025-03-10 13:17:30,324 - INFO - OPENED SHORT at 2069.03 | Stop loss: 2079.390517857143 | Take profit: 2037.9714982142857 +2025-03-10 13:17:30,369 - INFO - CLOSED short at 2068.79 | PnL: 0.01% | $-0.15 +2025-03-10 13:17:30,433 - INFO - OPENED LONG at 2067.33 | Stop loss: 2056.977982142857 | Take profit: 2098.363001785714 +2025-03-10 13:17:30,475 - INFO - CLOSED long at 2065.7 | PnL: -0.08% | $-0.30 +2025-03-10 13:17:30,475 - INFO - OPENED SHORT at 2065.7 | Stop loss: 2076.0438678571427 | Take profit: 2034.6914482142856 +2025-03-10 13:17:30,496 - INFO - CLOSED short at 2065.66 | PnL: 0.00% | $-0.16 +2025-03-10 13:17:30,533 - INFO - OPENED LONG at 2063.97 | Stop loss: 2053.6347821428567 | Take profit: 2094.9526017857143 +2025-03-10 13:17:30,595 - INFO - CLOSED long at 2064.4 | PnL: 0.02% | $-0.13 +2025-03-10 13:17:30,595 - INFO - OPENED SHORT at 2064.4 | Stop loss: 2074.737367857143 | Take profit: 2033.4109482142858 +2025-03-10 13:17:30,642 - INFO - CLOSED short at 2067.53 | PnL: -0.15% | $-0.42 +2025-03-10 13:17:30,642 - INFO - OPENED LONG at 2067.53 | Stop loss: 2057.1769821428575 | Take profit: 2098.566001785715 +2025-03-10 13:17:30,700 - INFO - CLOSED long at 2066.8 | PnL: -0.04% | $-0.22 +2025-03-10 13:17:30,700 - INFO - OPENED SHORT at 2066.8 | Stop loss: 2077.1493678571433 | Take profit: 2035.7749482142858 +2025-03-10 13:17:30,719 - INFO - CLOSED short at 2066.5 | PnL: 0.01% | $-0.14 +2025-03-10 13:17:30,719 - INFO - OPENED LONG at 2066.5 | Stop loss: 2056.152132142857 | Take profit: 2097.520551785714 +2025-03-10 13:17:30,736 - INFO - CLOSED long at 2068.59 | PnL: 0.10% | $0.00 +2025-03-10 13:17:30,736 - INFO - OPENED SHORT at 2068.59 | Stop loss: 2078.948317857143 | Take profit: 2037.5380982142858 +2025-03-10 13:17:30,756 - INFO - CLOSED short at 2071.59 | PnL: -0.15% | $-0.40 +2025-03-10 13:17:30,779 - INFO - OPENED LONG at 2070.2 | Stop loss: 2059.833632142857 | Take profit: 2101.276051785714 +2025-03-10 13:17:30,829 - INFO - CLOSED long at 2069.69 | PnL: -0.02% | $-0.20 +2025-03-10 13:17:30,829 - INFO - OPENED SHORT at 2069.69 | Stop loss: 2080.0538178571433 | Take profit: 2038.6215982142858 +2025-03-10 13:17:30,909 - INFO - CLOSED short at 2071.99 | PnL: -0.11% | $-0.35 +2025-03-10 13:17:30,934 - INFO - OPENED LONG at 2068.19 | Stop loss: 2057.8336821428575 | Take profit: 2099.2359017857148 +2025-03-10 13:17:30,958 - INFO - CLOSED long at 2068.67 | PnL: 0.02% | $-0.13 +2025-03-10 13:17:30,958 - INFO - OPENED SHORT at 2068.67 | Stop loss: 2079.028717857143 | Take profit: 2037.6168982142858 +2025-03-10 13:17:30,996 - INFO - CLOSED short at 2069.78 | PnL: -0.05% | $-0.25 +2025-03-10 13:17:31,051 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.460717857143 | Take profit: 2043.920898214286 +2025-03-10 13:17:31,143 - INFO - CLOSED short at 2075.32 | PnL: -0.01% | $-0.18 +2025-03-10 13:17:31,143 - INFO - OPENED LONG at 2075.32 | Stop loss: 2064.9280321428573 | Take profit: 2106.4728517857143 +2025-03-10 13:17:31,280 - INFO - CLOSED long at 2072.09 | PnL: -0.16% | $-0.41 +2025-03-10 13:17:31,280 - INFO - OPENED SHORT at 2072.09 | Stop loss: 2082.465817857143 | Take profit: 2040.985598214286 +2025-03-10 13:17:31,316 - INFO - CLOSED short at 2069.97 | PnL: 0.10% | $0.00 +2025-03-10 13:17:31,341 - INFO - OPENED SHORT at 2067.7 | Stop loss: 2078.0538678571424 | Take profit: 2036.6614482142857 +2025-03-10 13:17:31,360 - INFO - CLOSED short at 2067.0 | PnL: 0.03% | $-0.11 +2025-03-10 13:17:31,435 - INFO - OPENED LONG at 2067.88 | Stop loss: 2057.525232142857 | Take profit: 2098.9212517857145 +2025-03-10 13:17:31,524 - INFO - CLOSED long at 2070.1 | PnL: 0.11% | $0.01 +2025-03-10 13:17:31,542 - INFO - OPENED LONG at 2067.19 | Stop loss: 2056.838682142857 | Take profit: 2098.220901785714 +2025-03-10 13:17:31,576 - INFO - CLOSED long at 2065.5 | PnL: -0.08% | $-0.29 +2025-03-10 13:17:31,576 - INFO - OPENED SHORT at 2065.5 | Stop loss: 2075.8428678571427 | Take profit: 2034.4944482142857 +2025-03-10 13:17:31,685 - INFO - CLOSED short at 2066.09 | PnL: -0.03% | $-0.21 +2025-03-10 13:17:31,685 - INFO - OPENED LONG at 2066.09 | Stop loss: 2055.7441821428574 | Take profit: 2097.1044017857143 +2025-03-10 13:17:31,718 - INFO - CLOSED long at 2063.39 | PnL: -0.13% | $-0.37 +2025-03-10 13:17:31,761 - INFO - OPENED SHORT at 2063.98 | Stop loss: 2074.3152678571428 | Take profit: 2032.9972482142857 +2025-03-10 13:17:31,784 - INFO - CLOSED short at 2066.1 | PnL: -0.10% | $-0.32 +2025-03-10 13:17:31,784 - INFO - OPENED LONG at 2066.1 | Stop loss: 2055.754132142857 | Take profit: 2097.1145517857144 +2025-03-10 13:17:31,802 - INFO - CLOSED long at 2065.06 | PnL: -0.05% | $-0.24 +2025-03-10 13:17:31,837 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.162132142857 | Take profit: 2095.4905517857146 +2025-03-10 13:17:31,856 - INFO - CLOSED long at 2066.33 | PnL: 0.09% | $-0.02 +2025-03-10 13:17:31,856 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.6770178571423 | Take profit: 2035.3119982142855 +2025-03-10 13:17:31,877 - INFO - CLOSED short at 2063.01 | PnL: 0.16% | $0.10 +2025-03-10 13:17:31,913 - INFO - OPENED LONG at 2060.2 | Stop loss: 2049.883632142857 | Take profit: 2091.126051785714 +2025-03-10 13:17:31,931 - INFO - CLOSED long at 2059.2 | PnL: -0.05% | $-0.24 +2025-03-10 13:17:32,098 - INFO - OPENED SHORT at 2049.5 | Stop loss: 2059.762867857143 | Take profit: 2018.7344482142857 +2025-03-10 13:17:32,132 - INFO - CLOSED short at 2051.99 | PnL: -0.12% | $-0.35 +2025-03-10 13:17:32,155 - INFO - OPENED SHORT at 2058.3 | Stop loss: 2068.6068678571432 | Take profit: 2027.4024482142859 +2025-03-10 13:17:32,192 - INFO - CLOSED short at 2057.11 | PnL: 0.06% | $-0.07 +2025-03-10 13:17:32,192 - INFO - OPENED LONG at 2057.11 | Stop loss: 2046.8090821428573 | Take profit: 2087.9897017857147 +2025-03-10 13:17:32,210 - INFO - CLOSED long at 2057.89 | PnL: 0.04% | $-0.10 +2025-03-10 13:17:32,230 - INFO - OPENED LONG at 2062.83 | Stop loss: 2052.500482142857 | Take profit: 2093.7955017857144 +2025-03-10 13:17:32,254 - INFO - CLOSED long at 2063.9 | PnL: 0.05% | $-0.08 +2025-03-10 13:17:32,292 - INFO - OPENED LONG at 2062.43 | Stop loss: 2052.102482142857 | Take profit: 2093.389501785714 +2025-03-10 13:17:32,406 - INFO - CLOSED long at 2066.59 | PnL: 0.20% | $0.16 +2025-03-10 13:17:32,406 - INFO - OPENED SHORT at 2066.59 | Stop loss: 2076.938317857143 | Take profit: 2035.5680982142858 +2025-03-10 13:17:32,529 - INFO - CLOSED short at 2060.7 | PnL: 0.29% | $0.29 +2025-03-10 13:17:32,530 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.381132142857 | Take profit: 2091.6335517857137 +2025-03-10 13:17:32,610 - INFO - CLOSED long at 2070.31 | PnL: 0.47% | $0.58 +2025-03-10 13:17:32,610 - INFO - OPENED SHORT at 2070.31 | Stop loss: 2080.676917857143 | Take profit: 2039.2322982142857 +2025-03-10 13:17:32,630 - INFO - CLOSED short at 2070.24 | PnL: 0.00% | $-0.15 +2025-03-10 13:17:32,630 - INFO - OPENED LONG at 2070.24 | Stop loss: 2059.873432142857 | Take profit: 2101.316651785714 +2025-03-10 13:17:32,682 - INFO - CLOSED long at 2070.41 | PnL: 0.01% | $-0.15 +2025-03-10 13:17:32,704 - INFO - OPENED LONG at 2073.49 | Stop loss: 2063.107182142857 | Take profit: 2104.6154017857143 +2025-03-10 13:17:32,744 - INFO - CLOSED long at 2072.99 | PnL: -0.02% | $-0.20 +2025-03-10 13:17:32,770 - INFO - OPENED LONG at 2071.89 | Stop loss: 2061.515182142857 | Take profit: 2102.991401785714 +2025-03-10 13:17:32,828 - INFO - CLOSED long at 2074.9 | PnL: 0.15% | $0.07 +2025-03-10 13:17:32,828 - INFO - OPENED SHORT at 2074.9 | Stop loss: 2085.2898678571432 | Take profit: 2043.7534482142858 +2025-03-10 13:17:32,919 - INFO - CLOSED short at 2085.56 | PnL: -0.51% | $-0.97 +2025-03-10 13:17:32,919 - INFO - OPENED LONG at 2085.56 | Stop loss: 2075.116832142857 | Take profit: 2116.866451785714 +2025-03-10 13:17:32,960 - INFO - CLOSED long at 2103.02 | PnL: 0.84% | $1.15 +2025-03-10 13:17:32,960 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.550467857143 | Take profit: 2071.451648214286 +2025-03-10 13:17:32,977 - INFO - CLOSED short at 2130.7 | PnL: -1.32% | $-2.24 +2025-03-10 13:17:32,998 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.826932142857 | Take profit: 2171.6561517857144 +2025-03-10 13:17:33,084 - INFO - CLOSED long at 2141.3 | PnL: 0.08% | $-0.03 +2025-03-10 13:17:33,084 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.021867857143 | Take profit: 2109.157448214286 +2025-03-10 13:17:33,100 - INFO - CLOSED short at 2142.68 | PnL: -0.06% | $-0.25 +2025-03-10 13:17:33,166 - INFO - OPENED LONG at 2126.99 | Stop loss: 2116.339682142857 | Take profit: 2158.917901785714 +2025-03-10 13:17:33,266 - INFO - CLOSED long at 2120.15 | PnL: -0.32% | $-0.65 +2025-03-10 13:17:33,266 - INFO - OPENED SHORT at 2120.15 | Stop loss: 2130.766117857143 | Take profit: 2088.324698214286 +2025-03-10 13:17:33,324 - INFO - CLOSED short at 2119.93 | PnL: 0.01% | $-0.14 +2025-03-10 13:17:33,412 - INFO - OPENED SHORT at 2115.28 | Stop loss: 2125.871767857143 | Take profit: 2083.527748214286 +2025-03-10 13:17:33,429 - INFO - CLOSED short at 2107.43 | PnL: 0.37% | $0.41 +2025-03-10 13:17:33,497 - INFO - OPENED LONG at 2112.95 | Stop loss: 2102.369882142857 | Take profit: 2144.667301785714 +2025-03-10 13:17:33,524 - INFO - CLOSED long at 2112.46 | PnL: -0.02% | $-0.19 +2025-03-10 13:17:33,524 - INFO - OPENED SHORT at 2112.46 | Stop loss: 2123.037667857143 | Take profit: 2080.750048214286 +2025-03-10 13:17:33,557 - INFO - CLOSED short at 2112.99 | PnL: -0.03% | $-0.19 +2025-03-10 13:17:33,632 - INFO - OPENED SHORT at 2114.8 | Stop loss: 2125.389367857143 | Take profit: 2083.054948214286 +2025-03-10 13:17:33,689 - INFO - CLOSED short at 2108.71 | PnL: 0.29% | $0.29 +2025-03-10 13:17:33,689 - INFO - OPENED LONG at 2108.71 | Stop loss: 2098.1510821428574 | Take profit: 2140.3637017857145 +2025-03-10 13:17:33,722 - INFO - CLOSED long at 2106.49 | PnL: -0.11% | $-0.31 +2025-03-10 13:17:33,722 - INFO - OPENED SHORT at 2106.49 | Stop loss: 2117.0378178571427 | Take profit: 2074.8695982142854 +2025-03-10 13:17:33,737 - INFO - CLOSED short at 2108.06 | PnL: -0.07% | $-0.26 +2025-03-10 13:17:33,744 - INFO - OPENED LONG at 2108.06 | Stop loss: 2097.504332142857 | Take profit: 2139.703951785714 +2025-03-10 13:17:33,797 - INFO - STOP LOSS hit for long at 2097.504332142857 | PnL: -0.50% | $-0.91 +2025-03-10 13:17:33,860 - INFO - OPENED LONG at 2102.29 | Stop loss: 2091.763182142857 | Take profit: 2133.8474017857143 +2025-03-10 13:17:33,884 - INFO - CLOSED long at 2099.25 | PnL: -0.14% | $-0.37 +2025-03-10 13:17:33,885 - INFO - OPENED SHORT at 2099.25 | Stop loss: 2109.761617857143 | Take profit: 2067.7381982142856 +2025-03-10 13:17:33,900 - INFO - CLOSED short at 2098.9 | PnL: 0.02% | $-0.12 +2025-03-10 13:17:33,920 - INFO - OPENED SHORT at 2100.69 | Stop loss: 2111.208817857143 | Take profit: 2069.1565982142856 +2025-03-10 13:17:33,984 - INFO - CLOSED short at 2100.74 | PnL: -0.00% | $-0.15 +2025-03-10 13:17:34,054 - INFO - OPENED SHORT at 2101.51 | Stop loss: 2112.0329178571433 | Take profit: 2069.964298214286 +2025-03-10 13:17:34,084 - INFO - CLOSED short at 2099.59 | PnL: 0.09% | $-0.01 +2025-03-10 13:17:34,084 - INFO - OPENED LONG at 2099.59 | Stop loss: 2089.0766821428574 | Take profit: 2131.1069017857144 +2025-03-10 13:17:34,108 - INFO - CLOSED long at 2100.02 | PnL: 0.02% | $-0.12 +2025-03-10 13:17:34,108 - INFO - OPENED SHORT at 2100.02 | Stop loss: 2110.535467857143 | Take profit: 2068.496648214286 +2025-03-10 13:17:34,175 - INFO - CLOSED short at 2093.46 | PnL: 0.31% | $0.31 +2025-03-10 13:17:34,193 - INFO - OPENED SHORT at 2093.33 | Stop loss: 2103.8120178571426 | Take profit: 2061.9069982142855 +2025-03-10 13:17:34,247 - INFO - CLOSED short at 2094.72 | PnL: -0.07% | $-0.25 +2025-03-10 13:17:34,247 - INFO - OPENED LONG at 2094.72 | Stop loss: 2084.231032142857 | Take profit: 2126.163851785714 +2025-03-10 13:17:34,299 - INFO - CLOSED long at 2083.28 | PnL: -0.55% | $-0.96 +2025-03-10 13:17:34,354 - INFO - OPENED SHORT at 2085.3 | Stop loss: 2095.741867857143 | Take profit: 2053.9974482142857 +2025-03-10 13:17:34,424 - INFO - CLOSED short at 2080.38 | PnL: 0.24% | $0.20 +2025-03-10 13:17:34,495 - INFO - OPENED SHORT at 2085.09 | Stop loss: 2095.5308178571427 | Take profit: 2053.790598214286 +2025-03-10 13:17:34,540 - INFO - CLOSED short at 2086.57 | PnL: -0.07% | $-0.25 +2025-03-10 13:17:34,575 - INFO - OPENED SHORT at 2084.72 | Stop loss: 2095.1589678571427 | Take profit: 2053.4261482142856 +2025-03-10 13:17:34,611 - INFO - CLOSED short at 2085.85 | PnL: -0.05% | $-0.23 +2025-03-10 13:17:34,714 - INFO - OPENED LONG at 2089.96 | Stop loss: 2079.494832142857 | Take profit: 2121.332451785714 +2025-03-10 13:17:34,877 - INFO - CLOSED long at 2086.81 | PnL: -0.15% | $-0.37 +2025-03-10 13:17:34,877 - INFO - OPENED SHORT at 2086.81 | Stop loss: 2097.2594178571426 | Take profit: 2055.4847982142855 +2025-03-10 13:17:34,899 - INFO - CLOSED short at 2089.79 | PnL: -0.14% | $-0.35 +2025-03-10 13:17:34,953 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.5793821428574 | Take profit: 2122.4388017857145 +2025-03-10 13:17:34,972 - INFO - CLOSED long at 2091.05 | PnL: 0.00% | $-0.14 +2025-03-10 13:17:34,972 - INFO - OPENED SHORT at 2091.05 | Stop loss: 2101.520617857143 | Take profit: 2059.661198214286 +2025-03-10 13:17:34,986 - INFO - CLOSED short at 2091.95 | PnL: -0.04% | $-0.21 +2025-03-10 13:17:35,026 - INFO - OPENED LONG at 2097.8 | Stop loss: 2087.2956321428574 | Take profit: 2129.2900517857142 +2025-03-10 13:17:35,045 - INFO - CLOSED long at 2099.99 | PnL: 0.10% | $0.01 +2025-03-10 13:17:35,046 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.505317857143 | Take profit: 2068.4670982142857 +2025-03-10 13:17:35,064 - INFO - CLOSED short at 2101.64 | PnL: -0.08% | $-0.26 +2025-03-10 13:17:35,082 - INFO - OPENED LONG at 2097.11 | Stop loss: 2086.6090821428575 | Take profit: 2128.589701785714 +2025-03-10 13:17:35,119 - INFO - CLOSED long at 2099.89 | PnL: 0.13% | $0.05 +2025-03-10 13:17:35,156 - INFO - OPENED LONG at 2099.73 | Stop loss: 2089.2159821428572 | Take profit: 2131.249001785714 +2025-03-10 13:17:35,228 - INFO - CLOSED long at 2103.81 | PnL: 0.19% | $0.13 +2025-03-10 13:17:35,270 - INFO - OPENED LONG at 2101.5 | Stop loss: 2090.977132142857 | Take profit: 2133.0455517857145 +2025-03-10 13:17:35,288 - INFO - CLOSED long at 2105.83 | PnL: 0.21% | $0.15 +2025-03-10 13:17:35,329 - INFO - OPENED LONG at 2105.2 | Stop loss: 2094.658632142857 | Take profit: 2136.801051785714 +2025-03-10 13:17:35,456 - INFO - CLOSED long at 2102.7 | PnL: -0.12% | $-0.31 +2025-03-10 13:17:35,473 - INFO - OPENED SHORT at 2102.0 | Stop loss: 2112.525367857143 | Take profit: 2070.446948214286 +2025-03-10 13:17:35,514 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.18, Avg Loss=$-0.28 +2025-03-10 13:17:35,514 - INFO - Episode 0: Reward=-114.02, Balance=$72.05, Win Rate=19.2%, Trades=146, Episode PnL=$-23.16, Total PnL=$-27.95, Max Drawdown=28.0%, Pred Accuracy=98.1% +2025-03-10 13:17:35,514 - ERROR - Error in episode 0: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:17:35,514 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1831, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:17:35,540 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:17:35,794 - INFO - OPENED LONG at 2048.51 | Stop loss: 2038.2520821428575 | Take profit: 2079.2607017857144 +2025-03-10 13:17:35,813 - INFO - CLOSED long at 2050.0 | PnL: 0.07% | $-0.05 +2025-03-10 13:17:35,869 - INFO - OPENED LONG at 2051.11 | Stop loss: 2040.8390821428573 | Take profit: 2081.8997017857146 +2025-03-10 13:17:35,886 - INFO - CLOSED long at 2053.26 | PnL: 0.10% | $0.01 +2025-03-10 13:17:35,886 - INFO - OPENED SHORT at 2053.26 | Stop loss: 2063.5416678571432 | Take profit: 2022.4380482142858 +2025-03-10 13:17:35,943 - INFO - CLOSED short at 2055.69 | PnL: -0.12% | $-0.43 +2025-03-10 13:17:36,014 - INFO - OPENED SHORT at 2060.13 | Stop loss: 2070.4460178571426 | Take profit: 2029.2049982142858 +2025-03-10 13:17:36,032 - INFO - CLOSED short at 2059.7 | PnL: 0.02% | $-0.16 +2025-03-10 13:17:36,032 - INFO - OPENED LONG at 2059.7 | Stop loss: 2049.386132142857 | Take profit: 2090.6185517857143 +2025-03-10 13:17:36,052 - INFO - CLOSED long at 2061.49 | PnL: 0.09% | $-0.03 +2025-03-10 13:17:36,054 - INFO - OPENED SHORT at 2061.49 | Stop loss: 2071.812817857143 | Take profit: 2030.5445982142855 +2025-03-10 13:17:36,072 - INFO - CLOSED short at 2063.29 | PnL: -0.09% | $-0.37 +2025-03-10 13:17:36,073 - INFO - OPENED LONG at 2063.29 | Stop loss: 2052.9581821428574 | Take profit: 2094.2624017857142 +2025-03-10 13:17:36,092 - INFO - CLOSED long at 2064.61 | PnL: 0.06% | $-0.07 +2025-03-10 13:17:36,093 - INFO - OPENED SHORT at 2064.61 | Stop loss: 2074.948417857143 | Take profit: 2033.6177982142858 +2025-03-10 13:17:36,112 - INFO - CLOSED short at 2063.59 | PnL: 0.05% | $-0.10 +2025-03-10 13:17:36,112 - INFO - OPENED LONG at 2063.59 | Stop loss: 2053.2566821428572 | Take profit: 2094.5669017857144 +2025-03-10 13:17:36,147 - INFO - CLOSED long at 2064.69 | PnL: 0.05% | $-0.09 +2025-03-10 13:17:36,174 - INFO - OPENED LONG at 2063.01 | Stop loss: 2052.6795821428573 | Take profit: 2093.9782017857146 +2025-03-10 13:17:36,195 - INFO - CLOSED long at 2060.99 | PnL: -0.10% | $-0.39 +2025-03-10 13:17:36,206 - INFO - OPENED LONG at 2058.3 | Stop loss: 2047.9931321428573 | Take profit: 2089.197551785714 +2025-03-10 13:17:36,233 - INFO - CLOSED long at 2060.0 | PnL: 0.08% | $-0.03 +2025-03-10 13:17:36,296 - INFO - OPENED SHORT at 2060.31 | Stop loss: 2070.626917857143 | Take profit: 2029.3822982142856 +2025-03-10 13:17:36,332 - INFO - CLOSED short at 2057.8 | PnL: 0.12% | $0.04 +2025-03-10 13:17:36,332 - INFO - OPENED LONG at 2057.8 | Stop loss: 2047.4956321428572 | Take profit: 2088.6900517857143 +2025-03-10 13:17:36,375 - INFO - CLOSED long at 2057.94 | PnL: 0.01% | $-0.18 +2025-03-10 13:17:36,376 - INFO - OPENED SHORT at 2057.94 | Stop loss: 2068.2450678571427 | Take profit: 2027.0478482142858 +2025-03-10 13:17:36,435 - INFO - CLOSED short at 2061.18 | PnL: -0.16% | $-0.50 +2025-03-10 13:17:36,511 - INFO - OPENED SHORT at 2068.11 | Stop loss: 2078.465917857143 | Take profit: 2037.0652982142858 +2025-03-10 13:17:36,530 - INFO - CLOSED short at 2068.29 | PnL: -0.01% | $-0.21 +2025-03-10 13:17:36,590 - INFO - OPENED LONG at 2070.99 | Stop loss: 2060.619682142857 | Take profit: 2102.077901785714 +2025-03-10 13:17:36,610 - INFO - CLOSED long at 2069.6 | PnL: -0.07% | $-0.32 +2025-03-10 13:17:36,660 - INFO - OPENED SHORT at 2068.99 | Stop loss: 2079.3503178571427 | Take profit: 2037.9320982142856 +2025-03-10 13:17:36,713 - INFO - CLOSED short at 2067.69 | PnL: 0.06% | $-0.07 +2025-03-10 13:17:36,767 - INFO - OPENED SHORT at 2071.44 | Stop loss: 2081.8125678571428 | Take profit: 2040.3453482142857 +2025-03-10 13:17:36,790 - INFO - CLOSED short at 2073.73 | PnL: -0.11% | $-0.41 +2025-03-10 13:17:36,837 - INFO - OPENED SHORT at 2072.91 | Stop loss: 2083.289917857143 | Take profit: 2041.7932982142856 +2025-03-10 13:17:36,891 - INFO - CLOSED short at 2071.38 | PnL: 0.07% | $-0.05 +2025-03-10 13:17:36,891 - INFO - OPENED LONG at 2071.38 | Stop loss: 2061.0077321428575 | Take profit: 2102.4737517857143 +2025-03-10 13:17:36,968 - INFO - CLOSED long at 2070.9 | PnL: -0.02% | $-0.24 +2025-03-10 13:17:36,995 - INFO - OPENED SHORT at 2072.8 | Stop loss: 2083.179367857143 | Take profit: 2041.684948214286 +2025-03-10 13:17:37,368 - INFO - CLOSED short at 2068.8 | PnL: 0.19% | $0.18 +2025-03-10 13:17:37,369 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.4406321428573 | Take profit: 2099.8550517857147 +2025-03-10 13:17:37,455 - INFO - CLOSED long at 2067.51 | PnL: -0.06% | $-0.31 +2025-03-10 13:17:37,489 - INFO - OPENED SHORT at 2069.01 | Stop loss: 2079.370417857143 | Take profit: 2037.951798214286 +2025-03-10 13:17:37,581 - INFO - CLOSED short at 2066.19 | PnL: 0.14% | $0.07 +2025-03-10 13:17:37,581 - INFO - OPENED LONG at 2066.19 | Stop loss: 2055.8436821428572 | Take profit: 2097.2059017857146 +2025-03-10 13:17:37,652 - INFO - CLOSED long at 2066.18 | PnL: -0.00% | $-0.19 +2025-03-10 13:17:37,652 - INFO - OPENED SHORT at 2066.18 | Stop loss: 2076.5262678571426 | Take profit: 2035.1642482142856 +2025-03-10 13:17:37,698 - INFO - CLOSED short at 2068.9 | PnL: -0.13% | $-0.44 +2025-03-10 13:17:37,718 - INFO - OPENED SHORT at 2068.51 | Stop loss: 2078.8679178571433 | Take profit: 2037.4592982142858 +2025-03-10 13:17:37,742 - INFO - CLOSED short at 2068.59 | PnL: -0.00% | $-0.20 +2025-03-10 13:17:37,820 - INFO - OPENED SHORT at 2069.96 | Stop loss: 2080.325167857143 | Take profit: 2038.8875482142857 +2025-03-10 13:17:37,847 - INFO - CLOSED short at 2071.4 | PnL: -0.07% | $-0.32 +2025-03-10 13:17:37,872 - INFO - OPENED SHORT at 2071.39 | Stop loss: 2081.7623178571425 | Take profit: 2040.2960982142856 +2025-03-10 13:17:37,918 - INFO - CLOSED short at 2072.75 | PnL: -0.07% | $-0.31 +2025-03-10 13:17:37,918 - INFO - OPENED LONG at 2072.75 | Stop loss: 2062.370882142857 | Take profit: 2103.8643017857144 +2025-03-10 13:17:37,941 - INFO - CLOSED long at 2073.11 | PnL: 0.02% | $-0.16 +2025-03-10 13:17:37,965 - INFO - OPENED SHORT at 2072.7 | Stop loss: 2083.0788678571425 | Take profit: 2041.5864482142856 +2025-03-10 13:17:38,127 - INFO - CLOSED short at 2069.46 | PnL: 0.16% | $0.11 +2025-03-10 13:17:38,213 - INFO - OPENED SHORT at 2067.79 | Stop loss: 2078.1443178571426 | Take profit: 2036.7500982142856 +2025-03-10 13:17:38,254 - INFO - CLOSED short at 2066.8 | PnL: 0.05% | $-0.10 +2025-03-10 13:17:38,498 - INFO - OPENED LONG at 2070.3 | Stop loss: 2059.933132142857 | Take profit: 2101.3775517857143 +2025-03-10 13:17:38,519 - INFO - CLOSED long at 2071.59 | PnL: 0.06% | $-0.07 +2025-03-10 13:17:38,519 - INFO - OPENED SHORT at 2071.59 | Stop loss: 2081.963317857143 | Take profit: 2040.493098214286 +2025-03-10 13:17:38,539 - INFO - CLOSED short at 2070.7 | PnL: 0.04% | $-0.11 +2025-03-10 13:17:38,540 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.331132142857 | Take profit: 2101.7835517857143 +2025-03-10 13:17:38,561 - INFO - CLOSED long at 2070.4 | PnL: -0.01% | $-0.21 +2025-03-10 13:17:38,727 - INFO - OPENED LONG at 2066.1 | Stop loss: 2055.754132142857 | Take profit: 2097.1145517857144 +2025-03-10 13:17:38,746 - INFO - CLOSED long at 2065.28 | PnL: -0.04% | $-0.26 +2025-03-10 13:17:38,746 - INFO - OPENED SHORT at 2065.28 | Stop loss: 2075.6217678571434 | Take profit: 2034.277748214286 +2025-03-10 13:17:38,764 - INFO - CLOSED short at 2066.39 | PnL: -0.05% | $-0.29 +2025-03-10 13:17:38,764 - INFO - OPENED LONG at 2066.39 | Stop loss: 2056.042682142857 | Take profit: 2097.408901785714 +2025-03-10 13:17:38,787 - INFO - CLOSED long at 2064.47 | PnL: -0.09% | $-0.36 +2025-03-10 13:17:38,787 - INFO - OPENED SHORT at 2064.47 | Stop loss: 2074.807717857143 | Take profit: 2033.4798982142854 +2025-03-10 13:17:38,826 - INFO - CLOSED short at 2067.8 | PnL: -0.16% | $-0.48 +2025-03-10 13:17:38,850 - INFO - OPENED SHORT at 2068.18 | Stop loss: 2078.536267857143 | Take profit: 2037.1342482142854 +2025-03-10 13:17:38,979 - INFO - CLOSED short at 2062.89 | PnL: 0.26% | $0.29 +2025-03-10 13:17:39,031 - INFO - OPENED LONG at 2059.59 | Stop loss: 2049.276682142857 | Take profit: 2090.5069017857145 +2025-03-10 13:17:39,074 - INFO - CLOSED long at 2063.59 | PnL: 0.19% | $0.17 +2025-03-10 13:17:39,144 - INFO - OPENED SHORT at 2065.54 | Stop loss: 2075.8830678571426 | Take profit: 2034.5338482142859 +2025-03-10 13:17:39,184 - INFO - CLOSED short at 2064.45 | PnL: 0.05% | $-0.09 +2025-03-10 13:17:39,184 - INFO - OPENED LONG at 2064.45 | Stop loss: 2054.112382142857 | Take profit: 2095.439801785714 +2025-03-10 13:17:39,203 - INFO - CLOSED long at 2064.08 | PnL: -0.02% | $-0.22 +2025-03-10 13:17:39,243 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560182142857 | Take profit: 2093.8564017857143 +2025-03-10 13:17:39,281 - INFO - CLOSED long at 2063.5 | PnL: 0.03% | $-0.13 +2025-03-10 13:17:39,324 - INFO - OPENED LONG at 2060.9 | Stop loss: 2050.580132142857 | Take profit: 2091.836551785714 +2025-03-10 13:17:39,362 - INFO - CLOSED long at 2058.89 | PnL: -0.10% | $-0.36 +2025-03-10 13:17:39,364 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.199817857143 | Take profit: 2027.9835982142856 +2025-03-10 13:17:39,404 - INFO - CLOSED short at 2060.31 | PnL: -0.07% | $-0.31 +2025-03-10 13:17:39,405 - INFO - OPENED LONG at 2060.31 | Stop loss: 2049.993082142857 | Take profit: 2091.2377017857143 +2025-03-10 13:17:39,442 - INFO - CLOSED long at 2064.7 | PnL: 0.21% | $0.21 +2025-03-10 13:17:39,442 - INFO - OPENED SHORT at 2064.7 | Stop loss: 2075.0388678571426 | Take profit: 2033.7064482142857 +2025-03-10 13:17:39,482 - INFO - CLOSED short at 2060.91 | PnL: 0.18% | $0.15 +2025-03-10 13:17:39,483 - INFO - OPENED LONG at 2060.91 | Stop loss: 2050.5900821428568 | Take profit: 2091.846701785714 +2025-03-10 13:17:39,503 - INFO - CLOSED long at 2060.3 | PnL: -0.03% | $-0.24 +2025-03-10 13:17:39,522 - INFO - OPENED LONG at 2061.13 | Stop loss: 2050.808982142857 | Take profit: 2092.0700017857143 +2025-03-10 13:17:39,542 - INFO - CLOSED long at 2061.9 | PnL: 0.04% | $-0.11 +2025-03-10 13:17:39,542 - INFO - OPENED SHORT at 2061.9 | Stop loss: 2072.2248678571427 | Take profit: 2030.9484482142857 +2025-03-10 13:17:39,580 - INFO - CLOSED short at 2065.36 | PnL: -0.17% | $-0.49 +2025-03-10 13:17:39,580 - INFO - OPENED LONG at 2065.36 | Stop loss: 2055.0178321428575 | Take profit: 2096.3634517857145 +2025-03-10 13:17:39,596 - INFO - CLOSED long at 2064.33 | PnL: -0.05% | $-0.27 +2025-03-10 13:17:39,596 - INFO - OPENED SHORT at 2064.33 | Stop loss: 2074.6670178571426 | Take profit: 2033.3419982142857 +2025-03-10 13:17:39,617 - INFO - CLOSED short at 2063.39 | PnL: 0.05% | $-0.10 +2025-03-10 13:17:39,617 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.057682142857 | Take profit: 2094.363901785714 +2025-03-10 13:17:39,654 - INFO - CLOSED long at 2065.89 | PnL: 0.12% | $0.04 +2025-03-10 13:17:39,688 - INFO - OPENED LONG at 2063.0 | Stop loss: 2052.669632142857 | Take profit: 2093.968051785714 +2025-03-10 13:17:39,746 - INFO - CLOSED long at 2061.7 | PnL: -0.06% | $-0.30 +2025-03-10 13:17:39,746 - INFO - OPENED SHORT at 2061.7 | Stop loss: 2072.0238678571427 | Take profit: 2030.7514482142856 +2025-03-10 13:17:39,801 - INFO - CLOSED short at 2059.61 | PnL: 0.10% | $0.00 +2025-03-10 13:17:39,821 - INFO - OPENED LONG at 2059.16 | Stop loss: 2048.848832142857 | Take profit: 2090.0704517857143 +2025-03-10 13:17:39,874 - INFO - CLOSED long at 2059.96 | PnL: 0.04% | $-0.11 +2025-03-10 13:17:39,891 - INFO - OPENED LONG at 2059.46 | Stop loss: 2049.147332142857 | Take profit: 2090.3749517857145 +2025-03-10 13:17:39,926 - INFO - CLOSED long at 2058.28 | PnL: -0.06% | $-0.28 +2025-03-10 13:17:39,926 - INFO - OPENED SHORT at 2058.28 | Stop loss: 2068.586767857143 | Take profit: 2027.382748214286 +2025-03-10 13:17:39,980 - INFO - CLOSED short at 2054.89 | PnL: 0.16% | $0.12 +2025-03-10 13:17:39,980 - INFO - OPENED LONG at 2054.89 | Stop loss: 2044.600182142857 | Take profit: 2085.7364017857144 +2025-03-10 13:17:40,046 - INFO - CLOSED long at 2058.15 | PnL: 0.16% | $0.11 +2025-03-10 13:17:40,067 - INFO - OPENED SHORT at 2059.8 | Stop loss: 2070.1143678571434 | Take profit: 2028.8799482142858 +2025-03-10 13:17:40,106 - INFO - CLOSED short at 2061.5 | PnL: -0.08% | $-0.33 +2025-03-10 13:17:40,106 - INFO - OPENED LONG at 2061.5 | Stop loss: 2051.1771321428573 | Take profit: 2092.445551785714 +2025-03-10 13:17:40,127 - INFO - CLOSED long at 2061.6 | PnL: 0.00% | $-0.17 +2025-03-10 13:17:40,145 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.621867857143 | Take profit: 2030.357448214286 +2025-03-10 13:17:40,219 - INFO - CLOSED short at 2066.01 | PnL: -0.23% | $-0.59 +2025-03-10 13:17:40,242 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.5651321428572 | Take profit: 2094.8815517857142 +2025-03-10 13:17:40,284 - INFO - CLOSED long at 2066.33 | PnL: 0.12% | $0.03 +2025-03-10 13:17:40,284 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.6770178571423 | Take profit: 2035.3119982142855 +2025-03-10 13:17:40,305 - INFO - CLOSED short at 2066.34 | PnL: -0.00% | $-0.18 +2025-03-10 13:17:40,363 - INFO - OPENED LONG at 2067.01 | Stop loss: 2056.6595821428573 | Take profit: 2098.0382017857146 +2025-03-10 13:17:40,383 - INFO - CLOSED long at 2065.69 | PnL: -0.06% | $-0.29 +2025-03-10 13:17:40,444 - INFO - OPENED LONG at 2074.3 | Stop loss: 2063.913132142857 | Take profit: 2105.4375517857143 +2025-03-10 13:17:40,466 - INFO - CLOSED long at 2078.01 | PnL: 0.18% | $0.14 +2025-03-10 13:17:40,490 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.4004178571427 | Take profit: 2043.861798214286 +2025-03-10 13:17:40,530 - INFO - CLOSED short at 2071.04 | PnL: 0.19% | $0.16 +2025-03-10 13:17:40,531 - INFO - OPENED LONG at 2071.04 | Stop loss: 2060.669432142857 | Take profit: 2102.1286517857143 +2025-03-10 13:17:40,703 - INFO - CLOSED long at 2067.44 | PnL: -0.17% | $-0.49 +2025-03-10 13:17:40,723 - INFO - OPENED SHORT at 2068.79 | Stop loss: 2079.149317857143 | Take profit: 2037.7350982142857 +2025-03-10 13:17:40,742 - INFO - CLOSED short at 2072.99 | PnL: -0.20% | $-0.54 +2025-03-10 13:17:40,858 - INFO - OPENED LONG at 2065.66 | Stop loss: 2055.316332142857 | Take profit: 2096.6679517857137 +2025-03-10 13:17:40,877 - INFO - CLOSED long at 2063.95 | PnL: -0.08% | $-0.32 +2025-03-10 13:17:40,933 - INFO - OPENED LONG at 2065.3 | Stop loss: 2054.9581321428573 | Take profit: 2096.3025517857145 +2025-03-10 13:17:41,127 - INFO - CLOSED long at 2068.59 | PnL: 0.16% | $0.10 +2025-03-10 13:17:41,127 - INFO - OPENED SHORT at 2068.59 | Stop loss: 2078.948317857143 | Take profit: 2037.5380982142858 +2025-03-10 13:17:41,163 - INFO - CLOSED short at 2071.59 | PnL: -0.15% | $-0.43 +2025-03-10 13:17:41,163 - INFO - OPENED LONG at 2071.59 | Stop loss: 2061.2166821428573 | Take profit: 2102.686901785715 +2025-03-10 13:17:41,229 - INFO - CLOSED long at 2071.35 | PnL: -0.01% | $-0.20 +2025-03-10 13:17:41,259 - INFO - OPENED SHORT at 2070.9 | Stop loss: 2081.269867857143 | Take profit: 2039.8134482142857 +2025-03-10 13:17:41,319 - INFO - CLOSED short at 2070.7 | PnL: 0.01% | $-0.16 +2025-03-10 13:17:41,319 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.331132142857 | Take profit: 2101.7835517857143 +2025-03-10 13:17:41,364 - INFO - CLOSED long at 2070.35 | PnL: -0.02% | $-0.20 +2025-03-10 13:17:41,365 - INFO - OPENED SHORT at 2070.35 | Stop loss: 2080.717117857143 | Take profit: 2039.2716982142856 +2025-03-10 13:17:41,389 - INFO - CLOSED short at 2070.61 | PnL: -0.01% | $-0.20 +2025-03-10 13:17:41,408 - INFO - OPENED LONG at 2071.99 | Stop loss: 2061.614682142857 | Take profit: 2103.0929017857143 +2025-03-10 13:17:41,503 - INFO - CLOSED long at 2071.61 | PnL: -0.02% | $-0.21 +2025-03-10 13:17:41,504 - INFO - OPENED SHORT at 2071.61 | Stop loss: 2081.983417857143 | Take profit: 2040.5127982142858 +2025-03-10 13:17:41,598 - INFO - CLOSED short at 2073.27 | PnL: -0.08% | $-0.31 +2025-03-10 13:17:41,659 - INFO - OPENED LONG at 2075.32 | Stop loss: 2064.9280321428573 | Take profit: 2106.4728517857143 +2025-03-10 13:17:41,845 - INFO - CLOSED long at 2067.7 | PnL: -0.37% | $-0.80 +2025-03-10 13:17:41,845 - INFO - OPENED SHORT at 2067.7 | Stop loss: 2078.0538678571424 | Take profit: 2036.6614482142857 +2025-03-10 13:17:41,866 - INFO - CLOSED short at 2067.0 | PnL: 0.03% | $-0.11 +2025-03-10 13:17:41,869 - INFO - OPENED LONG at 2067.0 | Stop loss: 2056.649632142857 | Take profit: 2098.0280517857145 +2025-03-10 13:17:41,890 - INFO - CLOSED long at 2067.9 | PnL: 0.04% | $-0.10 +2025-03-10 13:17:41,890 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.254867857143 | Take profit: 2036.858448214286 +2025-03-10 13:17:41,980 - INFO - CLOSED short at 2067.88 | PnL: 0.00% | $-0.17 +2025-03-10 13:17:41,981 - INFO - OPENED LONG at 2067.88 | Stop loss: 2057.525232142857 | Take profit: 2098.9212517857145 +2025-03-10 13:17:42,064 - INFO - CLOSED long at 2068.1 | PnL: 0.01% | $-0.15 +2025-03-10 13:17:42,065 - INFO - OPENED SHORT at 2068.1 | Stop loss: 2078.455867857143 | Take profit: 2037.0554482142857 +2025-03-10 13:17:42,107 - INFO - CLOSED short at 2069.0 | PnL: -0.04% | $-0.24 +2025-03-10 13:17:42,187 - INFO - OPENED SHORT at 2067.19 | Stop loss: 2077.541317857143 | Take profit: 2036.1590982142857 +2025-03-10 13:17:42,293 - INFO - CLOSED short at 2065.07 | PnL: 0.10% | $0.00 +2025-03-10 13:17:42,293 - INFO - OPENED LONG at 2065.07 | Stop loss: 2054.7292821428573 | Take profit: 2096.0691017857143 +2025-03-10 13:17:42,370 - INFO - CLOSED long at 2062.34 | PnL: -0.13% | $-0.39 +2025-03-10 13:17:42,371 - INFO - OPENED SHORT at 2062.34 | Stop loss: 2072.667067857143 | Take profit: 2031.381848214286 +2025-03-10 13:17:42,498 - INFO - CLOSED short at 2065.06 | PnL: -0.13% | $-0.39 +2025-03-10 13:17:42,499 - INFO - OPENED LONG at 2065.06 | Stop loss: 2054.719332142857 | Take profit: 2096.0589517857143 +2025-03-10 13:17:42,590 - INFO - CLOSED long at 2066.33 | PnL: 0.06% | $-0.06 +2025-03-10 13:17:42,643 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.381132142857 | Take profit: 2091.6335517857137 +2025-03-10 13:17:42,721 - INFO - CLOSED long at 2058.09 | PnL: -0.13% | $-0.38 +2025-03-10 13:17:42,741 - INFO - OPENED SHORT at 2058.65 | Stop loss: 2068.958617857143 | Take profit: 2027.7471982142856 +2025-03-10 13:17:42,850 - INFO - CLOSED short at 2049.21 | PnL: 0.46% | $0.60 +2025-03-10 13:17:42,851 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.948582142857 | Take profit: 2079.971201785714 +2025-03-10 13:17:42,926 - INFO - CLOSED long at 2051.99 | PnL: 0.14% | $0.06 +2025-03-10 13:17:42,926 - INFO - OPENED SHORT at 2051.99 | Stop loss: 2062.2653178571427 | Take profit: 2021.1870982142855 +2025-03-10 13:17:43,025 - INFO - STOP LOSS hit for short at 2062.2653178571427 | PnL: -0.50% | $-1.01 +2025-03-10 13:17:43,045 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.5651321428572 | Take profit: 2094.8815517857142 +2025-03-10 13:17:43,084 - INFO - CLOSED long at 2062.43 | PnL: -0.07% | $-0.28 +2025-03-10 13:17:43,108 - INFO - OPENED SHORT at 2062.55 | Stop loss: 2072.878117857143 | Take profit: 2031.5886982142858 +2025-03-10 13:17:43,159 - INFO - CLOSED short at 2068.33 | PnL: -0.28% | $-0.63 +2025-03-10 13:17:43,262 - INFO - OPENED LONG at 2064.08 | Stop loss: 2053.744232142857 | Take profit: 2095.064251785714 +2025-03-10 13:17:43,324 - INFO - CLOSED long at 2059.9 | PnL: -0.20% | $-0.50 +2025-03-10 13:17:43,371 - INFO - OPENED LONG at 2061.84 | Stop loss: 2051.515432142857 | Take profit: 2092.790651785714 +2025-03-10 13:17:43,395 - INFO - CLOSED long at 2062.54 | PnL: 0.03% | $-0.11 +2025-03-10 13:17:43,396 - INFO - OPENED SHORT at 2062.54 | Stop loss: 2072.8680678571427 | Take profit: 2031.5788482142857 +2025-03-10 13:17:43,499 - INFO - CLOSED short at 2069.81 | PnL: -0.35% | $-0.74 +2025-03-10 13:17:43,546 - INFO - OPENED LONG at 2073.49 | Stop loss: 2063.107182142857 | Take profit: 2104.6154017857143 +2025-03-10 13:17:43,656 - INFO - CLOSED long at 2071.89 | PnL: -0.08% | $-0.29 +2025-03-10 13:17:43,735 - INFO - OPENED SHORT at 2074.9 | Stop loss: 2085.2898678571432 | Take profit: 2043.7534482142858 +2025-03-10 13:17:43,763 - INFO - CLOSED short at 2076.08 | PnL: -0.06% | $-0.25 +2025-03-10 13:17:43,810 - INFO - OPENED LONG at 2085.56 | Stop loss: 2075.116832142857 | Take profit: 2116.866451785714 +2025-03-10 13:17:43,886 - INFO - CLOSED long at 2130.7 | PnL: 2.16% | $3.31 +2025-03-10 13:17:43,975 - INFO - OPENED LONG at 2133.95 | Stop loss: 2123.264882142857 | Take profit: 2165.982301785714 +2025-03-10 13:17:44,048 - INFO - CLOSED long at 2137.59 | PnL: 0.17% | $0.12 +2025-03-10 13:17:44,048 - INFO - OPENED SHORT at 2137.59 | Stop loss: 2148.293317857143 | Take profit: 2105.5030982142857 +2025-03-10 13:17:44,148 - INFO - CLOSED short at 2141.3 | PnL: -0.17% | $-0.46 +2025-03-10 13:17:44,227 - INFO - OPENED SHORT at 2134.78 | Stop loss: 2145.4692678571428 | Take profit: 2102.735248214286 +2025-03-10 13:17:44,253 - INFO - CLOSED short at 2126.99 | PnL: 0.36% | $0.44 +2025-03-10 13:17:44,256 - INFO - OPENED LONG at 2126.99 | Stop loss: 2116.339682142857 | Take profit: 2158.917901785714 +2025-03-10 13:17:44,341 - INFO - CLOSED long at 2121.09 | PnL: -0.28% | $-0.63 +2025-03-10 13:17:44,384 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.5338821428572 | Take profit: 2151.9753017857147 +2025-03-10 13:17:44,434 - INFO - CLOSED long at 2117.24 | PnL: -0.14% | $-0.39 +2025-03-10 13:17:44,435 - INFO - OPENED SHORT at 2117.24 | Stop loss: 2127.8415678571428 | Take profit: 2085.4583482142857 +2025-03-10 13:17:44,553 - INFO - CLOSED short at 2118.52 | PnL: -0.06% | $-0.27 +2025-03-10 13:17:44,656 - INFO - OPENED SHORT at 2107.43 | Stop loss: 2117.9825178571427 | Take profit: 2075.7954982142855 +2025-03-10 13:17:44,754 - INFO - CLOSED short at 2112.95 | PnL: -0.26% | $-0.60 +2025-03-10 13:17:44,755 - INFO - OPENED LONG at 2112.95 | Stop loss: 2102.369882142857 | Take profit: 2144.667301785714 +2025-03-10 13:17:44,871 - INFO - CLOSED long at 2112.99 | PnL: 0.00% | $-0.16 +2025-03-10 13:17:44,871 - INFO - OPENED SHORT at 2112.99 | Stop loss: 2123.570317857143 | Take profit: 2081.2720982142855 +2025-03-10 13:17:44,941 - INFO - CLOSED short at 2116.48 | PnL: -0.17% | $-0.43 +2025-03-10 13:17:44,942 - INFO - OPENED LONG at 2116.48 | Stop loss: 2105.882232142857 | Take profit: 2148.250251785714 +2025-03-10 13:17:44,995 - INFO - CLOSED long at 2110.9 | PnL: -0.26% | $-0.59 +2025-03-10 13:17:45,045 - INFO - OPENED LONG at 2106.49 | Stop loss: 2095.942182142857 | Take profit: 2138.1104017857137 +2025-03-10 13:17:45,099 - INFO - CLOSED long at 2103.33 | PnL: -0.15% | $-0.40 +2025-03-10 13:17:45,175 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0169821428576 | Take profit: 2131.0460017857145 +2025-03-10 13:17:45,222 - INFO - CLOSED long at 2102.19 | PnL: 0.13% | $0.04 +2025-03-10 13:17:45,287 - INFO - OPENED LONG at 2098.9 | Stop loss: 2088.390132142857 | Take profit: 2130.4065517857143 +2025-03-10 13:17:45,435 - INFO - CLOSED long at 2104.68 | PnL: 0.28% | $0.28 +2025-03-10 13:17:45,498 - INFO - OPENED SHORT at 2099.59 | Stop loss: 2110.1033178571433 | Take profit: 2068.073098214286 +2025-03-10 13:17:45,541 - INFO - CLOSED short at 2098.39 | PnL: 0.06% | $-0.07 +2025-03-10 13:17:45,548 - INFO - OPENED LONG at 2098.39 | Stop loss: 2087.882682142857 | Take profit: 2129.8889017857146 +2025-03-10 13:17:45,650 - INFO - CLOSED long at 2092.46 | PnL: -0.28% | $-0.62 +2025-03-10 13:17:45,703 - INFO - OPENED LONG at 2094.72 | Stop loss: 2084.231032142857 | Take profit: 2126.163851785714 +2025-03-10 13:17:45,728 - INFO - CLOSED long at 2094.08 | PnL: -0.03% | $-0.21 +2025-03-10 13:17:45,779 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.8482321428573 | Take profit: 2114.552251785715 +2025-03-10 13:17:45,828 - INFO - CLOSED long at 2083.97 | PnL: 0.03% | $-0.11 +2025-03-10 13:17:45,938 - INFO - OPENED LONG at 2080.38 | Stop loss: 2069.962732142857 | Take profit: 2111.6087517857145 +2025-03-10 13:17:46,001 - INFO - CLOSED long at 2085.09 | PnL: 0.23% | $0.20 +2025-03-10 13:17:46,020 - INFO - OPENED LONG at 2083.59 | Stop loss: 2073.1566821428573 | Take profit: 2114.866901785714 +2025-03-10 13:17:46,046 - INFO - CLOSED long at 2086.57 | PnL: 0.14% | $0.07 +2025-03-10 13:17:46,046 - INFO - OPENED SHORT at 2086.57 | Stop loss: 2097.018217857143 | Take profit: 2055.2483982142858 +2025-03-10 13:17:46,088 - INFO - CLOSED short at 2084.72 | PnL: 0.09% | $-0.02 +2025-03-10 13:17:46,172 - INFO - OPENED SHORT at 2088.32 | Stop loss: 2098.776967857143 | Take profit: 2056.972148214286 +2025-03-10 13:17:46,192 - INFO - CLOSED short at 2088.1 | PnL: 0.01% | $-0.14 +2025-03-10 13:17:46,213 - INFO - OPENED SHORT at 2089.96 | Stop loss: 2100.425167857143 | Take profit: 2058.5875482142856 +2025-03-10 13:17:46,258 - INFO - CLOSED short at 2087.47 | PnL: 0.12% | $0.03 +2025-03-10 13:17:46,258 - INFO - OPENED LONG at 2087.47 | Stop loss: 2077.017282142857 | Take profit: 2118.805101785714 +2025-03-10 13:17:46,278 - INFO - CLOSED long at 2087.78 | PnL: 0.01% | $-0.14 +2025-03-10 13:17:46,299 - INFO - OPENED SHORT at 2086.81 | Stop loss: 2097.2594178571426 | Take profit: 2055.4847982142855 +2025-03-10 13:17:46,353 - INFO - CLOSED short at 2085.67 | PnL: 0.05% | $-0.07 +2025-03-10 13:17:46,353 - INFO - OPENED LONG at 2085.67 | Stop loss: 2075.226282142857 | Take profit: 2116.9781017857144 +2025-03-10 13:17:46,399 - INFO - CLOSED long at 2091.05 | PnL: 0.26% | $0.25 +2025-03-10 13:17:46,419 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.5793821428574 | Take profit: 2122.4388017857145 +2025-03-10 13:17:46,450 - INFO - CLOSED long at 2091.95 | PnL: 0.04% | $-0.09 +2025-03-10 13:17:46,470 - INFO - OPENED LONG at 2094.7 | Stop loss: 2084.211132142857 | Take profit: 2126.143551785714 +2025-03-10 13:17:46,496 - INFO - CLOSED long at 2097.8 | PnL: 0.15% | $0.08 +2025-03-10 13:17:46,496 - INFO - OPENED SHORT at 2097.8 | Stop loss: 2108.304367857143 | Take profit: 2066.3099482142857 +2025-03-10 13:17:46,521 - INFO - CLOSED short at 2099.99 | PnL: -0.10% | $-0.33 +2025-03-10 13:17:46,521 - INFO - OPENED LONG at 2099.99 | Stop loss: 2089.474682142857 | Take profit: 2131.512901785714 +2025-03-10 13:17:46,568 - INFO - CLOSED long at 2097.11 | PnL: -0.14% | $-0.38 +2025-03-10 13:17:46,569 - INFO - OPENED SHORT at 2097.11 | Stop loss: 2107.6109178571432 | Take profit: 2065.630298214286 +2025-03-10 13:17:46,643 - INFO - CLOSED short at 2100.89 | PnL: -0.18% | $-0.44 +2025-03-10 13:17:46,724 - INFO - OPENED SHORT at 2103.48 | Stop loss: 2114.012767857143 | Take profit: 2071.904748214286 +2025-03-10 13:17:46,810 - INFO - CLOSED short at 2103.07 | PnL: 0.02% | $-0.13 +2025-03-10 13:17:46,811 - INFO - OPENED LONG at 2103.07 | Stop loss: 2092.5392821428572 | Take profit: 2134.6391017857145 +2025-03-10 13:17:46,865 - INFO - CLOSED long at 2105.83 | PnL: 0.13% | $0.05 +2025-03-10 13:17:46,888 - INFO - OPENED SHORT at 2103.64 | Stop loss: 2114.1735678571426 | Take profit: 2072.0623482142855 +2025-03-10 13:17:46,959 - INFO - CLOSED short at 2104.4 | PnL: -0.04% | $-0.21 +2025-03-10 13:17:47,065 - INFO - OPENED SHORT at 2102.0 | Stop loss: 2112.525367857143 | Take profit: 2070.446948214286 +2025-03-10 13:17:47,112 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.24, Avg Loss=$-0.28 +2025-03-10 13:17:47,113 - INFO - Episode 1: Reward=-91.04, Balance=$78.84, Win Rate=23.3%, Trades=133, Episode PnL=$-16.45, Total PnL=$-49.11, Max Drawdown=21.2%, Pred Accuracy=99.3% +2025-03-10 13:17:47,113 - ERROR - Error in episode 1: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:17:47,114 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1831, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:17:47,139 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:17:47,352 - INFO - OPENED SHORT at 2048.13 | Stop loss: 2058.3860178571426 | Take profit: 2017.3849982142858 +2025-03-10 13:17:47,423 - INFO - CLOSED short at 2050.0 | PnL: -0.09% | $-0.38 +2025-03-10 13:17:47,423 - INFO - OPENED LONG at 2050.0 | Stop loss: 2039.7346321428572 | Take profit: 2080.7730517857144 +2025-03-10 13:17:47,513 - INFO - CLOSED long at 2051.11 | PnL: 0.05% | $-0.09 +2025-03-10 13:17:47,514 - INFO - OPENED SHORT at 2051.11 | Stop loss: 2061.380917857143 | Take profit: 2020.320298214286 +2025-03-10 13:17:47,590 - INFO - CLOSED short at 2052.3 | PnL: -0.06% | $-0.31 +2025-03-10 13:17:47,590 - INFO - OPENED LONG at 2052.3 | Stop loss: 2042.0231321428573 | Take profit: 2083.1075517857143 +2025-03-10 13:17:47,673 - INFO - CLOSED long at 2056.89 | PnL: 0.22% | $0.24 +2025-03-10 13:17:47,674 - INFO - OPENED SHORT at 2056.89 | Stop loss: 2067.1898178571428 | Take profit: 2026.0135982142856 +2025-03-10 13:17:47,719 - INFO - CLOSED short at 2060.13 | PnL: -0.16% | $-0.51 +2025-03-10 13:17:47,719 - INFO - OPENED LONG at 2060.13 | Stop loss: 2049.813982142857 | Take profit: 2091.0550017857145 +2025-03-10 13:17:47,744 - INFO - CLOSED long at 2059.7 | PnL: -0.02% | $-0.24 +2025-03-10 13:17:47,744 - INFO - OPENED SHORT at 2059.7 | Stop loss: 2070.0138678571425 | Take profit: 2028.7814482142855 +2025-03-10 13:17:47,859 - INFO - CLOSED short at 2061.61 | PnL: -0.09% | $-0.38 +2025-03-10 13:17:47,859 - INFO - OPENED LONG at 2061.61 | Stop loss: 2051.2865821428572 | Take profit: 2092.5572017857144 +2025-03-10 13:17:47,902 - INFO - CLOSED long at 2063.01 | PnL: 0.07% | $-0.06 +2025-03-10 13:17:47,965 - INFO - OPENED SHORT at 2060.0 | Stop loss: 2070.315367857143 | Take profit: 2029.0769482142857 +2025-03-10 13:17:47,988 - INFO - CLOSED short at 2061.89 | PnL: -0.09% | $-0.37 +2025-03-10 13:17:47,989 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.565182142857 | Take profit: 2092.841401785714 +2025-03-10 13:17:48,032 - INFO - CLOSED long at 2060.31 | PnL: -0.08% | $-0.34 +2025-03-10 13:17:48,052 - INFO - OPENED SHORT at 2059.49 | Stop loss: 2069.8028178571426 | Take profit: 2028.5745982142855 +2025-03-10 13:17:48,098 - INFO - CLOSED short at 2057.89 | PnL: 0.08% | $-0.04 +2025-03-10 13:17:48,186 - INFO - OPENED LONG at 2061.18 | Stop loss: 2050.8587321428568 | Take profit: 2092.120751785714 +2025-03-10 13:17:48,340 - INFO - CLOSED long at 2071.63 | PnL: 0.51% | $0.79 +2025-03-10 13:17:48,341 - INFO - OPENED SHORT at 2071.63 | Stop loss: 2082.003517857143 | Take profit: 2040.5324982142859 +2025-03-10 13:17:48,451 - INFO - CLOSED short at 2067.9 | PnL: 0.18% | $0.16 +2025-03-10 13:17:48,556 - INFO - OPENED LONG at 2073.73 | Stop loss: 2063.345982142857 | Take profit: 2104.8590017857146 +2025-03-10 13:17:48,583 - INFO - CLOSED long at 2075.1 | PnL: 0.07% | $-0.07 +2025-03-10 13:17:48,583 - INFO - OPENED SHORT at 2075.1 | Stop loss: 2085.490867857143 | Take profit: 2043.9504482142856 +2025-03-10 13:17:48,608 - INFO - CLOSED short at 2072.91 | PnL: 0.11% | $0.01 +2025-03-10 13:17:48,609 - INFO - OPENED LONG at 2072.91 | Stop loss: 2062.530082142857 | Take profit: 2104.026701785714 +2025-03-10 13:17:48,660 - INFO - CLOSED long at 2071.38 | PnL: -0.07% | $-0.34 +2025-03-10 13:17:48,861 - INFO - OPENED SHORT at 2070.36 | Stop loss: 2080.7271678571433 | Take profit: 2039.2815482142857 +2025-03-10 13:17:48,933 - INFO - CLOSED short at 2069.34 | PnL: 0.05% | $-0.10 +2025-03-10 13:17:49,033 - INFO - OPENED LONG at 2069.01 | Stop loss: 2058.6495821428575 | Take profit: 2100.0682017857143 +2025-03-10 13:17:49,100 - INFO - CLOSED long at 2066.19 | PnL: -0.14% | $-0.46 +2025-03-10 13:17:49,160 - INFO - OPENED SHORT at 2066.18 | Stop loss: 2076.5262678571426 | Take profit: 2035.1642482142856 +2025-03-10 13:17:49,203 - INFO - CLOSED short at 2068.9 | PnL: -0.13% | $-0.45 +2025-03-10 13:17:49,204 - INFO - OPENED LONG at 2068.9 | Stop loss: 2058.540132142857 | Take profit: 2099.9565517857145 +2025-03-10 13:17:49,225 - INFO - CLOSED long at 2068.51 | PnL: -0.02% | $-0.23 +2025-03-10 13:17:49,291 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.767367857143 | Take profit: 2039.3209482142859 +2025-03-10 13:17:49,312 - INFO - CLOSED short at 2069.96 | PnL: 0.02% | $-0.15 +2025-03-10 13:17:49,313 - INFO - OPENED LONG at 2069.96 | Stop loss: 2059.5948321428573 | Take profit: 2101.0324517857143 +2025-03-10 13:17:49,399 - INFO - CLOSED long at 2072.75 | PnL: 0.13% | $0.07 +2025-03-10 13:17:49,399 - INFO - OPENED SHORT at 2072.75 | Stop loss: 2083.129117857143 | Take profit: 2041.6356982142856 +2025-03-10 13:17:49,442 - INFO - CLOSED short at 2072.7 | PnL: 0.00% | $-0.19 +2025-03-10 13:17:49,442 - INFO - OPENED LONG at 2072.7 | Stop loss: 2062.321132142857 | Take profit: 2103.813551785714 +2025-03-10 13:17:49,499 - INFO - CLOSED long at 2073.9 | PnL: 0.06% | $-0.08 +2025-03-10 13:17:49,500 - INFO - OPENED SHORT at 2073.9 | Stop loss: 2084.2848678571427 | Take profit: 2042.7684482142859 +2025-03-10 13:17:49,518 - INFO - CLOSED short at 2071.92 | PnL: 0.10% | $-0.01 +2025-03-10 13:17:49,519 - INFO - OPENED LONG at 2071.92 | Stop loss: 2061.545032142857 | Take profit: 2103.0218517857147 +2025-03-10 13:17:49,563 - INFO - CLOSED long at 2071.11 | PnL: -0.04% | $-0.27 +2025-03-10 13:17:49,563 - INFO - OPENED SHORT at 2071.11 | Stop loss: 2081.480917857143 | Take profit: 2040.0202982142857 +2025-03-10 13:17:49,582 - INFO - CLOSED short at 2069.46 | PnL: 0.08% | $-0.04 +2025-03-10 13:17:49,605 - INFO - OPENED SHORT at 2069.35 | Stop loss: 2079.7121178571424 | Take profit: 2038.2866982142855 +2025-03-10 13:17:49,645 - INFO - CLOSED short at 2067.0 | PnL: 0.11% | $0.03 +2025-03-10 13:17:49,709 - INFO - OPENED SHORT at 2066.8 | Stop loss: 2077.1493678571433 | Take profit: 2035.7749482142858 +2025-03-10 13:17:49,750 - INFO - CLOSED short at 2063.61 | PnL: 0.15% | $0.10 +2025-03-10 13:17:49,751 - INFO - OPENED LONG at 2063.61 | Stop loss: 2053.2765821428575 | Take profit: 2094.587201785714 +2025-03-10 13:17:49,795 - INFO - CLOSED long at 2067.89 | PnL: 0.21% | $0.21 +2025-03-10 13:17:49,818 - INFO - OPENED SHORT at 2068.58 | Stop loss: 2078.938267857143 | Take profit: 2037.5282482142857 +2025-03-10 13:17:49,838 - INFO - CLOSED short at 2068.8 | PnL: -0.01% | $-0.21 +2025-03-10 13:17:49,907 - INFO - OPENED LONG at 2067.59 | Stop loss: 2057.2366821428573 | Take profit: 2098.6269017857144 +2025-03-10 13:17:50,020 - INFO - CLOSED long at 2070.73 | PnL: 0.15% | $0.10 +2025-03-10 13:17:50,057 - INFO - OPENED LONG at 2068.69 | Stop loss: 2058.331182142857 | Take profit: 2099.7434017857145 +2025-03-10 13:17:50,138 - INFO - CLOSED long at 2066.4 | PnL: -0.11% | $-0.40 +2025-03-10 13:17:50,138 - INFO - OPENED SHORT at 2066.4 | Stop loss: 2076.7473678571428 | Take profit: 2035.3809482142858 +2025-03-10 13:17:50,177 - INFO - CLOSED short at 2065.28 | PnL: 0.05% | $-0.09 +2025-03-10 13:17:50,177 - INFO - OPENED LONG at 2065.28 | Stop loss: 2054.9382321428575 | Take profit: 2096.282251785715 +2025-03-10 13:17:50,215 - INFO - CLOSED long at 2064.47 | PnL: -0.04% | $-0.27 +2025-03-10 13:17:50,277 - INFO - OPENED SHORT at 2068.18 | Stop loss: 2078.536267857143 | Take profit: 2037.1342482142854 +2025-03-10 13:17:50,360 - INFO - CLOSED short at 2065.83 | PnL: 0.11% | $0.03 +2025-03-10 13:17:50,360 - INFO - OPENED LONG at 2065.83 | Stop loss: 2055.485482142857 | Take profit: 2096.840501785714 +2025-03-10 13:17:50,384 - INFO - CLOSED long at 2066.15 | PnL: 0.02% | $-0.16 +2025-03-10 13:17:50,454 - INFO - OPENED SHORT at 2061.78 | Stop loss: 2072.1042678571434 | Take profit: 2030.830248214286 +2025-03-10 13:17:50,476 - INFO - CLOSED short at 2059.59 | PnL: 0.11% | $0.01 +2025-03-10 13:17:50,476 - INFO - OPENED LONG at 2059.59 | Stop loss: 2049.276682142857 | Take profit: 2090.5069017857145 +2025-03-10 13:17:50,495 - INFO - CLOSED long at 2061.3 | PnL: 0.08% | $-0.03 +2025-03-10 13:17:50,495 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.621867857143 | Take profit: 2030.357448214286 +2025-03-10 13:17:50,513 - INFO - CLOSED short at 2063.59 | PnL: -0.11% | $-0.40 +2025-03-10 13:17:50,565 - INFO - OPENED LONG at 2067.1 | Stop loss: 2056.749132142857 | Take profit: 2098.129551785714 +2025-03-10 13:17:50,585 - INFO - CLOSED long at 2065.54 | PnL: -0.08% | $-0.33 +2025-03-10 13:17:50,585 - INFO - OPENED SHORT at 2065.54 | Stop loss: 2075.8830678571426 | Take profit: 2034.5338482142859 +2025-03-10 13:17:50,638 - INFO - CLOSED short at 2064.08 | PnL: 0.07% | $-0.06 +2025-03-10 13:17:50,638 - INFO - OPENED LONG at 2064.08 | Stop loss: 2053.744232142857 | Take profit: 2095.064251785714 +2025-03-10 13:17:50,671 - INFO - CLOSED long at 2062.89 | PnL: -0.06% | $-0.30 +2025-03-10 13:17:50,671 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.2198178571425 | Take profit: 2031.9235982142857 +2025-03-10 13:17:50,885 - INFO - CLOSED short at 2062.61 | PnL: 0.01% | $-0.16 +2025-03-10 13:17:50,885 - INFO - OPENED LONG at 2062.61 | Stop loss: 2052.2815821428576 | Take profit: 2093.5722017857147 +2025-03-10 13:17:50,902 - INFO - CLOSED long at 2060.91 | PnL: -0.08% | $-0.34 +2025-03-10 13:17:50,956 - INFO - OPENED LONG at 2061.9 | Stop loss: 2051.5751321428575 | Take profit: 2092.851551785714 +2025-03-10 13:17:50,977 - INFO - CLOSED long at 2064.1 | PnL: 0.11% | $0.01 +2025-03-10 13:17:50,983 - INFO - OPENED SHORT at 2064.1 | Stop loss: 2074.4358678571425 | Take profit: 2033.1154482142856 +2025-03-10 13:17:51,004 - INFO - CLOSED short at 2065.36 | PnL: -0.06% | $-0.30 +2025-03-10 13:17:51,029 - INFO - OPENED LONG at 2064.33 | Stop loss: 2053.9929821428573 | Take profit: 2095.318001785714 +2025-03-10 13:17:51,132 - INFO - CLOSED long at 2063.53 | PnL: -0.04% | $-0.26 +2025-03-10 13:17:51,132 - INFO - OPENED SHORT at 2063.53 | Stop loss: 2073.863017857143 | Take profit: 2032.553998214286 +2025-03-10 13:17:51,167 - INFO - CLOSED short at 2063.0 | PnL: 0.03% | $-0.14 +2025-03-10 13:17:51,197 - INFO - OPENED SHORT at 2062.6 | Stop loss: 2072.928367857143 | Take profit: 2031.6379482142856 +2025-03-10 13:17:51,326 - INFO - CLOSED short at 2061.09 | PnL: 0.07% | $-0.05 +2025-03-10 13:17:51,329 - INFO - OPENED LONG at 2061.09 | Stop loss: 2050.7691821428575 | Take profit: 2092.0294017857145 +2025-03-10 13:17:51,533 - INFO - CLOSED long at 2056.28 | PnL: -0.23% | $-0.62 +2025-03-10 13:17:51,590 - INFO - OPENED LONG at 2054.89 | Stop loss: 2044.600182142857 | Take profit: 2085.7364017857144 +2025-03-10 13:17:51,867 - INFO - CLOSED long at 2061.3 | PnL: 0.31% | $0.39 +2025-03-10 13:17:51,867 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.621867857143 | Take profit: 2030.357448214286 +2025-03-10 13:17:51,935 - INFO - CLOSED short at 2063.4 | PnL: -0.10% | $-0.37 +2025-03-10 13:17:51,936 - INFO - OPENED LONG at 2063.4 | Stop loss: 2053.0676321428573 | Take profit: 2094.374051785714 +2025-03-10 13:17:52,058 - INFO - CLOSED long at 2064.49 | PnL: 0.05% | $-0.09 +2025-03-10 13:17:52,084 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.6770178571423 | Take profit: 2035.3119982142855 +2025-03-10 13:17:52,108 - INFO - CLOSED short at 2066.34 | PnL: -0.00% | $-0.18 +2025-03-10 13:17:52,191 - INFO - OPENED LONG at 2067.33 | Stop loss: 2056.977982142857 | Take profit: 2098.363001785714 +2025-03-10 13:17:52,299 - INFO - CLOSED long at 2069.79 | PnL: 0.12% | $0.03 +2025-03-10 13:17:52,300 - INFO - OPENED SHORT at 2069.79 | Stop loss: 2080.154317857143 | Take profit: 2038.7200982142858 +2025-03-10 13:17:52,335 - INFO - CLOSED short at 2072.0 | PnL: -0.11% | $-0.38 +2025-03-10 13:17:52,335 - INFO - OPENED LONG at 2072.0 | Stop loss: 2061.624632142857 | Take profit: 2103.1030517857143 +2025-03-10 13:17:52,441 - INFO - CLOSED long at 2071.04 | PnL: -0.05% | $-0.27 +2025-03-10 13:17:52,525 - INFO - OPENED SHORT at 2070.0 | Stop loss: 2080.3653678571427 | Take profit: 2038.9269482142859 +2025-03-10 13:17:52,569 - INFO - CLOSED short at 2068.15 | PnL: 0.09% | $-0.02 +2025-03-10 13:17:52,675 - INFO - OPENED SHORT at 2069.03 | Stop loss: 2079.390517857143 | Take profit: 2037.9714982142857 +2025-03-10 13:17:52,716 - INFO - CLOSED short at 2067.44 | PnL: 0.08% | $-0.04 +2025-03-10 13:17:52,716 - INFO - OPENED LONG at 2067.44 | Stop loss: 2057.0874321428573 | Take profit: 2098.4746517857143 +2025-03-10 13:17:52,764 - INFO - CLOSED long at 2072.99 | PnL: 0.27% | $0.31 +2025-03-10 13:17:52,822 - INFO - OPENED LONG at 2067.33 | Stop loss: 2056.977982142857 | Take profit: 2098.363001785714 +2025-03-10 13:17:52,861 - INFO - CLOSED long at 2065.7 | PnL: -0.08% | $-0.33 +2025-03-10 13:17:52,861 - INFO - OPENED SHORT at 2065.7 | Stop loss: 2076.0438678571427 | Take profit: 2034.6914482142856 +2025-03-10 13:17:52,880 - INFO - CLOSED short at 2065.66 | PnL: 0.00% | $-0.18 +2025-03-10 13:17:52,908 - INFO - OPENED SHORT at 2063.95 | Stop loss: 2074.2851178571427 | Take profit: 2032.9676982142855 +2025-03-10 13:17:52,953 - INFO - CLOSED short at 2064.5 | PnL: -0.03% | $-0.23 +2025-03-10 13:17:52,954 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.162132142857 | Take profit: 2095.4905517857146 +2025-03-10 13:17:53,126 - INFO - CLOSED long at 2067.53 | PnL: 0.15% | $0.08 +2025-03-10 13:17:53,127 - INFO - OPENED SHORT at 2067.53 | Stop loss: 2077.883017857143 | Take profit: 2036.493998214286 +2025-03-10 13:17:53,229 - INFO - CLOSED short at 2068.59 | PnL: -0.05% | $-0.27 +2025-03-10 13:17:53,349 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.331132142857 | Take profit: 2101.7835517857143 +2025-03-10 13:17:53,449 - INFO - CLOSED long at 2070.61 | PnL: -0.00% | $-0.19 +2025-03-10 13:17:53,549 - INFO - OPENED LONG at 2070.67 | Stop loss: 2060.3012821428574 | Take profit: 2101.753101785714 +2025-03-10 13:17:53,569 - INFO - CLOSED long at 2069.78 | PnL: -0.04% | $-0.26 +2025-03-10 13:17:53,607 - INFO - OPENED SHORT at 2074.37 | Stop loss: 2084.7572178571427 | Take profit: 2043.2313982142855 +2025-03-10 13:17:53,725 - INFO - CLOSED short at 2075.29 | PnL: -0.04% | $-0.26 +2025-03-10 13:17:53,824 - INFO - OPENED LONG at 2074.0 | Stop loss: 2063.614632142857 | Take profit: 2105.133051785714 +2025-03-10 13:17:53,905 - INFO - CLOSED long at 2069.97 | PnL: -0.19% | $-0.53 +2025-03-10 13:17:53,906 - INFO - OPENED SHORT at 2069.97 | Stop loss: 2080.3352178571427 | Take profit: 2038.8973982142854 +2025-03-10 13:17:53,937 - INFO - CLOSED short at 2067.7 | PnL: 0.11% | $0.02 +2025-03-10 13:17:53,938 - INFO - OPENED LONG at 2067.7 | Stop loss: 2057.3461321428567 | Take profit: 2098.738551785714 +2025-03-10 13:17:53,958 - INFO - CLOSED long at 2067.0 | PnL: -0.03% | $-0.24 +2025-03-10 13:17:53,986 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.254867857143 | Take profit: 2036.858448214286 +2025-03-10 13:17:54,039 - INFO - CLOSED short at 2066.89 | PnL: 0.05% | $-0.09 +2025-03-10 13:17:54,078 - INFO - OPENED SHORT at 2065.45 | Stop loss: 2075.792617857143 | Take profit: 2034.4451982142855 +2025-03-10 13:17:54,097 - INFO - CLOSED short at 2068.1 | PnL: -0.13% | $-0.41 +2025-03-10 13:17:54,187 - INFO - OPENED SHORT at 2067.19 | Stop loss: 2077.541317857143 | Take profit: 2036.1590982142857 +2025-03-10 13:17:54,315 - INFO - CLOSED short at 2066.09 | PnL: 0.05% | $-0.08 +2025-03-10 13:17:54,411 - INFO - OPENED SHORT at 2066.1 | Stop loss: 2076.4458678571427 | Take profit: 2035.0854482142856 +2025-03-10 13:17:54,552 - INFO - CLOSED short at 2060.7 | PnL: 0.26% | $0.28 +2025-03-10 13:17:54,553 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.381132142857 | Take profit: 2091.6335517857137 +2025-03-10 13:17:54,648 - INFO - CLOSED long at 2059.2 | PnL: -0.07% | $-0.31 +2025-03-10 13:17:54,648 - INFO - OPENED SHORT at 2059.2 | Stop loss: 2069.511367857143 | Take profit: 2028.2889482142855 +2025-03-10 13:17:54,757 - INFO - CLOSED short at 2056.77 | PnL: 0.12% | $0.03 +2025-03-10 13:17:54,782 - INFO - OPENED LONG at 2053.01 | Stop loss: 2042.7295821428572 | Take profit: 2083.8282017857146 +2025-03-10 13:17:54,824 - INFO - CLOSED long at 2049.5 | PnL: -0.17% | $-0.48 +2025-03-10 13:17:54,824 - INFO - OPENED SHORT at 2049.5 | Stop loss: 2059.762867857143 | Take profit: 2018.7344482142857 +2025-03-10 13:17:54,845 - INFO - CLOSED short at 2051.99 | PnL: -0.12% | $-0.39 +2025-03-10 13:17:54,845 - INFO - OPENED LONG at 2051.99 | Stop loss: 2041.714682142857 | Take profit: 2082.792901785714 +2025-03-10 13:17:54,889 - INFO - CLOSED long at 2056.85 | PnL: 0.24% | $0.24 +2025-03-10 13:17:54,889 - INFO - OPENED SHORT at 2056.85 | Stop loss: 2067.149617857143 | Take profit: 2025.9741982142855 +2025-03-10 13:17:54,909 - INFO - CLOSED short at 2057.11 | PnL: -0.01% | $-0.20 +2025-03-10 13:17:55,087 - INFO - OPENED SHORT at 2062.43 | Stop loss: 2072.7575178571424 | Take profit: 2031.4704982142855 +2025-03-10 13:17:55,134 - INFO - CLOSED short at 2062.55 | PnL: -0.01% | $-0.19 +2025-03-10 13:17:55,156 - INFO - OPENED SHORT at 2065.12 | Stop loss: 2075.460967857143 | Take profit: 2034.1201482142856 +2025-03-10 13:17:55,204 - INFO - CLOSED short at 2067.49 | PnL: -0.11% | $-0.38 +2025-03-10 13:17:55,246 - INFO - OPENED LONG at 2064.08 | Stop loss: 2053.744232142857 | Take profit: 2095.064251785714 +2025-03-10 13:17:55,267 - INFO - CLOSED long at 2061.21 | PnL: -0.14% | $-0.42 +2025-03-10 13:17:55,268 - INFO - OPENED SHORT at 2061.21 | Stop loss: 2071.5314178571425 | Take profit: 2030.2687982142857 +2025-03-10 13:17:55,581 - INFO - STOP LOSS hit for short at 2071.5314178571425 | PnL: -0.50% | $-1.04 +2025-03-10 13:17:55,604 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.4356178571434 | Take profit: 2042.916198214286 +2025-03-10 13:17:55,653 - INFO - CLOSED short at 2071.89 | PnL: 0.10% | $0.01 +2025-03-10 13:17:55,673 - INFO - OPENED LONG at 2071.8 | Stop loss: 2061.4256321428575 | Take profit: 2102.900051785715 +2025-03-10 13:17:55,695 - INFO - CLOSED long at 2074.9 | PnL: 0.15% | $0.08 +2025-03-10 13:17:55,925 - INFO - OPENED SHORT at 2141.41 | Stop loss: 2152.1324178571426 | Take profit: 2109.2657982142855 +2025-03-10 13:17:56,054 - INFO - CLOSED short at 2128.69 | PnL: 0.59% | $0.85 +2025-03-10 13:17:56,089 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.5338821428572 | Take profit: 2151.9753017857147 +2025-03-10 13:17:56,106 - INFO - CLOSED long at 2117.24 | PnL: -0.14% | $-0.41 +2025-03-10 13:17:56,123 - INFO - OPENED SHORT at 2119.93 | Stop loss: 2130.5450178571427 | Take profit: 2088.1079982142855 +2025-03-10 13:17:56,196 - INFO - CLOSED short at 2119.07 | PnL: 0.04% | $-0.10 +2025-03-10 13:17:56,196 - INFO - OPENED LONG at 2119.07 | Stop loss: 2108.4592821428573 | Take profit: 2150.8791017857147 +2025-03-10 13:17:56,233 - INFO - CLOSED long at 2107.43 | PnL: -0.55% | $-1.12 +2025-03-10 13:17:56,234 - INFO - OPENED SHORT at 2107.43 | Stop loss: 2117.9825178571427 | Take profit: 2075.7954982142855 +2025-03-10 13:17:56,291 - INFO - CLOSED short at 2112.09 | PnL: -0.22% | $-0.54 +2025-03-10 13:17:56,310 - INFO - OPENED SHORT at 2112.95 | Stop loss: 2123.5301178571426 | Take profit: 2081.2326982142854 +2025-03-10 13:17:56,374 - INFO - CLOSED short at 2112.99 | PnL: -0.00% | $-0.17 +2025-03-10 13:17:56,374 - INFO - OPENED LONG at 2112.99 | Stop loss: 2102.409682142857 | Take profit: 2144.707901785714 +2025-03-10 13:17:56,449 - INFO - CLOSED long at 2110.9 | PnL: -0.10% | $-0.33 +2025-03-10 13:17:56,450 - INFO - OPENED SHORT at 2110.9 | Stop loss: 2121.469867857143 | Take profit: 2079.2134482142856 +2025-03-10 13:17:56,479 - INFO - CLOSED short at 2108.71 | PnL: 0.10% | $0.01 +2025-03-10 13:17:56,502 - INFO - OPENED LONG at 2106.49 | Stop loss: 2095.942182142857 | Take profit: 2138.1104017857137 +2025-03-10 13:17:56,558 - INFO - CLOSED long at 2100.5 | PnL: -0.28% | $-0.64 +2025-03-10 13:17:56,559 - INFO - OPENED SHORT at 2100.5 | Stop loss: 2111.017867857143 | Take profit: 2068.969448214286 +2025-03-10 13:17:56,578 - INFO - CLOSED short at 2090.0 | PnL: 0.50% | $0.66 +2025-03-10 13:17:56,578 - INFO - OPENED LONG at 2090.0 | Stop loss: 2079.534632142857 | Take profit: 2121.3730517857143 +2025-03-10 13:17:56,604 - INFO - CLOSED long at 2099.53 | PnL: 0.46% | $0.60 +2025-03-10 13:17:56,604 - INFO - OPENED SHORT at 2099.53 | Stop loss: 2110.043017857143 | Take profit: 2068.013998214286 +2025-03-10 13:17:56,643 - INFO - CLOSED short at 2102.19 | PnL: -0.13% | $-0.38 +2025-03-10 13:17:56,643 - INFO - OPENED LONG at 2102.19 | Stop loss: 2091.6636821428574 | Take profit: 2133.7459017857145 +2025-03-10 13:17:56,707 - INFO - CLOSED long at 2098.9 | PnL: -0.16% | $-0.43 +2025-03-10 13:17:56,708 - INFO - OPENED SHORT at 2098.9 | Stop loss: 2109.409867857143 | Take profit: 2067.393448214286 +2025-03-10 13:17:56,783 - INFO - CLOSED short at 2100.74 | PnL: -0.09% | $-0.31 +2025-03-10 13:17:56,784 - INFO - OPENED LONG at 2100.74 | Stop loss: 2090.2209321428572 | Take profit: 2132.2741517857144 +2025-03-10 13:17:56,819 - INFO - CLOSED long at 2104.68 | PnL: 0.19% | $0.15 +2025-03-10 13:17:56,839 - INFO - OPENED LONG at 2101.51 | Stop loss: 2090.987082142857 | Take profit: 2133.0557017857145 +2025-03-10 13:17:56,857 - INFO - CLOSED long at 2099.59 | PnL: -0.09% | $-0.32 +2025-03-10 13:17:56,858 - INFO - OPENED SHORT at 2099.59 | Stop loss: 2110.1033178571433 | Take profit: 2068.073098214286 +2025-03-10 13:17:56,927 - INFO - CLOSED short at 2093.46 | PnL: 0.29% | $0.32 +2025-03-10 13:17:56,963 - INFO - OPENED LONG at 2092.46 | Stop loss: 2081.982332142857 | Take profit: 2123.8699517857144 +2025-03-10 13:17:57,091 - INFO - CLOSED long at 2083.97 | PnL: -0.41% | $-0.84 +2025-03-10 13:17:57,093 - INFO - OPENED SHORT at 2083.97 | Stop loss: 2094.4052178571424 | Take profit: 2052.6873982142856 +2025-03-10 13:17:57,128 - INFO - CLOSED short at 2082.44 | PnL: 0.07% | $-0.04 +2025-03-10 13:17:57,238 - INFO - OPENED LONG at 2083.59 | Stop loss: 2073.1566821428573 | Take profit: 2114.866901785714 +2025-03-10 13:17:57,335 - INFO - CLOSED long at 2085.85 | PnL: 0.11% | $0.01 +2025-03-10 13:17:57,335 - INFO - OPENED SHORT at 2085.85 | Stop loss: 2096.294617857143 | Take profit: 2054.5391982142855 +2025-03-10 13:17:57,354 - INFO - CLOSED short at 2088.66 | PnL: -0.13% | $-0.39 +2025-03-10 13:17:57,405 - INFO - OPENED SHORT at 2088.1 | Stop loss: 2098.555867857143 | Take profit: 2056.7554482142855 +2025-03-10 13:17:57,483 - INFO - CLOSED short at 2087.78 | PnL: 0.02% | $-0.14 +2025-03-10 13:17:57,483 - INFO - OPENED LONG at 2087.78 | Stop loss: 2077.3257321428573 | Take profit: 2119.1197517857145 +2025-03-10 13:17:57,572 - INFO - CLOSED long at 2091.05 | PnL: 0.16% | $0.09 +2025-03-10 13:17:57,590 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.5793821428574 | Take profit: 2122.4388017857145 +2025-03-10 13:17:57,718 - INFO - CLOSED long at 2098.49 | PnL: 0.36% | $0.42 +2025-03-10 13:17:57,718 - INFO - OPENED SHORT at 2098.49 | Stop loss: 2108.9978178571428 | Take profit: 2066.9895982142857 +2025-03-10 13:17:57,757 - INFO - CLOSED short at 2100.89 | PnL: -0.11% | $-0.35 +2025-03-10 13:17:57,778 - INFO - OPENED LONG at 2099.73 | Stop loss: 2089.2159821428572 | Take profit: 2131.249001785714 +2025-03-10 13:17:57,844 - INFO - CLOSED long at 2104.93 | PnL: 0.25% | $0.24 +2025-03-10 13:17:57,864 - INFO - OPENED SHORT at 2103.81 | Stop loss: 2114.344417857143 | Take profit: 2072.229798214286 +2025-03-10 13:17:57,885 - INFO - CLOSED short at 2103.07 | PnL: 0.04% | $-0.11 +2025-03-10 13:17:57,904 - INFO - OPENED LONG at 2101.5 | Stop loss: 2090.977132142857 | Take profit: 2133.0455517857145 +2025-03-10 13:17:57,989 - INFO - CLOSED long at 2103.52 | PnL: 0.10% | $-0.01 +2025-03-10 13:17:58,098 - INFO - OPENED LONG at 2102.0 | Stop loss: 2091.474632142857 | Take profit: 2133.5530517857146 +2025-03-10 13:17:58,142 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.21, Avg Loss=$-0.28 +2025-03-10 13:17:58,143 - INFO - Episode 2: Reward=-68.46, Balance=$82.92, Win Rate=27.6%, Trades=116, Episode PnL=$-12.17, Total PnL=$-66.19, Max Drawdown=17.3%, Pred Accuracy=98.6% +2025-03-10 13:17:58,143 - ERROR - Error in episode 2: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:17:58,143 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1831, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:17:58,165 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:17:58,361 - INFO - OPENED LONG at 2048.13 | Stop loss: 2037.8739821428571 | Take profit: 2078.8750017857146 +2025-03-10 13:17:58,423 - INFO - CLOSED long at 2050.0 | PnL: 0.09% | $-0.02 +2025-03-10 13:17:58,423 - INFO - OPENED SHORT at 2050.0 | Stop loss: 2060.265367857143 | Take profit: 2019.2269482142858 +2025-03-10 13:17:58,501 - INFO - CLOSED short at 2053.26 | PnL: -0.16% | $-0.51 +2025-03-10 13:17:58,501 - INFO - OPENED LONG at 2053.26 | Stop loss: 2042.9783321428572 | Take profit: 2084.0819517857144 +2025-03-10 13:17:58,537 - INFO - CLOSED long at 2052.3 | PnL: -0.05% | $-0.29 +2025-03-10 13:17:58,538 - INFO - OPENED SHORT at 2052.3 | Stop loss: 2062.576867857143 | Take profit: 2021.492448214286 +2025-03-10 13:17:58,556 - INFO - CLOSED short at 2055.69 | PnL: -0.17% | $-0.52 +2025-03-10 13:17:58,597 - INFO - OPENED SHORT at 2056.89 | Stop loss: 2067.1898178571428 | Take profit: 2026.0135982142856 +2025-03-10 13:17:58,614 - INFO - CLOSED short at 2058.39 | PnL: -0.07% | $-0.34 +2025-03-10 13:17:58,614 - INFO - OPENED LONG at 2058.39 | Stop loss: 2048.0826821428573 | Take profit: 2089.288901785714 +2025-03-10 13:17:58,673 - INFO - CLOSED long at 2061.49 | PnL: 0.15% | $0.10 +2025-03-10 13:17:58,711 - INFO - OPENED SHORT at 2064.61 | Stop loss: 2074.948417857143 | Take profit: 2033.6177982142858 +2025-03-10 13:17:58,786 - INFO - CLOSED short at 2063.01 | PnL: 0.08% | $-0.04 +2025-03-10 13:17:58,786 - INFO - OPENED LONG at 2063.01 | Stop loss: 2052.6795821428573 | Take profit: 2093.9782017857146 +2025-03-10 13:17:58,838 - INFO - CLOSED long at 2060.0 | PnL: -0.15% | $-0.48 +2025-03-10 13:17:58,912 - INFO - OPENED SHORT at 2059.49 | Stop loss: 2069.8028178571426 | Take profit: 2028.5745982142855 +2025-03-10 13:17:58,976 - INFO - CLOSED short at 2058.11 | PnL: 0.07% | $-0.06 +2025-03-10 13:17:58,976 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.8040821428572 | Take profit: 2089.0047017857146 +2025-03-10 13:17:58,999 - INFO - CLOSED long at 2061.79 | PnL: 0.18% | $0.15 +2025-03-10 13:17:58,999 - INFO - OPENED SHORT at 2061.79 | Stop loss: 2072.114317857143 | Take profit: 2030.8400982142857 +2025-03-10 13:17:59,022 - INFO - CLOSED short at 2061.18 | PnL: 0.03% | $-0.14 +2025-03-10 13:17:59,064 - INFO - OPENED LONG at 2065.86 | Stop loss: 2055.515332142857 | Take profit: 2096.870951785714 +2025-03-10 13:17:59,090 - INFO - CLOSED long at 2070.58 | PnL: 0.23% | $0.25 +2025-03-10 13:17:59,143 - INFO - OPENED LONG at 2068.29 | Stop loss: 2057.9331821428573 | Take profit: 2099.337401785714 +2025-03-10 13:17:59,227 - INFO - CLOSED long at 2070.99 | PnL: 0.13% | $0.06 +2025-03-10 13:17:59,227 - INFO - OPENED SHORT at 2070.99 | Stop loss: 2081.3603178571425 | Take profit: 2039.9020982142854 +2025-03-10 13:17:59,285 - INFO - CLOSED short at 2068.65 | PnL: 0.11% | $0.03 +2025-03-10 13:17:59,355 - INFO - OPENED SHORT at 2067.69 | Stop loss: 2078.043817857143 | Take profit: 2036.6515982142857 +2025-03-10 13:17:59,397 - INFO - CLOSED short at 2071.44 | PnL: -0.18% | $-0.55 +2025-03-10 13:17:59,398 - INFO - OPENED LONG at 2071.44 | Stop loss: 2061.0674321428573 | Take profit: 2102.5346517857142 +2025-03-10 13:17:59,499 - INFO - CLOSED long at 2071.38 | PnL: -0.00% | $-0.20 +2025-03-10 13:17:59,499 - INFO - OPENED SHORT at 2071.38 | Stop loss: 2081.752267857143 | Take profit: 2040.2862482142857 +2025-03-10 13:17:59,553 - INFO - CLOSED short at 2069.37 | PnL: 0.10% | $-0.01 +2025-03-10 13:17:59,554 - INFO - OPENED LONG at 2069.37 | Stop loss: 2059.007782142857 | Take profit: 2100.4336017857145 +2025-03-10 13:17:59,615 - INFO - CLOSED long at 2072.8 | PnL: 0.17% | $0.13 +2025-03-10 13:17:59,616 - INFO - OPENED SHORT at 2072.8 | Stop loss: 2083.179367857143 | Take profit: 2041.684948214286 +2025-03-10 13:17:59,677 - INFO - CLOSED short at 2070.28 | PnL: 0.12% | $0.04 +2025-03-10 13:17:59,708 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.3754678571427 | Take profit: 2036.9766482142857 +2025-03-10 13:17:59,733 - INFO - CLOSED short at 2067.2 | PnL: 0.04% | $-0.12 +2025-03-10 13:17:59,756 - INFO - OPENED SHORT at 2070.36 | Stop loss: 2080.7271678571433 | Take profit: 2039.2815482142857 +2025-03-10 13:17:59,774 - INFO - CLOSED short at 2068.9 | PnL: 0.07% | $-0.06 +2025-03-10 13:17:59,775 - INFO - OPENED LONG at 2068.9 | Stop loss: 2058.540132142857 | Take profit: 2099.9565517857145 +2025-03-10 13:17:59,795 - INFO - CLOSED long at 2070.7 | PnL: 0.09% | $-0.03 +2025-03-10 13:17:59,795 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.068867857143 | Take profit: 2039.6164482142856 +2025-03-10 13:17:59,814 - INFO - CLOSED short at 2069.34 | PnL: 0.07% | $-0.07 +2025-03-10 13:17:59,815 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.9779321428573 | Take profit: 2100.4031517857143 +2025-03-10 13:17:59,855 - INFO - CLOSED long at 2068.8 | PnL: -0.03% | $-0.24 +2025-03-10 13:17:59,896 - INFO - OPENED SHORT at 2067.51 | Stop loss: 2077.862917857143 | Take profit: 2036.474298214286 +2025-03-10 13:17:59,966 - INFO - CLOSED short at 2065.99 | PnL: 0.07% | $-0.05 +2025-03-10 13:18:00,046 - INFO - OPENED SHORT at 2066.29 | Stop loss: 2076.636817857143 | Take profit: 2035.2725982142856 +2025-03-10 13:18:00,085 - INFO - CLOSED short at 2065.08 | PnL: 0.06% | $-0.08 +2025-03-10 13:18:00,197 - INFO - OPENED SHORT at 2068.59 | Stop loss: 2078.948317857143 | Take profit: 2037.5380982142858 +2025-03-10 13:18:00,240 - INFO - CLOSED short at 2070.4 | PnL: -0.09% | $-0.36 +2025-03-10 13:18:00,240 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.032632142857 | Take profit: 2101.4790517857145 +2025-03-10 13:18:00,352 - INFO - CLOSED long at 2072.75 | PnL: 0.11% | $0.03 +2025-03-10 13:18:00,382 - INFO - OPENED LONG at 2073.11 | Stop loss: 2062.7290821428574 | Take profit: 2104.2297017857145 +2025-03-10 13:18:00,500 - INFO - CLOSED long at 2073.9 | PnL: 0.04% | $-0.12 +2025-03-10 13:18:00,547 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.032632142857 | Take profit: 2101.4790517857145 +2025-03-10 13:18:00,584 - INFO - CLOSED long at 2069.46 | PnL: -0.05% | $-0.28 +2025-03-10 13:18:00,584 - INFO - OPENED SHORT at 2069.46 | Stop loss: 2079.822667857143 | Take profit: 2038.395048214286 +2025-03-10 13:18:00,647 - INFO - CLOSED short at 2067.0 | PnL: 0.12% | $0.04 +2025-03-10 13:18:00,664 - INFO - OPENED SHORT at 2067.79 | Stop loss: 2078.1443178571426 | Take profit: 2036.7500982142856 +2025-03-10 13:18:00,704 - INFO - CLOSED short at 2066.8 | PnL: 0.05% | $-0.10 +2025-03-10 13:18:00,747 - INFO - OPENED SHORT at 2063.61 | Stop loss: 2073.943417857143 | Take profit: 2032.632798214286 +2025-03-10 13:18:00,877 - INFO - CLOSED short at 2069.34 | PnL: -0.28% | $-0.72 +2025-03-10 13:18:00,994 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.331132142857 | Take profit: 2101.7835517857143 +2025-03-10 13:18:01,070 - INFO - CLOSED long at 2068.69 | PnL: -0.10% | $-0.37 +2025-03-10 13:18:01,070 - INFO - OPENED SHORT at 2068.69 | Stop loss: 2079.0488178571427 | Take profit: 2037.6365982142859 +2025-03-10 13:18:01,192 - INFO - CLOSED short at 2065.28 | PnL: 0.16% | $0.12 +2025-03-10 13:18:01,221 - INFO - OPENED SHORT at 2066.39 | Stop loss: 2076.7373178571424 | Take profit: 2035.3710982142857 +2025-03-10 13:18:01,250 - INFO - CLOSED short at 2064.47 | PnL: 0.09% | $-0.01 +2025-03-10 13:18:01,250 - INFO - OPENED LONG at 2064.47 | Stop loss: 2054.132282142857 | Take profit: 2095.460101785714 +2025-03-10 13:18:01,305 - INFO - CLOSED long at 2067.8 | PnL: 0.16% | $0.12 +2025-03-10 13:18:01,305 - INFO - OPENED SHORT at 2067.8 | Stop loss: 2078.1543678571434 | Take profit: 2036.759948214286 +2025-03-10 13:18:01,363 - INFO - CLOSED short at 2067.88 | PnL: -0.00% | $-0.20 +2025-03-10 13:18:01,363 - INFO - OPENED LONG at 2067.88 | Stop loss: 2057.525232142857 | Take profit: 2098.9212517857145 +2025-03-10 13:18:01,393 - INFO - CLOSED long at 2064.99 | PnL: -0.14% | $-0.45 +2025-03-10 13:18:01,393 - INFO - OPENED SHORT at 2064.99 | Stop loss: 2075.3303178571427 | Take profit: 2033.9920982142855 +2025-03-10 13:18:01,411 - INFO - CLOSED short at 2065.83 | PnL: -0.04% | $-0.26 +2025-03-10 13:18:01,432 - INFO - OPENED LONG at 2066.15 | Stop loss: 2055.803882142857 | Take profit: 2097.1653017857147 +2025-03-10 13:18:01,452 - INFO - CLOSED long at 2065.26 | PnL: -0.04% | $-0.27 +2025-03-10 13:18:01,453 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.601667857143 | Take profit: 2034.258048214286 +2025-03-10 13:18:01,515 - INFO - CLOSED short at 2061.78 | PnL: 0.17% | $0.13 +2025-03-10 13:18:01,515 - INFO - OPENED LONG at 2061.78 | Stop loss: 2051.4557321428574 | Take profit: 2092.7297517857146 +2025-03-10 13:18:01,590 - INFO - CLOSED long at 2063.59 | PnL: 0.09% | $-0.02 +2025-03-10 13:18:01,709 - INFO - OPENED SHORT at 2065.54 | Stop loss: 2075.8830678571426 | Take profit: 2034.5338482142859 +2025-03-10 13:18:01,731 - INFO - CLOSED short at 2066.09 | PnL: -0.03% | $-0.24 +2025-03-10 13:18:01,751 - INFO - OPENED LONG at 2064.45 | Stop loss: 2054.112382142857 | Take profit: 2095.439801785714 +2025-03-10 13:18:01,769 - INFO - CLOSED long at 2064.08 | PnL: -0.02% | $-0.22 +2025-03-10 13:18:01,810 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560182142857 | Take profit: 2093.8564017857143 +2025-03-10 13:18:01,882 - INFO - CLOSED long at 2060.9 | PnL: -0.10% | $-0.37 +2025-03-10 13:18:01,882 - INFO - OPENED SHORT at 2060.9 | Stop loss: 2071.219867857143 | Take profit: 2029.9634482142858 +2025-03-10 13:18:01,920 - INFO - CLOSED short at 2058.89 | PnL: 0.10% | $-0.00 +2025-03-10 13:18:01,920 - INFO - OPENED LONG at 2058.89 | Stop loss: 2048.580182142857 | Take profit: 2089.7964017857144 +2025-03-10 13:18:01,940 - INFO - CLOSED long at 2059.3 | PnL: 0.02% | $-0.15 +2025-03-10 13:18:01,993 - INFO - OPENED SHORT at 2061.8 | Stop loss: 2072.1243678571427 | Take profit: 2030.8499482142859 +2025-03-10 13:18:02,026 - INFO - CLOSED short at 2064.7 | PnL: -0.14% | $-0.45 +2025-03-10 13:18:02,026 - INFO - OPENED LONG at 2064.7 | Stop loss: 2054.361132142857 | Take profit: 2095.693551785714 +2025-03-10 13:18:02,056 - INFO - CLOSED long at 2062.61 | PnL: -0.10% | $-0.37 +2025-03-10 13:18:02,119 - INFO - OPENED SHORT at 2060.3 | Stop loss: 2070.616867857143 | Take profit: 2029.372448214286 +2025-03-10 13:18:02,185 - INFO - CLOSED short at 2064.1 | PnL: -0.18% | $-0.52 +2025-03-10 13:18:02,210 - INFO - OPENED LONG at 2065.36 | Stop loss: 2055.0178321428575 | Take profit: 2096.3634517857145 +2025-03-10 13:18:02,227 - INFO - CLOSED long at 2064.33 | PnL: -0.05% | $-0.27 +2025-03-10 13:18:02,227 - INFO - OPENED SHORT at 2064.33 | Stop loss: 2074.6670178571426 | Take profit: 2033.3419982142857 +2025-03-10 13:18:02,287 - INFO - CLOSED short at 2065.89 | PnL: -0.08% | $-0.32 +2025-03-10 13:18:02,287 - INFO - OPENED LONG at 2065.89 | Stop loss: 2055.545182142857 | Take profit: 2096.9014017857144 +2025-03-10 13:18:02,327 - INFO - CLOSED long at 2063.0 | PnL: -0.14% | $-0.43 +2025-03-10 13:18:02,327 - INFO - OPENED SHORT at 2063.0 | Stop loss: 2073.330367857143 | Take profit: 2032.0319482142856 +2025-03-10 13:18:02,356 - INFO - CLOSED short at 2062.6 | PnL: 0.02% | $-0.15 +2025-03-10 13:18:02,396 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.565182142857 | Take profit: 2092.841401785714 +2025-03-10 13:18:02,454 - INFO - CLOSED long at 2060.7 | PnL: -0.06% | $-0.28 +2025-03-10 13:18:02,454 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.0188678571426 | Take profit: 2029.7664482142854 +2025-03-10 13:18:02,641 - INFO - CLOSED short at 2059.46 | PnL: 0.06% | $-0.07 +2025-03-10 13:18:02,668 - INFO - OPENED LONG at 2057.4 | Stop loss: 2047.0976321428573 | Take profit: 2088.2840517857144 +2025-03-10 13:18:02,873 - INFO - CLOSED long at 2059.8 | PnL: 0.12% | $0.03 +2025-03-10 13:18:02,874 - INFO - OPENED SHORT at 2059.8 | Stop loss: 2070.1143678571434 | Take profit: 2028.8799482142858 +2025-03-10 13:18:02,945 - INFO - CLOSED short at 2061.5 | PnL: -0.08% | $-0.33 +2025-03-10 13:18:02,967 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.276632142857 | Take profit: 2092.5470517857143 +2025-03-10 13:18:02,998 - INFO - CLOSED long at 2061.3 | PnL: -0.01% | $-0.20 +2025-03-10 13:18:03,020 - INFO - OPENED LONG at 2062.69 | Stop loss: 2052.361182142857 | Take profit: 2093.6534017857143 +2025-03-10 13:18:03,083 - INFO - CLOSED long at 2066.01 | PnL: 0.16% | $0.11 +2025-03-10 13:18:03,102 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.5651321428572 | Take profit: 2094.8815517857142 +2025-03-10 13:18:03,126 - INFO - CLOSED long at 2064.49 | PnL: 0.03% | $-0.13 +2025-03-10 13:18:03,127 - INFO - OPENED SHORT at 2064.49 | Stop loss: 2074.8278178571427 | Take profit: 2033.4995982142855 +2025-03-10 13:18:03,157 - INFO - CLOSED short at 2066.33 | PnL: -0.09% | $-0.34 +2025-03-10 13:18:03,157 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.982982142857 | Take profit: 2097.348001785714 +2025-03-10 13:18:03,341 - INFO - CLOSED long at 2072.0 | PnL: 0.27% | $0.31 +2025-03-10 13:18:03,486 - INFO - OPENED LONG at 2071.6 | Stop loss: 2061.226632142857 | Take profit: 2102.697051785714 +2025-03-10 13:18:03,503 - INFO - CLOSED long at 2073.23 | PnL: 0.08% | $-0.04 +2025-03-10 13:18:03,503 - INFO - OPENED SHORT at 2073.23 | Stop loss: 2083.611517857143 | Take profit: 2042.1084982142859 +2025-03-10 13:18:03,529 - INFO - CLOSED short at 2070.0 | PnL: 0.16% | $0.10 +2025-03-10 13:18:03,530 - INFO - OPENED LONG at 2070.0 | Stop loss: 2059.634632142857 | Take profit: 2101.0730517857146 +2025-03-10 13:18:03,688 - INFO - CLOSED long at 2067.44 | PnL: -0.12% | $-0.40 +2025-03-10 13:18:03,689 - INFO - OPENED SHORT at 2067.44 | Stop loss: 2077.792567857143 | Take profit: 2036.4053482142858 +2025-03-10 13:18:03,723 - INFO - CLOSED short at 2068.79 | PnL: -0.07% | $-0.29 +2025-03-10 13:18:03,746 - INFO - OPENED SHORT at 2072.99 | Stop loss: 2083.3703178571427 | Take profit: 2041.8720982142854 +2025-03-10 13:18:03,766 - INFO - CLOSED short at 2071.49 | PnL: 0.07% | $-0.05 +2025-03-10 13:18:03,842 - INFO - OPENED SHORT at 2065.7 | Stop loss: 2076.0438678571427 | Take profit: 2034.6914482142856 +2025-03-10 13:18:03,901 - INFO - CLOSED short at 2063.97 | PnL: 0.08% | $-0.03 +2025-03-10 13:18:03,901 - INFO - OPENED LONG at 2063.97 | Stop loss: 2053.6347821428567 | Take profit: 2094.9526017857143 +2025-03-10 13:18:03,921 - INFO - CLOSED long at 2064.5 | PnL: 0.03% | $-0.13 +2025-03-10 13:18:03,921 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.8378678571426 | Take profit: 2033.5094482142858 +2025-03-10 13:18:04,081 - INFO - CLOSED short at 2065.29 | PnL: -0.04% | $-0.24 +2025-03-10 13:18:04,081 - INFO - OPENED LONG at 2065.29 | Stop loss: 2054.948182142857 | Take profit: 2096.2924017857144 +2025-03-10 13:18:04,115 - INFO - CLOSED long at 2065.31 | PnL: 0.00% | $-0.17 +2025-03-10 13:18:04,115 - INFO - OPENED SHORT at 2065.31 | Stop loss: 2075.6519178571425 | Take profit: 2034.3072982142855 +2025-03-10 13:18:04,169 - INFO - CLOSED short at 2068.59 | PnL: -0.16% | $-0.46 +2025-03-10 13:18:04,213 - INFO - OPENED LONG at 2070.2 | Stop loss: 2059.833632142857 | Take profit: 2101.276051785714 +2025-03-10 13:18:04,256 - INFO - CLOSED long at 2070.9 | PnL: 0.03% | $-0.12 +2025-03-10 13:18:04,256 - INFO - OPENED SHORT at 2070.9 | Stop loss: 2081.269867857143 | Take profit: 2039.8134482142857 +2025-03-10 13:18:04,386 - INFO - CLOSED short at 2070.61 | PnL: 0.01% | $-0.15 +2025-03-10 13:18:04,387 - INFO - OPENED LONG at 2070.61 | Stop loss: 2060.241582142857 | Take profit: 2101.692201785714 +2025-03-10 13:18:04,494 - INFO - CLOSED long at 2068.67 | PnL: -0.09% | $-0.34 +2025-03-10 13:18:04,586 - INFO - OPENED LONG at 2074.37 | Stop loss: 2063.982782142857 | Take profit: 2105.508601785714 +2025-03-10 13:18:04,636 - INFO - CLOSED long at 2073.27 | PnL: -0.05% | $-0.27 +2025-03-10 13:18:04,636 - INFO - OPENED SHORT at 2073.27 | Stop loss: 2083.651717857143 | Take profit: 2042.1478982142858 +2025-03-10 13:18:04,662 - INFO - CLOSED short at 2073.99 | PnL: -0.03% | $-0.23 +2025-03-10 13:18:04,732 - INFO - OPENED LONG at 2075.61 | Stop loss: 2065.216582142857 | Take profit: 2106.7672017857144 +2025-03-10 13:18:04,750 - INFO - CLOSED long at 2074.0 | PnL: -0.08% | $-0.31 +2025-03-10 13:18:04,750 - INFO - OPENED SHORT at 2074.0 | Stop loss: 2084.3853678571427 | Take profit: 2042.8669482142857 +2025-03-10 13:18:04,826 - INFO - CLOSED short at 2067.0 | PnL: 0.34% | $0.41 +2025-03-10 13:18:04,826 - INFO - OPENED LONG at 2067.0 | Stop loss: 2056.649632142857 | Take profit: 2098.0280517857145 +2025-03-10 13:18:04,865 - INFO - CLOSED long at 2066.4 | PnL: -0.03% | $-0.22 +2025-03-10 13:18:04,866 - INFO - OPENED SHORT at 2066.4 | Stop loss: 2076.7473678571428 | Take profit: 2035.3809482142858 +2025-03-10 13:18:04,887 - INFO - CLOSED short at 2066.89 | PnL: -0.02% | $-0.21 +2025-03-10 13:18:05,175 - INFO - OPENED SHORT at 2066.1 | Stop loss: 2076.4458678571427 | Take profit: 2035.0854482142856 +2025-03-10 13:18:05,202 - INFO - CLOSED short at 2065.06 | PnL: 0.05% | $-0.09 +2025-03-10 13:18:05,220 - INFO - OPENED SHORT at 2064.11 | Stop loss: 2074.445917857143 | Take profit: 2033.1252982142857 +2025-03-10 13:18:05,286 - INFO - CLOSED short at 2063.01 | PnL: 0.05% | $-0.08 +2025-03-10 13:18:05,286 - INFO - OPENED LONG at 2063.01 | Stop loss: 2052.6795821428573 | Take profit: 2093.9782017857146 +2025-03-10 13:18:05,302 - INFO - CLOSED long at 2060.7 | PnL: -0.11% | $-0.36 +2025-03-10 13:18:05,302 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.0188678571426 | Take profit: 2029.7664482142854 +2025-03-10 13:18:05,330 - INFO - CLOSED short at 2060.2 | PnL: 0.02% | $-0.13 +2025-03-10 13:18:05,330 - INFO - OPENED LONG at 2060.2 | Stop loss: 2049.883632142857 | Take profit: 2091.126051785714 +2025-03-10 13:18:05,394 - INFO - CLOSED long at 2058.65 | PnL: -0.08% | $-0.30 +2025-03-10 13:18:05,394 - INFO - OPENED SHORT at 2058.65 | Stop loss: 2068.958617857143 | Take profit: 2027.7471982142856 +2025-03-10 13:18:05,455 - INFO - CLOSED short at 2049.21 | PnL: 0.46% | $0.61 +2025-03-10 13:18:05,455 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.948582142857 | Take profit: 2079.971201785714 +2025-03-10 13:18:05,504 - INFO - CLOSED long at 2051.99 | PnL: 0.14% | $0.06 +2025-03-10 13:18:05,504 - INFO - OPENED SHORT at 2051.99 | Stop loss: 2062.2653178571427 | Take profit: 2021.1870982142855 +2025-03-10 13:18:05,566 - INFO - CLOSED short at 2057.11 | PnL: -0.25% | $-0.60 +2025-03-10 13:18:05,566 - INFO - OPENED LONG at 2057.11 | Stop loss: 2046.8090821428573 | Take profit: 2087.9897017857147 +2025-03-10 13:18:05,603 - INFO - CLOSED long at 2062.83 | PnL: 0.28% | $0.30 +2025-03-10 13:18:05,603 - INFO - OPENED SHORT at 2062.83 | Stop loss: 2073.159517857143 | Take profit: 2031.8644982142857 +2025-03-10 13:18:05,665 - INFO - CLOSED short at 2062.43 | PnL: 0.02% | $-0.14 +2025-03-10 13:18:05,666 - INFO - OPENED LONG at 2062.43 | Stop loss: 2052.102482142857 | Take profit: 2093.389501785714 +2025-03-10 13:18:05,758 - INFO - CLOSED long at 2066.59 | PnL: 0.20% | $0.17 +2025-03-10 13:18:05,758 - INFO - OPENED SHORT at 2066.59 | Stop loss: 2076.938317857143 | Take profit: 2035.5680982142858 +2025-03-10 13:18:05,832 - INFO - CLOSED short at 2060.7 | PnL: 0.29% | $0.32 +2025-03-10 13:18:05,903 - INFO - OPENED LONG at 2070.31 | Stop loss: 2059.943082142857 | Take profit: 2101.3877017857144 +2025-03-10 13:18:06,009 - INFO - CLOSED long at 2074.05 | PnL: 0.18% | $0.14 +2025-03-10 13:18:06,065 - INFO - OPENED SHORT at 2071.8 | Stop loss: 2082.174367857143 | Take profit: 2040.699948214286 +2025-03-10 13:18:06,101 - INFO - CLOSED short at 2076.08 | PnL: -0.21% | $-0.53 +2025-03-10 13:18:06,228 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.253067857143 | Take profit: 2107.4238482142855 +2025-03-10 13:18:06,251 - INFO - CLOSED short at 2131.78 | PnL: 0.36% | $0.45 +2025-03-10 13:18:06,252 - INFO - OPENED LONG at 2131.78 | Stop loss: 2121.1057321428575 | Take profit: 2163.779751785715 +2025-03-10 13:18:06,312 - INFO - CLOSED long at 2137.59 | PnL: 0.27% | $0.30 +2025-03-10 13:18:06,342 - INFO - OPENED LONG at 2141.41 | Stop loss: 2130.687582142857 | Take profit: 2173.554201785714 +2025-03-10 13:18:06,398 - INFO - CLOSED long at 2142.68 | PnL: 0.06% | $-0.07 +2025-03-10 13:18:06,403 - INFO - OPENED SHORT at 2142.68 | Stop loss: 2153.4087678571427 | Take profit: 2110.5167482142856 +2025-03-10 13:18:06,464 - INFO - CLOSED short at 2134.78 | PnL: 0.37% | $0.46 +2025-03-10 13:18:06,464 - INFO - OPENED LONG at 2134.78 | Stop loss: 2124.090732142857 | Take profit: 2166.824751785715 +2025-03-10 13:18:06,567 - INFO - CLOSED long at 2128.69 | PnL: -0.29% | $-0.67 +2025-03-10 13:18:06,567 - INFO - OPENED SHORT at 2128.69 | Stop loss: 2139.348817857143 | Take profit: 2096.7365982142856 +2025-03-10 13:18:06,625 - INFO - CLOSED short at 2120.15 | PnL: 0.40% | $0.52 +2025-03-10 13:18:06,666 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.314982142857 | Take profit: 2151.7520017857137 +2025-03-10 13:18:06,749 - INFO - CLOSED long at 2119.07 | PnL: -0.04% | $-0.24 +2025-03-10 13:18:06,843 - INFO - OPENED SHORT at 2112.09 | Stop loss: 2122.6658178571433 | Take profit: 2080.385598214286 +2025-03-10 13:18:06,862 - INFO - CLOSED short at 2112.95 | PnL: -0.04% | $-0.24 +2025-03-10 13:18:06,882 - INFO - OPENED LONG at 2112.46 | Stop loss: 2101.882332142857 | Take profit: 2144.169951785714 +2025-03-10 13:18:06,916 - INFO - CLOSED long at 2112.99 | PnL: 0.03% | $-0.13 +2025-03-10 13:18:06,916 - INFO - OPENED SHORT at 2112.99 | Stop loss: 2123.570317857143 | Take profit: 2081.2720982142855 +2025-03-10 13:18:06,982 - INFO - CLOSED short at 2114.8 | PnL: -0.09% | $-0.32 +2025-03-10 13:18:06,982 - INFO - OPENED LONG at 2114.8 | Stop loss: 2104.2106321428573 | Take profit: 2146.545051785715 +2025-03-10 13:18:07,085 - INFO - STOP LOSS hit for long at 2104.2106321428573 | PnL: -0.50% | $-1.03 +2025-03-10 13:18:07,132 - INFO - OPENED SHORT at 2099.53 | Stop loss: 2110.043017857143 | Take profit: 2068.013998214286 +2025-03-10 13:18:07,196 - INFO - CLOSED short at 2102.29 | PnL: -0.13% | $-0.39 +2025-03-10 13:18:07,196 - INFO - OPENED LONG at 2102.29 | Stop loss: 2091.763182142857 | Take profit: 2133.8474017857143 +2025-03-10 13:18:07,215 - INFO - CLOSED long at 2099.25 | PnL: -0.14% | $-0.41 +2025-03-10 13:18:07,216 - INFO - OPENED SHORT at 2099.25 | Stop loss: 2109.761617857143 | Take profit: 2067.7381982142856 +2025-03-10 13:18:07,329 - INFO - CLOSED short at 2100.74 | PnL: -0.07% | $-0.29 +2025-03-10 13:18:07,329 - INFO - OPENED LONG at 2100.74 | Stop loss: 2090.2209321428572 | Take profit: 2132.2741517857144 +2025-03-10 13:18:07,403 - INFO - CLOSED long at 2101.51 | PnL: 0.04% | $-0.11 +2025-03-10 13:18:07,403 - INFO - OPENED SHORT at 2101.51 | Stop loss: 2112.0329178571433 | Take profit: 2069.964298214286 +2025-03-10 13:18:07,472 - INFO - CLOSED short at 2098.39 | PnL: 0.15% | $0.08 +2025-03-10 13:18:07,662 - INFO - OPENED SHORT at 2088.44 | Stop loss: 2098.8975678571433 | Take profit: 2057.0903482142858 +2025-03-10 13:18:07,701 - INFO - CLOSED short at 2085.3 | PnL: 0.15% | $0.08 +2025-03-10 13:18:07,745 - INFO - OPENED LONG at 2080.38 | Stop loss: 2069.962732142857 | Take profit: 2111.6087517857145 +2025-03-10 13:18:07,788 - INFO - CLOSED long at 2083.41 | PnL: 0.15% | $0.08 +2025-03-10 13:18:07,789 - INFO - OPENED SHORT at 2083.41 | Stop loss: 2093.8424178571427 | Take profit: 2052.1357982142854 +2025-03-10 13:18:07,940 - INFO - CLOSED short at 2088.66 | PnL: -0.25% | $-0.59 +2025-03-10 13:18:07,940 - INFO - OPENED LONG at 2088.66 | Stop loss: 2078.201332142857 | Take profit: 2120.012951785714 +2025-03-10 13:18:08,016 - INFO - CLOSED long at 2089.96 | PnL: 0.06% | $-0.06 +2025-03-10 13:18:08,016 - INFO - OPENED SHORT at 2089.96 | Stop loss: 2100.425167857143 | Take profit: 2058.5875482142856 +2025-03-10 13:18:08,201 - INFO - CLOSED short at 2085.67 | PnL: 0.21% | $0.17 +2025-03-10 13:18:08,264 - INFO - OPENED SHORT at 2091.05 | Stop loss: 2101.520617857143 | Take profit: 2059.661198214286 +2025-03-10 13:18:08,328 - INFO - CLOSED short at 2091.95 | PnL: -0.04% | $-0.24 +2025-03-10 13:18:08,329 - INFO - OPENED LONG at 2091.95 | Stop loss: 2081.474882142857 | Take profit: 2123.352301785714 +2025-03-10 13:18:08,412 - INFO - CLOSED long at 2101.64 | PnL: 0.46% | $0.60 +2025-03-10 13:18:08,412 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.163567857143 | Take profit: 2070.0923482142857 +2025-03-10 13:18:08,430 - INFO - CLOSED short at 2097.11 | PnL: 0.22% | $0.19 +2025-03-10 13:18:08,450 - INFO - OPENED LONG at 2098.49 | Stop loss: 2087.982182142857 | Take profit: 2129.9904017857143 +2025-03-10 13:18:08,493 - INFO - CLOSED long at 2100.89 | PnL: 0.11% | $0.02 +2025-03-10 13:18:08,493 - INFO - OPENED SHORT at 2100.89 | Stop loss: 2111.4098178571426 | Take profit: 2069.3535982142857 +2025-03-10 13:18:08,665 - INFO - CLOSED short at 2103.07 | PnL: -0.10% | $-0.34 +2025-03-10 13:18:08,784 - INFO - OPENED SHORT at 2103.52 | Stop loss: 2114.052967857143 | Take profit: 2071.9441482142856 +2025-03-10 13:18:08,823 - INFO - CLOSED short at 2105.21 | PnL: -0.08% | $-0.30 +2025-03-10 13:18:08,823 - INFO - OPENED LONG at 2105.21 | Stop loss: 2094.6685821428573 | Take profit: 2136.8112017857143 +2025-03-10 13:18:08,834 - INFO - CLOSED long at 2103.9 | PnL: -0.06% | $-0.27 +2025-03-10 13:18:08,834 - INFO - OPENED SHORT at 2103.9 | Stop loss: 2114.4348678571428 | Take profit: 2072.3184482142856 +2025-03-10 13:18:08,855 - INFO - CLOSED short at 2100.0 | PnL: 0.19% | $0.14 +2025-03-10 13:18:08,855 - INFO - OPENED LONG at 2100.0 | Stop loss: 2089.484632142857 | Take profit: 2131.523051785714 +2025-03-10 13:18:08,877 - INFO - CLOSED long at 2102.7 | PnL: 0.13% | $0.05 +2025-03-10 13:18:08,917 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.942417857143 | Take profit: 2071.8357982142857 +2025-03-10 13:18:08,946 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.19, Avg Loss=$-0.26 +2025-03-10 13:18:08,947 - INFO - Episode 3: Reward=-71.47, Balance=$83.51, Win Rate=28.3%, Trades=127, Episode PnL=$-10.79, Total PnL=$-82.68, Max Drawdown=16.5%, Pred Accuracy=98.8% +2025-03-10 13:18:08,947 - ERROR - Error in episode 3: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:18:08,948 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1831, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:18:08,975 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:18:09,305 - INFO - OPENED SHORT at 2047.59 | Stop loss: 2057.8433178571427 | Take profit: 2016.8530982142856 +2025-03-10 13:18:09,485 - INFO - CLOSED short at 2051.89 | PnL: -0.21% | $-0.62 +2025-03-10 13:18:09,591 - INFO - OPENED SHORT at 2056.89 | Stop loss: 2067.1898178571428 | Take profit: 2026.0135982142856 +2025-03-10 13:18:09,638 - INFO - CLOSED short at 2060.13 | PnL: -0.16% | $-0.51 +2025-03-10 13:18:09,639 - INFO - OPENED LONG at 2060.13 | Stop loss: 2049.813982142857 | Take profit: 2091.0550017857145 +2025-03-10 13:18:09,663 - INFO - CLOSED long at 2059.7 | PnL: -0.02% | $-0.24 +2025-03-10 13:18:09,688 - INFO - OPENED LONG at 2061.49 | Stop loss: 2051.1671821428567 | Take profit: 2092.435401785714 +2025-03-10 13:18:09,714 - INFO - CLOSED long at 2063.29 | PnL: 0.09% | $-0.02 +2025-03-10 13:18:09,714 - INFO - OPENED SHORT at 2063.29 | Stop loss: 2073.621817857143 | Take profit: 2032.3175982142857 +2025-03-10 13:18:09,862 - INFO - CLOSED short at 2060.99 | PnL: 0.11% | $0.02 +2025-03-10 13:18:09,890 - INFO - OPENED SHORT at 2058.3 | Stop loss: 2068.6068678571432 | Take profit: 2027.4024482142859 +2025-03-10 13:18:09,915 - INFO - CLOSED short at 2060.0 | PnL: -0.08% | $-0.36 +2025-03-10 13:18:10,071 - INFO - OPENED SHORT at 2057.89 | Stop loss: 2068.194817857143 | Take profit: 2026.9985982142855 +2025-03-10 13:18:10,126 - INFO - CLOSED short at 2058.11 | PnL: -0.01% | $-0.22 +2025-03-10 13:18:10,127 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.8040821428572 | Take profit: 2089.0047017857146 +2025-03-10 13:18:10,368 - INFO - CLOSED long at 2071.63 | PnL: 0.66% | $1.08 +2025-03-10 13:18:10,369 - INFO - OPENED SHORT at 2071.63 | Stop loss: 2082.003517857143 | Take profit: 2040.5324982142859 +2025-03-10 13:18:10,445 - INFO - CLOSED short at 2069.6 | PnL: 0.10% | $-0.00 +2025-03-10 13:18:10,445 - INFO - OPENED LONG at 2069.6 | Stop loss: 2059.236632142857 | Take profit: 2100.667051785714 +2025-03-10 13:18:10,484 - INFO - CLOSED long at 2068.65 | PnL: -0.05% | $-0.29 +2025-03-10 13:18:10,485 - INFO - OPENED SHORT at 2068.65 | Stop loss: 2079.008617857143 | Take profit: 2037.5971982142858 +2025-03-10 13:18:10,523 - INFO - CLOSED short at 2068.99 | PnL: -0.02% | $-0.23 +2025-03-10 13:18:10,523 - INFO - OPENED LONG at 2068.99 | Stop loss: 2058.629682142857 | Take profit: 2100.047901785714 +2025-03-10 13:18:10,543 - INFO - CLOSED long at 2067.9 | PnL: -0.05% | $-0.30 +2025-03-10 13:18:10,544 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.254867857143 | Take profit: 2036.858448214286 +2025-03-10 13:18:10,643 - INFO - CLOSED short at 2073.73 | PnL: -0.28% | $-0.75 +2025-03-10 13:18:10,687 - INFO - OPENED LONG at 2072.91 | Stop loss: 2062.530082142857 | Take profit: 2104.026701785714 +2025-03-10 13:18:10,770 - INFO - CLOSED long at 2071.41 | PnL: -0.07% | $-0.33 +2025-03-10 13:18:10,773 - INFO - OPENED SHORT at 2071.41 | Stop loss: 2081.7824178571427 | Take profit: 2040.3157982142855 +2025-03-10 13:18:10,812 - INFO - CLOSED short at 2069.37 | PnL: 0.10% | $-0.00 +2025-03-10 13:18:10,812 - INFO - OPENED LONG at 2069.37 | Stop loss: 2059.007782142857 | Take profit: 2100.4336017857145 +2025-03-10 13:18:10,889 - INFO - CLOSED long at 2072.8 | PnL: 0.17% | $0.13 +2025-03-10 13:18:10,921 - INFO - OPENED SHORT at 2070.79 | Stop loss: 2081.1593178571425 | Take profit: 2039.7050982142857 +2025-03-10 13:18:10,944 - INFO - CLOSED short at 2070.28 | PnL: 0.02% | $-0.15 +2025-03-10 13:18:10,944 - INFO - OPENED LONG at 2070.28 | Stop loss: 2059.9132321428574 | Take profit: 2101.3572517857147 +2025-03-10 13:18:10,961 - INFO - CLOSED long at 2068.02 | PnL: -0.11% | $-0.40 +2025-03-10 13:18:10,961 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.3754678571427 | Take profit: 2036.9766482142857 +2025-03-10 13:18:11,215 - INFO - CLOSED short at 2067.51 | PnL: 0.02% | $-0.14 +2025-03-10 13:18:11,249 - INFO - OPENED SHORT at 2069.01 | Stop loss: 2079.370417857143 | Take profit: 2037.951798214286 +2025-03-10 13:18:11,284 - INFO - CLOSED short at 2066.39 | PnL: 0.13% | $0.05 +2025-03-10 13:18:11,285 - INFO - OPENED LONG at 2066.39 | Stop loss: 2056.042682142857 | Take profit: 2097.408901785714 +2025-03-10 13:18:11,315 - INFO - CLOSED long at 2065.99 | PnL: -0.02% | $-0.23 +2025-03-10 13:18:11,336 - INFO - OPENED SHORT at 2066.19 | Stop loss: 2076.536317857143 | Take profit: 2035.1740982142856 +2025-03-10 13:18:11,424 - INFO - CLOSED short at 2068.76 | PnL: -0.12% | $-0.43 +2025-03-10 13:18:11,443 - INFO - OPENED LONG at 2068.9 | Stop loss: 2058.540132142857 | Take profit: 2099.9565517857145 +2025-03-10 13:18:11,464 - INFO - CLOSED long at 2068.51 | PnL: -0.02% | $-0.23 +2025-03-10 13:18:11,465 - INFO - OPENED SHORT at 2068.51 | Stop loss: 2078.8679178571433 | Take profit: 2037.4592982142858 +2025-03-10 13:18:11,489 - INFO - CLOSED short at 2068.59 | PnL: -0.00% | $-0.20 +2025-03-10 13:18:11,489 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.231682142857 | Take profit: 2099.6419017857143 +2025-03-10 13:18:11,594 - INFO - CLOSED long at 2071.4 | PnL: 0.14% | $0.07 +2025-03-10 13:18:11,594 - INFO - OPENED SHORT at 2071.4 | Stop loss: 2081.7723678571433 | Take profit: 2040.305948214286 +2025-03-10 13:18:11,719 - INFO - CLOSED short at 2073.11 | PnL: -0.08% | $-0.35 +2025-03-10 13:18:11,719 - INFO - OPENED LONG at 2073.11 | Stop loss: 2062.7290821428574 | Take profit: 2104.2297017857145 +2025-03-10 13:18:11,738 - INFO - CLOSED long at 2072.7 | PnL: -0.02% | $-0.23 +2025-03-10 13:18:11,739 - INFO - OPENED SHORT at 2072.7 | Stop loss: 2083.0788678571425 | Take profit: 2041.5864482142856 +2025-03-10 13:18:11,803 - INFO - CLOSED short at 2073.9 | PnL: -0.06% | $-0.30 +2025-03-10 13:18:11,874 - INFO - OPENED LONG at 2071.11 | Stop loss: 2060.7390821428576 | Take profit: 2102.1997017857143 +2025-03-10 13:18:11,912 - INFO - CLOSED long at 2069.35 | PnL: -0.08% | $-0.35 +2025-03-10 13:18:11,952 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.350367857143 | Take profit: 2035.9719482142857 +2025-03-10 13:18:11,982 - INFO - CLOSED short at 2067.79 | PnL: -0.04% | $-0.26 +2025-03-10 13:18:12,019 - INFO - OPENED LONG at 2067.46 | Stop loss: 2057.107332142857 | Take profit: 2098.4949517857144 +2025-03-10 13:18:12,046 - INFO - CLOSED long at 2066.8 | PnL: -0.03% | $-0.25 +2025-03-10 13:18:12,142 - INFO - OPENED LONG at 2067.89 | Stop loss: 2057.535182142857 | Take profit: 2098.931401785714 +2025-03-10 13:18:12,308 - INFO - CLOSED long at 2070.7 | PnL: 0.14% | $0.07 +2025-03-10 13:18:12,308 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.068867857143 | Take profit: 2039.6164482142856 +2025-03-10 13:18:12,429 - INFO - CLOSED short at 2067.84 | PnL: 0.14% | $0.07 +2025-03-10 13:18:12,429 - INFO - OPENED LONG at 2067.84 | Stop loss: 2057.4854321428575 | Take profit: 2098.8806517857142 +2025-03-10 13:18:12,457 - INFO - CLOSED long at 2067.11 | PnL: -0.04% | $-0.25 +2025-03-10 13:18:12,457 - INFO - OPENED SHORT at 2067.11 | Stop loss: 2077.460917857143 | Take profit: 2036.0802982142857 +2025-03-10 13:18:12,585 - INFO - CLOSED short at 2064.47 | PnL: 0.13% | $0.05 +2025-03-10 13:18:12,585 - INFO - OPENED LONG at 2064.47 | Stop loss: 2054.132282142857 | Take profit: 2095.460101785714 +2025-03-10 13:18:12,654 - INFO - CLOSED long at 2068.18 | PnL: 0.18% | $0.15 +2025-03-10 13:18:12,694 - INFO - OPENED LONG at 2067.88 | Stop loss: 2057.525232142857 | Take profit: 2098.9212517857145 +2025-03-10 13:18:12,729 - INFO - CLOSED long at 2065.83 | PnL: -0.10% | $-0.37 +2025-03-10 13:18:12,764 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.601667857143 | Take profit: 2034.258048214286 +2025-03-10 13:18:12,834 - INFO - CLOSED short at 2059.59 | PnL: 0.27% | $0.32 +2025-03-10 13:18:12,856 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.621867857143 | Take profit: 2030.357448214286 +2025-03-10 13:18:12,979 - INFO - CLOSED short at 2064.45 | PnL: -0.15% | $-0.47 +2025-03-10 13:18:12,997 - INFO - OPENED LONG at 2064.08 | Stop loss: 2053.744232142857 | Take profit: 2095.064251785714 +2025-03-10 13:18:13,035 - INFO - CLOSED long at 2062.89 | PnL: -0.06% | $-0.29 +2025-03-10 13:18:13,092 - INFO - OPENED SHORT at 2061.6 | Stop loss: 2071.9233678571427 | Take profit: 2030.6529482142857 +2025-03-10 13:18:13,156 - INFO - CLOSED short at 2059.3 | PnL: 0.11% | $0.02 +2025-03-10 13:18:13,265 - INFO - OPENED LONG at 2060.3 | Stop loss: 2049.9831321428574 | Take profit: 2091.2275517857147 +2025-03-10 13:18:13,286 - INFO - CLOSED long at 2061.13 | PnL: 0.04% | $-0.11 +2025-03-10 13:18:13,286 - INFO - OPENED SHORT at 2061.13 | Stop loss: 2071.451017857143 | Take profit: 2030.1899982142859 +2025-03-10 13:18:13,305 - INFO - CLOSED short at 2061.9 | PnL: -0.04% | $-0.25 +2025-03-10 13:18:13,306 - INFO - OPENED LONG at 2061.9 | Stop loss: 2051.5751321428575 | Take profit: 2092.851551785714 +2025-03-10 13:18:13,366 - INFO - CLOSED long at 2064.33 | PnL: 0.12% | $0.03 +2025-03-10 13:18:13,408 - INFO - OPENED SHORT at 2064.79 | Stop loss: 2075.1293178571427 | Take profit: 2033.7950982142856 +2025-03-10 13:18:13,497 - INFO - CLOSED short at 2061.89 | PnL: 0.14% | $0.07 +2025-03-10 13:18:13,549 - INFO - OPENED LONG at 2061.09 | Stop loss: 2050.7691821428575 | Take profit: 2092.0294017857145 +2025-03-10 13:18:13,572 - INFO - CLOSED long at 2059.61 | PnL: -0.07% | $-0.32 +2025-03-10 13:18:13,573 - INFO - OPENED SHORT at 2059.61 | Stop loss: 2069.923417857143 | Take profit: 2028.6927982142859 +2025-03-10 13:18:13,697 - INFO - CLOSED short at 2058.28 | PnL: 0.06% | $-0.07 +2025-03-10 13:18:13,720 - INFO - OPENED LONG at 2056.28 | Stop loss: 2045.9832321428573 | Take profit: 2087.1472517857146 +2025-03-10 13:18:13,900 - INFO - CLOSED long at 2061.3 | PnL: 0.24% | $0.27 +2025-03-10 13:18:13,908 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.621867857143 | Take profit: 2030.357448214286 +2025-03-10 13:18:13,987 - INFO - CLOSED short at 2066.01 | PnL: -0.23% | $-0.61 +2025-03-10 13:18:14,005 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.5651321428572 | Take profit: 2094.8815517857142 +2025-03-10 13:18:14,044 - INFO - CLOSED long at 2066.33 | PnL: 0.12% | $0.03 +2025-03-10 13:18:14,045 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.6770178571423 | Take profit: 2035.3119982142855 +2025-03-10 13:18:14,133 - INFO - CLOSED short at 2065.69 | PnL: 0.03% | $-0.13 +2025-03-10 13:18:14,150 - INFO - OPENED LONG at 2069.79 | Stop loss: 2059.425682142857 | Take profit: 2100.859901785714 +2025-03-10 13:18:14,184 - INFO - CLOSED long at 2074.3 | PnL: 0.22% | $0.22 +2025-03-10 13:18:14,224 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.4004178571427 | Take profit: 2043.861798214286 +2025-03-10 13:18:14,300 - INFO - CLOSED short at 2071.6 | PnL: 0.16% | $0.12 +2025-03-10 13:18:14,300 - INFO - OPENED LONG at 2071.6 | Stop loss: 2061.226632142857 | Take profit: 2102.697051785714 +2025-03-10 13:18:14,378 - INFO - CLOSED long at 2068.39 | PnL: -0.15% | $-0.47 +2025-03-10 13:18:14,436 - INFO - OPENED SHORT at 2067.44 | Stop loss: 2077.792567857143 | Take profit: 2036.4053482142858 +2025-03-10 13:18:14,608 - INFO - CLOSED short at 2063.95 | PnL: 0.17% | $0.13 +2025-03-10 13:18:14,626 - INFO - OPENED SHORT at 2063.97 | Stop loss: 2074.305217857143 | Take profit: 2032.9873982142856 +2025-03-10 13:18:14,666 - INFO - CLOSED short at 2065.3 | PnL: -0.06% | $-0.30 +2025-03-10 13:18:14,710 - INFO - OPENED LONG at 2064.31 | Stop loss: 2053.973082142857 | Take profit: 2095.2977017857143 +2025-03-10 13:18:14,877 - INFO - CLOSED long at 2071.59 | PnL: 0.35% | $0.46 +2025-03-10 13:18:14,878 - INFO - OPENED SHORT at 2071.59 | Stop loss: 2081.963317857143 | Take profit: 2040.493098214286 +2025-03-10 13:18:14,924 - INFO - CLOSED short at 2071.35 | PnL: 0.01% | $-0.16 +2025-03-10 13:18:14,968 - INFO - OPENED SHORT at 2069.69 | Stop loss: 2080.0538178571433 | Take profit: 2038.6215982142858 +2025-03-10 13:18:15,036 - INFO - CLOSED short at 2070.35 | PnL: -0.03% | $-0.24 +2025-03-10 13:18:15,036 - INFO - OPENED LONG at 2070.35 | Stop loss: 2059.9828821428573 | Take profit: 2101.428301785714 +2025-03-10 13:18:15,230 - INFO - CLOSED long at 2074.37 | PnL: 0.19% | $0.17 +2025-03-10 13:18:15,343 - INFO - OPENED LONG at 2075.32 | Stop loss: 2064.9280321428573 | Take profit: 2106.4728517857143 +2025-03-10 13:18:15,361 - INFO - CLOSED long at 2075.29 | PnL: -0.00% | $-0.19 +2025-03-10 13:18:15,362 - INFO - OPENED SHORT at 2075.29 | Stop loss: 2085.6818178571425 | Take profit: 2044.1375982142856 +2025-03-10 13:18:15,381 - INFO - CLOSED short at 2076.9 | PnL: -0.08% | $-0.32 +2025-03-10 13:18:15,399 - INFO - OPENED LONG at 2075.61 | Stop loss: 2065.216582142857 | Take profit: 2106.7672017857144 +2025-03-10 13:18:15,539 - INFO - CLOSED long at 2066.4 | PnL: -0.44% | $-0.99 +2025-03-10 13:18:15,540 - INFO - OPENED SHORT at 2066.4 | Stop loss: 2076.7473678571428 | Take profit: 2035.3809482142858 +2025-03-10 13:18:15,617 - INFO - CLOSED short at 2068.1 | PnL: -0.08% | $-0.33 +2025-03-10 13:18:15,676 - INFO - OPENED LONG at 2070.1 | Stop loss: 2059.734132142857 | Take profit: 2101.1745517857144 +2025-03-10 13:18:15,739 - INFO - CLOSED long at 2065.7 | PnL: -0.21% | $-0.56 +2025-03-10 13:18:15,758 - INFO - OPENED SHORT at 2065.8 | Stop loss: 2076.144367857143 | Take profit: 2034.789948214286 +2025-03-10 13:18:15,892 - INFO - CLOSED short at 2065.06 | PnL: 0.04% | $-0.11 +2025-03-10 13:18:15,892 - INFO - OPENED LONG at 2065.06 | Stop loss: 2054.719332142857 | Take profit: 2096.0589517857143 +2025-03-10 13:18:15,948 - INFO - CLOSED long at 2066.33 | PnL: 0.06% | $-0.07 +2025-03-10 13:18:16,004 - INFO - OPENED LONG at 2060.2 | Stop loss: 2049.883632142857 | Take profit: 2091.126051785714 +2025-03-10 13:18:16,095 - INFO - CLOSED long at 2056.77 | PnL: -0.17% | $-0.47 +2025-03-10 13:18:16,096 - INFO - OPENED SHORT at 2056.77 | Stop loss: 2067.0692178571426 | Take profit: 2025.8953982142857 +2025-03-10 13:18:16,121 - INFO - CLOSED short at 2053.01 | PnL: 0.18% | $0.15 +2025-03-10 13:18:16,184 - INFO - OPENED LONG at 2049.5 | Stop loss: 2039.2371321428573 | Take profit: 2080.2655517857143 +2025-03-10 13:18:16,323 - INFO - CLOSED long at 2057.89 | PnL: 0.41% | $0.55 +2025-03-10 13:18:16,339 - INFO - OPENED LONG at 2062.83 | Stop loss: 2052.500482142857 | Take profit: 2093.7955017857144 +2025-03-10 13:18:16,355 - INFO - CLOSED long at 2063.9 | PnL: 0.05% | $-0.09 +2025-03-10 13:18:16,355 - INFO - OPENED SHORT at 2063.9 | Stop loss: 2074.234867857143 | Take profit: 2032.9184482142857 +2025-03-10 13:18:16,515 - INFO - CLOSED short at 2064.08 | PnL: -0.01% | $-0.19 +2025-03-10 13:18:16,542 - INFO - OPENED SHORT at 2061.21 | Stop loss: 2071.5314178571425 | Take profit: 2030.2687982142857 +2025-03-10 13:18:16,569 - INFO - CLOSED short at 2059.9 | PnL: 0.06% | $-0.06 +2025-03-10 13:18:16,870 - INFO - OPENED SHORT at 2071.89 | Stop loss: 2082.264817857143 | Take profit: 2040.7885982142855 +2025-03-10 13:18:16,925 - INFO - CLOSED short at 2076.08 | PnL: -0.20% | $-0.54 +2025-03-10 13:18:17,053 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.9578178571423 | Take profit: 2059.1095982142856 +2025-03-10 13:18:17,088 - INFO - STOP LOSS hit for short at 2100.9578178571423 | PnL: -0.50% | $-1.06 +2025-03-10 13:18:17,137 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.826932142857 | Take profit: 2171.6561517857144 +2025-03-10 13:18:17,160 - INFO - CLOSED long at 2131.78 | PnL: -0.36% | $-0.81 +2025-03-10 13:18:17,353 - INFO - OPENED LONG at 2126.99 | Stop loss: 2116.339682142857 | Take profit: 2158.917901785714 +2025-03-10 13:18:17,484 - INFO - CLOSED long at 2121.09 | PnL: -0.28% | $-0.65 +2025-03-10 13:18:17,485 - INFO - OPENED SHORT at 2121.09 | Stop loss: 2131.710817857143 | Take profit: 2089.2505982142857 +2025-03-10 13:18:17,588 - INFO - CLOSED short at 2121.4 | PnL: -0.01% | $-0.20 +2025-03-10 13:18:17,644 - INFO - OPENED LONG at 2119.14 | Stop loss: 2108.528932142857 | Take profit: 2150.9501517857143 +2025-03-10 13:18:17,710 - INFO - STOP LOSS hit for long at 2108.528932142857 | PnL: -0.50% | $-1.03 +2025-03-10 13:18:17,735 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.0316321428572 | Take profit: 2142.282051785714 +2025-03-10 13:18:17,769 - INFO - CLOSED long at 2109.05 | PnL: -0.07% | $-0.29 +2025-03-10 13:18:18,022 - INFO - OPENED SHORT at 2110.9 | Stop loss: 2121.469867857143 | Take profit: 2079.2134482142856 +2025-03-10 13:18:18,042 - INFO - CLOSED short at 2108.71 | PnL: 0.10% | $0.01 +2025-03-10 13:18:18,065 - INFO - OPENED LONG at 2106.49 | Stop loss: 2095.942182142857 | Take profit: 2138.1104017857137 +2025-03-10 13:18:18,166 - INFO - STOP LOSS hit for long at 2095.942182142857 | PnL: -0.50% | $-1.01 +2025-03-10 13:18:18,241 - INFO - OPENED SHORT at 2098.1 | Stop loss: 2108.6058678571426 | Take profit: 2066.605448214286 +2025-03-10 13:18:18,285 - INFO - CLOSED short at 2102.19 | PnL: -0.19% | $-0.49 +2025-03-10 13:18:18,286 - INFO - OPENED LONG at 2102.19 | Stop loss: 2091.6636821428574 | Take profit: 2133.7459017857145 +2025-03-10 13:18:18,374 - INFO - CLOSED long at 2098.9 | PnL: -0.16% | $-0.42 +2025-03-10 13:18:18,374 - INFO - OPENED SHORT at 2098.9 | Stop loss: 2109.409867857143 | Take profit: 2067.393448214286 +2025-03-10 13:18:18,398 - INFO - CLOSED short at 2100.69 | PnL: -0.09% | $-0.31 +2025-03-10 13:18:18,398 - INFO - OPENED LONG at 2100.69 | Stop loss: 2090.171182142857 | Take profit: 2132.2234017857145 +2025-03-10 13:18:18,518 - INFO - CLOSED long at 2104.68 | PnL: 0.19% | $0.15 +2025-03-10 13:18:18,814 - INFO - OPENED SHORT at 2094.72 | Stop loss: 2105.2089678571424 | Take profit: 2063.2761482142855 +2025-03-10 13:18:18,904 - INFO - CLOSED short at 2088.44 | PnL: 0.30% | $0.33 +2025-03-10 13:18:18,904 - INFO - OPENED LONG at 2088.44 | Stop loss: 2077.9824321428573 | Take profit: 2119.7896517857143 +2025-03-10 13:18:18,925 - INFO - CLOSED long at 2083.97 | PnL: -0.21% | $-0.52 +2025-03-10 13:18:18,948 - INFO - OPENED SHORT at 2085.3 | Stop loss: 2095.741867857143 | Take profit: 2053.9974482142857 +2025-03-10 13:18:19,009 - INFO - CLOSED short at 2080.38 | PnL: 0.24% | $0.22 +2025-03-10 13:18:19,010 - INFO - OPENED LONG at 2080.38 | Stop loss: 2069.962732142857 | Take profit: 2111.6087517857145 +2025-03-10 13:18:19,073 - INFO - CLOSED long at 2085.09 | PnL: 0.23% | $0.21 +2025-03-10 13:18:19,168 - INFO - OPENED LONG at 2084.72 | Stop loss: 2074.281032142857 | Take profit: 2116.013851785714 +2025-03-10 13:18:19,260 - INFO - CLOSED long at 2088.32 | PnL: 0.17% | $0.12 +2025-03-10 13:18:19,278 - INFO - OPENED LONG at 2088.1 | Stop loss: 2077.644132142857 | Take profit: 2119.4445517857143 +2025-03-10 13:18:19,380 - INFO - CLOSED long at 2086.81 | PnL: -0.06% | $-0.27 +2025-03-10 13:18:19,492 - INFO - OPENED SHORT at 2091.95 | Stop loss: 2102.4251178571426 | Take profit: 2060.5476982142854 +2025-03-10 13:18:19,526 - INFO - CLOSED short at 2097.8 | PnL: -0.28% | $-0.62 +2025-03-10 13:18:19,526 - INFO - OPENED LONG at 2097.8 | Stop loss: 2087.2956321428574 | Take profit: 2129.2900517857142 +2025-03-10 13:18:19,604 - INFO - CLOSED long at 2098.49 | PnL: 0.03% | $-0.11 +2025-03-10 13:18:19,604 - INFO - OPENED SHORT at 2098.49 | Stop loss: 2108.9978178571428 | Take profit: 2066.9895982142857 +2025-03-10 13:18:19,624 - INFO - CLOSED short at 2099.89 | PnL: -0.07% | $-0.27 +2025-03-10 13:18:19,751 - INFO - OPENED LONG at 2103.07 | Stop loss: 2092.5392821428572 | Take profit: 2134.6391017857145 +2025-03-10 13:18:19,770 - INFO - CLOSED long at 2101.5 | PnL: -0.07% | $-0.28 +2025-03-10 13:18:19,801 - INFO - OPENED SHORT at 2103.64 | Stop loss: 2114.1735678571426 | Take profit: 2072.0623482142855 +2025-03-10 13:18:19,900 - INFO - CLOSED short at 2103.9 | PnL: -0.01% | $-0.18 +2025-03-10 13:18:19,900 - INFO - OPENED LONG at 2103.9 | Stop loss: 2093.365132142857 | Take profit: 2135.4815517857146 +2025-03-10 13:18:19,936 - INFO - CLOSED long at 2102.7 | PnL: -0.06% | $-0.25 +2025-03-10 13:18:19,954 - INFO - OPENED LONG at 2102.0 | Stop loss: 2091.474632142857 | Take profit: 2133.5530517857146 +2025-03-10 13:18:19,992 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.19, Avg Loss=$-0.34 +2025-03-10 13:18:19,992 - INFO - Episode 4: Reward=-55.80, Balance=$81.15, Win Rate=28.6%, Trades=98, Episode PnL=$-15.42, Total PnL=$-101.53, Max Drawdown=18.8%, Pred Accuracy=99.6% +2025-03-10 13:18:19,993 - ERROR - Error in episode 4: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:18:19,993 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1831, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:18:20,013 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:18:20,213 - INFO - OPENED LONG at 2048.13 | Stop loss: 2037.8739821428571 | Take profit: 2078.8750017857146 +2025-03-10 13:18:20,233 - INFO - CLOSED long at 2047.59 | PnL: -0.03% | $-0.25 +2025-03-10 13:18:20,233 - INFO - OPENED SHORT at 2047.59 | Stop loss: 2057.8433178571427 | Take profit: 2016.8530982142856 +2025-03-10 13:18:20,254 - INFO - CLOSED short at 2048.51 | PnL: -0.04% | $-0.29 +2025-03-10 13:18:20,295 - INFO - OPENED SHORT at 2050.24 | Stop loss: 2060.5065678571427 | Take profit: 2019.4633482142856 +2025-03-10 13:18:20,313 - INFO - CLOSED short at 2049.89 | PnL: 0.02% | $-0.16 +2025-03-10 13:18:20,361 - INFO - OPENED LONG at 2053.26 | Stop loss: 2042.9783321428572 | Take profit: 2084.0819517857144 +2025-03-10 13:18:20,381 - INFO - CLOSED long at 2051.89 | PnL: -0.07% | $-0.33 +2025-03-10 13:18:20,382 - INFO - OPENED SHORT at 2051.89 | Stop loss: 2062.1648178571427 | Take profit: 2021.0885982142856 +2025-03-10 13:18:20,425 - INFO - CLOSED short at 2055.69 | PnL: -0.19% | $-0.56 +2025-03-10 13:18:20,426 - INFO - OPENED LONG at 2055.69 | Stop loss: 2045.396182142857 | Take profit: 2086.5484017857143 +2025-03-10 13:18:20,501 - INFO - CLOSED long at 2060.13 | PnL: 0.22% | $0.23 +2025-03-10 13:18:20,501 - INFO - OPENED SHORT at 2060.13 | Stop loss: 2070.4460178571426 | Take profit: 2029.2049982142858 +2025-03-10 13:18:20,541 - INFO - CLOSED short at 2061.49 | PnL: -0.07% | $-0.33 +2025-03-10 13:18:20,541 - INFO - OPENED LONG at 2061.49 | Stop loss: 2051.1671821428567 | Take profit: 2092.435401785714 +2025-03-10 13:18:20,721 - INFO - CLOSED long at 2061.89 | PnL: 0.02% | $-0.16 +2025-03-10 13:18:20,721 - INFO - OPENED SHORT at 2061.89 | Stop loss: 2072.214817857143 | Take profit: 2030.9385982142855 +2025-03-10 13:18:20,752 - INFO - CLOSED short at 2060.31 | PnL: 0.08% | $-0.05 +2025-03-10 13:18:20,752 - INFO - OPENED LONG at 2060.31 | Stop loss: 2049.993082142857 | Take profit: 2091.2377017857143 +2025-03-10 13:18:20,794 - INFO - CLOSED long at 2057.8 | PnL: -0.12% | $-0.43 +2025-03-10 13:18:20,794 - INFO - OPENED SHORT at 2057.8 | Stop loss: 2068.104367857143 | Take profit: 2026.909948214286 +2025-03-10 13:18:20,829 - INFO - CLOSED short at 2057.94 | PnL: -0.01% | $-0.21 +2025-03-10 13:18:20,920 - INFO - OPENED LONG at 2065.86 | Stop loss: 2055.515332142857 | Take profit: 2096.870951785714 +2025-03-10 13:18:20,955 - INFO - CLOSED long at 2068.11 | PnL: 0.11% | $0.02 +2025-03-10 13:18:20,977 - INFO - OPENED SHORT at 2068.29 | Stop loss: 2078.6468178571427 | Take profit: 2037.2425982142856 +2025-03-10 13:18:21,015 - INFO - CLOSED short at 2071.63 | PnL: -0.16% | $-0.51 +2025-03-10 13:18:21,035 - INFO - OPENED LONG at 2070.99 | Stop loss: 2060.619682142857 | Take profit: 2102.077901785714 +2025-03-10 13:18:21,096 - INFO - CLOSED long at 2068.99 | PnL: -0.10% | $-0.38 +2025-03-10 13:18:21,115 - INFO - OPENED LONG at 2067.9 | Stop loss: 2057.5451321428573 | Take profit: 2098.9415517857146 +2025-03-10 13:18:21,151 - INFO - CLOSED long at 2070.26 | PnL: 0.11% | $0.03 +2025-03-10 13:18:21,153 - INFO - OPENED SHORT at 2070.26 | Stop loss: 2080.6266678571433 | Take profit: 2039.183048214286 +2025-03-10 13:18:21,210 - INFO - CLOSED short at 2075.1 | PnL: -0.23% | $-0.64 +2025-03-10 13:18:21,245 - INFO - OPENED LONG at 2072.33 | Stop loss: 2061.952982142857 | Take profit: 2103.4380017857143 +2025-03-10 13:18:21,268 - INFO - CLOSED long at 2071.38 | PnL: -0.05% | $-0.28 +2025-03-10 13:18:21,480 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.331132142857 | Take profit: 2101.7835517857143 +2025-03-10 13:18:21,543 - INFO - CLOSED long at 2068.8 | PnL: -0.09% | $-0.36 +2025-03-10 13:18:21,543 - INFO - OPENED SHORT at 2068.8 | Stop loss: 2079.159367857143 | Take profit: 2037.7449482142858 +2025-03-10 13:18:21,560 - INFO - CLOSED short at 2067.6 | PnL: 0.06% | $-0.08 +2025-03-10 13:18:21,560 - INFO - OPENED LONG at 2067.6 | Stop loss: 2057.246632142857 | Take profit: 2098.6370517857144 +2025-03-10 13:18:21,604 - INFO - CLOSED long at 2069.01 | PnL: 0.07% | $-0.06 +2025-03-10 13:18:21,604 - INFO - OPENED SHORT at 2069.01 | Stop loss: 2079.370417857143 | Take profit: 2037.951798214286 +2025-03-10 13:18:21,645 - INFO - CLOSED short at 2065.99 | PnL: 0.15% | $0.09 +2025-03-10 13:18:21,645 - INFO - OPENED LONG at 2065.99 | Stop loss: 2055.644682142857 | Take profit: 2097.002901785714 +2025-03-10 13:18:21,868 - INFO - CLOSED long at 2071.4 | PnL: 0.26% | $0.31 +2025-03-10 13:18:21,868 - INFO - OPENED SHORT at 2071.4 | Stop loss: 2081.7723678571433 | Take profit: 2040.305948214286 +2025-03-10 13:18:21,990 - INFO - CLOSED short at 2074.29 | PnL: -0.14% | $-0.45 +2025-03-10 13:18:21,999 - INFO - OPENED LONG at 2074.29 | Stop loss: 2063.903182142857 | Take profit: 2105.427401785714 +2025-03-10 13:18:22,035 - INFO - CLOSED long at 2071.92 | PnL: -0.11% | $-0.40 +2025-03-10 13:18:22,234 - INFO - OPENED LONG at 2067.79 | Stop loss: 2057.435682142857 | Take profit: 2098.8299017857144 +2025-03-10 13:18:22,263 - INFO - CLOSED long at 2067.46 | PnL: -0.02% | $-0.22 +2025-03-10 13:18:22,326 - INFO - OPENED SHORT at 2065.49 | Stop loss: 2075.832817857143 | Take profit: 2034.4845982142854 +2025-03-10 13:18:22,390 - INFO - CLOSED short at 2067.89 | PnL: -0.12% | $-0.41 +2025-03-10 13:18:22,450 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.9779321428573 | Take profit: 2100.4031517857143 +2025-03-10 13:18:22,709 - INFO - CLOSED long at 2068.69 | PnL: -0.03% | $-0.25 +2025-03-10 13:18:22,709 - INFO - OPENED SHORT at 2068.69 | Stop loss: 2079.0488178571427 | Take profit: 2037.6365982142859 +2025-03-10 13:18:22,793 - INFO - CLOSED short at 2066.4 | PnL: 0.11% | $0.02 +2025-03-10 13:18:22,793 - INFO - OPENED LONG at 2066.4 | Stop loss: 2056.0526321428574 | Take profit: 2097.4190517857146 +2025-03-10 13:18:22,828 - INFO - CLOSED long at 2065.28 | PnL: -0.05% | $-0.29 +2025-03-10 13:18:22,829 - INFO - OPENED SHORT at 2065.28 | Stop loss: 2075.6217678571434 | Take profit: 2034.277748214286 +2025-03-10 13:18:22,890 - INFO - CLOSED short at 2070.04 | PnL: -0.23% | $-0.61 +2025-03-10 13:18:22,891 - INFO - OPENED LONG at 2070.04 | Stop loss: 2059.6744321428573 | Take profit: 2101.1136517857144 +2025-03-10 13:18:22,909 - INFO - CLOSED long at 2067.8 | PnL: -0.11% | $-0.38 +2025-03-10 13:18:22,988 - INFO - OPENED LONG at 2067.88 | Stop loss: 2057.525232142857 | Take profit: 2098.9212517857145 +2025-03-10 13:18:23,130 - INFO - CLOSED long at 2062.89 | PnL: -0.24% | $-0.63 +2025-03-10 13:18:23,130 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.2198178571425 | Take profit: 2031.9235982142857 +2025-03-10 13:18:23,208 - INFO - CLOSED short at 2061.3 | PnL: 0.08% | $-0.04 +2025-03-10 13:18:23,353 - INFO - OPENED LONG at 2064.45 | Stop loss: 2054.112382142857 | Take profit: 2095.439801785714 +2025-03-10 13:18:23,612 - INFO - CLOSED long at 2060.31 | PnL: -0.20% | $-0.55 +2025-03-10 13:18:23,612 - INFO - OPENED SHORT at 2060.31 | Stop loss: 2070.626917857143 | Take profit: 2029.3822982142856 +2025-03-10 13:18:23,711 - INFO - CLOSED short at 2060.3 | PnL: 0.00% | $-0.18 +2025-03-10 13:18:23,712 - INFO - OPENED LONG at 2060.3 | Stop loss: 2049.9831321428574 | Take profit: 2091.2275517857147 +2025-03-10 13:18:23,862 - INFO - CLOSED long at 2064.1 | PnL: 0.18% | $0.15 +2025-03-10 13:18:23,863 - INFO - OPENED SHORT at 2064.1 | Stop loss: 2074.4358678571425 | Take profit: 2033.1154482142856 +2025-03-10 13:18:23,948 - INFO - CLOSED short at 2063.39 | PnL: 0.03% | $-0.12 +2025-03-10 13:18:24,022 - INFO - OPENED LONG at 2063.0 | Stop loss: 2052.669632142857 | Take profit: 2093.968051785714 +2025-03-10 13:18:24,230 - INFO - CLOSED long at 2059.02 | PnL: -0.19% | $-0.53 +2025-03-10 13:18:24,231 - INFO - OPENED SHORT at 2059.02 | Stop loss: 2069.330467857143 | Take profit: 2028.1116482142857 +2025-03-10 13:18:24,338 - INFO - CLOSED short at 2059.46 | PnL: -0.02% | $-0.22 +2025-03-10 13:18:24,338 - INFO - OPENED LONG at 2059.46 | Stop loss: 2049.147332142857 | Take profit: 2090.3749517857145 +2025-03-10 13:18:24,377 - INFO - CLOSED long at 2058.28 | PnL: -0.06% | $-0.28 +2025-03-10 13:18:24,397 - INFO - OPENED SHORT at 2056.28 | Stop loss: 2066.576767857143 | Take profit: 2025.4127482142858 +2025-03-10 13:18:24,519 - INFO - CLOSED short at 2059.8 | PnL: -0.17% | $-0.49 +2025-03-10 13:18:24,648 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.621867857143 | Take profit: 2030.357448214286 +2025-03-10 13:18:24,677 - INFO - CLOSED short at 2062.69 | PnL: -0.07% | $-0.30 +2025-03-10 13:18:24,747 - INFO - OPENED LONG at 2066.01 | Stop loss: 2055.6645821428574 | Take profit: 2097.0232017857147 +2025-03-10 13:18:24,786 - INFO - CLOSED long at 2064.49 | PnL: -0.07% | $-0.31 +2025-03-10 13:18:24,805 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.6770178571423 | Take profit: 2035.3119982142855 +2025-03-10 13:18:24,967 - INFO - CLOSED short at 2072.0 | PnL: -0.27% | $-0.66 +2025-03-10 13:18:24,968 - INFO - OPENED LONG at 2072.0 | Stop loss: 2061.624632142857 | Take profit: 2103.1030517857143 +2025-03-10 13:18:25,099 - INFO - CLOSED long at 2072.6 | PnL: 0.03% | $-0.12 +2025-03-10 13:18:25,099 - INFO - OPENED SHORT at 2072.6 | Stop loss: 2082.9783678571425 | Take profit: 2041.4879482142858 +2025-03-10 13:18:25,127 - INFO - CLOSED short at 2071.04 | PnL: 0.08% | $-0.04 +2025-03-10 13:18:25,127 - INFO - OPENED LONG at 2071.04 | Stop loss: 2060.669432142857 | Take profit: 2102.1286517857143 +2025-03-10 13:18:25,256 - INFO - CLOSED long at 2068.39 | PnL: -0.13% | $-0.40 +2025-03-10 13:18:25,286 - INFO - OPENED LONG at 2069.69 | Stop loss: 2059.3261821428573 | Take profit: 2100.7584017857143 +2025-03-10 13:18:25,321 - INFO - CLOSED long at 2069.03 | PnL: -0.03% | $-0.23 +2025-03-10 13:18:25,368 - INFO - OPENED LONG at 2067.44 | Stop loss: 2057.0874321428573 | Take profit: 2098.4746517857143 +2025-03-10 13:18:25,558 - INFO - CLOSED long at 2069.87 | PnL: 0.12% | $0.03 +2025-03-10 13:18:25,558 - INFO - OPENED SHORT at 2069.87 | Stop loss: 2080.234717857143 | Take profit: 2038.7988982142856 +2025-03-10 13:18:25,657 - INFO - CLOSED short at 2065.7 | PnL: 0.20% | $0.18 +2025-03-10 13:18:25,658 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.356132142857 | Take profit: 2096.708551785714 +2025-03-10 13:18:25,708 - INFO - CLOSED long at 2063.95 | PnL: -0.08% | $-0.32 +2025-03-10 13:18:25,708 - INFO - OPENED SHORT at 2063.95 | Stop loss: 2074.2851178571427 | Take profit: 2032.9676982142855 +2025-03-10 13:18:25,744 - INFO - CLOSED short at 2063.97 | PnL: -0.00% | $-0.18 +2025-03-10 13:18:25,744 - INFO - OPENED LONG at 2063.97 | Stop loss: 2053.6347821428567 | Take profit: 2094.9526017857143 +2025-03-10 13:18:25,781 - INFO - CLOSED long at 2064.5 | PnL: 0.03% | $-0.13 +2025-03-10 13:18:25,781 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.8378678571426 | Take profit: 2033.5094482142858 +2025-03-10 13:18:25,828 - INFO - CLOSED short at 2065.3 | PnL: -0.04% | $-0.24 +2025-03-10 13:18:25,828 - INFO - OPENED LONG at 2065.3 | Stop loss: 2054.9581321428573 | Take profit: 2096.3025517857145 +2025-03-10 13:18:25,931 - INFO - CLOSED long at 2064.31 | PnL: -0.05% | $-0.26 +2025-03-10 13:18:25,998 - INFO - OPENED LONG at 2065.29 | Stop loss: 2054.948182142857 | Take profit: 2096.2924017857144 +2025-03-10 13:18:26,085 - INFO - CLOSED long at 2068.59 | PnL: 0.16% | $0.10 +2025-03-10 13:18:26,085 - INFO - OPENED SHORT at 2068.59 | Stop loss: 2078.948317857143 | Take profit: 2037.5380982142858 +2025-03-10 13:18:26,159 - INFO - CLOSED short at 2071.35 | PnL: -0.13% | $-0.40 +2025-03-10 13:18:26,235 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.331132142857 | Take profit: 2101.7835517857143 +2025-03-10 13:18:26,345 - INFO - CLOSED long at 2071.99 | PnL: 0.06% | $-0.06 +2025-03-10 13:18:26,346 - INFO - OPENED SHORT at 2071.99 | Stop loss: 2082.3653178571426 | Take profit: 2040.8870982142855 +2025-03-10 13:18:26,369 - INFO - CLOSED short at 2068.19 | PnL: 0.18% | $0.14 +2025-03-10 13:18:26,369 - INFO - OPENED LONG at 2068.19 | Stop loss: 2057.8336821428575 | Take profit: 2099.2359017857148 +2025-03-10 13:18:26,413 - INFO - CLOSED long at 2070.67 | PnL: 0.12% | $0.03 +2025-03-10 13:18:26,413 - INFO - OPENED SHORT at 2070.67 | Stop loss: 2081.0387178571427 | Take profit: 2039.5868982142858 +2025-03-10 13:18:26,498 - INFO - CLOSED short at 2075.07 | PnL: -0.21% | $-0.54 +2025-03-10 13:18:26,500 - INFO - OPENED LONG at 2075.07 | Stop loss: 2064.679282142857 | Take profit: 2106.2191017857144 +2025-03-10 13:18:26,519 - INFO - CLOSED long at 2074.35 | PnL: -0.03% | $-0.23 +2025-03-10 13:18:26,519 - INFO - OPENED SHORT at 2074.35 | Stop loss: 2084.7371178571425 | Take profit: 2043.2116982142857 +2025-03-10 13:18:26,604 - INFO - CLOSED short at 2075.32 | PnL: -0.05% | $-0.25 +2025-03-10 13:18:26,730 - INFO - OPENED SHORT at 2074.0 | Stop loss: 2084.3853678571427 | Take profit: 2042.8669482142857 +2025-03-10 13:18:26,771 - INFO - CLOSED short at 2069.97 | PnL: 0.19% | $0.16 +2025-03-10 13:18:26,771 - INFO - OPENED LONG at 2069.97 | Stop loss: 2059.604782142857 | Take profit: 2101.042601785714 +2025-03-10 13:18:26,789 - INFO - CLOSED long at 2067.7 | PnL: -0.11% | $-0.36 +2025-03-10 13:18:26,790 - INFO - OPENED SHORT at 2067.7 | Stop loss: 2078.0538678571424 | Take profit: 2036.6614482142857 +2025-03-10 13:18:26,850 - INFO - CLOSED short at 2066.4 | PnL: 0.06% | $-0.06 +2025-03-10 13:18:26,851 - INFO - OPENED LONG at 2066.4 | Stop loss: 2056.0526321428574 | Take profit: 2097.4190517857146 +2025-03-10 13:18:26,930 - INFO - CLOSED long at 2068.1 | PnL: 0.08% | $-0.03 +2025-03-10 13:18:26,980 - INFO - OPENED SHORT at 2070.19 | Stop loss: 2080.556317857143 | Take profit: 2039.1140982142858 +2025-03-10 13:18:27,104 - INFO - CLOSED short at 2065.7 | PnL: 0.22% | $0.20 +2025-03-10 13:18:27,112 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.356132142857 | Take profit: 2096.708551785714 +2025-03-10 13:18:27,168 - INFO - CLOSED long at 2066.09 | PnL: 0.02% | $-0.14 +2025-03-10 13:18:27,208 - INFO - OPENED LONG at 2062.34 | Stop loss: 2052.012932142857 | Take profit: 2093.2981517857143 +2025-03-10 13:18:27,246 - INFO - CLOSED long at 2066.1 | PnL: 0.18% | $0.14 +2025-03-10 13:18:27,246 - INFO - OPENED SHORT at 2066.1 | Stop loss: 2076.4458678571427 | Take profit: 2035.0854482142856 +2025-03-10 13:18:27,283 - INFO - CLOSED short at 2064.11 | PnL: 0.10% | $-0.01 +2025-03-10 13:18:27,350 - INFO - OPENED LONG at 2063.01 | Stop loss: 2052.6795821428573 | Take profit: 2093.9782017857146 +2025-03-10 13:18:27,404 - INFO - CLOSED long at 2060.2 | PnL: -0.14% | $-0.40 +2025-03-10 13:18:27,404 - INFO - OPENED SHORT at 2060.2 | Stop loss: 2070.5163678571425 | Take profit: 2029.2739482142856 +2025-03-10 13:18:27,436 - INFO - CLOSED short at 2059.2 | PnL: 0.05% | $-0.09 +2025-03-10 13:18:27,591 - INFO - OPENED SHORT at 2049.5 | Stop loss: 2059.762867857143 | Take profit: 2018.7344482142857 +2025-03-10 13:18:27,638 - INFO - CLOSED short at 2058.3 | PnL: -0.43% | $-0.89 +2025-03-10 13:18:27,639 - INFO - OPENED LONG at 2058.3 | Stop loss: 2047.9931321428573 | Take profit: 2089.197551785714 +2025-03-10 13:18:27,659 - INFO - CLOSED long at 2056.85 | PnL: -0.07% | $-0.28 +2025-03-10 13:18:27,659 - INFO - OPENED SHORT at 2056.85 | Stop loss: 2067.149617857143 | Take profit: 2025.9741982142855 +2025-03-10 13:18:27,728 - INFO - CLOSED short at 2062.83 | PnL: -0.29% | $-0.65 +2025-03-10 13:18:27,815 - INFO - OPENED SHORT at 2065.1 | Stop loss: 2075.4408678571426 | Take profit: 2034.1004482142857 +2025-03-10 13:18:27,946 - INFO - CLOSED short at 2065.12 | PnL: -0.00% | $-0.17 +2025-03-10 13:18:27,946 - INFO - OPENED LONG at 2065.12 | Stop loss: 2054.779032142857 | Take profit: 2096.119851785714 +2025-03-10 13:18:27,972 - INFO - CLOSED long at 2068.33 | PnL: 0.16% | $0.09 +2025-03-10 13:18:27,973 - INFO - OPENED SHORT at 2068.33 | Stop loss: 2078.6870178571426 | Take profit: 2037.2819982142855 +2025-03-10 13:18:28,027 - INFO - CLOSED short at 2066.59 | PnL: 0.08% | $-0.03 +2025-03-10 13:18:28,027 - INFO - OPENED LONG at 2066.59 | Stop loss: 2056.2416821428574 | Take profit: 2097.611901785714 +2025-03-10 13:18:28,082 - INFO - CLOSED long at 2061.21 | PnL: -0.26% | $-0.59 +2025-03-10 13:18:28,082 - INFO - OPENED SHORT at 2061.21 | Stop loss: 2071.5314178571425 | Take profit: 2030.2687982142857 +2025-03-10 13:18:28,244 - INFO - CLOSED short at 2061.84 | PnL: -0.03% | $-0.21 +2025-03-10 13:18:28,245 - INFO - OPENED LONG at 2061.84 | Stop loss: 2051.515432142857 | Take profit: 2092.790651785714 +2025-03-10 13:18:28,323 - INFO - CLOSED long at 2065.72 | PnL: 0.19% | $0.14 +2025-03-10 13:18:28,368 - INFO - OPENED SHORT at 2070.24 | Stop loss: 2080.6065678571426 | Take profit: 2039.1633482142856 +2025-03-10 13:18:28,387 - INFO - CLOSED short at 2069.34 | PnL: 0.04% | $-0.09 +2025-03-10 13:18:28,389 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.9779321428573 | Take profit: 2100.4031517857143 +2025-03-10 13:18:28,408 - INFO - CLOSED long at 2069.81 | PnL: 0.02% | $-0.13 +2025-03-10 13:18:28,408 - INFO - OPENED SHORT at 2069.81 | Stop loss: 2080.174417857143 | Take profit: 2038.7397982142857 +2025-03-10 13:18:28,471 - INFO - CLOSED short at 2074.05 | PnL: -0.20% | $-0.50 +2025-03-10 13:18:28,472 - INFO - OPENED LONG at 2074.05 | Stop loss: 2063.6643821428574 | Take profit: 2105.183801785715 +2025-03-10 13:18:28,558 - INFO - CLOSED long at 2071.8 | PnL: -0.11% | $-0.34 +2025-03-10 13:18:28,559 - INFO - OPENED SHORT at 2071.8 | Stop loss: 2082.174367857143 | Take profit: 2040.699948214286 +2025-03-10 13:18:28,711 - INFO - STOP LOSS hit for short at 2082.174367857143 | PnL: -0.50% | $-0.97 +2025-03-10 13:18:28,732 - INFO - OPENED LONG at 2090.49 | Stop loss: 2080.022182142857 | Take profit: 2121.870401785714 +2025-03-10 13:18:28,768 - INFO - TAKE PROFIT hit for long at 2121.870401785714 | PnL: 1.50% | $2.23 +2025-03-10 13:18:28,795 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.253067857143 | Take profit: 2107.4238482142855 +2025-03-10 13:18:28,835 - INFO - CLOSED short at 2133.95 | PnL: 0.26% | $0.26 +2025-03-10 13:18:28,836 - INFO - OPENED LONG at 2133.95 | Stop loss: 2123.264882142857 | Take profit: 2165.982301785714 +2025-03-10 13:18:28,952 - INFO - CLOSED long at 2140.01 | PnL: 0.28% | $0.30 +2025-03-10 13:18:28,952 - INFO - OPENED SHORT at 2140.01 | Stop loss: 2150.725417857143 | Take profit: 2107.886798214286 +2025-03-10 13:18:29,035 - INFO - CLOSED short at 2126.99 | PnL: 0.61% | $0.84 +2025-03-10 13:18:29,035 - INFO - OPENED LONG at 2126.99 | Stop loss: 2116.339682142857 | Take profit: 2158.917901785714 +2025-03-10 13:18:29,119 - INFO - CLOSED long at 2128.69 | PnL: 0.08% | $-0.03 +2025-03-10 13:18:29,119 - INFO - OPENED SHORT at 2128.69 | Stop loss: 2139.348817857143 | Take profit: 2096.7365982142856 +2025-03-10 13:18:29,165 - INFO - CLOSED short at 2120.15 | PnL: 0.40% | $0.50 +2025-03-10 13:18:29,165 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.5338821428572 | Take profit: 2151.9753017857147 +2025-03-10 13:18:29,202 - INFO - CLOSED long at 2119.93 | PnL: -0.01% | $-0.19 +2025-03-10 13:18:29,241 - INFO - OPENED SHORT at 2118.52 | Stop loss: 2129.1279678571427 | Take profit: 2086.7191482142857 +2025-03-10 13:18:29,436 - INFO - CLOSED short at 2112.09 | PnL: 0.30% | $0.34 +2025-03-10 13:18:29,436 - INFO - OPENED LONG at 2112.09 | Stop loss: 2101.5141821428574 | Take profit: 2143.7944017857144 +2025-03-10 13:18:29,527 - INFO - CLOSED long at 2113.24 | PnL: 0.05% | $-0.08 +2025-03-10 13:18:29,711 - INFO - OPENED SHORT at 2103.33 | Stop loss: 2113.8620178571427 | Take profit: 2071.7569982142854 +2025-03-10 13:18:29,752 - INFO - CLOSED short at 2090.0 | PnL: 0.63% | $0.90 +2025-03-10 13:18:29,752 - INFO - OPENED LONG at 2090.0 | Stop loss: 2079.534632142857 | Take profit: 2121.3730517857143 +2025-03-10 13:18:29,822 - INFO - CLOSED long at 2098.1 | PnL: 0.39% | $0.49 +2025-03-10 13:18:29,889 - INFO - OPENED LONG at 2102.29 | Stop loss: 2091.763182142857 | Take profit: 2133.8474017857143 +2025-03-10 13:18:29,920 - INFO - CLOSED long at 2099.25 | PnL: -0.14% | $-0.42 +2025-03-10 13:18:30,130 - INFO - OPENED LONG at 2100.02 | Stop loss: 2089.504532142857 | Take profit: 2131.543351785714 +2025-03-10 13:18:30,303 - INFO - CLOSED long at 2092.46 | PnL: -0.36% | $-0.78 +2025-03-10 13:18:30,303 - INFO - OPENED SHORT at 2092.46 | Stop loss: 2102.937667857143 | Take profit: 2061.0500482142857 +2025-03-10 13:18:30,417 - INFO - CLOSED short at 2083.28 | PnL: 0.44% | $0.57 +2025-03-10 13:18:30,424 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.8482321428573 | Take profit: 2114.552251785715 +2025-03-10 13:18:30,539 - INFO - CLOSED long at 2081.49 | PnL: -0.09% | $-0.31 +2025-03-10 13:18:30,540 - INFO - OPENED SHORT at 2081.49 | Stop loss: 2091.9128178571427 | Take profit: 2050.2445982142854 +2025-03-10 13:18:30,719 - INFO - CLOSED short at 2083.41 | PnL: -0.09% | $-0.32 +2025-03-10 13:18:30,747 - INFO - OPENED SHORT at 2085.09 | Stop loss: 2095.5308178571427 | Take profit: 2053.790598214286 +2025-03-10 13:18:30,816 - INFO - CLOSED short at 2085.8 | PnL: -0.03% | $-0.23 +2025-03-10 13:18:30,816 - INFO - OPENED LONG at 2085.8 | Stop loss: 2075.3556321428573 | Take profit: 2117.1100517857144 +2025-03-10 13:18:30,970 - INFO - CLOSED long at 2089.96 | PnL: 0.20% | $0.17 +2025-03-10 13:18:31,174 - INFO - OPENED SHORT at 2085.67 | Stop loss: 2096.113717857143 | Take profit: 2054.3618982142857 +2025-03-10 13:18:31,264 - INFO - CLOSED short at 2091.95 | PnL: -0.30% | $-0.67 +2025-03-10 13:18:31,352 - INFO - OPENED LONG at 2099.99 | Stop loss: 2089.474682142857 | Take profit: 2131.512901785714 +2025-03-10 13:18:31,423 - INFO - CLOSED long at 2097.11 | PnL: -0.14% | $-0.40 +2025-03-10 13:18:31,459 - INFO - OPENED SHORT at 2098.49 | Stop loss: 2108.9978178571428 | Take profit: 2066.9895982142857 +2025-03-10 13:18:31,529 - INFO - CLOSED short at 2100.89 | PnL: -0.11% | $-0.36 +2025-03-10 13:18:31,546 - INFO - OPENED SHORT at 2099.73 | Stop loss: 2110.244017857143 | Take profit: 2068.2109982142856 +2025-03-10 13:18:31,612 - INFO - CLOSED short at 2104.93 | PnL: -0.25% | $-0.57 +2025-03-10 13:18:31,612 - INFO - OPENED LONG at 2104.93 | Stop loss: 2094.3899821428568 | Take profit: 2136.527001785714 +2025-03-10 13:18:31,814 - INFO - CLOSED long at 2103.52 | PnL: -0.07% | $-0.27 +2025-03-10 13:18:31,939 - INFO - OPENED LONG at 2100.0 | Stop loss: 2089.484632142857 | Take profit: 2131.523051785714 +2025-03-10 13:18:31,957 - INFO - CLOSED long at 2102.7 | PnL: 0.13% | $0.05 +2025-03-10 13:18:31,975 - INFO - OPENED SHORT at 2102.0 | Stop loss: 2112.525367857143 | Take profit: 2070.446948214286 +2025-03-10 13:18:32,013 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.31, Avg Loss=$-0.32 +2025-03-10 13:18:32,013 - INFO - Episode 5: Reward=-76.82, Balance=$82.36, Win Rate=25.2%, Trades=111, Episode PnL=$-11.12, Total PnL=$-119.17, Max Drawdown=19.7%, Pred Accuracy=99.4% +2025-03-10 13:18:32,013 - ERROR - Error in episode 5: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:18:32,013 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1831, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:18:32,039 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:18:32,345 - INFO - OPENED LONG at 2048.13 | Stop loss: 2037.8739821428571 | Take profit: 2078.8750017857146 +2025-03-10 13:18:32,404 - INFO - CLOSED long at 2050.0 | PnL: 0.09% | $-0.02 +2025-03-10 13:18:32,404 - INFO - OPENED SHORT at 2050.0 | Stop loss: 2060.265367857143 | Take profit: 2019.2269482142858 +2025-03-10 13:18:32,440 - INFO - CLOSED short at 2049.89 | PnL: 0.01% | $-0.19 +2025-03-10 13:18:32,440 - INFO - OPENED LONG at 2049.89 | Stop loss: 2039.625182142857 | Take profit: 2080.661401785714 +2025-03-10 13:18:32,538 - INFO - CLOSED long at 2052.3 | PnL: 0.12% | $0.03 +2025-03-10 13:18:32,538 - INFO - OPENED SHORT at 2052.3 | Stop loss: 2062.576867857143 | Take profit: 2021.492448214286 +2025-03-10 13:18:32,690 - INFO - CLOSED short at 2060.13 | PnL: -0.38% | $-0.95 +2025-03-10 13:18:32,690 - INFO - OPENED LONG at 2060.13 | Stop loss: 2049.813982142857 | Take profit: 2091.0550017857145 +2025-03-10 13:18:32,718 - INFO - CLOSED long at 2059.7 | PnL: -0.02% | $-0.24 +2025-03-10 13:18:32,719 - INFO - OPENED SHORT at 2059.7 | Stop loss: 2070.0138678571425 | Take profit: 2028.7814482142855 +2025-03-10 13:18:32,761 - INFO - CLOSED short at 2063.29 | PnL: -0.17% | $-0.54 +2025-03-10 13:18:32,762 - INFO - OPENED LONG at 2063.29 | Stop loss: 2052.9581821428574 | Take profit: 2094.2624017857142 +2025-03-10 13:18:32,782 - INFO - CLOSED long at 2064.61 | PnL: 0.06% | $-0.07 +2025-03-10 13:18:32,823 - INFO - OPENED LONG at 2061.61 | Stop loss: 2051.2865821428572 | Take profit: 2092.5572017857144 +2025-03-10 13:18:32,909 - INFO - CLOSED long at 2058.3 | PnL: -0.16% | $-0.51 +2025-03-10 13:18:32,909 - INFO - OPENED SHORT at 2058.3 | Stop loss: 2068.6068678571432 | Take profit: 2027.4024482142859 +2025-03-10 13:18:32,943 - INFO - CLOSED short at 2060.0 | PnL: -0.08% | $-0.35 +2025-03-10 13:18:33,009 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560182142857 | Take profit: 2093.8564017857143 +2025-03-10 13:18:33,078 - INFO - CLOSED long at 2059.49 | PnL: -0.16% | $-0.51 +2025-03-10 13:18:33,183 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.8040821428572 | Take profit: 2089.0047017857146 +2025-03-10 13:18:33,202 - INFO - CLOSED long at 2061.79 | PnL: 0.18% | $0.15 +2025-03-10 13:18:33,286 - INFO - OPENED LONG at 2070.58 | Stop loss: 2060.2117321428573 | Take profit: 2101.6617517857144 +2025-03-10 13:18:33,335 - INFO - CLOSED long at 2068.29 | PnL: -0.11% | $-0.40 +2025-03-10 13:18:33,335 - INFO - OPENED SHORT at 2068.29 | Stop loss: 2078.6468178571427 | Take profit: 2037.2425982142856 +2025-03-10 13:18:33,477 - INFO - CLOSED short at 2069.6 | PnL: -0.06% | $-0.31 +2025-03-10 13:18:33,477 - INFO - OPENED LONG at 2069.6 | Stop loss: 2059.236632142857 | Take profit: 2100.667051785714 +2025-03-10 13:18:33,594 - INFO - CLOSED long at 2070.26 | PnL: 0.03% | $-0.13 +2025-03-10 13:18:33,651 - INFO - OPENED LONG at 2075.1 | Stop loss: 2064.709132142857 | Take profit: 2106.249551785714 +2025-03-10 13:18:33,762 - INFO - CLOSED long at 2071.41 | PnL: -0.18% | $-0.53 +2025-03-10 13:18:33,831 - INFO - OPENED SHORT at 2070.9 | Stop loss: 2081.269867857143 | Take profit: 2039.8134482142857 +2025-03-10 13:18:33,942 - INFO - CLOSED short at 2068.02 | PnL: 0.14% | $0.07 +2025-03-10 13:18:33,942 - INFO - OPENED LONG at 2068.02 | Stop loss: 2057.6645321428573 | Take profit: 2099.0633517857145 +2025-03-10 13:18:33,976 - INFO - CLOSED long at 2070.36 | PnL: 0.11% | $0.02 +2025-03-10 13:18:33,998 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.259867857143 | Take profit: 2037.843448214286 +2025-03-10 13:18:34,038 - INFO - CLOSED short at 2069.34 | PnL: -0.02% | $-0.23 +2025-03-10 13:18:34,038 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.9779321428573 | Take profit: 2100.4031517857143 +2025-03-10 13:18:34,117 - INFO - CLOSED long at 2067.51 | PnL: -0.09% | $-0.36 +2025-03-10 13:18:34,151 - INFO - OPENED LONG at 2069.01 | Stop loss: 2058.6495821428575 | Take profit: 2100.0682017857143 +2025-03-10 13:18:34,359 - INFO - CLOSED long at 2068.9 | PnL: -0.01% | $-0.20 +2025-03-10 13:18:34,359 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.259867857143 | Take profit: 2037.843448214286 +2025-03-10 13:18:34,479 - INFO - CLOSED short at 2071.4 | PnL: -0.12% | $-0.42 +2025-03-10 13:18:34,617 - INFO - OPENED LONG at 2072.7 | Stop loss: 2062.321132142857 | Take profit: 2103.813551785714 +2025-03-10 13:18:34,771 - INFO - CLOSED long at 2071.11 | PnL: -0.08% | $-0.33 +2025-03-10 13:18:34,838 - INFO - OPENED SHORT at 2068.32 | Stop loss: 2078.676967857143 | Take profit: 2037.2721482142858 +2025-03-10 13:18:34,946 - INFO - CLOSED short at 2066.8 | PnL: 0.07% | $-0.05 +2025-03-10 13:18:34,946 - INFO - OPENED LONG at 2066.8 | Stop loss: 2056.450632142857 | Take profit: 2097.8250517857145 +2025-03-10 13:18:35,173 - INFO - CLOSED long at 2067.86 | PnL: 0.05% | $-0.09 +2025-03-10 13:18:35,199 - INFO - OPENED LONG at 2067.59 | Stop loss: 2057.2366821428573 | Take profit: 2098.6269017857144 +2025-03-10 13:18:35,381 - INFO - CLOSED long at 2068.5 | PnL: 0.04% | $-0.10 +2025-03-10 13:18:35,382 - INFO - OPENED SHORT at 2068.5 | Stop loss: 2078.857867857143 | Take profit: 2037.449448214286 +2025-03-10 13:18:35,665 - INFO - CLOSED short at 2070.04 | PnL: -0.07% | $-0.32 +2025-03-10 13:18:35,684 - INFO - OPENED LONG at 2067.8 | Stop loss: 2057.4456321428574 | Take profit: 2098.840051785715 +2025-03-10 13:18:35,795 - INFO - CLOSED long at 2064.99 | PnL: -0.14% | $-0.44 +2025-03-10 13:18:35,869 - INFO - OPENED SHORT at 2066.15 | Stop loss: 2076.496117857143 | Take profit: 2035.134698214286 +2025-03-10 13:18:35,908 - INFO - CLOSED short at 2065.26 | PnL: 0.04% | $-0.11 +2025-03-10 13:18:35,932 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560182142857 | Take profit: 2093.8564017857143 +2025-03-10 13:18:36,004 - INFO - CLOSED long at 2061.3 | PnL: -0.08% | $-0.33 +2025-03-10 13:18:36,004 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.621867857143 | Take profit: 2030.357448214286 +2025-03-10 13:18:36,092 - INFO - CLOSED short at 2067.1 | PnL: -0.28% | $-0.70 +2025-03-10 13:18:36,116 - INFO - OPENED SHORT at 2065.54 | Stop loss: 2075.8830678571426 | Take profit: 2034.5338482142859 +2025-03-10 13:18:36,233 - INFO - CLOSED short at 2062.71 | PnL: 0.14% | $0.07 +2025-03-10 13:18:36,233 - INFO - OPENED LONG at 2062.71 | Stop loss: 2052.3810821428574 | Take profit: 2093.673701785714 +2025-03-10 13:18:36,369 - INFO - CLOSED long at 2060.9 | PnL: -0.09% | $-0.34 +2025-03-10 13:18:36,413 - INFO - OPENED LONG at 2058.89 | Stop loss: 2048.580182142857 | Take profit: 2089.7964017857144 +2025-03-10 13:18:36,471 - INFO - CLOSED long at 2061.8 | PnL: 0.14% | $0.08 +2025-03-10 13:18:36,701 - INFO - OPENED LONG at 2065.36 | Stop loss: 2055.0178321428575 | Take profit: 2096.3634517857145 +2025-03-10 13:18:36,750 - INFO - CLOSED long at 2063.39 | PnL: -0.10% | $-0.36 +2025-03-10 13:18:36,772 - INFO - OPENED LONG at 2064.79 | Stop loss: 2054.450682142857 | Take profit: 2095.7849017857143 +2025-03-10 13:18:36,817 - INFO - CLOSED long at 2063.53 | PnL: -0.06% | $-0.29 +2025-03-10 13:18:36,817 - INFO - OPENED SHORT at 2063.53 | Stop loss: 2073.863017857143 | Take profit: 2032.553998214286 +2025-03-10 13:18:36,836 - INFO - CLOSED short at 2063.0 | PnL: 0.03% | $-0.13 +2025-03-10 13:18:36,836 - INFO - OPENED LONG at 2063.0 | Stop loss: 2052.669632142857 | Take profit: 2093.968051785714 +2025-03-10 13:18:37,142 - INFO - CLOSED long at 2059.46 | PnL: -0.17% | $-0.49 +2025-03-10 13:18:37,262 - INFO - OPENED LONG at 2054.83 | Stop loss: 2044.5404821428572 | Take profit: 2085.6755017857145 +2025-03-10 13:18:37,544 - INFO - CLOSED long at 2066.36 | PnL: 0.56% | $0.83 +2025-03-10 13:18:37,544 - INFO - OPENED SHORT at 2066.36 | Stop loss: 2076.707167857143 | Take profit: 2035.341548214286 +2025-03-10 13:18:37,584 - INFO - CLOSED short at 2063.9 | PnL: 0.12% | $0.03 +2025-03-10 13:18:37,669 - INFO - OPENED SHORT at 2066.79 | Stop loss: 2077.1393178571425 | Take profit: 2035.7650982142857 +2025-03-10 13:18:37,794 - INFO - CLOSED short at 2069.79 | PnL: -0.15% | $-0.44 +2025-03-10 13:18:37,794 - INFO - OPENED LONG at 2069.79 | Stop loss: 2059.425682142857 | Take profit: 2100.859901785714 +2025-03-10 13:18:37,829 - INFO - CLOSED long at 2072.0 | PnL: 0.11% | $0.01 +2025-03-10 13:18:37,901 - INFO - OPENED LONG at 2078.01 | Stop loss: 2067.6045821428575 | Take profit: 2109.2032017857146 +2025-03-10 13:18:37,942 - INFO - CLOSED long at 2072.6 | PnL: -0.26% | $-0.65 +2025-03-10 13:18:37,959 - INFO - OPENED LONG at 2071.04 | Stop loss: 2060.669432142857 | Take profit: 2102.1286517857143 +2025-03-10 13:18:38,000 - INFO - CLOSED long at 2071.6 | PnL: 0.03% | $-0.13 +2025-03-10 13:18:38,100 - INFO - OPENED LONG at 2069.69 | Stop loss: 2059.3261821428573 | Take profit: 2100.7584017857143 +2025-03-10 13:18:38,129 - INFO - CLOSED long at 2069.03 | PnL: -0.03% | $-0.24 +2025-03-10 13:18:38,130 - INFO - OPENED SHORT at 2069.03 | Stop loss: 2079.390517857143 | Take profit: 2037.9714982142857 +2025-03-10 13:18:38,259 - INFO - CLOSED short at 2071.49 | PnL: -0.12% | $-0.39 +2025-03-10 13:18:38,367 - INFO - OPENED SHORT at 2065.7 | Stop loss: 2076.0438678571427 | Take profit: 2034.6914482142856 +2025-03-10 13:18:38,384 - INFO - CLOSED short at 2065.66 | PnL: 0.00% | $-0.17 +2025-03-10 13:18:38,384 - INFO - OPENED LONG at 2065.66 | Stop loss: 2055.316332142857 | Take profit: 2096.6679517857137 +2025-03-10 13:18:38,537 - INFO - CLOSED long at 2065.5 | PnL: -0.01% | $-0.19 +2025-03-10 13:18:38,537 - INFO - OPENED SHORT at 2065.5 | Stop loss: 2075.8428678571427 | Take profit: 2034.4944482142857 +2025-03-10 13:18:38,600 - INFO - CLOSED short at 2065.29 | PnL: 0.01% | $-0.16 +2025-03-10 13:18:38,600 - INFO - OPENED LONG at 2065.29 | Stop loss: 2054.948182142857 | Take profit: 2096.2924017857144 +2025-03-10 13:18:38,641 - INFO - CLOSED long at 2065.31 | PnL: 0.00% | $-0.17 +2025-03-10 13:18:38,641 - INFO - OPENED SHORT at 2065.31 | Stop loss: 2075.6519178571425 | Take profit: 2034.3072982142855 +2025-03-10 13:18:38,677 - INFO - CLOSED short at 2066.8 | PnL: -0.07% | $-0.30 +2025-03-10 13:18:38,711 - INFO - OPENED LONG at 2066.5 | Stop loss: 2056.152132142857 | Take profit: 2097.520551785714 +2025-03-10 13:18:38,809 - INFO - CLOSED long at 2071.35 | PnL: 0.23% | $0.24 +2025-03-10 13:18:39,166 - INFO - OPENED SHORT at 2071.61 | Stop loss: 2081.983417857143 | Take profit: 2040.5127982142858 +2025-03-10 13:18:39,194 - INFO - CLOSED short at 2074.37 | PnL: -0.13% | $-0.41 +2025-03-10 13:18:39,194 - INFO - OPENED LONG at 2074.37 | Stop loss: 2063.982782142857 | Take profit: 2105.508601785714 +2025-03-10 13:18:39,223 - INFO - CLOSED long at 2075.07 | PnL: 0.03% | $-0.12 +2025-03-10 13:18:39,223 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.460717857143 | Take profit: 2043.920898214286 +2025-03-10 13:18:39,294 - INFO - CLOSED short at 2073.99 | PnL: 0.05% | $-0.08 +2025-03-10 13:18:39,294 - INFO - OPENED LONG at 2073.99 | Stop loss: 2063.6046821428567 | Take profit: 2105.122901785714 +2025-03-10 13:18:39,457 - INFO - CLOSED long at 2074.0 | PnL: 0.00% | $-0.17 +2025-03-10 13:18:39,457 - INFO - OPENED SHORT at 2074.0 | Stop loss: 2084.3853678571427 | Take profit: 2042.8669482142857 +2025-03-10 13:18:39,571 - INFO - CLOSED short at 2067.0 | PnL: 0.34% | $0.41 +2025-03-10 13:18:39,571 - INFO - OPENED LONG at 2067.0 | Stop loss: 2056.649632142857 | Take profit: 2098.0280517857145 +2025-03-10 13:18:39,648 - INFO - CLOSED long at 2066.89 | PnL: -0.01% | $-0.18 +2025-03-10 13:18:39,649 - INFO - OPENED SHORT at 2066.89 | Stop loss: 2077.239817857143 | Take profit: 2035.8635982142857 +2025-03-10 13:18:39,690 - INFO - CLOSED short at 2065.45 | PnL: 0.07% | $-0.05 +2025-03-10 13:18:39,690 - INFO - OPENED LONG at 2065.45 | Stop loss: 2055.1073821428567 | Take profit: 2096.454801785714 +2025-03-10 13:18:39,714 - INFO - CLOSED long at 2068.1 | PnL: 0.13% | $0.05 +2025-03-10 13:18:39,715 - INFO - OPENED SHORT at 2068.1 | Stop loss: 2078.455867857143 | Take profit: 2037.0554482142857 +2025-03-10 13:18:39,819 - INFO - CLOSED short at 2070.1 | PnL: -0.10% | $-0.34 +2025-03-10 13:18:39,954 - INFO - OPENED SHORT at 2065.8 | Stop loss: 2076.144367857143 | Take profit: 2034.789948214286 +2025-03-10 13:18:40,032 - INFO - CLOSED short at 2063.39 | PnL: 0.12% | $0.03 +2025-03-10 13:18:40,088 - INFO - OPENED SHORT at 2063.98 | Stop loss: 2074.3152678571428 | Take profit: 2032.9972482142857 +2025-03-10 13:18:40,118 - INFO - CLOSED short at 2066.1 | PnL: -0.10% | $-0.35 +2025-03-10 13:18:40,499 - INFO - OPENED LONG at 2053.01 | Stop loss: 2042.7295821428572 | Take profit: 2083.8282017857146 +2025-03-10 13:18:40,772 - INFO - CLOSED long at 2062.83 | PnL: 0.48% | $0.66 +2025-03-10 13:18:40,772 - INFO - OPENED SHORT at 2062.83 | Stop loss: 2073.159517857143 | Take profit: 2031.8644982142857 +2025-03-10 13:18:40,795 - INFO - CLOSED short at 2063.9 | PnL: -0.05% | $-0.27 +2025-03-10 13:18:40,839 - INFO - OPENED SHORT at 2062.43 | Stop loss: 2072.7575178571424 | Take profit: 2031.4704982142855 +2025-03-10 13:18:40,934 - INFO - CLOSED short at 2067.49 | PnL: -0.25% | $-0.60 +2025-03-10 13:18:40,934 - INFO - OPENED LONG at 2067.49 | Stop loss: 2057.137182142857 | Take profit: 2098.525401785714 +2025-03-10 13:18:40,962 - INFO - CLOSED long at 2066.59 | PnL: -0.04% | $-0.25 +2025-03-10 13:18:41,120 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.381132142857 | Take profit: 2091.6335517857137 +2025-03-10 13:18:41,187 - INFO - CLOSED long at 2065.72 | PnL: 0.24% | $0.25 +2025-03-10 13:18:41,243 - INFO - OPENED LONG at 2070.24 | Stop loss: 2059.873432142857 | Take profit: 2101.316651785714 +2025-03-10 13:18:41,265 - INFO - CLOSED long at 2069.34 | PnL: -0.04% | $-0.25 +2025-03-10 13:18:41,265 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.702067857143 | Take profit: 2038.2768482142858 +2025-03-10 13:18:41,337 - INFO - CLOSED short at 2073.49 | PnL: -0.20% | $-0.52 +2025-03-10 13:18:41,520 - INFO - OPENED LONG at 2074.9 | Stop loss: 2064.510132142857 | Take profit: 2106.046551785714 +2025-03-10 13:18:41,543 - INFO - CLOSED long at 2076.08 | PnL: 0.06% | $-0.07 +2025-03-10 13:18:41,584 - INFO - OPENED LONG at 2085.56 | Stop loss: 2075.116832142857 | Take profit: 2116.866451785714 +2025-03-10 13:18:41,638 - INFO - CLOSED long at 2130.7 | PnL: 2.16% | $3.54 +2025-03-10 13:18:41,668 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.826932142857 | Take profit: 2171.6561517857144 +2025-03-10 13:18:41,764 - INFO - CLOSED long at 2141.41 | PnL: 0.09% | $-0.02 +2025-03-10 13:18:41,788 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.021867857143 | Take profit: 2109.157448214286 +2025-03-10 13:18:41,852 - INFO - CLOSED short at 2134.78 | PnL: 0.30% | $0.36 +2025-03-10 13:18:41,852 - INFO - OPENED LONG at 2134.78 | Stop loss: 2124.090732142857 | Take profit: 2166.824751785715 +2025-03-10 13:18:41,873 - INFO - CLOSED long at 2126.99 | PnL: -0.36% | $-0.83 +2025-03-10 13:18:41,894 - INFO - OPENED SHORT at 2127.3 | Stop loss: 2137.951867857143 | Take profit: 2095.367448214286 +2025-03-10 13:18:41,917 - INFO - CLOSED short at 2128.69 | PnL: -0.07% | $-0.29 +2025-03-10 13:18:41,961 - INFO - OPENED SHORT at 2120.15 | Stop loss: 2130.766117857143 | Take profit: 2088.324698214286 +2025-03-10 13:18:42,085 - INFO - CLOSED short at 2119.07 | PnL: 0.05% | $-0.09 +2025-03-10 13:18:42,133 - INFO - OPENED LONG at 2107.43 | Stop loss: 2096.877482142857 | Take profit: 2139.064501785714 +2025-03-10 13:18:42,153 - INFO - CLOSED long at 2110.6 | PnL: 0.15% | $0.09 +2025-03-10 13:18:42,248 - INFO - OPENED LONG at 2112.46 | Stop loss: 2101.882332142857 | Take profit: 2144.169951785714 +2025-03-10 13:18:42,272 - INFO - CLOSED long at 2113.24 | PnL: 0.04% | $-0.11 +2025-03-10 13:18:42,272 - INFO - OPENED SHORT at 2113.24 | Stop loss: 2123.8215678571423 | Take profit: 2081.5183482142857 +2025-03-10 13:18:42,293 - INFO - CLOSED short at 2112.99 | PnL: 0.01% | $-0.16 +2025-03-10 13:18:42,476 - INFO - OPENED LONG at 2108.06 | Stop loss: 2097.504332142857 | Take profit: 2139.703951785714 +2025-03-10 13:18:42,551 - INFO - STOP LOSS hit for long at 2097.504332142857 | PnL: -0.50% | $-1.06 +2025-03-10 13:18:42,659 - INFO - OPENED SHORT at 2102.29 | Stop loss: 2112.8168178571427 | Take profit: 2070.7325982142856 +2025-03-10 13:18:42,687 - INFO - CLOSED short at 2099.25 | PnL: 0.14% | $0.08 +2025-03-10 13:18:42,687 - INFO - OPENED LONG at 2099.25 | Stop loss: 2088.738382142857 | Take profit: 2130.7618017857144 +2025-03-10 13:18:42,715 - INFO - CLOSED long at 2098.9 | PnL: -0.02% | $-0.20 +2025-03-10 13:18:42,739 - INFO - OPENED LONG at 2100.69 | Stop loss: 2090.171182142857 | Take profit: 2132.2234017857145 +2025-03-10 13:18:42,796 - INFO - CLOSED long at 2106.39 | PnL: 0.27% | $0.30 +2025-03-10 13:18:42,842 - INFO - OPENED SHORT at 2103.86 | Stop loss: 2114.394667857143 | Take profit: 2072.279048214286 +2025-03-10 13:18:42,870 - INFO - CLOSED short at 2104.68 | PnL: -0.04% | $-0.24 +2025-03-10 13:18:43,029 - INFO - OPENED SHORT at 2093.46 | Stop loss: 2103.9426678571426 | Take profit: 2062.035048214286 +2025-03-10 13:18:43,114 - INFO - CLOSED short at 2091.1 | PnL: 0.11% | $0.02 +2025-03-10 13:18:43,114 - INFO - OPENED LONG at 2091.1 | Stop loss: 2080.629132142857 | Take profit: 2122.489551785714 +2025-03-10 13:18:43,141 - INFO - CLOSED long at 2094.72 | PnL: 0.17% | $0.13 +2025-03-10 13:18:43,390 - INFO - OPENED LONG at 2080.38 | Stop loss: 2069.962732142857 | Take profit: 2111.6087517857145 +2025-03-10 13:18:43,452 - INFO - CLOSED long at 2083.41 | PnL: 0.15% | $0.08 +2025-03-10 13:18:43,452 - INFO - OPENED SHORT at 2083.41 | Stop loss: 2093.8424178571427 | Take profit: 2052.1357982142854 +2025-03-10 13:18:43,550 - INFO - CLOSED short at 2085.8 | PnL: -0.11% | $-0.37 +2025-03-10 13:18:43,746 - INFO - OPENED LONG at 2087.47 | Stop loss: 2077.017282142857 | Take profit: 2118.805101785714 +2025-03-10 13:18:43,786 - INFO - CLOSED long at 2086.81 | PnL: -0.03% | $-0.23 +2025-03-10 13:18:43,804 - INFO - OPENED SHORT at 2089.79 | Stop loss: 2100.2543178571427 | Take profit: 2058.4200982142856 +2025-03-10 13:18:43,827 - INFO - CLOSED short at 2085.67 | PnL: 0.20% | $0.17 +2025-03-10 13:18:43,847 - INFO - OPENED SHORT at 2089.2 | Stop loss: 2099.6613678571425 | Take profit: 2057.8389482142857 +2025-03-10 13:18:43,866 - INFO - CLOSED short at 2091.05 | PnL: -0.09% | $-0.33 +2025-03-10 13:18:43,887 - INFO - OPENED SHORT at 2091.05 | Stop loss: 2101.520617857143 | Take profit: 2059.661198214286 +2025-03-10 13:18:43,904 - INFO - CLOSED short at 2091.95 | PnL: -0.04% | $-0.25 +2025-03-10 13:18:43,985 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.163567857143 | Take profit: 2070.0923482142857 +2025-03-10 13:18:44,129 - INFO - CLOSED short at 2103.48 | PnL: -0.09% | $-0.32 +2025-03-10 13:18:44,170 - INFO - OPENED SHORT at 2103.81 | Stop loss: 2114.344417857143 | Take profit: 2072.229798214286 +2025-03-10 13:18:44,245 - INFO - CLOSED short at 2103.64 | PnL: 0.01% | $-0.16 +2025-03-10 13:18:44,245 - INFO - OPENED LONG at 2103.64 | Stop loss: 2093.106432142857 | Take profit: 2135.217651785714 +2025-03-10 13:18:44,400 - INFO - CLOSED long at 2102.7 | PnL: -0.04% | $-0.25 +2025-03-10 13:18:44,400 - INFO - OPENED SHORT at 2102.7 | Stop loss: 2113.2288678571426 | Take profit: 2071.1364482142853 +2025-03-10 13:18:44,462 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.32, Avg Loss=$-0.30 +2025-03-10 13:18:44,467 - INFO - Episode 6: Reward=-61.68, Balance=$86.22, Win Rate=25.3%, Trades=95, Episode PnL=$-11.66, Total PnL=$-132.96, Max Drawdown=13.6%, Pred Accuracy=99.4% +2025-03-10 13:18:44,467 - ERROR - Error in episode 6: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:18:44,467 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1831, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:18:44,492 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:18:44,733 - INFO - OPENED SHORT at 2050.0 | Stop loss: 2060.265367857143 | Take profit: 2019.2269482142858 +2025-03-10 13:18:45,064 - INFO - STOP LOSS hit for short at 2060.265367857143 | PnL: -0.50% | $-1.19 +2025-03-10 13:18:45,190 - INFO - OPENED SHORT at 2063.59 | Stop loss: 2073.923317857143 | Take profit: 2032.6130982142859 +2025-03-10 13:18:45,270 - INFO - CLOSED short at 2064.69 | PnL: -0.05% | $-0.30 +2025-03-10 13:18:45,311 - INFO - OPENED SHORT at 2063.01 | Stop loss: 2073.340417857143 | Take profit: 2032.041798214286 +2025-03-10 13:18:45,538 - INFO - CLOSED short at 2057.8 | PnL: 0.25% | $0.30 +2025-03-10 13:18:45,538 - INFO - OPENED LONG at 2057.8 | Stop loss: 2047.4956321428572 | Take profit: 2088.6900517857143 +2025-03-10 13:18:45,882 - INFO - CLOSED long at 2068.29 | PnL: 0.51% | $0.80 +2025-03-10 13:18:45,924 - INFO - OPENED SHORT at 2067.89 | Stop loss: 2078.244817857143 | Take profit: 2036.8485982142856 +2025-03-10 13:18:45,968 - INFO - CLOSED short at 2071.63 | PnL: -0.18% | $-0.56 +2025-03-10 13:18:46,145 - INFO - OPENED SHORT at 2068.99 | Stop loss: 2079.3503178571427 | Take profit: 2037.9320982142856 +2025-03-10 13:18:46,173 - INFO - CLOSED short at 2067.9 | PnL: 0.05% | $-0.09 +2025-03-10 13:18:46,173 - INFO - OPENED LONG at 2067.9 | Stop loss: 2057.5451321428573 | Take profit: 2098.9415517857146 +2025-03-10 13:18:46,592 - INFO - CLOSED long at 2069.37 | PnL: 0.07% | $-0.06 +2025-03-10 13:18:46,675 - INFO - OPENED SHORT at 2070.79 | Stop loss: 2081.1593178571425 | Take profit: 2039.7050982142857 +2025-03-10 13:18:46,702 - INFO - CLOSED short at 2070.28 | PnL: 0.02% | $-0.15 +2025-03-10 13:18:47,020 - INFO - OPENED SHORT at 2069.19 | Stop loss: 2079.5513178571427 | Take profit: 2038.1290982142857 +2025-03-10 13:18:47,164 - INFO - CLOSED short at 2069.01 | PnL: 0.01% | $-0.18 +2025-03-10 13:18:47,435 - INFO - OPENED LONG at 2068.76 | Stop loss: 2058.4008321428573 | Take profit: 2099.8144517857145 +2025-03-10 13:18:47,461 - INFO - CLOSED long at 2068.9 | PnL: 0.01% | $-0.18 +2025-03-10 13:18:47,461 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.259867857143 | Take profit: 2037.843448214286 +2025-03-10 13:18:47,763 - INFO - CLOSED short at 2071.39 | PnL: -0.12% | $-0.43 +2025-03-10 13:18:47,830 - INFO - OPENED LONG at 2072.75 | Stop loss: 2062.370882142857 | Take profit: 2103.8643017857144 +2025-03-10 13:18:48,120 - INFO - CLOSED long at 2071.92 | PnL: -0.04% | $-0.27 +2025-03-10 13:18:48,121 - INFO - OPENED SHORT at 2071.92 | Stop loss: 2082.294967857143 | Take profit: 2040.8181482142859 +2025-03-10 13:18:48,229 - INFO - CLOSED short at 2069.35 | PnL: 0.12% | $0.05 +2025-03-10 13:18:48,260 - INFO - OPENED LONG at 2068.32 | Stop loss: 2057.963032142857 | Take profit: 2099.3678517857143 +2025-03-10 13:18:48,494 - INFO - CLOSED long at 2066.8 | PnL: -0.07% | $-0.34 +2025-03-10 13:18:48,494 - INFO - OPENED SHORT at 2066.8 | Stop loss: 2077.1493678571433 | Take profit: 2035.7749482142858 +2025-03-10 13:18:48,602 - INFO - CLOSED short at 2065.26 | PnL: 0.07% | $-0.05 +2025-03-10 13:18:48,602 - INFO - OPENED LONG at 2065.26 | Stop loss: 2054.9183321428573 | Take profit: 2096.2619517857147 +2025-03-10 13:18:48,792 - INFO - CLOSED long at 2067.86 | PnL: 0.13% | $0.05 +2025-03-10 13:18:48,864 - INFO - OPENED SHORT at 2069.2 | Stop loss: 2079.5613678571426 | Take profit: 2038.1389482142854 +2025-03-10 13:18:48,901 - INFO - CLOSED short at 2070.3 | PnL: -0.05% | $-0.30 +2025-03-10 13:18:48,973 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.068867857143 | Take profit: 2039.6164482142856 +2025-03-10 13:18:49,176 - INFO - CLOSED short at 2067.11 | PnL: 0.17% | $0.14 +2025-03-10 13:18:49,376 - INFO - OPENED LONG at 2064.47 | Stop loss: 2054.132282142857 | Take profit: 2095.460101785714 +2025-03-10 13:18:49,587 - INFO - CLOSED long at 2067.88 | PnL: 0.17% | $0.13 +2025-03-10 13:18:49,707 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.601667857143 | Take profit: 2034.258048214286 +2025-03-10 13:18:49,966 - INFO - CLOSED short at 2066.24 | PnL: -0.05% | $-0.29 +2025-03-10 13:18:50,090 - INFO - OPENED SHORT at 2064.45 | Stop loss: 2074.787617857143 | Take profit: 2033.4601982142856 +2025-03-10 13:18:50,398 - INFO - CLOSED short at 2060.31 | PnL: 0.20% | $0.19 +2025-03-10 13:18:50,476 - INFO - OPENED LONG at 2062.61 | Stop loss: 2052.2815821428576 | Take profit: 2093.5722017857147 +2025-03-10 13:18:51,062 - INFO - CLOSED long at 2058.89 | PnL: -0.18% | $-0.54 +2025-03-10 13:18:51,065 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.199817857143 | Take profit: 2027.9835982142856 +2025-03-10 13:18:51,085 - INFO - CLOSED short at 2059.96 | PnL: -0.05% | $-0.29 +2025-03-10 13:18:51,232 - INFO - OPENED LONG at 2054.83 | Stop loss: 2044.5404821428572 | Take profit: 2085.6755017857145 +2025-03-10 13:18:51,286 - INFO - CLOSED long at 2058.15 | PnL: 0.16% | $0.12 +2025-03-10 13:18:51,287 - INFO - OPENED SHORT at 2058.15 | Stop loss: 2068.456117857143 | Take profit: 2027.2546982142858 +2025-03-10 13:18:51,336 - INFO - CLOSED short at 2061.66 | PnL: -0.17% | $-0.52 +2025-03-10 13:18:51,402 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.621867857143 | Take profit: 2030.357448214286 +2025-03-10 13:18:51,423 - INFO - CLOSED short at 2062.69 | PnL: -0.07% | $-0.32 +2025-03-10 13:18:51,448 - INFO - OPENED LONG at 2063.4 | Stop loss: 2053.0676321428573 | Take profit: 2094.374051785714 +2025-03-10 13:18:51,598 - INFO - CLOSED long at 2066.34 | PnL: 0.14% | $0.08 +2025-03-10 13:18:51,598 - INFO - OPENED SHORT at 2066.34 | Stop loss: 2076.687067857143 | Take profit: 2035.3218482142859 +2025-03-10 13:18:51,787 - INFO - STOP LOSS hit for short at 2076.687067857143 | PnL: -0.50% | $-1.14 +2025-03-10 13:18:51,912 - INFO - OPENED SHORT at 2071.6 | Stop loss: 2081.973367857143 | Take profit: 2040.5029482142857 +2025-03-10 13:18:51,928 - INFO - CLOSED short at 2073.23 | PnL: -0.08% | $-0.34 +2025-03-10 13:18:51,928 - INFO - OPENED LONG at 2073.23 | Stop loss: 2062.8484821428574 | Take profit: 2104.3515017857144 +2025-03-10 13:18:51,956 - INFO - CLOSED long at 2070.0 | PnL: -0.16% | $-0.48 +2025-03-10 13:18:52,091 - INFO - OPENED SHORT at 2068.79 | Stop loss: 2079.149317857143 | Take profit: 2037.7350982142857 +2025-03-10 13:18:52,245 - INFO - CLOSED short at 2065.7 | PnL: 0.15% | $0.09 +2025-03-10 13:18:52,334 - INFO - OPENED LONG at 2063.97 | Stop loss: 2053.6347821428567 | Take profit: 2094.9526017857143 +2025-03-10 13:18:52,415 - INFO - CLOSED long at 2064.4 | PnL: 0.02% | $-0.15 +2025-03-10 13:18:52,539 - INFO - OPENED SHORT at 2065.31 | Stop loss: 2075.6519178571425 | Take profit: 2034.3072982142855 +2025-03-10 13:18:52,611 - INFO - CLOSED short at 2068.59 | PnL: -0.16% | $-0.48 +2025-03-10 13:18:52,611 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.231682142857 | Take profit: 2099.6419017857143 +2025-03-10 13:18:52,800 - INFO - CLOSED long at 2070.61 | PnL: 0.10% | $-0.00 +2025-03-10 13:18:52,858 - INFO - OPENED SHORT at 2068.67 | Stop loss: 2079.028717857143 | Take profit: 2037.6168982142858 +2025-03-10 13:18:53,167 - INFO - CLOSED short at 2074.0 | PnL: -0.26% | $-0.66 +2025-03-10 13:18:53,167 - INFO - OPENED LONG at 2074.0 | Stop loss: 2063.614632142857 | Take profit: 2105.133051785714 +2025-03-10 13:18:53,203 - INFO - CLOSED long at 2072.09 | PnL: -0.09% | $-0.35 +2025-03-10 13:18:53,325 - INFO - OPENED LONG at 2067.9 | Stop loss: 2057.5451321428573 | Take profit: 2098.9415517857146 +2025-03-10 13:18:53,348 - INFO - CLOSED long at 2066.4 | PnL: -0.07% | $-0.32 +2025-03-10 13:18:53,369 - INFO - OPENED LONG at 2066.89 | Stop loss: 2056.540182142857 | Take profit: 2097.9164017857142 +2025-03-10 13:18:53,475 - INFO - CLOSED long at 2070.19 | PnL: 0.16% | $0.11 +2025-03-10 13:18:53,475 - INFO - OPENED SHORT at 2070.19 | Stop loss: 2080.556317857143 | Take profit: 2039.1140982142858 +2025-03-10 13:18:53,501 - INFO - CLOSED short at 2070.1 | PnL: 0.00% | $-0.17 +2025-03-10 13:18:53,540 - INFO - OPENED LONG at 2067.19 | Stop loss: 2056.838682142857 | Take profit: 2098.220901785714 +2025-03-10 13:18:53,588 - INFO - CLOSED long at 2065.5 | PnL: -0.08% | $-0.33 +2025-03-10 13:18:53,588 - INFO - OPENED SHORT at 2065.5 | Stop loss: 2075.8428678571427 | Take profit: 2034.4944482142857 +2025-03-10 13:18:53,751 - INFO - CLOSED short at 2063.39 | PnL: 0.10% | $0.00 +2025-03-10 13:18:53,751 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.057682142857 | Take profit: 2094.363901785714 +2025-03-10 13:18:53,934 - INFO - CLOSED long at 2066.33 | PnL: 0.14% | $0.08 +2025-03-10 13:18:54,112 - INFO - OPENED LONG at 2060.2 | Stop loss: 2049.883632142857 | Take profit: 2091.126051785714 +2025-03-10 13:18:54,259 - INFO - CLOSED long at 2049.21 | PnL: -0.53% | $-1.15 +2025-03-10 13:18:54,260 - INFO - OPENED SHORT at 2049.21 | Stop loss: 2059.471417857143 | Take profit: 2018.4487982142857 +2025-03-10 13:18:54,515 - INFO - STOP LOSS hit for short at 2059.471417857143 | PnL: -0.50% | $-1.08 +2025-03-10 13:18:54,552 - INFO - OPENED LONG at 2065.1 | Stop loss: 2054.759132142857 | Take profit: 2096.099551785714 +2025-03-10 13:18:54,569 - INFO - CLOSED long at 2062.43 | PnL: -0.13% | $-0.41 +2025-03-10 13:18:54,590 - INFO - OPENED SHORT at 2062.55 | Stop loss: 2072.878117857143 | Take profit: 2031.5886982142858 +2025-03-10 13:18:54,609 - INFO - CLOSED short at 2065.12 | PnL: -0.12% | $-0.40 +2025-03-10 13:18:54,738 - INFO - OPENED LONG at 2061.21 | Stop loss: 2050.888582142857 | Take profit: 2092.151201785714 +2025-03-10 13:18:54,804 - INFO - CLOSED long at 2060.7 | PnL: -0.02% | $-0.22 +2025-03-10 13:18:54,804 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.0188678571426 | Take profit: 2029.7664482142854 +2025-03-10 13:18:54,839 - INFO - CLOSED short at 2061.84 | PnL: -0.06% | $-0.27 +2025-03-10 13:18:54,839 - INFO - OPENED LONG at 2061.84 | Stop loss: 2051.515432142857 | Take profit: 2092.790651785714 +2025-03-10 13:18:54,981 - INFO - CLOSED long at 2069.34 | PnL: 0.36% | $0.46 +2025-03-10 13:18:54,983 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.702067857143 | Take profit: 2038.2768482142858 +2025-03-10 13:18:55,338 - INFO - CLOSED short at 2085.56 | PnL: -0.78% | $-1.55 +2025-03-10 13:18:55,338 - INFO - OPENED LONG at 2085.56 | Stop loss: 2075.116832142857 | Take profit: 2116.866451785714 +2025-03-10 13:18:55,429 - INFO - TAKE PROFIT hit for long at 2116.866451785714 | PnL: 1.50% | $2.42 +2025-03-10 13:18:55,507 - INFO - OPENED SHORT at 2133.95 | Stop loss: 2144.6351178571426 | Take profit: 2101.9176982142853 +2025-03-10 13:18:55,729 - INFO - CLOSED short at 2142.68 | PnL: -0.41% | $-0.90 +2025-03-10 13:18:55,776 - INFO - OPENED LONG at 2134.78 | Stop loss: 2124.090732142857 | Take profit: 2166.824751785715 +2025-03-10 13:18:55,868 - INFO - STOP LOSS hit for long at 2124.090732142857 | PnL: -0.50% | $-1.06 +2025-03-10 13:18:55,993 - INFO - OPENED LONG at 2121.4 | Stop loss: 2110.7776321428573 | Take profit: 2153.2440517857144 +2025-03-10 13:18:56,116 - INFO - CLOSED long at 2119.07 | PnL: -0.11% | $-0.36 +2025-03-10 13:18:56,217 - INFO - OPENED LONG at 2112.09 | Stop loss: 2101.5141821428574 | Take profit: 2143.7944017857144 +2025-03-10 13:18:56,273 - INFO - CLOSED long at 2113.24 | PnL: 0.05% | $-0.08 +2025-03-10 13:18:56,299 - INFO - OPENED SHORT at 2112.99 | Stop loss: 2123.570317857143 | Take profit: 2081.2720982142855 +2025-03-10 13:18:56,330 - INFO - CLOSED short at 2120.81 | PnL: -0.37% | $-0.81 +2025-03-10 13:18:56,331 - INFO - OPENED LONG at 2120.81 | Stop loss: 2110.190582142857 | Take profit: 2152.645201785714 +2025-03-10 13:18:56,404 - INFO - CLOSED long at 2114.8 | PnL: -0.28% | $-0.66 +2025-03-10 13:18:56,404 - INFO - OPENED SHORT at 2114.8 | Stop loss: 2125.389367857143 | Take profit: 2083.054948214286 +2025-03-10 13:18:56,477 - INFO - CLOSED short at 2108.71 | PnL: 0.29% | $0.32 +2025-03-10 13:18:56,477 - INFO - OPENED LONG at 2108.71 | Stop loss: 2098.1510821428574 | Take profit: 2140.3637017857145 +2025-03-10 13:18:56,596 - INFO - STOP LOSS hit for long at 2098.1510821428574 | PnL: -0.50% | $-1.02 +2025-03-10 13:18:56,915 - INFO - OPENED LONG at 2104.68 | Stop loss: 2094.141232142857 | Take profit: 2136.2732517857144 +2025-03-10 13:18:56,956 - INFO - CLOSED long at 2099.59 | PnL: -0.24% | $-0.58 +2025-03-10 13:18:56,994 - INFO - OPENED SHORT at 2098.39 | Stop loss: 2108.8973178571428 | Take profit: 2066.8910982142856 +2025-03-10 13:18:57,089 - INFO - CLOSED short at 2091.1 | PnL: 0.35% | $0.41 +2025-03-10 13:18:57,089 - INFO - OPENED LONG at 2091.1 | Stop loss: 2080.629132142857 | Take profit: 2122.489551785714 +2025-03-10 13:18:57,256 - INFO - CLOSED long at 2088.44 | PnL: -0.13% | $-0.38 +2025-03-10 13:18:57,288 - INFO - OPENED LONG at 2083.97 | Stop loss: 2073.534782142857 | Take profit: 2115.252601785714 +2025-03-10 13:18:57,417 - INFO - CLOSED long at 2083.41 | PnL: -0.03% | $-0.21 +2025-03-10 13:18:57,417 - INFO - OPENED SHORT at 2083.41 | Stop loss: 2093.8424178571427 | Take profit: 2052.1357982142854 +2025-03-10 13:18:57,435 - INFO - CLOSED short at 2085.09 | PnL: -0.08% | $-0.30 +2025-03-10 13:18:57,452 - INFO - OPENED SHORT at 2083.59 | Stop loss: 2094.023317857143 | Take profit: 2052.3130982142857 +2025-03-10 13:18:57,728 - INFO - CLOSED short at 2087.0 | PnL: -0.16% | $-0.44 +2025-03-10 13:18:57,728 - INFO - OPENED LONG at 2087.0 | Stop loss: 2076.5496321428573 | Take profit: 2118.3280517857143 +2025-03-10 13:18:57,767 - INFO - CLOSED long at 2087.78 | PnL: 0.04% | $-0.10 +2025-03-10 13:18:57,839 - INFO - OPENED SHORT at 2089.2 | Stop loss: 2099.6613678571425 | Take profit: 2057.8389482142857 +2025-03-10 13:18:57,879 - INFO - CLOSED short at 2091.05 | PnL: -0.09% | $-0.31 +2025-03-10 13:18:57,880 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.5793821428574 | Take profit: 2122.4388017857145 +2025-03-10 13:18:57,897 - INFO - CLOSED long at 2091.95 | PnL: 0.04% | $-0.09 +2025-03-10 13:18:57,898 - INFO - OPENED SHORT at 2091.95 | Stop loss: 2102.4251178571426 | Take profit: 2060.5476982142854 +2025-03-10 13:18:57,943 - INFO - CLOSED short at 2097.8 | PnL: -0.28% | $-0.62 +2025-03-10 13:18:58,214 - INFO - OPENED SHORT at 2104.93 | Stop loss: 2115.4700178571425 | Take profit: 2073.3329982142855 +2025-03-10 13:18:58,254 - INFO - CLOSED short at 2103.07 | PnL: 0.09% | $-0.02 +2025-03-10 13:18:58,254 - INFO - OPENED LONG at 2103.07 | Stop loss: 2092.5392821428572 | Take profit: 2134.6391017857145 +2025-03-10 13:18:58,272 - INFO - CLOSED long at 2101.5 | PnL: -0.07% | $-0.29 +2025-03-10 13:18:58,272 - INFO - OPENED SHORT at 2101.5 | Stop loss: 2112.0228678571425 | Take profit: 2069.9544482142855 +2025-03-10 13:18:58,411 - INFO - CLOSED short at 2104.4 | PnL: -0.14% | $-0.39 +2025-03-10 13:18:58,411 - INFO - OPENED LONG at 2104.4 | Stop loss: 2093.8626321428574 | Take profit: 2135.9890517857148 +2025-03-10 13:18:58,567 - INFO - CLOSED long at 2103.41 | PnL: -0.05% | $-0.24 +2025-03-10 13:18:58,567 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.942417857143 | Take profit: 2071.8357982142857 +2025-03-10 13:18:58,592 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.34, Avg Loss=$-0.44 +2025-03-10 13:18:58,593 - INFO - Episode 7: Reward=41.20, Balance=$81.32, Win Rate=23.3%, Trades=73, Episode PnL=$-14.92, Total PnL=$-151.63, Max Drawdown=17.7%, Pred Accuracy=99.6% +2025-03-10 13:18:58,593 - ERROR - Error in episode 7: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:18:58,594 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1831, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:18:58,613 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:18:58,930 - INFO - OPENED SHORT at 2048.13 | Stop loss: 2058.3860178571426 | Take profit: 2017.3849982142858 +2025-03-10 13:18:58,954 - INFO - CLOSED short at 2047.59 | PnL: 0.03% | $-0.15 +2025-03-10 13:18:58,954 - INFO - OPENED LONG at 2047.59 | Stop loss: 2037.336682142857 | Take profit: 2078.326901785714 +2025-03-10 13:18:59,036 - INFO - CLOSED long at 2049.89 | PnL: 0.11% | $0.02 +2025-03-10 13:18:59,101 - INFO - OPENED SHORT at 2051.89 | Stop loss: 2062.1648178571427 | Take profit: 2021.0885982142856 +2025-03-10 13:18:59,135 - INFO - CLOSED short at 2052.3 | PnL: -0.02% | $-0.24 +2025-03-10 13:18:59,135 - INFO - OPENED LONG at 2052.3 | Stop loss: 2042.0231321428573 | Take profit: 2083.1075517857143 +2025-03-10 13:18:59,326 - INFO - CLOSED long at 2059.7 | PnL: 0.36% | $0.52 +2025-03-10 13:18:59,538 - INFO - OPENED SHORT at 2060.0 | Stop loss: 2070.315367857143 | Take profit: 2029.0769482142857 +2025-03-10 13:18:59,638 - INFO - CLOSED short at 2060.31 | PnL: -0.02% | $-0.23 +2025-03-10 13:18:59,755 - INFO - OPENED LONG at 2057.94 | Stop loss: 2047.634932142857 | Take profit: 2088.8321517857144 +2025-03-10 13:18:59,774 - INFO - CLOSED long at 2058.11 | PnL: 0.01% | $-0.18 +2025-03-10 13:18:59,775 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.415917857143 | Take profit: 2027.215298214286 +2025-03-10 13:18:59,872 - INFO - STOP LOSS hit for short at 2068.415917857143 | PnL: -0.50% | $-1.19 +2025-03-10 13:18:59,898 - INFO - OPENED SHORT at 2068.11 | Stop loss: 2078.465917857143 | Take profit: 2037.0652982142858 +2025-03-10 13:18:59,988 - INFO - CLOSED short at 2071.63 | PnL: -0.17% | $-0.53 +2025-03-10 13:19:00,172 - INFO - OPENED SHORT at 2073.73 | Stop loss: 2084.1140178571427 | Take profit: 2042.600998214286 +2025-03-10 13:19:00,191 - INFO - CLOSED short at 2075.1 | PnL: -0.07% | $-0.32 +2025-03-10 13:19:00,214 - INFO - OPENED SHORT at 2072.91 | Stop loss: 2083.289917857143 | Take profit: 2041.7932982142856 +2025-03-10 13:19:00,255 - INFO - CLOSED short at 2071.38 | PnL: 0.07% | $-0.05 +2025-03-10 13:19:00,255 - INFO - OPENED LONG at 2071.38 | Stop loss: 2061.0077321428575 | Take profit: 2102.4737517857143 +2025-03-10 13:19:00,359 - INFO - CLOSED long at 2072.8 | PnL: 0.07% | $-0.06 +2025-03-10 13:19:00,438 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.3754678571427 | Take profit: 2036.9766482142857 +2025-03-10 13:19:00,796 - INFO - CLOSED short at 2066.18 | PnL: 0.09% | $-0.02 +2025-03-10 13:19:00,917 - INFO - OPENED SHORT at 2069.7 | Stop loss: 2080.0638678571427 | Take profit: 2038.6314482142857 +2025-03-10 13:19:00,939 - INFO - CLOSED short at 2070.4 | PnL: -0.03% | $-0.26 +2025-03-10 13:19:00,983 - INFO - OPENED SHORT at 2071.4 | Stop loss: 2081.7723678571433 | Take profit: 2040.305948214286 +2025-03-10 13:19:01,058 - INFO - CLOSED short at 2072.75 | PnL: -0.07% | $-0.32 +2025-03-10 13:19:01,058 - INFO - OPENED LONG at 2072.75 | Stop loss: 2062.370882142857 | Take profit: 2103.8643017857144 +2025-03-10 13:19:01,085 - INFO - CLOSED long at 2073.11 | PnL: 0.02% | $-0.16 +2025-03-10 13:19:01,085 - INFO - OPENED SHORT at 2073.11 | Stop loss: 2083.490917857143 | Take profit: 2041.9902982142858 +2025-03-10 13:19:01,207 - INFO - CLOSED short at 2071.92 | PnL: 0.06% | $-0.08 +2025-03-10 13:19:01,207 - INFO - OPENED LONG at 2071.92 | Stop loss: 2061.545032142857 | Take profit: 2103.0218517857147 +2025-03-10 13:19:01,342 - INFO - CLOSED long at 2068.32 | PnL: -0.17% | $-0.53 +2025-03-10 13:19:01,415 - INFO - OPENED LONG at 2067.46 | Stop loss: 2057.107332142857 | Take profit: 2098.4949517857144 +2025-03-10 13:19:01,440 - INFO - CLOSED long at 2066.8 | PnL: -0.03% | $-0.25 +2025-03-10 13:19:01,440 - INFO - OPENED SHORT at 2066.8 | Stop loss: 2077.1493678571433 | Take profit: 2035.7749482142858 +2025-03-10 13:19:01,467 - INFO - CLOSED short at 2065.49 | PnL: 0.06% | $-0.07 +2025-03-10 13:19:01,725 - INFO - OPENED LONG at 2070.3 | Stop loss: 2059.933132142857 | Take profit: 2101.3775517857143 +2025-03-10 13:19:01,941 - INFO - CLOSED long at 2067.86 | PnL: -0.12% | $-0.41 +2025-03-10 13:19:01,941 - INFO - OPENED SHORT at 2067.86 | Stop loss: 2078.214667857143 | Take profit: 2036.8190482142859 +2025-03-10 13:19:01,986 - INFO - CLOSED short at 2066.1 | PnL: 0.09% | $-0.03 +2025-03-10 13:19:01,986 - INFO - OPENED LONG at 2066.1 | Stop loss: 2055.754132142857 | Take profit: 2097.1145517857144 +2025-03-10 13:19:02,014 - INFO - CLOSED long at 2065.28 | PnL: -0.04% | $-0.26 +2025-03-10 13:19:02,015 - INFO - OPENED SHORT at 2065.28 | Stop loss: 2075.6217678571434 | Take profit: 2034.277748214286 +2025-03-10 13:19:02,036 - INFO - CLOSED short at 2066.39 | PnL: -0.05% | $-0.29 +2025-03-10 13:19:02,145 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.033817857143 | Take profit: 2034.6815982142857 +2025-03-10 13:19:02,197 - INFO - CLOSED short at 2064.99 | PnL: 0.03% | $-0.12 +2025-03-10 13:19:02,197 - INFO - OPENED LONG at 2064.99 | Stop loss: 2054.649682142857 | Take profit: 2095.9879017857143 +2025-03-10 13:19:02,251 - INFO - CLOSED long at 2066.15 | PnL: 0.06% | $-0.08 +2025-03-10 13:19:02,350 - INFO - OPENED SHORT at 2061.78 | Stop loss: 2072.1042678571434 | Take profit: 2030.830248214286 +2025-03-10 13:19:02,430 - INFO - CLOSED short at 2063.59 | PnL: -0.09% | $-0.35 +2025-03-10 13:19:02,573 - INFO - OPENED LONG at 2066.09 | Stop loss: 2055.7441821428574 | Take profit: 2097.1044017857143 +2025-03-10 13:19:02,629 - INFO - CLOSED long at 2064.08 | PnL: -0.10% | $-0.37 +2025-03-10 13:19:02,748 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.276632142857 | Take profit: 2092.5470517857143 +2025-03-10 13:19:02,885 - INFO - CLOSED long at 2061.8 | PnL: 0.01% | $-0.17 +2025-03-10 13:19:02,886 - INFO - OPENED SHORT at 2061.8 | Stop loss: 2072.1243678571427 | Take profit: 2030.8499482142859 +2025-03-10 13:19:02,907 - INFO - CLOSED short at 2064.7 | PnL: -0.14% | $-0.45 +2025-03-10 13:19:03,137 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.057682142857 | Take profit: 2094.363901785714 +2025-03-10 13:19:03,386 - INFO - CLOSED long at 2060.7 | PnL: -0.13% | $-0.43 +2025-03-10 13:19:03,409 - INFO - OPENED SHORT at 2061.09 | Stop loss: 2071.410817857143 | Take profit: 2030.1505982142858 +2025-03-10 13:19:03,480 - INFO - CLOSED short at 2059.02 | PnL: 0.10% | $0.00 +2025-03-10 13:19:03,480 - INFO - OPENED LONG at 2059.02 | Stop loss: 2048.7095321428574 | Take profit: 2089.9283517857143 +2025-03-10 13:19:03,537 - INFO - CLOSED long at 2059.96 | PnL: 0.05% | $-0.10 +2025-03-10 13:19:03,876 - INFO - OPENED SHORT at 2061.5 | Stop loss: 2071.8228678571427 | Take profit: 2030.5544482142857 +2025-03-10 13:19:03,939 - INFO - CLOSED short at 2062.69 | PnL: -0.06% | $-0.29 +2025-03-10 13:19:04,103 - INFO - OPENED SHORT at 2064.49 | Stop loss: 2074.8278178571427 | Take profit: 2033.4995982142855 +2025-03-10 13:19:04,375 - INFO - CLOSED short at 2078.01 | PnL: -0.65% | $-1.39 +2025-03-10 13:19:04,416 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.4004178571427 | Take profit: 2043.861798214286 +2025-03-10 13:19:04,505 - INFO - CLOSED short at 2071.04 | PnL: 0.19% | $0.17 +2025-03-10 13:19:04,564 - INFO - OPENED LONG at 2071.6 | Stop loss: 2061.226632142857 | Take profit: 2102.697051785714 +2025-03-10 13:19:04,597 - INFO - CLOSED long at 2073.23 | PnL: 0.08% | $-0.04 +2025-03-10 13:19:04,627 - INFO - OPENED LONG at 2070.0 | Stop loss: 2059.634632142857 | Take profit: 2101.0730517857146 +2025-03-10 13:19:04,917 - INFO - CLOSED long at 2067.33 | PnL: -0.13% | $-0.41 +2025-03-10 13:19:04,918 - INFO - OPENED SHORT at 2067.33 | Stop loss: 2077.682017857143 | Take profit: 2036.2969982142856 +2025-03-10 13:19:05,036 - INFO - CLOSED short at 2065.66 | PnL: 0.08% | $-0.03 +2025-03-10 13:19:05,036 - INFO - OPENED LONG at 2065.66 | Stop loss: 2055.316332142857 | Take profit: 2096.6679517857137 +2025-03-10 13:19:05,162 - INFO - CLOSED long at 2065.3 | PnL: -0.02% | $-0.21 +2025-03-10 13:19:05,204 - INFO - OPENED LONG at 2064.31 | Stop loss: 2053.973082142857 | Take profit: 2095.2977017857143 +2025-03-10 13:19:05,228 - INFO - CLOSED long at 2065.5 | PnL: 0.06% | $-0.08 +2025-03-10 13:19:05,228 - INFO - OPENED SHORT at 2065.5 | Stop loss: 2075.8428678571427 | Take profit: 2034.4944482142857 +2025-03-10 13:19:05,253 - INFO - CLOSED short at 2067.53 | PnL: -0.10% | $-0.36 +2025-03-10 13:19:05,254 - INFO - OPENED LONG at 2067.53 | Stop loss: 2057.1769821428575 | Take profit: 2098.566001785715 +2025-03-10 13:19:05,516 - INFO - CLOSED long at 2071.59 | PnL: 0.20% | $0.17 +2025-03-10 13:19:05,564 - INFO - OPENED SHORT at 2071.35 | Stop loss: 2081.7221178571426 | Take profit: 2040.2566982142855 +2025-03-10 13:19:05,586 - INFO - CLOSED short at 2070.9 | PnL: 0.02% | $-0.14 +2025-03-10 13:19:05,652 - INFO - OPENED LONG at 2070.8 | Stop loss: 2060.430632142857 | Take profit: 2101.8850517857145 +2025-03-10 13:19:05,736 - INFO - CLOSED long at 2071.99 | PnL: 0.06% | $-0.08 +2025-03-10 13:19:05,954 - INFO - OPENED SHORT at 2071.61 | Stop loss: 2081.983417857143 | Take profit: 2040.5127982142858 +2025-03-10 13:19:05,983 - INFO - CLOSED short at 2074.37 | PnL: -0.13% | $-0.42 +2025-03-10 13:19:05,983 - INFO - OPENED LONG at 2074.37 | Stop loss: 2063.982782142857 | Take profit: 2105.508601785714 +2025-03-10 13:19:06,005 - INFO - CLOSED long at 2075.07 | PnL: 0.03% | $-0.12 +2025-03-10 13:19:06,005 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.460717857143 | Take profit: 2043.920898214286 +2025-03-10 13:19:06,202 - INFO - CLOSED short at 2075.61 | PnL: -0.03% | $-0.22 +2025-03-10 13:19:06,202 - INFO - OPENED LONG at 2075.61 | Stop loss: 2065.216582142857 | Take profit: 2106.7672017857144 +2025-03-10 13:19:06,275 - INFO - CLOSED long at 2072.09 | PnL: -0.17% | $-0.48 +2025-03-10 13:19:06,275 - INFO - OPENED SHORT at 2072.09 | Stop loss: 2082.465817857143 | Take profit: 2040.985598214286 +2025-03-10 13:19:06,340 - INFO - CLOSED short at 2067.7 | PnL: 0.21% | $0.20 +2025-03-10 13:19:06,340 - INFO - OPENED LONG at 2067.7 | Stop loss: 2057.3461321428567 | Take profit: 2098.738551785714 +2025-03-10 13:19:06,367 - INFO - CLOSED long at 2067.0 | PnL: -0.03% | $-0.24 +2025-03-10 13:19:06,367 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.350367857143 | Take profit: 2035.9719482142857 +2025-03-10 13:19:06,427 - INFO - CLOSED short at 2066.4 | PnL: 0.03% | $-0.13 +2025-03-10 13:19:06,428 - INFO - OPENED LONG at 2066.4 | Stop loss: 2056.0526321428574 | Take profit: 2097.4190517857146 +2025-03-10 13:19:06,503 - INFO - CLOSED long at 2065.45 | PnL: -0.05% | $-0.26 +2025-03-10 13:19:06,503 - INFO - OPENED SHORT at 2065.45 | Stop loss: 2075.792617857143 | Take profit: 2034.4451982142855 +2025-03-10 13:19:06,526 - INFO - CLOSED short at 2068.1 | PnL: -0.13% | $-0.40 +2025-03-10 13:19:06,528 - INFO - OPENED LONG at 2068.1 | Stop loss: 2057.744132142857 | Take profit: 2099.1445517857146 +2025-03-10 13:19:06,582 - INFO - CLOSED long at 2069.0 | PnL: 0.04% | $-0.10 +2025-03-10 13:19:06,700 - INFO - OPENED SHORT at 2067.19 | Stop loss: 2077.541317857143 | Take profit: 2036.1590982142857 +2025-03-10 13:19:06,744 - INFO - CLOSED short at 2065.7 | PnL: 0.07% | $-0.05 +2025-03-10 13:19:06,744 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.356132142857 | Take profit: 2096.708551785714 +2025-03-10 13:19:06,868 - INFO - CLOSED long at 2063.98 | PnL: -0.08% | $-0.32 +2025-03-10 13:19:06,868 - INFO - OPENED SHORT at 2063.98 | Stop loss: 2074.3152678571428 | Take profit: 2032.9972482142857 +2025-03-10 13:19:07,000 - INFO - CLOSED short at 2066.33 | PnL: -0.11% | $-0.37 +2025-03-10 13:19:07,000 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.982982142857 | Take profit: 2097.348001785714 +2025-03-10 13:19:07,215 - INFO - STOP LOSS hit for long at 2055.982982142857 | PnL: -0.50% | $-1.04 +2025-03-10 13:19:07,251 - INFO - OPENED LONG at 2049.5 | Stop loss: 2039.2371321428573 | Take profit: 2080.2655517857143 +2025-03-10 13:19:07,300 - INFO - CLOSED long at 2058.3 | PnL: 0.43% | $0.56 +2025-03-10 13:19:07,361 - INFO - OPENED SHORT at 2057.11 | Stop loss: 2067.410917857143 | Take profit: 2026.2302982142858 +2025-03-10 13:19:07,459 - INFO - CLOSED short at 2063.9 | PnL: -0.33% | $-0.74 +2025-03-10 13:19:07,529 - INFO - OPENED SHORT at 2062.55 | Stop loss: 2072.878117857143 | Take profit: 2031.5886982142858 +2025-03-10 13:19:07,550 - INFO - CLOSED short at 2065.12 | PnL: -0.12% | $-0.38 +2025-03-10 13:19:07,550 - INFO - OPENED LONG at 2065.12 | Stop loss: 2054.779032142857 | Take profit: 2096.119851785714 +2025-03-10 13:19:07,608 - INFO - CLOSED long at 2066.59 | PnL: 0.07% | $-0.05 +2025-03-10 13:19:07,713 - INFO - OPENED LONG at 2061.84 | Stop loss: 2051.515432142857 | Take profit: 2092.790651785714 +2025-03-10 13:19:07,779 - INFO - CLOSED long at 2065.72 | PnL: 0.19% | $0.15 +2025-03-10 13:19:07,811 - INFO - OPENED LONG at 2070.31 | Stop loss: 2059.943082142857 | Take profit: 2101.3877017857144 +2025-03-10 13:19:07,955 - INFO - CLOSED long at 2074.05 | PnL: 0.18% | $0.14 +2025-03-10 13:19:07,998 - INFO - OPENED SHORT at 2071.89 | Stop loss: 2082.264817857143 | Take profit: 2040.7885982142855 +2025-03-10 13:19:08,095 - INFO - STOP LOSS hit for short at 2082.264817857143 | PnL: -0.50% | $-1.02 +2025-03-10 13:19:08,148 - INFO - OPENED LONG at 2103.02 | Stop loss: 2092.489532142857 | Take profit: 2134.588351785714 +2025-03-10 13:19:08,208 - INFO - TAKE PROFIT hit for long at 2134.588351785714 | PnL: 1.50% | $2.36 +2025-03-10 13:19:08,293 - INFO - OPENED SHORT at 2137.59 | Stop loss: 2148.293317857143 | Take profit: 2105.5030982142857 +2025-03-10 13:19:08,413 - INFO - CLOSED short at 2134.78 | PnL: 0.13% | $0.05 +2025-03-10 13:19:08,454 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.6481321428573 | Take profit: 2159.2325517857143 +2025-03-10 13:19:08,511 - INFO - CLOSED long at 2120.15 | PnL: -0.34% | $-0.76 +2025-03-10 13:19:08,511 - INFO - OPENED SHORT at 2120.15 | Stop loss: 2130.766117857143 | Take profit: 2088.324698214286 +2025-03-10 13:19:08,761 - INFO - CLOSED short at 2110.6 | PnL: 0.45% | $0.60 +2025-03-10 13:19:09,204 - INFO - OPENED LONG at 2102.29 | Stop loss: 2091.763182142857 | Take profit: 2133.8474017857143 +2025-03-10 13:19:09,244 - INFO - CLOSED long at 2098.9 | PnL: -0.16% | $-0.45 +2025-03-10 13:19:09,244 - INFO - OPENED SHORT at 2098.9 | Stop loss: 2109.409867857143 | Take profit: 2067.393448214286 +2025-03-10 13:19:09,286 - INFO - CLOSED short at 2104.83 | PnL: -0.28% | $-0.66 +2025-03-10 13:19:09,325 - INFO - OPENED LONG at 2100.74 | Stop loss: 2090.2209321428572 | Take profit: 2132.2741517857144 +2025-03-10 13:19:09,349 - INFO - CLOSED long at 2103.86 | PnL: 0.15% | $0.08 +2025-03-10 13:19:09,428 - INFO - OPENED SHORT at 2101.51 | Stop loss: 2112.0329178571433 | Take profit: 2069.964298214286 +2025-03-10 13:19:09,513 - INFO - CLOSED short at 2098.39 | PnL: 0.15% | $0.08 +2025-03-10 13:19:09,513 - INFO - OPENED LONG at 2098.39 | Stop loss: 2087.882682142857 | Take profit: 2129.8889017857146 +2025-03-10 13:19:09,561 - INFO - CLOSED long at 2093.46 | PnL: -0.23% | $-0.57 +2025-03-10 13:19:09,584 - INFO - OPENED LONG at 2093.33 | Stop loss: 2082.8479821428573 | Take profit: 2124.7530017857143 +2025-03-10 13:19:09,601 - INFO - CLOSED long at 2092.46 | PnL: -0.04% | $-0.24 +2025-03-10 13:19:09,624 - INFO - OPENED LONG at 2091.1 | Stop loss: 2080.629132142857 | Take profit: 2122.489551785714 +2025-03-10 13:19:09,884 - INFO - CLOSED long at 2081.49 | PnL: -0.46% | $-0.95 +2025-03-10 13:19:09,974 - INFO - OPENED SHORT at 2085.09 | Stop loss: 2095.5308178571427 | Take profit: 2053.790598214286 +2025-03-10 13:19:09,993 - INFO - CLOSED short at 2083.59 | PnL: 0.07% | $-0.05 +2025-03-10 13:19:10,092 - INFO - OPENED SHORT at 2085.85 | Stop loss: 2096.294617857143 | Take profit: 2054.5391982142855 +2025-03-10 13:19:10,236 - INFO - CLOSED short at 2087.0 | PnL: -0.06% | $-0.26 +2025-03-10 13:19:10,236 - INFO - OPENED LONG at 2087.0 | Stop loss: 2076.5496321428573 | Take profit: 2118.3280517857143 +2025-03-10 13:19:10,269 - INFO - CLOSED long at 2087.47 | PnL: 0.02% | $-0.13 +2025-03-10 13:19:10,350 - INFO - OPENED SHORT at 2089.79 | Stop loss: 2100.2543178571427 | Take profit: 2058.4200982142856 +2025-03-10 13:19:10,369 - INFO - CLOSED short at 2085.67 | PnL: 0.20% | $0.16 +2025-03-10 13:19:10,369 - INFO - OPENED LONG at 2085.67 | Stop loss: 2075.226282142857 | Take profit: 2116.9781017857144 +2025-03-10 13:19:10,418 - INFO - CLOSED long at 2091.05 | PnL: 0.26% | $0.26 +2025-03-10 13:19:10,419 - INFO - OPENED SHORT at 2091.05 | Stop loss: 2101.520617857143 | Take profit: 2059.661198214286 +2025-03-10 13:19:10,461 - INFO - CLOSED short at 2091.95 | PnL: -0.04% | $-0.24 +2025-03-10 13:19:10,461 - INFO - OPENED LONG at 2091.95 | Stop loss: 2081.474882142857 | Take profit: 2123.352301785714 +2025-03-10 13:19:10,537 - INFO - CLOSED long at 2099.99 | PnL: 0.38% | $0.48 +2025-03-10 13:19:10,537 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.505317857143 | Take profit: 2068.4670982142857 +2025-03-10 13:19:10,763 - INFO - CLOSED short at 2103.48 | PnL: -0.17% | $-0.45 +2025-03-10 13:19:10,763 - INFO - OPENED LONG at 2103.48 | Stop loss: 2092.947232142857 | Take profit: 2135.055251785714 +2025-03-10 13:19:10,932 - INFO - CLOSED long at 2103.52 | PnL: 0.00% | $-0.16 +2025-03-10 13:19:10,932 - INFO - OPENED SHORT at 2103.52 | Stop loss: 2114.052967857143 | Take profit: 2071.9441482142856 +2025-03-10 13:19:10,966 - INFO - CLOSED short at 2104.4 | PnL: -0.04% | $-0.24 +2025-03-10 13:19:11,002 - INFO - OPENED SHORT at 2105.21 | Stop loss: 2115.7514178571428 | Take profit: 2073.608798214286 +2025-03-10 13:19:11,146 - INFO - CLOSED short at 2103.41 | PnL: 0.09% | $-0.02 +2025-03-10 13:19:11,146 - INFO - OPENED LONG at 2103.41 | Stop loss: 2092.877582142857 | Take profit: 2134.984201785714 +2025-03-10 13:19:11,169 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.35, Avg Loss=$-0.32 +2025-03-10 13:19:11,170 - INFO - Episode 8: Reward=25.60, Balance=$83.76, Win Rate=19.5%, Trades=87, Episode PnL=$-12.26, Total PnL=$-167.87, Max Drawdown=16.3%, Pred Accuracy=99.6% +2025-03-10 13:19:11,170 - ERROR - Error in episode 8: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:19:11,171 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1831, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:19:11,194 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:19:11,564 - INFO - OPENED SHORT at 2049.89 | Stop loss: 2060.1548178571425 | Take profit: 2019.1185982142856 +2025-03-10 13:19:11,657 - INFO - CLOSED short at 2055.69 | PnL: -0.28% | $-0.76 +2025-03-10 13:19:11,724 - INFO - OPENED LONG at 2058.39 | Stop loss: 2048.0826821428573 | Take profit: 2089.288901785714 +2025-03-10 13:19:11,855 - INFO - CLOSED long at 2063.29 | PnL: 0.24% | $0.27 +2025-03-10 13:19:11,855 - INFO - OPENED SHORT at 2063.29 | Stop loss: 2073.621817857143 | Take profit: 2032.3175982142857 +2025-03-10 13:19:11,895 - INFO - CLOSED short at 2064.61 | PnL: -0.06% | $-0.32 +2025-03-10 13:19:11,938 - INFO - OPENED LONG at 2061.61 | Stop loss: 2051.2865821428572 | Take profit: 2092.5572017857144 +2025-03-10 13:19:12,007 - INFO - CLOSED long at 2060.99 | PnL: -0.03% | $-0.26 +2025-03-10 13:19:12,049 - INFO - OPENED LONG at 2060.0 | Stop loss: 2049.684632142857 | Take profit: 2090.923051785714 +2025-03-10 13:19:12,334 - INFO - CLOSED long at 2061.18 | PnL: 0.06% | $-0.08 +2025-03-10 13:19:12,540 - INFO - OPENED SHORT at 2068.65 | Stop loss: 2079.008617857143 | Take profit: 2037.5971982142858 +2025-03-10 13:19:12,606 - INFO - CLOSED short at 2067.9 | PnL: 0.04% | $-0.13 +2025-03-10 13:19:12,606 - INFO - OPENED LONG at 2067.9 | Stop loss: 2057.5451321428573 | Take profit: 2098.9415517857146 +2025-03-10 13:19:12,727 - INFO - CLOSED long at 2073.73 | PnL: 0.28% | $0.36 +2025-03-10 13:19:12,727 - INFO - OPENED SHORT at 2073.73 | Stop loss: 2084.1140178571427 | Take profit: 2042.600998214286 +2025-03-10 13:19:12,790 - INFO - CLOSED short at 2072.33 | PnL: 0.07% | $-0.06 +2025-03-10 13:19:12,875 - INFO - OPENED LONG at 2070.9 | Stop loss: 2060.5301321428574 | Take profit: 2101.9865517857143 +2025-03-10 13:19:12,965 - INFO - CLOSED long at 2068.02 | PnL: -0.14% | $-0.47 +2025-03-10 13:19:12,965 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.3754678571427 | Take profit: 2036.9766482142857 +2025-03-10 13:19:13,219 - INFO - CLOSED short at 2069.01 | PnL: -0.05% | $-0.29 +2025-03-10 13:19:13,219 - INFO - OPENED LONG at 2069.01 | Stop loss: 2058.6495821428575 | Take profit: 2100.0682017857143 +2025-03-10 13:19:13,356 - INFO - CLOSED long at 2066.18 | PnL: -0.14% | $-0.46 +2025-03-10 13:19:13,356 - INFO - OPENED SHORT at 2066.18 | Stop loss: 2076.5262678571426 | Take profit: 2035.1642482142856 +2025-03-10 13:19:13,464 - INFO - CLOSED short at 2068.51 | PnL: -0.11% | $-0.41 +2025-03-10 13:19:13,464 - INFO - OPENED LONG at 2068.51 | Stop loss: 2058.152082142857 | Take profit: 2099.5607017857146 +2025-03-10 13:19:13,611 - INFO - CLOSED long at 2071.39 | PnL: 0.14% | $0.08 +2025-03-10 13:19:13,611 - INFO - OPENED SHORT at 2071.39 | Stop loss: 2081.7623178571425 | Take profit: 2040.2960982142856 +2025-03-10 13:19:13,654 - INFO - CLOSED short at 2072.75 | PnL: -0.07% | $-0.32 +2025-03-10 13:19:13,719 - INFO - OPENED SHORT at 2072.15 | Stop loss: 2082.5261178571427 | Take profit: 2041.0446982142857 +2025-03-10 13:19:13,816 - INFO - CLOSED short at 2071.92 | PnL: 0.01% | $-0.17 +2025-03-10 13:19:13,816 - INFO - OPENED LONG at 2071.92 | Stop loss: 2061.545032142857 | Take profit: 2103.0218517857147 +2025-03-10 13:19:13,976 - INFO - CLOSED long at 2067.0 | PnL: -0.24% | $-0.65 +2025-03-10 13:19:13,976 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.350367857143 | Take profit: 2035.9719482142857 +2025-03-10 13:19:14,166 - INFO - CLOSED short at 2068.8 | PnL: -0.09% | $-0.36 +2025-03-10 13:19:14,205 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.702067857143 | Take profit: 2038.2768482142858 +2025-03-10 13:19:14,359 - INFO - CLOSED short at 2070.7 | PnL: -0.07% | $-0.32 +2025-03-10 13:19:14,381 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.032632142857 | Take profit: 2101.4790517857145 +2025-03-10 13:19:14,468 - INFO - CLOSED long at 2067.84 | PnL: -0.12% | $-0.42 +2025-03-10 13:19:14,758 - INFO - OPENED LONG at 2065.69 | Stop loss: 2055.3461821428573 | Take profit: 2096.6984017857144 +2025-03-10 13:19:14,816 - INFO - CLOSED long at 2065.83 | PnL: 0.01% | $-0.18 +2025-03-10 13:19:14,886 - INFO - OPENED SHORT at 2062.65 | Stop loss: 2072.978617857143 | Take profit: 2031.6871982142857 +2025-03-10 13:19:14,911 - INFO - CLOSED short at 2061.78 | PnL: 0.04% | $-0.11 +2025-03-10 13:19:15,001 - INFO - OPENED SHORT at 2063.59 | Stop loss: 2073.923317857143 | Take profit: 2032.6130982142859 +2025-03-10 13:19:15,253 - INFO - CLOSED short at 2063.5 | PnL: 0.00% | $-0.18 +2025-03-10 13:19:15,253 - INFO - OPENED LONG at 2063.5 | Stop loss: 2053.167132142857 | Take profit: 2094.4755517857143 +2025-03-10 13:19:15,491 - INFO - CLOSED long at 2062.61 | PnL: -0.04% | $-0.27 +2025-03-10 13:19:15,491 - INFO - OPENED SHORT at 2062.61 | Stop loss: 2072.9384178571427 | Take profit: 2031.6477982142858 +2025-03-10 13:19:15,537 - INFO - CLOSED short at 2060.3 | PnL: 0.11% | $0.02 +2025-03-10 13:19:15,593 - INFO - OPENED SHORT at 2064.1 | Stop loss: 2074.4358678571425 | Take profit: 2033.1154482142856 +2025-03-10 13:19:15,616 - INFO - CLOSED short at 2065.36 | PnL: -0.06% | $-0.30 +2025-03-10 13:19:15,616 - INFO - OPENED LONG at 2065.36 | Stop loss: 2055.0178321428575 | Take profit: 2096.3634517857145 +2025-03-10 13:19:15,636 - INFO - CLOSED long at 2064.33 | PnL: -0.05% | $-0.28 +2025-03-10 13:19:15,636 - INFO - OPENED SHORT at 2064.33 | Stop loss: 2074.6670178571426 | Take profit: 2033.3419982142857 +2025-03-10 13:19:15,718 - INFO - CLOSED short at 2063.53 | PnL: 0.04% | $-0.11 +2025-03-10 13:19:15,753 - INFO - OPENED LONG at 2063.0 | Stop loss: 2052.669632142857 | Take profit: 2093.968051785714 +2025-03-10 13:19:15,784 - INFO - CLOSED long at 2062.6 | PnL: -0.02% | $-0.22 +2025-03-10 13:19:15,784 - INFO - OPENED SHORT at 2062.6 | Stop loss: 2072.928367857143 | Take profit: 2031.6379482142856 +2025-03-10 13:19:16,008 - INFO - CLOSED short at 2059.96 | PnL: 0.13% | $0.05 +2025-03-10 13:19:16,084 - INFO - OPENED LONG at 2056.28 | Stop loss: 2045.9832321428573 | Take profit: 2087.1472517857146 +2025-03-10 13:19:16,157 - INFO - CLOSED long at 2054.83 | PnL: -0.07% | $-0.32 +2025-03-10 13:19:16,244 - INFO - OPENED LONG at 2059.8 | Stop loss: 2049.4856321428574 | Take profit: 2090.7200517857145 +2025-03-10 13:19:16,300 - INFO - CLOSED long at 2061.5 | PnL: 0.08% | $-0.03 +2025-03-10 13:19:16,300 - INFO - OPENED SHORT at 2061.5 | Stop loss: 2071.8228678571427 | Take profit: 2030.5544482142857 +2025-03-10 13:19:16,325 - INFO - CLOSED short at 2061.6 | PnL: -0.00% | $-0.19 +2025-03-10 13:19:16,325 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.276632142857 | Take profit: 2092.5470517857143 +2025-03-10 13:19:16,391 - INFO - CLOSED long at 2063.4 | PnL: 0.09% | $-0.02 +2025-03-10 13:19:16,415 - INFO - OPENED SHORT at 2066.36 | Stop loss: 2076.707167857143 | Take profit: 2035.341548214286 +2025-03-10 13:19:16,476 - INFO - CLOSED short at 2064.49 | PnL: 0.09% | $-0.02 +2025-03-10 13:19:16,476 - INFO - OPENED LONG at 2064.49 | Stop loss: 2054.152182142857 | Take profit: 2095.480401785714 +2025-03-10 13:19:16,683 - INFO - CLOSED long at 2069.79 | PnL: 0.26% | $0.29 +2025-03-10 13:19:16,691 - INFO - OPENED SHORT at 2069.79 | Stop loss: 2080.154317857143 | Take profit: 2038.7200982142858 +2025-03-10 13:19:16,711 - INFO - CLOSED short at 2072.0 | PnL: -0.11% | $-0.38 +2025-03-10 13:19:16,711 - INFO - OPENED LONG at 2072.0 | Stop loss: 2061.624632142857 | Take profit: 2103.1030517857143 +2025-03-10 13:19:16,791 - INFO - CLOSED long at 2072.6 | PnL: 0.03% | $-0.13 +2025-03-10 13:19:16,884 - INFO - OPENED LONG at 2070.0 | Stop loss: 2059.634632142857 | Take profit: 2101.0730517857146 +2025-03-10 13:19:16,905 - INFO - CLOSED long at 2068.15 | PnL: -0.09% | $-0.35 +2025-03-10 13:19:16,906 - INFO - OPENED SHORT at 2068.15 | Stop loss: 2078.5061178571427 | Take profit: 2037.1046982142857 +2025-03-10 13:19:16,925 - INFO - CLOSED short at 2068.39 | PnL: -0.01% | $-0.20 +2025-03-10 13:19:17,546 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.231682142857 | Take profit: 2099.6419017857143 +2025-03-10 13:19:17,647 - INFO - CLOSED long at 2069.69 | PnL: 0.05% | $-0.09 +2025-03-10 13:19:17,689 - INFO - OPENED SHORT at 2070.8 | Stop loss: 2081.1693678571432 | Take profit: 2039.714948214286 +2025-03-10 13:19:17,731 - INFO - CLOSED short at 2070.61 | PnL: 0.01% | $-0.17 +2025-03-10 13:19:17,801 - INFO - OPENED LONG at 2068.19 | Stop loss: 2057.8336821428575 | Take profit: 2099.2359017857148 +2025-03-10 13:19:17,942 - INFO - CLOSED long at 2074.37 | PnL: 0.30% | $0.36 +2025-03-10 13:19:18,121 - INFO - OPENED SHORT at 2075.61 | Stop loss: 2086.0034178571427 | Take profit: 2044.4527982142858 +2025-03-10 13:19:18,453 - INFO - CLOSED short at 2065.45 | PnL: 0.49% | $0.71 +2025-03-10 13:19:18,505 - INFO - OPENED SHORT at 2069.0 | Stop loss: 2079.360367857143 | Take profit: 2037.9419482142857 +2025-03-10 13:19:18,595 - INFO - CLOSED short at 2067.19 | PnL: 0.09% | $-0.02 +2025-03-10 13:19:18,596 - INFO - OPENED LONG at 2067.19 | Stop loss: 2056.838682142857 | Take profit: 2098.220901785714 +2025-03-10 13:19:18,835 - INFO - CLOSED long at 2064.11 | PnL: -0.15% | $-0.46 +2025-03-10 13:19:19,001 - INFO - OPENED SHORT at 2058.65 | Stop loss: 2068.958617857143 | Take profit: 2027.7471982142856 +2025-03-10 13:19:19,028 - INFO - CLOSED short at 2056.77 | PnL: 0.09% | $-0.02 +2025-03-10 13:19:19,046 - INFO - OPENED SHORT at 2053.01 | Stop loss: 2063.290417857143 | Take profit: 2022.191798214286 +2025-03-10 13:19:19,207 - INFO - CLOSED short at 2062.83 | PnL: -0.48% | $-1.06 +2025-03-10 13:19:19,283 - INFO - OPENED SHORT at 2062.55 | Stop loss: 2072.878117857143 | Take profit: 2031.5886982142858 +2025-03-10 13:19:19,307 - INFO - CLOSED short at 2065.12 | PnL: -0.12% | $-0.41 +2025-03-10 13:19:19,638 - INFO - OPENED LONG at 2070.41 | Stop loss: 2060.042582142857 | Take profit: 2101.489201785714 +2025-03-10 13:19:19,679 - INFO - CLOSED long at 2074.05 | PnL: 0.18% | $0.14 +2025-03-10 13:19:19,680 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.4356178571434 | Take profit: 2042.916198214286 +2025-03-10 13:19:19,834 - INFO - STOP LOSS hit for short at 2084.4356178571434 | PnL: -0.50% | $-1.09 +2025-03-10 13:19:19,891 - INFO - OPENED LONG at 2130.7 | Stop loss: 2120.031132142857 | Take profit: 2162.683551785714 +2025-03-10 13:19:19,970 - INFO - CLOSED long at 2137.59 | PnL: 0.32% | $0.40 +2025-03-10 13:19:20,012 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.021867857143 | Take profit: 2109.157448214286 +2025-03-10 13:19:20,163 - INFO - CLOSED short at 2120.15 | PnL: 0.99% | $1.60 +2025-03-10 13:19:20,164 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.5338821428572 | Take profit: 2151.9753017857147 +2025-03-10 13:19:20,243 - INFO - CLOSED long at 2118.52 | PnL: -0.08% | $-0.32 +2025-03-10 13:19:20,243 - INFO - OPENED SHORT at 2118.52 | Stop loss: 2129.1279678571427 | Take profit: 2086.7191482142857 +2025-03-10 13:19:20,551 - INFO - CLOSED short at 2120.81 | PnL: -0.11% | $-0.38 +2025-03-10 13:19:20,553 - INFO - OPENED LONG at 2120.81 | Stop loss: 2110.190582142857 | Take profit: 2152.645201785714 +2025-03-10 13:19:20,575 - INFO - CLOSED long at 2116.48 | PnL: -0.20% | $-0.55 +2025-03-10 13:19:20,575 - INFO - OPENED SHORT at 2116.48 | Stop loss: 2127.077767857143 | Take profit: 2084.709748214286 +2025-03-10 13:19:20,593 - INFO - CLOSED short at 2114.8 | PnL: 0.08% | $-0.04 +2025-03-10 13:19:20,593 - INFO - OPENED LONG at 2114.8 | Stop loss: 2104.2106321428573 | Take profit: 2146.545051785715 +2025-03-10 13:19:20,693 - INFO - CLOSED long at 2108.06 | PnL: -0.32% | $-0.76 +2025-03-10 13:19:20,693 - INFO - OPENED SHORT at 2108.06 | Stop loss: 2118.615667857143 | Take profit: 2076.4160482142856 +2025-03-10 13:19:20,717 - INFO - CLOSED short at 2103.33 | PnL: 0.22% | $0.22 +2025-03-10 13:19:20,762 - INFO - OPENED SHORT at 2090.0 | Stop loss: 2100.465367857143 | Take profit: 2058.6269482142857 +2025-03-10 13:19:20,838 - INFO - STOP LOSS hit for short at 2100.465367857143 | PnL: -0.50% | $-1.08 +2025-03-10 13:19:20,863 - INFO - OPENED LONG at 2102.29 | Stop loss: 2091.763182142857 | Take profit: 2133.8474017857143 +2025-03-10 13:19:20,985 - INFO - CLOSED long at 2100.74 | PnL: -0.07% | $-0.31 +2025-03-10 13:19:20,985 - INFO - OPENED SHORT at 2100.74 | Stop loss: 2111.259067857143 | Take profit: 2069.205848214285 +2025-03-10 13:19:21,028 - INFO - CLOSED short at 2104.68 | PnL: -0.19% | $-0.51 +2025-03-10 13:19:21,028 - INFO - OPENED LONG at 2104.68 | Stop loss: 2094.141232142857 | Take profit: 2136.2732517857144 +2025-03-10 13:19:21,070 - INFO - CLOSED long at 2099.59 | PnL: -0.24% | $-0.60 +2025-03-10 13:19:21,070 - INFO - OPENED SHORT at 2099.59 | Stop loss: 2110.1033178571433 | Take profit: 2068.073098214286 +2025-03-10 13:19:21,322 - INFO - CLOSED short at 2088.35 | PnL: 0.54% | $0.76 +2025-03-10 13:19:21,341 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.8482321428573 | Take profit: 2114.552251785715 +2025-03-10 13:19:21,367 - INFO - CLOSED long at 2088.44 | PnL: 0.25% | $0.26 +2025-03-10 13:19:21,367 - INFO - OPENED SHORT at 2088.44 | Stop loss: 2098.8975678571433 | Take profit: 2057.0903482142858 +2025-03-10 13:19:21,436 - INFO - CLOSED short at 2082.44 | PnL: 0.29% | $0.33 +2025-03-10 13:19:21,436 - INFO - OPENED LONG at 2082.44 | Stop loss: 2072.012432142857 | Take profit: 2113.6996517857147 +2025-03-10 13:19:21,755 - INFO - CLOSED long at 2088.1 | PnL: 0.27% | $0.30 +2025-03-10 13:19:21,755 - INFO - OPENED SHORT at 2088.1 | Stop loss: 2098.555867857143 | Take profit: 2056.7554482142855 +2025-03-10 13:19:21,838 - INFO - CLOSED short at 2087.47 | PnL: 0.03% | $-0.12 +2025-03-10 13:19:21,838 - INFO - OPENED LONG at 2087.47 | Stop loss: 2077.017282142857 | Take profit: 2118.805101785714 +2025-03-10 13:19:21,883 - INFO - CLOSED long at 2086.81 | PnL: -0.03% | $-0.23 +2025-03-10 13:19:22,185 - INFO - OPENED SHORT at 2098.49 | Stop loss: 2108.9978178571428 | Take profit: 2066.9895982142857 +2025-03-10 13:19:22,217 - INFO - CLOSED short at 2099.89 | PnL: -0.07% | $-0.30 +2025-03-10 13:19:22,217 - INFO - OPENED LONG at 2099.89 | Stop loss: 2089.375182142857 | Take profit: 2131.411401785714 +2025-03-10 13:19:22,272 - INFO - CLOSED long at 2099.73 | PnL: -0.01% | $-0.19 +2025-03-10 13:19:22,490 - INFO - OPENED LONG at 2103.52 | Stop loss: 2092.987032142857 | Take profit: 2135.0958517857143 +2025-03-10 13:19:22,511 - INFO - CLOSED long at 2104.4 | PnL: 0.04% | $-0.10 +2025-03-10 13:19:22,570 - INFO - OPENED LONG at 2103.9 | Stop loss: 2093.365132142857 | Take profit: 2135.4815517857146 +2025-03-10 13:19:22,609 - INFO - CLOSED long at 2100.0 | PnL: -0.19% | $-0.50 +2025-03-10 13:19:22,609 - INFO - OPENED SHORT at 2100.0 | Stop loss: 2110.5153678571432 | Take profit: 2068.4769482142856 +2025-03-10 13:19:22,719 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.38, Avg Loss=$-0.32 +2025-03-10 13:19:22,727 - INFO - Episode 9: Reward=42.62, Balance=$88.06, Win Rate=22.2%, Trades=72, Episode PnL=$-7.86, Total PnL=$-179.81, Max Drawdown=11.4%, Pred Accuracy=99.8% +2025-03-10 13:19:22,727 - ERROR - Error in episode 9: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:19:22,727 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1831, in train_agent + if episode_reward > best_reward: + ^^^^^^^^^^^ +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:19:22,747 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:19:23,314 - INFO - OPENED SHORT at 2061.49 | Stop loss: 2071.812817857143 | Take profit: 2030.5445982142855 +2025-03-10 13:19:23,333 - INFO - CLOSED short at 2063.29 | PnL: -0.09% | $-0.37 +2025-03-10 13:19:23,334 - INFO - OPENED LONG at 2063.29 | Stop loss: 2052.9581821428574 | Take profit: 2094.2624017857142 +2025-03-10 13:19:23,370 - INFO - CLOSED long at 2063.59 | PnL: 0.01% | $-0.17 +2025-03-10 13:19:23,452 - INFO - OPENED SHORT at 2060.99 | Stop loss: 2071.3103178571428 | Take profit: 2030.0520982142855 +2025-03-10 13:19:23,527 - INFO - CLOSED short at 2062.89 | PnL: -0.09% | $-0.38 +2025-03-10 13:19:23,527 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560182142857 | Take profit: 2093.8564017857143 +2025-03-10 13:19:23,637 - INFO - CLOSED long at 2057.89 | PnL: -0.24% | $-0.67 +2025-03-10 13:19:23,699 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.8040821428572 | Take profit: 2089.0047017857146 +2025-03-10 13:19:23,734 - INFO - CLOSED long at 2061.18 | PnL: 0.15% | $0.10 +2025-03-10 13:19:23,734 - INFO - OPENED SHORT at 2061.18 | Stop loss: 2071.501267857143 | Take profit: 2030.2392482142857 +2025-03-10 13:19:23,811 - INFO - CLOSED short at 2068.11 | PnL: -0.34% | $-0.85 +2025-03-10 13:19:23,884 - INFO - OPENED LONG at 2070.99 | Stop loss: 2060.619682142857 | Take profit: 2102.077901785714 +2025-03-10 13:19:24,059 - INFO - CLOSED long at 2070.26 | PnL: -0.04% | $-0.26 +2025-03-10 13:19:24,246 - INFO - OPENED SHORT at 2069.37 | Stop loss: 2079.7322178571426 | Take profit: 2038.3063982142858 +2025-03-10 13:19:24,532 - INFO - CLOSED short at 2068.9 | PnL: 0.02% | $-0.15 +2025-03-10 13:19:24,532 - INFO - OPENED LONG at 2068.9 | Stop loss: 2058.540132142857 | Take profit: 2099.9565517857145 +2025-03-10 13:19:24,752 - INFO - CLOSED long at 2065.99 | PnL: -0.14% | $-0.46 +2025-03-10 13:19:24,928 - INFO - OPENED SHORT at 2068.76 | Stop loss: 2079.119167857143 | Take profit: 2037.705548214286 +2025-03-10 13:19:24,983 - INFO - CLOSED short at 2068.9 | PnL: -0.01% | $-0.21 +2025-03-10 13:19:24,983 - INFO - OPENED LONG at 2068.9 | Stop loss: 2058.540132142857 | Take profit: 2099.9565517857145 +2025-03-10 13:19:25,272 - INFO - CLOSED long at 2072.7 | PnL: 0.18% | $0.16 +2025-03-10 13:19:25,272 - INFO - OPENED SHORT at 2072.7 | Stop loss: 2083.0788678571425 | Take profit: 2041.5864482142856 +2025-03-10 13:19:25,521 - INFO - CLOSED short at 2068.32 | PnL: 0.21% | $0.21 +2025-03-10 13:19:25,674 - INFO - OPENED SHORT at 2067.89 | Stop loss: 2078.244817857143 | Take profit: 2036.8485982142856 +2025-03-10 13:19:25,693 - INFO - CLOSED short at 2068.58 | PnL: -0.03% | $-0.26 +2025-03-10 13:19:25,736 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.9779321428573 | Take profit: 2100.4031517857143 +2025-03-10 13:19:25,968 - INFO - CLOSED long at 2068.5 | PnL: -0.04% | $-0.27 +2025-03-10 13:19:26,020 - INFO - OPENED LONG at 2067.11 | Stop loss: 2056.7590821428576 | Take profit: 2098.1397017857144 +2025-03-10 13:19:26,232 - INFO - CLOSED long at 2067.8 | PnL: 0.03% | $-0.13 +2025-03-10 13:19:26,306 - INFO - OPENED LONG at 2065.69 | Stop loss: 2055.3461821428573 | Take profit: 2096.6984017857144 +2025-03-10 13:19:26,356 - INFO - CLOSED long at 2064.99 | PnL: -0.03% | $-0.26 +2025-03-10 13:19:26,356 - INFO - OPENED SHORT at 2064.99 | Stop loss: 2075.3303178571427 | Take profit: 2033.9920982142855 +2025-03-10 13:19:26,401 - INFO - CLOSED short at 2066.15 | PnL: -0.06% | $-0.30 +2025-03-10 13:19:26,425 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.601667857143 | Take profit: 2034.258048214286 +2025-03-10 13:19:26,585 - INFO - CLOSED short at 2063.59 | PnL: 0.08% | $-0.04 +2025-03-10 13:19:26,585 - INFO - OPENED LONG at 2063.59 | Stop loss: 2053.2566821428572 | Take profit: 2094.5669017857144 +2025-03-10 13:19:26,953 - INFO - CLOSED long at 2059.3 | PnL: -0.21% | $-0.58 +2025-03-10 13:19:26,953 - INFO - OPENED SHORT at 2059.3 | Stop loss: 2069.611867857143 | Take profit: 2028.3874482142858 +2025-03-10 13:19:27,089 - INFO - CLOSED short at 2060.91 | PnL: -0.08% | $-0.34 +2025-03-10 13:19:27,167 - INFO - OPENED SHORT at 2064.1 | Stop loss: 2074.4358678571425 | Take profit: 2033.1154482142856 +2025-03-10 13:19:27,405 - INFO - CLOSED short at 2060.7 | PnL: 0.16% | $0.12 +2025-03-10 13:19:27,405 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.381132142857 | Take profit: 2091.6335517857137 +2025-03-10 13:19:27,629 - INFO - CLOSED long at 2056.28 | PnL: -0.21% | $-0.59 +2025-03-10 13:19:27,652 - INFO - OPENED LONG at 2055.6 | Stop loss: 2045.306632142857 | Take profit: 2086.457051785714 +2025-03-10 13:19:27,913 - INFO - CLOSED long at 2062.69 | PnL: 0.34% | $0.46 +2025-03-10 13:19:27,913 - INFO - OPENED SHORT at 2062.69 | Stop loss: 2073.018817857143 | Take profit: 2031.7265982142858 +2025-03-10 13:19:28,091 - INFO - CLOSED short at 2067.33 | PnL: -0.22% | $-0.61 +2025-03-10 13:19:28,113 - INFO - OPENED LONG at 2067.01 | Stop loss: 2056.6595821428573 | Take profit: 2098.0382017857146 +2025-03-10 13:19:28,151 - INFO - CLOSED long at 2065.69 | PnL: -0.06% | $-0.31 +2025-03-10 13:19:28,152 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.033817857143 | Take profit: 2034.6815982142857 +2025-03-10 13:19:28,300 - INFO - STOP LOSS hit for short at 2076.033817857143 | PnL: -0.50% | $-1.12 +2025-03-10 13:19:28,460 - INFO - OPENED SHORT at 2070.0 | Stop loss: 2080.3653678571427 | Take profit: 2038.9269482142859 +2025-03-10 13:19:28,504 - INFO - CLOSED short at 2068.39 | PnL: 0.08% | $-0.04 +2025-03-10 13:19:28,504 - INFO - OPENED LONG at 2068.39 | Stop loss: 2058.032682142857 | Take profit: 2099.4389017857143 +2025-03-10 13:19:29,170 - INFO - CLOSED long at 2070.2 | PnL: 0.09% | $-0.02 +2025-03-10 13:19:29,329 - INFO - OPENED LONG at 2071.99 | Stop loss: 2061.614682142857 | Take profit: 2103.0929017857143 +2025-03-10 13:19:29,355 - INFO - CLOSED long at 2068.19 | PnL: -0.18% | $-0.52 +2025-03-10 13:19:29,655 - INFO - OPENED SHORT at 2075.29 | Stop loss: 2085.6818178571425 | Take profit: 2044.1375982142856 +2025-03-10 13:19:30,228 - INFO - CLOSED short at 2070.19 | PnL: 0.25% | $0.27 +2025-03-10 13:19:30,309 - INFO - OPENED LONG at 2067.19 | Stop loss: 2056.838682142857 | Take profit: 2098.220901785714 +2025-03-10 13:19:30,553 - INFO - CLOSED long at 2065.06 | PnL: -0.10% | $-0.37 +2025-03-10 13:19:30,553 - INFO - OPENED SHORT at 2065.06 | Stop loss: 2075.400667857143 | Take profit: 2034.0610482142858 +2025-03-10 13:19:30,758 - INFO - CLOSED short at 2060.2 | PnL: 0.24% | $0.25 +2025-03-10 13:19:30,758 - INFO - OPENED LONG at 2060.2 | Stop loss: 2049.883632142857 | Take profit: 2091.126051785714 +2025-03-10 13:19:30,889 - INFO - STOP LOSS hit for long at 2049.883632142857 | PnL: -0.50% | $-1.10 +2025-03-10 13:19:30,950 - INFO - OPENED LONG at 2051.99 | Stop loss: 2041.714682142857 | Take profit: 2082.792901785714 +2025-03-10 13:19:30,984 - INFO - CLOSED long at 2058.3 | PnL: 0.31% | $0.38 +2025-03-10 13:19:30,984 - INFO - OPENED SHORT at 2058.3 | Stop loss: 2068.6068678571432 | Take profit: 2027.4024482142859 +2025-03-10 13:19:31,028 - INFO - CLOSED short at 2056.85 | PnL: 0.07% | $-0.05 +2025-03-10 13:19:31,067 - INFO - OPENED LONG at 2057.11 | Stop loss: 2046.8090821428573 | Take profit: 2087.9897017857147 +2025-03-10 13:19:31,174 - INFO - CLOSED long at 2065.1 | PnL: 0.39% | $0.52 +2025-03-10 13:19:31,174 - INFO - OPENED SHORT at 2065.1 | Stop loss: 2075.4408678571426 | Take profit: 2034.1004482142857 +2025-03-10 13:19:31,217 - INFO - CLOSED short at 2062.55 | PnL: 0.12% | $0.04 +2025-03-10 13:19:31,600 - INFO - OPENED SHORT at 2069.81 | Stop loss: 2080.174417857143 | Take profit: 2038.7397982142857 +2025-03-10 13:19:31,708 - INFO - CLOSED short at 2071.89 | PnL: -0.10% | $-0.37 +2025-03-10 13:19:31,795 - INFO - OPENED LONG at 2076.08 | Stop loss: 2065.684232142857 | Take profit: 2107.2442517857144 +2025-03-10 13:19:31,825 - INFO - CLOSED long at 2077.61 | PnL: 0.07% | $-0.05 +2025-03-10 13:19:31,945 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.253067857143 | Take profit: 2107.4238482142855 +2025-03-10 13:19:32,079 - INFO - CLOSED short at 2140.01 | PnL: -0.02% | $-0.22 +2025-03-10 13:19:32,098 - INFO - OPENED LONG at 2134.78 | Stop loss: 2124.090732142857 | Take profit: 2166.824751785715 +2025-03-10 13:19:32,226 - INFO - STOP LOSS hit for long at 2124.090732142857 | PnL: -0.50% | $-1.09 +2025-03-10 13:19:32,261 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.5338821428572 | Take profit: 2151.9753017857147 +2025-03-10 13:19:32,405 - INFO - CLOSED long at 2119.07 | PnL: -0.05% | $-0.27 +2025-03-10 13:19:32,405 - INFO - OPENED SHORT at 2119.07 | Stop loss: 2129.680717857143 | Take profit: 2087.260898214286 +2025-03-10 13:19:32,827 - INFO - CLOSED short at 2108.06 | PnL: 0.52% | $0.75 +2025-03-10 13:19:32,827 - INFO - OPENED LONG at 2108.06 | Stop loss: 2097.504332142857 | Take profit: 2139.703951785714 +2025-03-10 13:19:32,895 - INFO - STOP LOSS hit for long at 2097.504332142857 | PnL: -0.50% | $-1.08 +2025-03-10 13:19:32,925 - INFO - OPENED SHORT at 2099.53 | Stop loss: 2110.043017857143 | Take profit: 2068.013998214286 +2025-03-10 13:19:33,107 - INFO - CLOSED short at 2100.69 | PnL: -0.06% | $-0.28 +2025-03-10 13:19:33,159 - INFO - OPENED SHORT at 2100.74 | Stop loss: 2111.259067857143 | Take profit: 2069.205848214285 +2025-03-10 13:19:33,219 - INFO - CLOSED short at 2101.51 | PnL: -0.04% | $-0.24 +2025-03-10 13:19:33,219 - INFO - OPENED LONG at 2101.51 | Stop loss: 2090.987082142857 | Take profit: 2133.0557017857145 +2025-03-10 13:19:33,347 - INFO - CLOSED long at 2093.33 | PnL: -0.39% | $-0.87 +2025-03-10 13:19:33,347 - INFO - OPENED SHORT at 2093.33 | Stop loss: 2103.8120178571426 | Take profit: 2061.9069982142855 +2025-03-10 13:19:33,376 - INFO - CLOSED short at 2092.46 | PnL: 0.04% | $-0.10 +2025-03-10 13:19:33,376 - INFO - OPENED LONG at 2092.46 | Stop loss: 2081.982332142857 | Take profit: 2123.8699517857144 +2025-03-10 13:19:33,493 - INFO - CLOSED long at 2088.35 | PnL: -0.20% | $-0.52 +2025-03-10 13:19:33,493 - INFO - OPENED SHORT at 2088.35 | Stop loss: 2098.8071178571427 | Take profit: 2057.0016982142856 +2025-03-10 13:19:33,693 - INFO - CLOSED short at 2083.41 | PnL: 0.24% | $0.24 +2025-03-10 13:19:33,754 - INFO - OPENED SHORT at 2083.59 | Stop loss: 2094.023317857143 | Take profit: 2052.3130982142857 +2025-03-10 13:19:33,882 - INFO - CLOSED short at 2085.83 | PnL: -0.11% | $-0.36 +2025-03-10 13:19:33,884 - INFO - OPENED LONG at 2085.83 | Stop loss: 2075.385482142857 | Take profit: 2117.1405017857146 +2025-03-10 13:19:34,065 - INFO - CLOSED long at 2086.81 | PnL: 0.05% | $-0.09 +2025-03-10 13:19:34,268 - INFO - OPENED SHORT at 2091.05 | Stop loss: 2101.520617857143 | Take profit: 2059.661198214286 +2025-03-10 13:19:34,377 - INFO - STOP LOSS hit for short at 2101.520617857143 | PnL: -0.50% | $-1.04 +2025-03-10 13:19:34,425 - INFO - OPENED LONG at 2098.49 | Stop loss: 2087.982182142857 | Take profit: 2129.9904017857143 +2025-03-10 13:19:34,490 - INFO - CLOSED long at 2099.73 | PnL: 0.06% | $-0.07 +2025-03-10 13:19:34,749 - INFO - OPENED LONG at 2105.83 | Stop loss: 2095.285482142857 | Take profit: 2137.4405017857143 +2025-03-10 13:19:34,893 - INFO - CLOSED long at 2100.0 | PnL: -0.28% | $-0.65 +2025-03-10 13:19:34,968 - INFO - OPENED SHORT at 2102.0 | Stop loss: 2112.525367857143 | Take profit: 2070.446948214286 +2025-03-10 13:19:35,037 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.29, Avg Loss=$-0.41 +2025-03-10 13:19:35,037 - INFO - Episode 10: Reward=56.48, Balance=$85.76, Win Rate=21.8%, Trades=55, Episode PnL=$-12.68, Total PnL=$-194.05, Max Drawdown=14.2%, Pred Accuracy=99.8% +2025-03-10 13:19:35,046 - ERROR - Error in episode 10: cannot access local variable 'best_reward' where it is not associated with a value +2025-03-10 13:19:35,046 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1831, in train_agent +UnboundLocalError: cannot access local variable 'best_reward' where it is not associated with a value + +2025-03-10 13:19:35,069 - INFO - Identified 26 optimal buy points and 29 optimal sell points +2025-03-10 13:19:35,416 - INFO - OPENED SHORT at 2049.89 | Stop loss: 2060.1548178571425 | Take profit: 2019.1185982142856 +2025-03-10 13:19:35,574 - INFO - CLOSED short at 2057.01 | PnL: -0.35% | $-0.89 +2025-03-10 13:20:23,522 - INFO - Using GPU: NVIDIA GeForce RTX 4060 Laptop GPU +2025-03-10 13:20:23,543 - INFO - Exchange initialized with standard CCXT: mexc +2025-03-10 13:20:23,544 - INFO - Fetching initial data for ETH/USDT +2025-03-10 13:20:27,261 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 13:20:27,281 - INFO - Initialized environment with 500 candles +2025-03-10 13:20:30,231 - INFO - Starting training for 1000 episodes... +2025-03-10 13:20:30,231 - INFO - Starting training on device: cuda +2025-03-10 13:20:30,232 - INFO - Loading best model from models/trading_agent_best_pnl.pt to resume training +2025-03-10 13:20:30,232 - INFO - Loading model from models/trading_agent_best_pnl.pt +2025-03-10 13:20:30,485 - INFO - Model loaded successfully with weights_only=True +2025-03-10 13:20:30,485 - INFO - Resumed with best metrics - Reward: 202.74, PnL: $-10.07, Win Rate: 30.9% +2025-03-10 13:20:30,492 - ERROR - Error in episode 0: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,497 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,498 - ERROR - Error in episode 1: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,501 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,502 - ERROR - Error in episode 2: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,503 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,503 - ERROR - Error in episode 3: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,506 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,506 - ERROR - Error in episode 4: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,507 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,507 - ERROR - Error in episode 5: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,511 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,512 - ERROR - Error in episode 6: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,513 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,513 - ERROR - Error in episode 7: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,513 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,513 - ERROR - Error in episode 8: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,519 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,520 - ERROR - Error in episode 9: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,522 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,522 - ERROR - Error in episode 10: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,524 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,525 - ERROR - Error in episode 11: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,527 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,527 - ERROR - Error in episode 12: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,530 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,530 - ERROR - Error in episode 13: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,532 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,533 - ERROR - Error in episode 14: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,535 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,535 - ERROR - Error in episode 15: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,537 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,537 - ERROR - Error in episode 16: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,539 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,540 - ERROR - Error in episode 17: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,542 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,543 - ERROR - Error in episode 18: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,544 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,544 - ERROR - Error in episode 19: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,547 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,547 - ERROR - Error in episode 20: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,549 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,550 - ERROR - Error in episode 21: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,552 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,552 - ERROR - Error in episode 22: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,552 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,552 - ERROR - Error in episode 23: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,552 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,552 - ERROR - Error in episode 24: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,559 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,559 - ERROR - Error in episode 25: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,561 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,562 - ERROR - Error in episode 26: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,563 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,564 - ERROR - Error in episode 27: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,565 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,566 - ERROR - Error in episode 28: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,568 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,569 - ERROR - Error in episode 29: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,571 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,571 - ERROR - Error in episode 30: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,573 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,573 - ERROR - Error in episode 31: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,575 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,575 - ERROR - Error in episode 32: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,578 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,578 - ERROR - Error in episode 33: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,581 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,582 - ERROR - Error in episode 34: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,583 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,584 - ERROR - Error in episode 35: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,585 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,585 - ERROR - Error in episode 36: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,588 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,589 - ERROR - Error in episode 37: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,591 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,591 - ERROR - Error in episode 38: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,593 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,593 - ERROR - Error in episode 39: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,594 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,594 - ERROR - Error in episode 40: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,598 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,598 - ERROR - Error in episode 41: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,600 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,600 - ERROR - Error in episode 42: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,602 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,602 - ERROR - Error in episode 43: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,604 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,605 - ERROR - Error in episode 44: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,607 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,607 - ERROR - Error in episode 45: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,608 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,610 - ERROR - Error in episode 46: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,610 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,610 - ERROR - Error in episode 47: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,614 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,614 - ERROR - Error in episode 48: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,616 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,617 - ERROR - Error in episode 49: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,619 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,619 - ERROR - Error in episode 50: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,621 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,621 - ERROR - Error in episode 51: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,623 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,624 - ERROR - Error in episode 52: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,625 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,626 - ERROR - Error in episode 53: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,629 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,629 - ERROR - Error in episode 54: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,631 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,631 - ERROR - Error in episode 55: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,633 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,633 - ERROR - Error in episode 56: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,635 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,635 - ERROR - Error in episode 57: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,638 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,638 - ERROR - Error in episode 58: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,640 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,641 - ERROR - Error in episode 59: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,642 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,642 - ERROR - Error in episode 60: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,644 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,646 - ERROR - Error in episode 61: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,648 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,648 - ERROR - Error in episode 62: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,650 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,651 - ERROR - Error in episode 63: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,652 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,652 - ERROR - Error in episode 64: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,654 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,655 - ERROR - Error in episode 65: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,656 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,657 - ERROR - Error in episode 66: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,658 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,659 - ERROR - Error in episode 67: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,660 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,662 - ERROR - Error in episode 68: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,663 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,663 - ERROR - Error in episode 69: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,666 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,666 - ERROR - Error in episode 70: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,666 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,668 - ERROR - Error in episode 71: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,669 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,669 - ERROR - Error in episode 72: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,672 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,672 - ERROR - Error in episode 73: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,674 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,675 - ERROR - Error in episode 74: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,677 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,677 - ERROR - Error in episode 75: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,680 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,680 - ERROR - Error in episode 76: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,682 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,682 - ERROR - Error in episode 77: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,684 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,684 - ERROR - Error in episode 78: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,685 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,685 - ERROR - Error in episode 79: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,688 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,689 - ERROR - Error in episode 80: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,690 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,691 - ERROR - Error in episode 81: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,693 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,693 - ERROR - Error in episode 82: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,695 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,696 - ERROR - Error in episode 83: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,697 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,698 - ERROR - Error in episode 84: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,700 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,700 - ERROR - Error in episode 85: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,702 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,702 - ERROR - Error in episode 86: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,705 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,705 - ERROR - Error in episode 87: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,705 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,705 - ERROR - Error in episode 88: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,705 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,705 - ERROR - Error in episode 89: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,710 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,710 - ERROR - Error in episode 90: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,713 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,713 - ERROR - Error in episode 91: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,715 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,715 - ERROR - Error in episode 92: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,717 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,717 - ERROR - Error in episode 93: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,720 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,720 - ERROR - Error in episode 94: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,721 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,721 - ERROR - Error in episode 95: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,723 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,723 - ERROR - Error in episode 96: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,726 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,727 - ERROR - Error in episode 97: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,728 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,729 - ERROR - Error in episode 98: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,731 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,731 - ERROR - Error in episode 99: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,733 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,733 - INFO - Moving to curriculum stage 2: risk_factor=0.75, exploration=0.2 +2025-03-10 13:20:30,733 - ERROR - Error in episode 100: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,736 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,736 - ERROR - Error in episode 101: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,738 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,739 - ERROR - Error in episode 102: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,741 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,741 - ERROR - Error in episode 103: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,742 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,742 - ERROR - Error in episode 104: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,744 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,745 - ERROR - Error in episode 105: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,745 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,745 - ERROR - Error in episode 106: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,749 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,750 - ERROR - Error in episode 107: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,752 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,752 - ERROR - Error in episode 108: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,753 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,755 - ERROR - Error in episode 109: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,756 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,756 - ERROR - Error in episode 110: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,758 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,758 - ERROR - Error in episode 111: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,760 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,762 - ERROR - Error in episode 112: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,763 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,763 - ERROR - Error in episode 113: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,765 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,765 - ERROR - Error in episode 114: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,765 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,768 - ERROR - Error in episode 115: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,769 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,769 - ERROR - Error in episode 116: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,772 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,772 - ERROR - Error in episode 117: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,775 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,775 - ERROR - Error in episode 118: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,777 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,778 - ERROR - Error in episode 119: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,779 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,780 - ERROR - Error in episode 120: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,782 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,782 - ERROR - Error in episode 121: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,783 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,784 - ERROR - Error in episode 122: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,786 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,787 - ERROR - Error in episode 123: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,789 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,789 - ERROR - Error in episode 124: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,791 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,791 - ERROR - Error in episode 125: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,793 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,794 - ERROR - Error in episode 126: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,795 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,796 - ERROR - Error in episode 127: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,797 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,798 - ERROR - Error in episode 128: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,799 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,800 - ERROR - Error in episode 129: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,802 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,802 - ERROR - Error in episode 130: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,804 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,804 - ERROR - Error in episode 131: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,806 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,806 - ERROR - Error in episode 132: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,806 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,806 - ERROR - Error in episode 133: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,810 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,810 - ERROR - Error in episode 134: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,813 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,813 - ERROR - Error in episode 135: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,815 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,816 - ERROR - Error in episode 136: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,817 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,817 - ERROR - Error in episode 137: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,819 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,819 - ERROR - Error in episode 138: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,819 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,819 - ERROR - Error in episode 139: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,824 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,825 - ERROR - Error in episode 140: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,827 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,827 - ERROR - Error in episode 141: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,830 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,830 - ERROR - Error in episode 142: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,832 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,832 - ERROR - Error in episode 143: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,834 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,835 - ERROR - Error in episode 144: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,837 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,837 - ERROR - Error in episode 145: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,839 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,839 - ERROR - Error in episode 146: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,841 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,841 - ERROR - Error in episode 147: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,843 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,844 - ERROR - Error in episode 148: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,844 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,844 - ERROR - Error in episode 149: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,848 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,849 - ERROR - Error in episode 150: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,851 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,851 - ERROR - Error in episode 151: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,852 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,852 - ERROR - Error in episode 152: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,852 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,852 - ERROR - Error in episode 153: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,858 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,858 - ERROR - Error in episode 154: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,860 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,861 - ERROR - Error in episode 155: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,863 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,863 - ERROR - Error in episode 156: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,864 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,865 - ERROR - Error in episode 157: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,867 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,868 - ERROR - Error in episode 158: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,869 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,869 - ERROR - Error in episode 159: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,871 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,872 - ERROR - Error in episode 160: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,875 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,875 - ERROR - Error in episode 161: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,877 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,878 - ERROR - Error in episode 162: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,879 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,880 - ERROR - Error in episode 163: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,881 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,881 - ERROR - Error in episode 164: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,881 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,881 - ERROR - Error in episode 165: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,885 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,885 - ERROR - Error in episode 166: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,889 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,889 - ERROR - Error in episode 167: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,891 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,892 - ERROR - Error in episode 168: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,894 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,894 - ERROR - Error in episode 169: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,896 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,897 - ERROR - Error in episode 170: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,898 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,898 - ERROR - Error in episode 171: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,901 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,901 - ERROR - Error in episode 172: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,903 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,903 - ERROR - Error in episode 173: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,905 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,905 - ERROR - Error in episode 174: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,907 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,908 - ERROR - Error in episode 175: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,909 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,909 - ERROR - Error in episode 176: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,912 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,912 - ERROR - Error in episode 177: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,914 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,915 - ERROR - Error in episode 178: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,915 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,915 - ERROR - Error in episode 179: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,918 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,918 - ERROR - Error in episode 180: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,921 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,921 - ERROR - Error in episode 181: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,923 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,925 - ERROR - Error in episode 182: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,926 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,926 - ERROR - Error in episode 183: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,929 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,930 - ERROR - Error in episode 184: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,932 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,932 - ERROR - Error in episode 185: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,934 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,934 - ERROR - Error in episode 186: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,936 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,936 - ERROR - Error in episode 187: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,938 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,939 - ERROR - Error in episode 188: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,940 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,940 - ERROR - Error in episode 189: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,943 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,943 - ERROR - Error in episode 190: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,946 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,947 - ERROR - Error in episode 191: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,948 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,949 - ERROR - Error in episode 192: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,949 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,949 - ERROR - Error in episode 193: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,953 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,953 - ERROR - Error in episode 194: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,956 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,956 - ERROR - Error in episode 195: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,957 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,958 - ERROR - Error in episode 196: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,960 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,960 - ERROR - Error in episode 197: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,963 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,963 - ERROR - Error in episode 198: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,965 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,965 - ERROR - Error in episode 199: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,967 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,967 - INFO - Moving to curriculum stage 3: risk_factor=1.0, exploration=0.1 +2025-03-10 13:20:30,967 - ERROR - Error in episode 200: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,971 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,971 - ERROR - Error in episode 201: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,973 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,973 - ERROR - Error in episode 202: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,975 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,975 - ERROR - Error in episode 203: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,977 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,977 - ERROR - Error in episode 204: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,980 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,981 - ERROR - Error in episode 205: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,982 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,983 - ERROR - Error in episode 206: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,984 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,984 - ERROR - Error in episode 207: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,987 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,988 - ERROR - Error in episode 208: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,990 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,990 - ERROR - Error in episode 209: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,993 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,993 - ERROR - Error in episode 210: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,993 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,993 - ERROR - Error in episode 211: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,997 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:30,998 - ERROR - Error in episode 212: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:30,999 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,000 - ERROR - Error in episode 213: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,002 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,002 - ERROR - Error in episode 214: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,004 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,005 - ERROR - Error in episode 215: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,007 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,008 - ERROR - Error in episode 216: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,009 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,011 - ERROR - Error in episode 217: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,011 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,011 - ERROR - Error in episode 218: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,015 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,016 - ERROR - Error in episode 219: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,017 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,017 - ERROR - Error in episode 220: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,019 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,019 - ERROR - Error in episode 221: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,019 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,023 - ERROR - Error in episode 222: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,025 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,025 - ERROR - Error in episode 223: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,025 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,025 - ERROR - Error in episode 224: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,029 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,031 - ERROR - Error in episode 225: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,033 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,034 - ERROR - Error in episode 226: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,035 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,035 - ERROR - Error in episode 227: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,038 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,038 - ERROR - Error in episode 228: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,040 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,040 - ERROR - Error in episode 229: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,040 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,040 - ERROR - Error in episode 230: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,044 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,046 - ERROR - Error in episode 231: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,047 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,048 - ERROR - Error in episode 232: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,050 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,050 - ERROR - Error in episode 233: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,052 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,052 - ERROR - Error in episode 234: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,055 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,056 - ERROR - Error in episode 235: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,058 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,058 - ERROR - Error in episode 236: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,060 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,060 - ERROR - Error in episode 237: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,063 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,063 - ERROR - Error in episode 238: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,065 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,067 - ERROR - Error in episode 239: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,068 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,068 - ERROR - Error in episode 240: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,071 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,071 - ERROR - Error in episode 241: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,073 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,073 - ERROR - Error in episode 242: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,075 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,075 - ERROR - Error in episode 243: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,075 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,075 - ERROR - Error in episode 244: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,082 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,082 - ERROR - Error in episode 245: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,084 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,085 - ERROR - Error in episode 246: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,087 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,087 - ERROR - Error in episode 247: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,088 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,088 - ERROR - Error in episode 248: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,090 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,090 - ERROR - Error in episode 249: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,094 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,095 - ERROR - Error in episode 250: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,097 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,097 - ERROR - Error in episode 251: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,098 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,098 - ERROR - Error in episode 252: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,101 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,101 - ERROR - Error in episode 253: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,104 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,104 - ERROR - Error in episode 254: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,107 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,107 - ERROR - Error in episode 255: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,109 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,110 - ERROR - Error in episode 256: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,111 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,111 - ERROR - Error in episode 257: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,115 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,115 - ERROR - Error in episode 258: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,117 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,118 - ERROR - Error in episode 259: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,119 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,120 - ERROR - Error in episode 260: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,121 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,122 - ERROR - Error in episode 261: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,124 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,124 - ERROR - Error in episode 262: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,126 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,126 - ERROR - Error in episode 263: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,128 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,129 - ERROR - Error in episode 264: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,131 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,132 - ERROR - Error in episode 265: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,133 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,134 - ERROR - Error in episode 266: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,134 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,137 - ERROR - Error in episode 267: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,139 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,139 - ERROR - Error in episode 268: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,142 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,142 - ERROR - Error in episode 269: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,142 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,142 - ERROR - Error in episode 270: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,146 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,147 - ERROR - Error in episode 271: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,148 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,149 - ERROR - Error in episode 272: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,150 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,150 - ERROR - Error in episode 273: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,153 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,154 - ERROR - Error in episode 274: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,156 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,156 - ERROR - Error in episode 275: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,158 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,159 - ERROR - Error in episode 276: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,161 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,162 - ERROR - Error in episode 277: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,163 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,163 - ERROR - Error in episode 278: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,165 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,165 - ERROR - Error in episode 279: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,168 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,168 - ERROR - Error in episode 280: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,170 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,170 - ERROR - Error in episode 281: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,172 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,173 - ERROR - Error in episode 282: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,175 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,175 - ERROR - Error in episode 283: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,178 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,178 - ERROR - Error in episode 284: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,179 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,179 - ERROR - Error in episode 285: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,183 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,183 - ERROR - Error in episode 286: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,184 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,186 - ERROR - Error in episode 287: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,186 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,188 - ERROR - Error in episode 288: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,189 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,189 - ERROR - Error in episode 289: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,192 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,192 - ERROR - Error in episode 290: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,193 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,195 - ERROR - Error in episode 291: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,196 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,196 - ERROR - Error in episode 292: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,199 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,199 - ERROR - Error in episode 293: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,201 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,201 - ERROR - Error in episode 294: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,203 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,204 - ERROR - Error in episode 295: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,207 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,207 - ERROR - Error in episode 296: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,209 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,209 - ERROR - Error in episode 297: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,211 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,211 - ERROR - Error in episode 298: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,213 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,213 - ERROR - Error in episode 299: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,213 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,213 - INFO - Moving to curriculum stage 4: risk_factor=1.25, exploration=0.05 +2025-03-10 13:20:31,213 - ERROR - Error in episode 300: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,219 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,219 - ERROR - Error in episode 301: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,221 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,221 - ERROR - Error in episode 302: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,223 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,223 - ERROR - Error in episode 303: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,225 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,225 - ERROR - Error in episode 304: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,228 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,228 - ERROR - Error in episode 305: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,228 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,231 - ERROR - Error in episode 306: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,233 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,233 - ERROR - Error in episode 307: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,234 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,236 - ERROR - Error in episode 308: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,237 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,239 - ERROR - Error in episode 309: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,240 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,240 - ERROR - Error in episode 310: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,244 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,244 - ERROR - Error in episode 311: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,246 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,246 - ERROR - Error in episode 312: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,249 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,249 - ERROR - Error in episode 313: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,251 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,251 - ERROR - Error in episode 314: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,253 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,253 - ERROR - Error in episode 315: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,256 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,257 - ERROR - Error in episode 316: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,258 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,259 - ERROR - Error in episode 317: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,261 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,261 - ERROR - Error in episode 318: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,263 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,264 - ERROR - Error in episode 319: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,266 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,267 - ERROR - Error in episode 320: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,268 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,269 - ERROR - Error in episode 321: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,270 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,270 - ERROR - Error in episode 322: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,273 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,273 - ERROR - Error in episode 323: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,275 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,275 - ERROR - Error in episode 324: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,277 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,278 - ERROR - Error in episode 325: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,280 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,281 - ERROR - Error in episode 326: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,283 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,283 - ERROR - Error in episode 327: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,285 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,286 - ERROR - Error in episode 328: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,288 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,288 - ERROR - Error in episode 329: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,290 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,290 - ERROR - Error in episode 330: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,292 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,292 - ERROR - Error in episode 331: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,295 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,295 - ERROR - Error in episode 332: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,297 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,298 - ERROR - Error in episode 333: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,300 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,300 - ERROR - Error in episode 334: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,302 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,303 - ERROR - Error in episode 335: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,304 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,304 - ERROR - Error in episode 336: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,308 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,308 - ERROR - Error in episode 337: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,310 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,311 - ERROR - Error in episode 338: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,311 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,313 - ERROR - Error in episode 339: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,314 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,314 - ERROR - Error in episode 340: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,317 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,317 - ERROR - Error in episode 341: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,319 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,320 - ERROR - Error in episode 342: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,322 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,322 - ERROR - Error in episode 343: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,324 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,325 - ERROR - Error in episode 344: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,326 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,326 - ERROR - Error in episode 345: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,328 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,329 - ERROR - Error in episode 346: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,330 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,330 - ERROR - Error in episode 347: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,332 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,332 - ERROR - Error in episode 348: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,335 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,336 - ERROR - Error in episode 349: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,338 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,338 - ERROR - Error in episode 350: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,340 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,340 - ERROR - Error in episode 351: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,342 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,342 - ERROR - Error in episode 352: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,343 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,345 - ERROR - Error in episode 353: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,347 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,347 - ERROR - Error in episode 354: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,349 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,350 - ERROR - Error in episode 355: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,352 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,352 - ERROR - Error in episode 356: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,354 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,355 - ERROR - Error in episode 357: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,357 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,357 - ERROR - Error in episode 358: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,360 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,360 - ERROR - Error in episode 359: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,362 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,362 - ERROR - Error in episode 360: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,364 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,364 - ERROR - Error in episode 361: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,366 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,366 - ERROR - Error in episode 362: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,368 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,369 - ERROR - Error in episode 363: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,371 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,371 - ERROR - Error in episode 364: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,373 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,373 - ERROR - Error in episode 365: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,375 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,375 - ERROR - Error in episode 366: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,378 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,378 - ERROR - Error in episode 367: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,378 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,378 - ERROR - Error in episode 368: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,382 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,383 - ERROR - Error in episode 369: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,384 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,385 - ERROR - Error in episode 370: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,387 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,387 - ERROR - Error in episode 371: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,390 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,390 - ERROR - Error in episode 372: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,392 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,392 - ERROR - Error in episode 373: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,394 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,394 - ERROR - Error in episode 374: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,396 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,396 - ERROR - Error in episode 375: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,397 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,399 - ERROR - Error in episode 376: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,400 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,400 - ERROR - Error in episode 377: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,403 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,403 - ERROR - Error in episode 378: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,406 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,406 - ERROR - Error in episode 379: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,408 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,409 - ERROR - Error in episode 380: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,410 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,411 - ERROR - Error in episode 381: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,412 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,412 - ERROR - Error in episode 382: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,414 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,414 - ERROR - Error in episode 383: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,417 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,418 - ERROR - Error in episode 384: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,420 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,420 - ERROR - Error in episode 385: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,423 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,423 - ERROR - Error in episode 386: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,425 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,425 - ERROR - Error in episode 387: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,427 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,427 - ERROR - Error in episode 388: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,429 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,429 - ERROR - Error in episode 389: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,431 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,432 - ERROR - Error in episode 390: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,433 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,434 - ERROR - Error in episode 391: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,436 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,437 - ERROR - Error in episode 392: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,438 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,439 - ERROR - Error in episode 393: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,440 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,440 - ERROR - Error in episode 394: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,443 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,443 - ERROR - Error in episode 395: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,444 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,446 - ERROR - Error in episode 396: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,446 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,447 - ERROR - Error in episode 397: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,449 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,450 - ERROR - Error in episode 398: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,451 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,451 - ERROR - Error in episode 399: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,453 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,453 - ERROR - Error in episode 400: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,455 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,456 - ERROR - Error in episode 401: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,457 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,458 - ERROR - Error in episode 402: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,459 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,459 - ERROR - Error in episode 403: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,461 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,463 - ERROR - Error in episode 404: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,465 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,465 - ERROR - Error in episode 405: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,467 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,467 - ERROR - Error in episode 406: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,469 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,470 - ERROR - Error in episode 407: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,472 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,472 - ERROR - Error in episode 408: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,474 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,474 - ERROR - Error in episode 409: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,476 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,477 - ERROR - Error in episode 410: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,478 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,479 - ERROR - Error in episode 411: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,480 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,480 - ERROR - Error in episode 412: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,480 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,480 - ERROR - Error in episode 413: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,484 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,484 - ERROR - Error in episode 414: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,488 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,488 - ERROR - Error in episode 415: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,490 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,490 - ERROR - Error in episode 416: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,492 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,492 - ERROR - Error in episode 417: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,494 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,495 - ERROR - Error in episode 418: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,496 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,497 - ERROR - Error in episode 419: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,499 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,499 - ERROR - Error in episode 420: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,501 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,502 - ERROR - Error in episode 421: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,503 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,503 - ERROR - Error in episode 422: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,505 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,507 - ERROR - Error in episode 423: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,509 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,509 - ERROR - Error in episode 424: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,511 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,511 - ERROR - Error in episode 425: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,513 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,513 - ERROR - Error in episode 426: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,515 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,515 - ERROR - Error in episode 427: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,517 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,519 - ERROR - Error in episode 428: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,521 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,521 - ERROR - Error in episode 429: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,523 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,524 - ERROR - Error in episode 430: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,525 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,525 - ERROR - Error in episode 431: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,528 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,528 - ERROR - Error in episode 432: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,530 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,531 - ERROR - Error in episode 433: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,532 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,532 - ERROR - Error in episode 434: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,535 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,535 - ERROR - Error in episode 435: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,537 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,537 - ERROR - Error in episode 436: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,539 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,539 - ERROR - Error in episode 437: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,541 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,542 - ERROR - Error in episode 438: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,543 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,543 - ERROR - Error in episode 439: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,543 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,543 - ERROR - Error in episode 440: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,543 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,543 - ERROR - Error in episode 441: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,550 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,550 - ERROR - Error in episode 442: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,552 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,553 - ERROR - Error in episode 443: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,555 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,555 - ERROR - Error in episode 444: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,557 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,558 - ERROR - Error in episode 445: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,559 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,559 - ERROR - Error in episode 446: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,561 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,562 - ERROR - Error in episode 447: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,564 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,564 - ERROR - Error in episode 448: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,566 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,567 - ERROR - Error in episode 449: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,568 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,569 - ERROR - Error in episode 450: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,569 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,569 - ERROR - Error in episode 451: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,573 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,574 - ERROR - Error in episode 452: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,575 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,576 - ERROR - Error in episode 453: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,578 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,578 - ERROR - Error in episode 454: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,580 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,580 - ERROR - Error in episode 455: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,582 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,583 - ERROR - Error in episode 456: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,584 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,584 - ERROR - Error in episode 457: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,586 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,587 - ERROR - Error in episode 458: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,589 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,590 - ERROR - Error in episode 459: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,592 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,592 - ERROR - Error in episode 460: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,594 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,595 - ERROR - Error in episode 461: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,596 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,597 - ERROR - Error in episode 462: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,599 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,599 - ERROR - Error in episode 463: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,601 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,601 - ERROR - Error in episode 464: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,604 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,604 - ERROR - Error in episode 465: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,605 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,606 - ERROR - Error in episode 466: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,609 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,609 - ERROR - Error in episode 467: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,611 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,611 - ERROR - Error in episode 468: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,613 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,614 - ERROR - Error in episode 469: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,616 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,616 - ERROR - Error in episode 470: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,618 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,618 - ERROR - Error in episode 471: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,618 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,618 - ERROR - Error in episode 472: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,622 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,624 - ERROR - Error in episode 473: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,624 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,626 - ERROR - Error in episode 474: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,628 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,628 - ERROR - Error in episode 475: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,631 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,631 - ERROR - Error in episode 476: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,632 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,632 - ERROR - Error in episode 477: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,634 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,634 - ERROR - Error in episode 478: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,636 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,636 - ERROR - Error in episode 479: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,639 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,641 - ERROR - Error in episode 480: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,641 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,643 - ERROR - Error in episode 481: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,645 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,645 - ERROR - Error in episode 482: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,647 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,647 - ERROR - Error in episode 483: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,649 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,649 - ERROR - Error in episode 484: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,651 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,651 - ERROR - Error in episode 485: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,653 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,655 - ERROR - Error in episode 486: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,657 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,657 - ERROR - Error in episode 487: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,659 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,659 - ERROR - Error in episode 488: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,661 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,661 - ERROR - Error in episode 489: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,664 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,665 - ERROR - Error in episode 490: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,666 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,666 - ERROR - Error in episode 491: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,668 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,670 - ERROR - Error in episode 492: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,671 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,673 - ERROR - Error in episode 493: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,674 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,674 - ERROR - Error in episode 494: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,676 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,676 - ERROR - Error in episode 495: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,678 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,678 - ERROR - Error in episode 496: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,681 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,682 - ERROR - Error in episode 497: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,682 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,682 - ERROR - Error in episode 498: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,684 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,687 - ERROR - Error in episode 499: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,688 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,689 - ERROR - Error in episode 500: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,691 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,691 - ERROR - Error in episode 501: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,693 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,693 - ERROR - Error in episode 502: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,695 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,695 - ERROR - Error in episode 503: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,698 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,698 - ERROR - Error in episode 504: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,700 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,700 - ERROR - Error in episode 505: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,702 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,703 - ERROR - Error in episode 506: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,704 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,705 - ERROR - Error in episode 507: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,707 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,707 - ERROR - Error in episode 508: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,710 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,710 - ERROR - Error in episode 509: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,712 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,713 - ERROR - Error in episode 510: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,714 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,715 - ERROR - Error in episode 511: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,716 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,716 - ERROR - Error in episode 512: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,719 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,719 - ERROR - Error in episode 513: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,721 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,722 - ERROR - Error in episode 514: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,724 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,724 - ERROR - Error in episode 515: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,726 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,726 - ERROR - Error in episode 516: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,728 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,729 - ERROR - Error in episode 517: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,732 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,732 - ERROR - Error in episode 518: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,734 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,734 - ERROR - Error in episode 519: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,736 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,737 - ERROR - Error in episode 520: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,739 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,740 - ERROR - Error in episode 521: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,741 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,741 - ERROR - Error in episode 522: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,743 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,744 - ERROR - Error in episode 523: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,745 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,746 - ERROR - Error in episode 524: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,748 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,749 - ERROR - Error in episode 525: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,750 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,750 - ERROR - Error in episode 526: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,750 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,750 - ERROR - Error in episode 527: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,754 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,756 - ERROR - Error in episode 528: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,757 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,757 - ERROR - Error in episode 529: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,760 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,760 - ERROR - Error in episode 530: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,762 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,763 - ERROR - Error in episode 531: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,765 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,765 - ERROR - Error in episode 532: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,767 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,767 - ERROR - Error in episode 533: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,769 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,770 - ERROR - Error in episode 534: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,772 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,772 - ERROR - Error in episode 535: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,774 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,775 - ERROR - Error in episode 536: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,776 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,777 - ERROR - Error in episode 537: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,778 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,778 - ERROR - Error in episode 538: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,781 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,781 - ERROR - Error in episode 539: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,782 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,782 - ERROR - Error in episode 540: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,786 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,787 - ERROR - Error in episode 541: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,788 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,789 - ERROR - Error in episode 542: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,791 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,792 - ERROR - Error in episode 543: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,793 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,794 - ERROR - Error in episode 544: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,796 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,796 - ERROR - Error in episode 545: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,796 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,796 - ERROR - Error in episode 546: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,800 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,800 - ERROR - Error in episode 547: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,804 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,805 - ERROR - Error in episode 548: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,806 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,807 - ERROR - Error in episode 549: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,809 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,810 - ERROR - Error in episode 550: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,812 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,812 - ERROR - Error in episode 551: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,814 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,815 - ERROR - Error in episode 552: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,816 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,817 - ERROR - Error in episode 553: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,818 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,819 - ERROR - Error in episode 554: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,820 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,822 - ERROR - Error in episode 555: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,823 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,824 - ERROR - Error in episode 556: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,826 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,827 - ERROR - Error in episode 557: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,829 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,829 - ERROR - Error in episode 558: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,831 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,831 - ERROR - Error in episode 559: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,833 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,834 - ERROR - Error in episode 560: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,836 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,836 - ERROR - Error in episode 561: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,837 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,837 - ERROR - Error in episode 562: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,840 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,840 - ERROR - Error in episode 563: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,842 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,843 - ERROR - Error in episode 564: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,845 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,845 - ERROR - Error in episode 565: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,847 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,848 - ERROR - Error in episode 566: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,850 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,850 - ERROR - Error in episode 567: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,850 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,850 - ERROR - Error in episode 568: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,853 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,853 - ERROR - Error in episode 569: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,857 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,857 - ERROR - Error in episode 570: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,859 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,859 - ERROR - Error in episode 571: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,861 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,862 - ERROR - Error in episode 572: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,862 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,865 - ERROR - Error in episode 573: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,866 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,866 - ERROR - Error in episode 574: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,868 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,869 - ERROR - Error in episode 575: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,870 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,870 - ERROR - Error in episode 576: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,873 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,874 - ERROR - Error in episode 577: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,876 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,876 - ERROR - Error in episode 578: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,878 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,878 - ERROR - Error in episode 579: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,881 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,882 - ERROR - Error in episode 580: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,883 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,884 - ERROR - Error in episode 581: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,886 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,886 - ERROR - Error in episode 582: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,888 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,888 - ERROR - Error in episode 583: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,890 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,890 - ERROR - Error in episode 584: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,892 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,893 - ERROR - Error in episode 585: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,895 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,895 - ERROR - Error in episode 586: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,898 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,898 - ERROR - Error in episode 587: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,900 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,901 - ERROR - Error in episode 588: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,902 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,902 - ERROR - Error in episode 589: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,904 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,905 - ERROR - Error in episode 590: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,907 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,907 - ERROR - Error in episode 591: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,909 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,909 - ERROR - Error in episode 592: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,911 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,912 - ERROR - Error in episode 593: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,914 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,914 - ERROR - Error in episode 594: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,916 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,916 - ERROR - Error in episode 595: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,918 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,919 - ERROR - Error in episode 596: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,920 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,920 - ERROR - Error in episode 597: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,923 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,923 - ERROR - Error in episode 598: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,925 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,925 - ERROR - Error in episode 599: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,927 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,928 - ERROR - Error in episode 600: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,928 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,928 - ERROR - Error in episode 601: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,932 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,932 - ERROR - Error in episode 602: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,934 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,936 - ERROR - Error in episode 603: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,937 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,937 - ERROR - Error in episode 604: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,939 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,939 - ERROR - Error in episode 605: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,941 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,941 - ERROR - Error in episode 606: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,941 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,941 - ERROR - Error in episode 607: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,946 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,946 - ERROR - Error in episode 608: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,948 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,948 - ERROR - Error in episode 609: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,950 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,952 - ERROR - Error in episode 610: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,953 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,954 - ERROR - Error in episode 611: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,954 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,956 - ERROR - Error in episode 612: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,956 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,958 - ERROR - Error in episode 613: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,960 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,960 - ERROR - Error in episode 614: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,961 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,961 - ERROR - Error in episode 615: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,963 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,965 - ERROR - Error in episode 616: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,967 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,967 - ERROR - Error in episode 617: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,969 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,970 - ERROR - Error in episode 618: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,971 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,971 - ERROR - Error in episode 619: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,974 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,975 - ERROR - Error in episode 620: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,976 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,976 - ERROR - Error in episode 621: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,978 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,978 - ERROR - Error in episode 622: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,978 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,978 - ERROR - Error in episode 623: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,983 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,984 - ERROR - Error in episode 624: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,986 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,986 - ERROR - Error in episode 625: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,988 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,988 - ERROR - Error in episode 626: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,990 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,991 - ERROR - Error in episode 627: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,992 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,993 - ERROR - Error in episode 628: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,995 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,995 - ERROR - Error in episode 629: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,997 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,997 - ERROR - Error in episode 630: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:31,999 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:31,999 - ERROR - Error in episode 631: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,001 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,002 - ERROR - Error in episode 632: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,003 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,003 - ERROR - Error in episode 633: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,005 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,007 - ERROR - Error in episode 634: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,008 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,008 - ERROR - Error in episode 635: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,010 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,010 - ERROR - Error in episode 636: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,013 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,014 - ERROR - Error in episode 637: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,015 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,016 - ERROR - Error in episode 638: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,018 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,018 - ERROR - Error in episode 639: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,020 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,020 - ERROR - Error in episode 640: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,022 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,023 - ERROR - Error in episode 641: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,025 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,025 - ERROR - Error in episode 642: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,027 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,027 - ERROR - Error in episode 643: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,028 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,030 - ERROR - Error in episode 644: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,031 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,032 - ERROR - Error in episode 645: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,033 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,034 - ERROR - Error in episode 646: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,035 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,036 - ERROR - Error in episode 647: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,037 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,037 - ERROR - Error in episode 648: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,037 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,037 - ERROR - Error in episode 649: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,037 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,037 - ERROR - Error in episode 650: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,044 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,045 - ERROR - Error in episode 651: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,045 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,047 - ERROR - Error in episode 652: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,048 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,048 - ERROR - Error in episode 653: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,050 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,050 - ERROR - Error in episode 654: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,052 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,053 - ERROR - Error in episode 655: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,055 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,056 - ERROR - Error in episode 656: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,058 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,058 - ERROR - Error in episode 657: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,060 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,060 - ERROR - Error in episode 658: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,060 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,060 - ERROR - Error in episode 659: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,063 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,063 - ERROR - Error in episode 660: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,066 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,066 - ERROR - Error in episode 661: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,068 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,068 - ERROR - Error in episode 662: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,071 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,072 - ERROR - Error in episode 663: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,073 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,074 - ERROR - Error in episode 664: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,075 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,075 - ERROR - Error in episode 665: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,077 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,077 - ERROR - Error in episode 666: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,081 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,081 - ERROR - Error in episode 667: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,083 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,083 - ERROR - Error in episode 668: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,085 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,086 - ERROR - Error in episode 669: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,087 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,087 - ERROR - Error in episode 670: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,090 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,090 - ERROR - Error in episode 671: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,092 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,093 - ERROR - Error in episode 672: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,094 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,095 - ERROR - Error in episode 673: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,097 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,097 - ERROR - Error in episode 674: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,099 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,099 - ERROR - Error in episode 675: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,101 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,102 - ERROR - Error in episode 676: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,103 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,104 - ERROR - Error in episode 677: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,106 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,107 - ERROR - Error in episode 678: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,109 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,109 - ERROR - Error in episode 679: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,111 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,112 - ERROR - Error in episode 680: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,112 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,112 - ERROR - Error in episode 681: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,112 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,112 - ERROR - Error in episode 682: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,118 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,118 - ERROR - Error in episode 683: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,120 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,121 - ERROR - Error in episode 684: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,124 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,124 - ERROR - Error in episode 685: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,127 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,127 - ERROR - Error in episode 686: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,129 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,129 - ERROR - Error in episode 687: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,131 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,131 - ERROR - Error in episode 688: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,131 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,134 - ERROR - Error in episode 689: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,135 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,136 - ERROR - Error in episode 690: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,138 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,139 - ERROR - Error in episode 691: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,141 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,142 - ERROR - Error in episode 692: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,143 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,145 - ERROR - Error in episode 693: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,145 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,145 - ERROR - Error in episode 694: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,148 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,148 - ERROR - Error in episode 695: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,151 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,152 - ERROR - Error in episode 696: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,154 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,154 - ERROR - Error in episode 697: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,155 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,157 - ERROR - Error in episode 698: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,159 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,159 - ERROR - Error in episode 699: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,161 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,161 - ERROR - Error in episode 700: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,163 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,164 - ERROR - Error in episode 701: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,167 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,167 - ERROR - Error in episode 702: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,169 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,169 - ERROR - Error in episode 703: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,171 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,171 - ERROR - Error in episode 704: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,174 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,174 - ERROR - Error in episode 705: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,176 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,176 - ERROR - Error in episode 706: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,179 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,180 - ERROR - Error in episode 707: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,182 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,182 - ERROR - Error in episode 708: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,184 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,185 - ERROR - Error in episode 709: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,187 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,187 - ERROR - Error in episode 710: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,189 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,190 - ERROR - Error in episode 711: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,192 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,192 - ERROR - Error in episode 712: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,194 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,195 - ERROR - Error in episode 713: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,196 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,197 - ERROR - Error in episode 714: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,200 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,200 - ERROR - Error in episode 715: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,202 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,202 - ERROR - Error in episode 716: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,204 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,204 - ERROR - Error in episode 717: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,206 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,207 - ERROR - Error in episode 718: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,210 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,210 - ERROR - Error in episode 719: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,212 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,212 - ERROR - Error in episode 720: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,214 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,215 - ERROR - Error in episode 721: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,217 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,217 - ERROR - Error in episode 722: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,219 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,220 - ERROR - Error in episode 723: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,222 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,222 - ERROR - Error in episode 724: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,224 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,225 - ERROR - Error in episode 725: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,227 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,227 - ERROR - Error in episode 726: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,229 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,229 - ERROR - Error in episode 727: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,231 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,232 - ERROR - Error in episode 728: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,234 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,234 - ERROR - Error in episode 729: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,236 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,237 - ERROR - Error in episode 730: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,239 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,240 - ERROR - Error in episode 731: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,242 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,242 - ERROR - Error in episode 732: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,244 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,244 - ERROR - Error in episode 733: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,245 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,246 - ERROR - Error in episode 734: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,248 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,248 - ERROR - Error in episode 735: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,251 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,251 - ERROR - Error in episode 736: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,254 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,254 - ERROR - Error in episode 737: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,255 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,256 - ERROR - Error in episode 738: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,259 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,259 - ERROR - Error in episode 739: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,261 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,262 - ERROR - Error in episode 740: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,263 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,264 - ERROR - Error in episode 741: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,266 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,266 - ERROR - Error in episode 742: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,268 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,268 - ERROR - Error in episode 743: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,270 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,272 - ERROR - Error in episode 744: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,273 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,273 - ERROR - Error in episode 745: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,276 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,276 - ERROR - Error in episode 746: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,278 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,279 - ERROR - Error in episode 747: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,280 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,280 - ERROR - Error in episode 748: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,282 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,282 - ERROR - Error in episode 749: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,284 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,284 - ERROR - Error in episode 750: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,287 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,287 - ERROR - Error in episode 751: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,290 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,291 - ERROR - Error in episode 752: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,292 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,292 - ERROR - Error in episode 753: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,294 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,295 - ERROR - Error in episode 754: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,297 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,297 - ERROR - Error in episode 755: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,298 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,298 - ERROR - Error in episode 756: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,301 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,301 - ERROR - Error in episode 757: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,303 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,304 - ERROR - Error in episode 758: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,305 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,306 - ERROR - Error in episode 759: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,307 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,308 - ERROR - Error in episode 760: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,310 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,310 - ERROR - Error in episode 761: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,312 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,312 - ERROR - Error in episode 762: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,315 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,315 - ERROR - Error in episode 763: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,317 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,317 - ERROR - Error in episode 764: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,320 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,320 - ERROR - Error in episode 765: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,322 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,323 - ERROR - Error in episode 766: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,324 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,324 - ERROR - Error in episode 767: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,326 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,326 - ERROR - Error in episode 768: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,329 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,330 - ERROR - Error in episode 769: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,331 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,332 - ERROR - Error in episode 770: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,334 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,334 - ERROR - Error in episode 771: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,336 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,337 - ERROR - Error in episode 772: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,339 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,340 - ERROR - Error in episode 773: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,341 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,342 - ERROR - Error in episode 774: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,343 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,344 - ERROR - Error in episode 775: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,346 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,346 - ERROR - Error in episode 776: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,349 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,350 - ERROR - Error in episode 777: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,351 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,352 - ERROR - Error in episode 778: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,354 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,354 - ERROR - Error in episode 779: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,356 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,356 - ERROR - Error in episode 780: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,359 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,359 - ERROR - Error in episode 781: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,361 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,361 - ERROR - Error in episode 782: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,364 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,364 - ERROR - Error in episode 783: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,365 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,366 - ERROR - Error in episode 784: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,367 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,368 - ERROR - Error in episode 785: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,370 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,370 - ERROR - Error in episode 786: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,373 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,373 - ERROR - Error in episode 787: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,375 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,376 - ERROR - Error in episode 788: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,377 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,377 - ERROR - Error in episode 789: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,379 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,379 - ERROR - Error in episode 790: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,382 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,382 - ERROR - Error in episode 791: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,383 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,385 - ERROR - Error in episode 792: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,386 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,387 - ERROR - Error in episode 793: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,387 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,387 - ERROR - Error in episode 794: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,390 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,390 - ERROR - Error in episode 795: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,393 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,394 - ERROR - Error in episode 796: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,396 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,396 - ERROR - Error in episode 797: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,397 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,398 - ERROR - Error in episode 798: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,400 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,401 - ERROR - Error in episode 799: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,403 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,403 - ERROR - Error in episode 800: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,405 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,405 - ERROR - Error in episode 801: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,407 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,408 - ERROR - Error in episode 802: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,409 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,409 - ERROR - Error in episode 803: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,409 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,409 - ERROR - Error in episode 804: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,414 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,416 - ERROR - Error in episode 805: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,418 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,418 - ERROR - Error in episode 806: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,419 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,419 - ERROR - Error in episode 807: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,422 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,422 - ERROR - Error in episode 808: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,425 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,425 - ERROR - Error in episode 809: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,426 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,426 - ERROR - Error in episode 810: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,426 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,426 - ERROR - Error in episode 811: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,426 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,431 - ERROR - Error in episode 812: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,433 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,433 - ERROR - Error in episode 813: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,434 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,434 - ERROR - Error in episode 814: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,434 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,438 - ERROR - Error in episode 815: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,439 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,441 - ERROR - Error in episode 816: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,442 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,443 - ERROR - Error in episode 817: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,444 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,444 - ERROR - Error in episode 818: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,447 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,447 - ERROR - Error in episode 819: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,449 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,450 - ERROR - Error in episode 820: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,451 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,451 - ERROR - Error in episode 821: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,453 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,455 - ERROR - Error in episode 822: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,456 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,457 - ERROR - Error in episode 823: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,458 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,458 - ERROR - Error in episode 824: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,460 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,460 - ERROR - Error in episode 825: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,460 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,460 - ERROR - Error in episode 826: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,464 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,466 - ERROR - Error in episode 827: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,468 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,468 - ERROR - Error in episode 828: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,470 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,470 - ERROR - Error in episode 829: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,472 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,472 - ERROR - Error in episode 830: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,475 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,475 - ERROR - Error in episode 831: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,476 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,476 - ERROR - Error in episode 832: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,479 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,479 - ERROR - Error in episode 833: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,481 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,482 - ERROR - Error in episode 834: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,483 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,483 - ERROR - Error in episode 835: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,486 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,486 - ERROR - Error in episode 836: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,488 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,489 - ERROR - Error in episode 837: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,490 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,492 - ERROR - Error in episode 838: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,493 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,494 - ERROR - Error in episode 839: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,496 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,497 - ERROR - Error in episode 840: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,498 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,499 - ERROR - Error in episode 841: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,500 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,500 - ERROR - Error in episode 842: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,502 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,503 - ERROR - Error in episode 843: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,505 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,505 - ERROR - Error in episode 844: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,507 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,508 - ERROR - Error in episode 845: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,508 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,508 - ERROR - Error in episode 846: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,508 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,508 - ERROR - Error in episode 847: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,514 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,515 - ERROR - Error in episode 848: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,517 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,517 - ERROR - Error in episode 849: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,517 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,517 - ERROR - Error in episode 850: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,521 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,521 - ERROR - Error in episode 851: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,523 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,524 - ERROR - Error in episode 852: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,526 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,527 - ERROR - Error in episode 853: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,529 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,529 - ERROR - Error in episode 854: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,529 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,529 - ERROR - Error in episode 855: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,534 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,534 - ERROR - Error in episode 856: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,536 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,536 - ERROR - Error in episode 857: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,538 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,538 - ERROR - Error in episode 858: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,541 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,541 - ERROR - Error in episode 859: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,543 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,543 - ERROR - Error in episode 860: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,545 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,545 - ERROR - Error in episode 861: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,547 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,547 - ERROR - Error in episode 862: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,549 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,550 - ERROR - Error in episode 863: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,551 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,551 - ERROR - Error in episode 864: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,554 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,555 - ERROR - Error in episode 865: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,556 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,557 - ERROR - Error in episode 866: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,558 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,558 - ERROR - Error in episode 867: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,560 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,560 - ERROR - Error in episode 868: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,562 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,562 - ERROR - Error in episode 869: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,565 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,565 - ERROR - Error in episode 870: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,567 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,567 - ERROR - Error in episode 871: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,568 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,570 - ERROR - Error in episode 872: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,571 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,572 - ERROR - Error in episode 873: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,574 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,574 - ERROR - Error in episode 874: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,577 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,577 - ERROR - Error in episode 875: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,578 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,579 - ERROR - Error in episode 876: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,580 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,581 - ERROR - Error in episode 877: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,583 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,583 - ERROR - Error in episode 878: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,584 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,585 - ERROR - Error in episode 879: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,587 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,587 - ERROR - Error in episode 880: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,589 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,589 - ERROR - Error in episode 881: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,592 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,592 - ERROR - Error in episode 882: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,594 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,594 - ERROR - Error in episode 883: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,596 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,597 - ERROR - Error in episode 884: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,598 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,599 - ERROR - Error in episode 885: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,600 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,600 - ERROR - Error in episode 886: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,603 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,604 - ERROR - Error in episode 887: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,606 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,606 - ERROR - Error in episode 888: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,607 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,607 - ERROR - Error in episode 889: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,610 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,610 - ERROR - Error in episode 890: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,611 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,611 - ERROR - Error in episode 891: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,614 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,614 - ERROR - Error in episode 892: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,616 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,617 - ERROR - Error in episode 893: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,618 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,619 - ERROR - Error in episode 894: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,620 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,621 - ERROR - Error in episode 895: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,622 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,622 - ERROR - Error in episode 896: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,625 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,626 - ERROR - Error in episode 897: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,627 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,627 - ERROR - Error in episode 898: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,630 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,630 - ERROR - Error in episode 899: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,632 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,632 - ERROR - Error in episode 900: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,634 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,634 - ERROR - Error in episode 901: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,636 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,636 - ERROR - Error in episode 902: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,638 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,639 - ERROR - Error in episode 903: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,640 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,641 - ERROR - Error in episode 904: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,642 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,642 - ERROR - Error in episode 905: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,645 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,645 - ERROR - Error in episode 906: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,647 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,647 - ERROR - Error in episode 907: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,650 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,650 - ERROR - Error in episode 908: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,652 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,652 - ERROR - Error in episode 909: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,654 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,655 - ERROR - Error in episode 910: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,656 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,656 - ERROR - Error in episode 911: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,658 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,659 - ERROR - Error in episode 912: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,660 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,661 - ERROR - Error in episode 913: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,663 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,663 - ERROR - Error in episode 914: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,666 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,666 - ERROR - Error in episode 915: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,667 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,668 - ERROR - Error in episode 916: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,669 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,670 - ERROR - Error in episode 917: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,672 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,672 - ERROR - Error in episode 918: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,674 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,675 - ERROR - Error in episode 919: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,676 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,676 - ERROR - Error in episode 920: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,676 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,676 - ERROR - Error in episode 921: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,676 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,676 - ERROR - Error in episode 922: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,683 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,684 - ERROR - Error in episode 923: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,685 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,686 - ERROR - Error in episode 924: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,687 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,688 - ERROR - Error in episode 925: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,689 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,690 - ERROR - Error in episode 926: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,691 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,692 - ERROR - Error in episode 927: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,694 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,694 - ERROR - Error in episode 928: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,696 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,697 - ERROR - Error in episode 929: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,698 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,699 - ERROR - Error in episode 930: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,700 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,700 - ERROR - Error in episode 931: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,702 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,702 - ERROR - Error in episode 932: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,704 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,704 - ERROR - Error in episode 933: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,707 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,707 - ERROR - Error in episode 934: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,710 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,710 - ERROR - Error in episode 935: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,711 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,711 - ERROR - Error in episode 936: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,714 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,714 - ERROR - Error in episode 937: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,716 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,717 - ERROR - Error in episode 938: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,718 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,719 - ERROR - Error in episode 939: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,720 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,721 - ERROR - Error in episode 940: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,723 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,723 - ERROR - Error in episode 941: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,725 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,725 - ERROR - Error in episode 942: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,727 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,727 - ERROR - Error in episode 943: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,727 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,727 - ERROR - Error in episode 944: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,727 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,727 - ERROR - Error in episode 945: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,734 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,734 - ERROR - Error in episode 946: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,737 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,737 - ERROR - Error in episode 947: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,739 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,739 - ERROR - Error in episode 948: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,741 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,742 - ERROR - Error in episode 949: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,743 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,744 - ERROR - Error in episode 950: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,746 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,747 - ERROR - Error in episode 951: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,748 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,748 - ERROR - Error in episode 952: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,751 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,752 - ERROR - Error in episode 953: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,754 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,754 - ERROR - Error in episode 954: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,755 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,756 - ERROR - Error in episode 955: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,758 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,759 - ERROR - Error in episode 956: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,760 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,761 - ERROR - Error in episode 957: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,762 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,763 - ERROR - Error in episode 958: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,765 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,765 - ERROR - Error in episode 959: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,767 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,767 - ERROR - Error in episode 960: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,769 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,769 - ERROR - Error in episode 961: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,771 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,772 - ERROR - Error in episode 962: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,773 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,774 - ERROR - Error in episode 963: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,775 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,775 - ERROR - Error in episode 964: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,777 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,777 - ERROR - Error in episode 965: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,781 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,781 - ERROR - Error in episode 966: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,782 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,783 - ERROR - Error in episode 967: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,783 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,783 - ERROR - Error in episode 968: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,788 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,788 - ERROR - Error in episode 969: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,790 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,790 - ERROR - Error in episode 970: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,792 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,792 - ERROR - Error in episode 971: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,794 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,794 - ERROR - Error in episode 972: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,796 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,797 - ERROR - Error in episode 973: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,798 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,799 - ERROR - Error in episode 974: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,801 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,802 - ERROR - Error in episode 975: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,803 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,804 - ERROR - Error in episode 976: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,806 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,806 - ERROR - Error in episode 977: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,808 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,808 - ERROR - Error in episode 978: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,810 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,811 - ERROR - Error in episode 979: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,812 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,813 - ERROR - Error in episode 980: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,814 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,814 - ERROR - Error in episode 981: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,816 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,818 - ERROR - Error in episode 982: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,819 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,819 - ERROR - Error in episode 983: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,821 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,821 - ERROR - Error in episode 984: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,822 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,822 - ERROR - Error in episode 985: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,825 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,825 - ERROR - Error in episode 986: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,828 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,828 - ERROR - Error in episode 987: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,830 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,830 - ERROR - Error in episode 988: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,830 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,830 - ERROR - Error in episode 989: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,834 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,836 - ERROR - Error in episode 990: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,836 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,837 - ERROR - Error in episode 991: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,839 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,839 - ERROR - Error in episode 992: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,841 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,841 - ERROR - Error in episode 993: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,843 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,844 - ERROR - Error in episode 994: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,846 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,846 - ERROR - Error in episode 995: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,846 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,846 - ERROR - Error in episode 996: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,846 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,851 - ERROR - Error in episode 997: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,853 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,853 - ERROR - Error in episode 998: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,856 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,856 - ERROR - Error in episode 999: 'NoneType' object has no attribute 'train_on_new_data' +2025-03-10 13:20:32,857 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1790, in train_agent + prediction_loss = env.train_price_predictor() + ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "main.py", line 1247, in train_price_predictor + loss = self.price_predictor.train_on_new_data( + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'NoneType' object has no attribute 'train_on_new_data' + +2025-03-10 13:20:32,988 - INFO - Model saved to models/trading_agent_final.pt +2025-03-10 13:20:33,198 - ERROR - Training failed: 'episode_pnls' +2025-03-10 13:20:33,198 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1928, in train_agent + plot_training_results(stats) + File "main.py", line 1970, in plot_training_results + plt.plot(stats['episode_pnls']) + ~~~~~^^^^^^^^^^^^^^^^ +KeyError: 'episode_pnls' + +2025-03-10 13:20:33,323 - INFO - Model saved to models/trading_agent_emergency.pt +2025-03-10 13:20:33,323 - INFO - Emergency model saved due to training failure +2025-03-10 13:20:33,323 - INFO - Exchange connection closed +2025-03-10 13:21:59,698 - INFO - Using GPU: NVIDIA GeForce RTX 4060 Laptop GPU +2025-03-10 13:21:59,719 - INFO - Exchange initialized with standard CCXT: mexc +2025-03-10 13:21:59,720 - INFO - Fetching initial data for ETH/USDT +2025-03-10 13:22:03,540 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 13:22:03,563 - INFO - Initialized environment with 500 candles +2025-03-10 13:22:06,180 - INFO - Starting training for 1000 episodes... +2025-03-10 13:22:06,180 - INFO - Starting training on device: cuda +2025-03-10 13:22:06,181 - INFO - Loading best model from models/trading_agent_best_pnl.pt to resume training +2025-03-10 13:22:06,181 - INFO - Loading model from models/trading_agent_best_pnl.pt +2025-03-10 13:22:06,347 - INFO - Model loaded successfully with weights_only=True +2025-03-10 13:22:06,347 - INFO - Resumed with best metrics - Reward: 202.74, PnL: $-10.07, Win Rate: 30.9% +2025-03-10 13:22:06,634 - INFO - OPENED SHORT at 2049.89 | Stop loss: 2060.153732142857 | Take profit: 2019.120226785714 +2025-03-10 13:22:06,664 - INFO - STOP LOSS hit for short at 2060.153732142857 | PnL: -0.50% | $-1.19 +2025-03-10 13:22:06,672 - INFO - OPENED SHORT at 2063.29 | Stop loss: 2073.620732142857 | Take profit: 2032.3192267857144 +2025-03-10 13:22:06,673 - INFO - CLOSED short at 2064.61 | PnL: -0.06% | $-0.32 +2025-03-10 13:22:06,673 - INFO - OPENED SHORT at 2063.59 | Stop loss: 2073.9222321428574 | Take profit: 2032.6147267857143 +2025-03-10 13:22:06,704 - INFO - CLOSED short at 2057.8 | PnL: 0.28% | $0.35 +2025-03-10 13:22:06,704 - INFO - OPENED LONG at 2057.8 | Stop loss: 2047.496717857143 | Take profit: 2088.688423214286 +2025-03-10 13:22:06,708 - INFO - CLOSED long at 2057.89 | PnL: 0.00% | $-0.19 +2025-03-10 13:22:06,708 - INFO - OPENED SHORT at 2057.89 | Stop loss: 2068.1937321428572 | Take profit: 2027.0002267857142 +2025-03-10 13:22:06,725 - INFO - STOP LOSS hit for short at 2068.1937321428572 | PnL: -0.50% | $-1.18 +2025-03-10 13:22:06,728 - INFO - OPENED SHORT at 2068.11 | Stop loss: 2078.464832142857 | Take profit: 2037.0669267857145 +2025-03-10 13:22:06,739 - INFO - CLOSED short at 2069.6 | PnL: -0.07% | $-0.33 +2025-03-10 13:22:06,739 - INFO - OPENED SHORT at 2068.65 | Stop loss: 2079.007532142857 | Take profit: 2037.5988267857144 +2025-03-10 13:22:06,756 - INFO - CLOSED short at 2073.73 | PnL: -0.25% | $-0.67 +2025-03-10 13:22:06,763 - INFO - OPENED SHORT at 2075.1 | Stop loss: 2085.489782142857 | Take profit: 2043.952076785714 +2025-03-10 13:22:06,800 - INFO - CLOSED short at 2070.7 | PnL: 0.21% | $0.21 +2025-03-10 13:22:06,800 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3322178571425 | Take profit: 2101.7819232142856 +2025-03-10 13:22:06,804 - INFO - CLOSED long at 2069.34 | PnL: -0.07% | $-0.32 +2025-03-10 13:22:06,804 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.7009821428574 | Take profit: 2038.2784767857145 +2025-03-10 13:22:07,013 - INFO - CLOSED short at 2065.99 | PnL: 0.16% | $0.12 +2025-03-10 13:22:07,038 - INFO - OPENED LONG at 2066.19 | Stop loss: 2055.844767857143 | Take profit: 2097.204273214286 +2025-03-10 13:22:07,157 - INFO - CLOSED long at 2068.51 | PnL: 0.11% | $0.02 +2025-03-10 13:22:07,157 - INFO - OPENED SHORT at 2068.51 | Stop loss: 2078.8668321428577 | Take profit: 2037.4609267857145 +2025-03-10 13:22:07,589 - INFO - CLOSED short at 2067.0 | PnL: 0.07% | $-0.05 +2025-03-10 13:22:07,589 - INFO - OPENED LONG at 2067.0 | Stop loss: 2056.650717857143 | Take profit: 2098.026423214286 +2025-03-10 13:22:07,643 - INFO - CLOSED long at 2067.46 | PnL: 0.02% | $-0.15 +2025-03-10 13:22:07,643 - INFO - OPENED SHORT at 2067.46 | Stop loss: 2077.8115821428573 | Take profit: 2036.4266767857143 +2025-03-10 13:22:07,668 - INFO - CLOSED short at 2066.8 | PnL: 0.03% | $-0.13 +2025-03-10 13:22:07,668 - INFO - OPENED LONG at 2066.8 | Stop loss: 2056.451717857143 | Take profit: 2097.823423214286 +2025-03-10 13:22:07,907 - INFO - CLOSED long at 2070.3 | PnL: 0.17% | $0.13 +2025-03-10 13:22:07,937 - INFO - OPENED LONG at 2071.59 | Stop loss: 2061.217767857143 | Take profit: 2102.6852732142856 +2025-03-10 13:22:08,448 - INFO - CLOSED long at 2066.15 | PnL: -0.26% | $-0.69 +2025-03-10 13:22:08,474 - INFO - OPENED LONG at 2065.26 | Stop loss: 2054.919417857143 | Take profit: 2096.2603232142856 +2025-03-10 13:22:08,706 - INFO - CLOSED long at 2065.54 | PnL: 0.01% | $-0.16 +2025-03-10 13:22:08,737 - INFO - OPENED LONG at 2066.09 | Stop loss: 2055.745267857143 | Take profit: 2097.102773214286 +2025-03-10 13:22:08,758 - INFO - CLOSED long at 2064.45 | PnL: -0.08% | $-0.34 +2025-03-10 13:22:08,779 - INFO - OPENED LONG at 2064.08 | Stop loss: 2053.7453178571427 | Take profit: 2095.0626232142854 +2025-03-10 13:22:08,802 - INFO - CLOSED long at 2062.71 | PnL: -0.07% | $-0.31 +2025-03-10 13:22:08,825 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.561267857143 | Take profit: 2093.8547732142856 +2025-03-10 13:22:08,913 - INFO - CLOSED long at 2060.9 | PnL: -0.10% | $-0.37 +2025-03-10 13:22:08,913 - INFO - OPENED SHORT at 2060.9 | Stop loss: 2071.218782142857 | Take profit: 2029.9650767857142 +2025-03-10 13:22:08,960 - INFO - CLOSED short at 2058.89 | PnL: 0.10% | $-0.00 +2025-03-10 13:22:08,961 - INFO - OPENED LONG at 2058.89 | Stop loss: 2048.581267857143 | Take profit: 2089.7947732142857 +2025-03-10 13:22:09,173 - INFO - CLOSED long at 2064.1 | PnL: 0.25% | $0.29 +2025-03-10 13:22:09,173 - INFO - OPENED SHORT at 2064.1 | Stop loss: 2074.4347821428573 | Take profit: 2033.117076785714 +2025-03-10 13:22:09,205 - INFO - CLOSED short at 2065.36 | PnL: -0.06% | $-0.30 +2025-03-10 13:22:09,206 - INFO - OPENED LONG at 2065.36 | Stop loss: 2055.018917857143 | Take profit: 2096.361823214286 +2025-03-10 13:22:09,231 - INFO - CLOSED long at 2064.33 | PnL: -0.05% | $-0.28 +2025-03-10 13:22:09,256 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.058767857143 | Take profit: 2094.3622732142853 +2025-03-10 13:22:09,300 - INFO - CLOSED long at 2065.89 | PnL: 0.12% | $0.04 +2025-03-10 13:22:09,325 - INFO - OPENED LONG at 2063.53 | Stop loss: 2053.198067857143 | Take profit: 2094.504373214286 +2025-03-10 13:22:09,446 - INFO - CLOSED long at 2060.7 | PnL: -0.14% | $-0.44 +2025-03-10 13:22:09,488 - INFO - OPENED LONG at 2059.61 | Stop loss: 2049.297667857143 | Take profit: 2090.5255732142855 +2025-03-10 13:22:09,573 - INFO - CLOSED long at 2059.96 | PnL: 0.02% | $-0.15 +2025-03-10 13:22:09,573 - INFO - OPENED SHORT at 2059.96 | Stop loss: 2070.2740821428574 | Take profit: 2029.0391767857143 +2025-03-10 13:22:09,603 - INFO - CLOSED short at 2059.46 | PnL: 0.02% | $-0.14 +2025-03-10 13:22:09,603 - INFO - OPENED LONG at 2059.46 | Stop loss: 2049.1484178571427 | Take profit: 2090.3733232142854 +2025-03-10 13:22:09,917 - INFO - CLOSED long at 2063.4 | PnL: 0.19% | $0.17 +2025-03-10 13:22:09,938 - INFO - OPENED LONG at 2066.36 | Stop loss: 2056.013917857143 | Take profit: 2097.3768232142857 +2025-03-10 13:22:10,104 - INFO - CLOSED long at 2067.01 | PnL: 0.03% | $-0.13 +2025-03-10 13:22:10,134 - INFO - OPENED LONG at 2065.69 | Stop loss: 2055.347267857143 | Take profit: 2096.6967732142857 +2025-03-10 13:22:10,197 - INFO - CLOSED long at 2072.0 | PnL: 0.31% | $0.38 +2025-03-10 13:22:10,238 - INFO - OPENED LONG at 2074.3 | Stop loss: 2063.9142178571433 | Take profit: 2105.435923214286 +2025-03-10 13:22:10,518 - INFO - CLOSED long at 2070.0 | PnL: -0.21% | $-0.57 +2025-03-10 13:22:10,518 - INFO - OPENED SHORT at 2070.0 | Stop loss: 2080.364282142857 | Take profit: 2038.9285767857143 +2025-03-10 13:22:10,542 - INFO - CLOSED short at 2068.15 | PnL: 0.09% | $-0.02 +2025-03-10 13:22:10,542 - INFO - OPENED LONG at 2068.15 | Stop loss: 2057.794967857143 | Take profit: 2099.193673214286 +2025-03-10 13:22:11,256 - INFO - CLOSED long at 2071.59 | PnL: 0.17% | $0.12 +2025-03-10 13:22:11,286 - INFO - OPENED LONG at 2070.2 | Stop loss: 2059.834717857143 | Take profit: 2101.274423214286 +2025-03-10 13:22:11,503 - INFO - CLOSED long at 2068.19 | PnL: -0.10% | $-0.37 +2025-03-10 13:22:11,546 - INFO - OPENED LONG at 2068.67 | Stop loss: 2058.312367857143 | Take profit: 2099.7214732142857 +2025-03-10 13:22:11,655 - INFO - CLOSED long at 2071.61 | PnL: 0.14% | $0.08 +2025-03-10 13:22:11,656 - INFO - OPENED SHORT at 2071.61 | Stop loss: 2081.9823321428576 | Take profit: 2040.5144267857145 +2025-03-10 13:22:11,680 - INFO - CLOSED short at 2074.37 | PnL: -0.13% | $-0.43 +2025-03-10 13:22:11,680 - INFO - OPENED LONG at 2074.37 | Stop loss: 2063.9838678571427 | Take profit: 2105.5069732142856 +2025-03-10 13:22:11,848 - INFO - CLOSED long at 2075.61 | PnL: 0.06% | $-0.07 +2025-03-10 13:22:11,889 - INFO - OPENED LONG at 2074.0 | Stop loss: 2063.615717857143 | Take profit: 2105.131423214286 +2025-03-10 13:22:12,232 - INFO - CLOSED long at 2067.19 | PnL: -0.33% | $-0.79 +2025-03-10 13:22:12,232 - INFO - OPENED SHORT at 2067.19 | Stop loss: 2077.5402321428573 | Take profit: 2036.1607267857144 +2025-03-10 13:22:12,258 - INFO - CLOSED short at 2065.5 | PnL: 0.08% | $-0.03 +2025-03-10 13:22:12,259 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.158217857143 | Take profit: 2096.503923214286 +2025-03-10 13:22:12,512 - INFO - CLOSED long at 2065.06 | PnL: -0.02% | $-0.22 +2025-03-10 13:22:12,533 - INFO - OPENED SHORT at 2064.11 | Stop loss: 2074.444832142857 | Take profit: 2033.1269267857144 +2025-03-10 13:22:12,558 - INFO - CLOSED short at 2064.5 | PnL: -0.02% | $-0.22 +2025-03-10 13:22:12,558 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.163217857143 | Take profit: 2095.488923214286 +2025-03-10 13:22:12,639 - INFO - CLOSED long at 2060.2 | PnL: -0.21% | $-0.56 +2025-03-10 13:22:12,680 - INFO - OPENED LONG at 2059.2 | Stop loss: 2048.889717857143 | Take profit: 2090.1094232142855 +2025-03-10 13:22:13,631 - INFO - CLOSED long at 2070.41 | PnL: 0.54% | $0.80 +2025-03-10 13:22:13,657 - INFO - OPENED LONG at 2073.49 | Stop loss: 2063.1082678571424 | Take profit: 2104.6137732142856 +2025-03-10 13:22:14,058 - INFO - TAKE PROFIT hit for long at 2104.6137732142856 | PnL: 1.50% | $2.55 +2025-03-10 13:22:14,080 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.8280178571426 | Take profit: 2171.6545232142857 +2025-03-10 13:22:14,304 - INFO - STOP LOSS hit for long at 2128.8280178571426 | PnL: -0.50% | $-1.12 +2025-03-10 13:22:14,355 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.649217857143 | Take profit: 2159.230923214286 +2025-03-10 13:22:14,444 - INFO - CLOSED long at 2121.09 | PnL: -0.29% | $-0.72 +2025-03-10 13:22:14,445 - INFO - OPENED SHORT at 2121.09 | Stop loss: 2131.7097321428573 | Take profit: 2089.2522267857144 +2025-03-10 13:22:14,464 - INFO - CLOSED short at 2120.15 | PnL: 0.04% | $-0.10 +2025-03-10 13:22:14,464 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.534967857143 | Take profit: 2151.9736732142856 +2025-03-10 13:22:14,572 - INFO - CLOSED long at 2119.14 | PnL: -0.05% | $-0.27 +2025-03-10 13:22:14,599 - INFO - OPENED LONG at 2119.07 | Stop loss: 2108.460367857143 | Take profit: 2150.8774732142856 +2025-03-10 13:22:14,657 - INFO - STOP LOSS hit for long at 2108.460367857143 | PnL: -0.50% | $-1.10 +2025-03-10 13:22:14,712 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032717857143 | Take profit: 2142.2804232142853 +2025-03-10 13:22:14,834 - INFO - CLOSED long at 2112.95 | PnL: 0.11% | $0.02 +2025-03-10 13:22:14,863 - INFO - OPENED LONG at 2112.46 | Stop loss: 2101.883417857143 | Take profit: 2144.168323214286 +2025-03-10 13:22:15,182 - INFO - STOP LOSS hit for long at 2101.883417857143 | PnL: -0.50% | $-1.08 +2025-03-10 13:22:15,252 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0180678571433 | Take profit: 2131.044373214286 +2025-03-10 13:22:15,806 - INFO - CLOSED long at 2094.08 | PnL: -0.26% | $-0.64 +2025-03-10 13:22:15,806 - INFO - OPENED SHORT at 2094.08 | Stop loss: 2104.5646821428572 | Take profit: 2062.647376785714 +2025-03-10 13:22:15,834 - INFO - CLOSED short at 2088.35 | PnL: 0.27% | $0.31 +2025-03-10 13:22:15,834 - INFO - OPENED LONG at 2088.35 | Stop loss: 2077.893967857143 | Take profit: 2119.6966732142855 +2025-03-10 13:22:16,259 - INFO - CLOSED long at 2084.72 | PnL: -0.17% | $-0.49 +2025-03-10 13:22:16,259 - INFO - OPENED SHORT at 2084.72 | Stop loss: 2095.1578821428566 | Take profit: 2053.427776785714 +2025-03-10 13:22:16,283 - INFO - CLOSED short at 2085.83 | PnL: -0.05% | $-0.27 +2025-03-10 13:22:16,283 - INFO - OPENED LONG at 2085.83 | Stop loss: 2075.386567857143 | Take profit: 2117.138873214286 +2025-03-10 13:22:16,745 - INFO - CLOSED long at 2097.11 | PnL: 0.54% | $0.78 +2025-03-10 13:22:16,772 - INFO - OPENED LONG at 2098.49 | Stop loss: 2087.9832678571424 | Take profit: 2129.9887732142856 +2025-03-10 13:22:16,838 - INFO - CLOSED long at 2099.73 | PnL: 0.06% | $-0.07 +2025-03-10 13:22:16,838 - INFO - OPENED SHORT at 2099.73 | Stop loss: 2110.2429321428567 | Take profit: 2068.2126267857143 +2025-03-10 13:22:16,864 - INFO - CLOSED short at 2106.15 | PnL: -0.31% | $-0.72 +2025-03-10 13:22:16,864 - INFO - OPENED LONG at 2106.15 | Stop loss: 2095.604967857143 | Take profit: 2137.763673214286 +2025-03-10 13:22:17,079 - INFO - CLOSED long at 2104.4 | PnL: -0.08% | $-0.32 +2025-03-10 13:22:17,105 - INFO - OPENED LONG at 2105.21 | Stop loss: 2094.669667857143 | Take profit: 2136.8095732142856 +2025-03-10 13:22:17,295 - INFO - CLOSED long at 2108.0 | PnL: 0.13% | $0.06 +2025-03-10 13:22:17,316 - INFO - OPENED LONG at 2112.28 | Stop loss: 2101.704317857143 | Take profit: 2143.985623214286 +2025-03-10 13:22:17,344 - INFO - Trade Analysis: Win Rate=19.0% in uptrends, 0.0% in downtrends | Avg Win=$0.38, Avg Loss=$-0.41 +2025-03-10 13:22:17,345 - INFO - Episode 0: Reward=-85.99, Balance=$88.37, Win Rate=27.9%, Trades=61, Episode PnL=$-7.55, Total PnL=$-11.63, Max Drawdown=11.7%, Pred Accuracy=97.1% +2025-03-10 13:22:17,495 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 13:22:17,495 - INFO - New best PnL model saved: $-7.55 +2025-03-10 13:22:17,644 - INFO - Model saved to checkpoints/trading_agent_episode_0.pt +2025-03-10 13:22:17,646 - INFO - Checkpoint saved at episode 0 +2025-03-10 13:22:17,794 - ERROR - Error creating visualization: No module named 'mplfinance' +2025-03-10 13:22:17,803 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2402, in visualize_training_results + from mplfinance.original_flavor import candlestick_ohlc +ModuleNotFoundError: No module named 'mplfinance' + +2025-03-10 13:22:18,012 - INFO - OPENED LONG at 2051.11 | Stop loss: 2040.840167857143 | Take profit: 2081.898073214286 +2025-03-10 13:22:18,225 - INFO - CLOSED long at 2059.7 | PnL: 0.42% | $0.63 +2025-03-10 13:22:18,235 - INFO - OPENED SHORT at 2059.7 | Stop loss: 2070.012782142857 | Take profit: 2028.7830767857142 +2025-03-10 13:22:18,259 - INFO - CLOSED short at 2061.49 | PnL: -0.09% | $-0.37 +2025-03-10 13:22:18,259 - INFO - OPENED LONG at 2061.49 | Stop loss: 2051.168267857143 | Take profit: 2092.4337732142853 +2025-03-10 13:22:18,354 - INFO - CLOSED long at 2061.61 | PnL: 0.01% | $-0.19 +2025-03-10 13:22:18,354 - INFO - OPENED SHORT at 2061.61 | Stop loss: 2071.932332142857 | Take profit: 2030.6644267857146 +2025-03-10 13:22:18,382 - INFO - CLOSED short at 2064.69 | PnL: -0.15% | $-0.50 +2025-03-10 13:22:18,383 - INFO - OPENED LONG at 2064.69 | Stop loss: 2054.352267857143 | Take profit: 2095.681773214286 +2025-03-10 13:22:18,721 - INFO - CLOSED long at 2061.79 | PnL: -0.14% | $-0.48 +2025-03-10 13:22:18,722 - INFO - OPENED SHORT at 2061.79 | Stop loss: 2072.113232142857 | Take profit: 2030.8417267857142 +2025-03-10 13:22:18,744 - INFO - CLOSED short at 2061.18 | PnL: 0.03% | $-0.14 +2025-03-10 13:22:18,744 - INFO - OPENED LONG at 2061.18 | Stop loss: 2050.859817857143 | Take profit: 2092.1191232142855 +2025-03-10 13:22:18,967 - INFO - CLOSED long at 2069.6 | PnL: 0.41% | $0.61 +2025-03-10 13:22:18,967 - INFO - OPENED SHORT at 2069.6 | Stop loss: 2079.962282142857 | Take profit: 2038.534576785714 +2025-03-10 13:22:19,017 - INFO - CLOSED short at 2068.99 | PnL: 0.03% | $-0.14 +2025-03-10 13:22:19,017 - INFO - OPENED LONG at 2068.99 | Stop loss: 2058.630767857143 | Take profit: 2100.0462732142855 +2025-03-10 13:22:19,044 - INFO - CLOSED long at 2067.9 | PnL: -0.05% | $-0.30 +2025-03-10 13:22:19,044 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.2537821428573 | Take profit: 2036.8600767857145 +2025-03-10 13:22:19,072 - INFO - CLOSED short at 2067.69 | PnL: 0.01% | $-0.18 +2025-03-10 13:22:19,072 - INFO - OPENED LONG at 2067.69 | Stop loss: 2057.337267857143 | Take profit: 2098.726773214286 +2025-03-10 13:22:19,098 - INFO - CLOSED long at 2070.26 | PnL: 0.12% | $0.05 +2025-03-10 13:22:19,098 - INFO - OPENED SHORT at 2070.26 | Stop loss: 2080.625582142857 | Take profit: 2039.1846767857144 +2025-03-10 13:22:19,129 - INFO - CLOSED short at 2071.44 | PnL: -0.06% | $-0.31 +2025-03-10 13:22:19,129 - INFO - OPENED LONG at 2071.44 | Stop loss: 2061.068517857143 | Take profit: 2102.533023214286 +2025-03-10 13:22:19,383 - INFO - CLOSED long at 2071.38 | PnL: -0.00% | $-0.20 +2025-03-10 13:22:19,383 - INFO - OPENED SHORT at 2071.38 | Stop loss: 2081.7511821428575 | Take profit: 2040.2878767857144 +2025-03-10 13:22:19,432 - INFO - CLOSED short at 2071.41 | PnL: -0.00% | $-0.20 +2025-03-10 13:22:19,432 - INFO - OPENED LONG at 2071.41 | Stop loss: 2061.0386678571426 | Take profit: 2102.502573214286 +2025-03-10 13:22:19,944 - INFO - CLOSED long at 2065.08 | PnL: -0.31% | $-0.79 +2025-03-10 13:22:19,944 - INFO - OPENED SHORT at 2065.08 | Stop loss: 2075.4196821428573 | Take profit: 2034.0823767857144 +2025-03-10 13:22:19,966 - INFO - CLOSED short at 2066.18 | PnL: -0.05% | $-0.30 +2025-03-10 13:22:19,966 - INFO - OPENED LONG at 2066.18 | Stop loss: 2055.8348178571428 | Take profit: 2097.194123214286 +2025-03-10 13:22:20,407 - INFO - CLOSED long at 2073.9 | PnL: 0.37% | $0.53 +2025-03-10 13:22:20,431 - INFO - OPENED LONG at 2071.92 | Stop loss: 2061.5461178571427 | Take profit: 2103.0202232142856 +2025-03-10 13:22:20,668 - INFO - CLOSED long at 2067.79 | PnL: -0.20% | $-0.58 +2025-03-10 13:22:20,695 - INFO - OPENED LONG at 2067.46 | Stop loss: 2057.1084178571427 | Take profit: 2098.4933232142857 +2025-03-10 13:22:20,810 - INFO - CLOSED long at 2067.89 | PnL: 0.02% | $-0.15 +2025-03-10 13:22:20,811 - INFO - OPENED SHORT at 2067.89 | Stop loss: 2078.243732142857 | Take profit: 2036.8502267857143 +2025-03-10 13:22:20,844 - INFO - CLOSED short at 2068.58 | PnL: -0.03% | $-0.26 +2025-03-10 13:22:20,844 - INFO - OPENED LONG at 2068.58 | Stop loss: 2058.2228178571427 | Take profit: 2099.6301232142855 +2025-03-10 13:22:21,059 - INFO - CLOSED long at 2070.3 | PnL: 0.08% | $-0.03 +2025-03-10 13:22:21,083 - INFO - OPENED LONG at 2071.59 | Stop loss: 2061.217767857143 | Take profit: 2102.6852732142856 +2025-03-10 13:22:21,379 - INFO - CLOSED long at 2066.39 | PnL: -0.25% | $-0.67 +2025-03-10 13:22:21,420 - INFO - OPENED LONG at 2064.47 | Stop loss: 2054.1333678571427 | Take profit: 2095.4584732142857 +2025-03-10 13:22:21,616 - INFO - CLOSED long at 2065.26 | PnL: 0.04% | $-0.12 +2025-03-10 13:22:21,616 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.6005821428575 | Take profit: 2034.2596767857144 +2025-03-10 13:22:21,643 - INFO - CLOSED short at 2062.89 | PnL: 0.11% | $0.03 +2025-03-10 13:22:21,643 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.561267857143 | Take profit: 2093.8547732142856 +2025-03-10 13:22:22,274 - INFO - CLOSED long at 2061.8 | PnL: -0.05% | $-0.29 +2025-03-10 13:22:22,274 - INFO - OPENED SHORT at 2061.8 | Stop loss: 2072.123282142857 | Take profit: 2030.8515767857143 +2025-03-10 13:22:22,298 - INFO - CLOSED short at 2064.7 | PnL: -0.14% | $-0.46 +2025-03-10 13:22:22,298 - INFO - OPENED LONG at 2064.7 | Stop loss: 2054.3622178571427 | Take profit: 2095.6919232142855 +2025-03-10 13:22:22,583 - INFO - CLOSED long at 2063.0 | PnL: -0.08% | $-0.34 +2025-03-10 13:22:22,611 - INFO - OPENED LONG at 2062.6 | Stop loss: 2052.2727178571427 | Take profit: 2093.5604232142855 +2025-03-10 13:22:22,951 - INFO - CLOSED long at 2054.83 | PnL: -0.38% | $-0.90 +2025-03-10 13:22:22,952 - INFO - OPENED SHORT at 2054.83 | Stop loss: 2065.118432142857 | Take profit: 2023.9861267857143 +2025-03-10 13:22:22,973 - INFO - CLOSED short at 2056.71 | PnL: -0.09% | $-0.36 +2025-03-10 13:22:22,973 - INFO - OPENED LONG at 2056.71 | Stop loss: 2046.412167857143 | Take profit: 2087.5820732142856 +2025-03-10 13:22:22,997 - INFO - CLOSED long at 2058.15 | PnL: 0.07% | $-0.06 +2025-03-10 13:22:23,021 - INFO - OPENED LONG at 2059.8 | Stop loss: 2049.486717857143 | Take profit: 2090.718423214286 +2025-03-10 13:22:23,168 - INFO - CLOSED long at 2066.36 | PnL: 0.32% | $0.41 +2025-03-10 13:22:23,168 - INFO - OPENED SHORT at 2066.36 | Stop loss: 2076.706082142857 | Take profit: 2035.3431767857144 +2025-03-10 13:22:23,196 - INFO - CLOSED short at 2066.01 | PnL: 0.02% | $-0.15 +2025-03-10 13:22:23,196 - INFO - OPENED LONG at 2066.01 | Stop loss: 2055.665667857143 | Take profit: 2097.021573214286 +2025-03-10 13:22:23,688 - INFO - CLOSED long at 2067.44 | PnL: 0.07% | $-0.06 +2025-03-10 13:22:23,718 - INFO - OPENED LONG at 2068.79 | Stop loss: 2058.431767857143 | Take profit: 2099.843273214286 +2025-03-10 13:22:23,758 - INFO - CLOSED long at 2071.49 | PnL: 0.13% | $0.06 +2025-03-10 13:22:23,759 - INFO - OPENED SHORT at 2071.49 | Stop loss: 2081.861732142857 | Take profit: 2040.3962267857141 +2025-03-10 13:22:23,775 - INFO - CLOSED short at 2069.87 | PnL: 0.08% | $-0.04 +2025-03-10 13:22:23,775 - INFO - OPENED LONG at 2069.87 | Stop loss: 2059.506367857143 | Take profit: 2100.9394732142855 +2025-03-10 13:22:24,017 - INFO - CLOSED long at 2067.53 | PnL: -0.11% | $-0.40 +2025-03-10 13:22:24,036 - INFO - OPENED LONG at 2065.29 | Stop loss: 2054.949267857143 | Take profit: 2096.2907732142858 +2025-03-10 13:22:24,349 - INFO - CLOSED long at 2070.61 | PnL: 0.26% | $0.29 +2025-03-10 13:22:24,349 - INFO - OPENED SHORT at 2070.61 | Stop loss: 2080.9773321428574 | Take profit: 2039.5294267857146 +2025-03-10 13:22:24,374 - INFO - CLOSED short at 2071.99 | PnL: -0.07% | $-0.31 +2025-03-10 13:22:24,375 - INFO - OPENED LONG at 2071.99 | Stop loss: 2061.6157678571426 | Take profit: 2103.0912732142856 +2025-03-10 13:22:24,482 - INFO - CLOSED long at 2071.61 | PnL: -0.02% | $-0.22 +2025-03-10 13:22:24,482 - INFO - OPENED SHORT at 2071.61 | Stop loss: 2081.9823321428576 | Take profit: 2040.5144267857145 +2025-03-10 13:22:24,507 - INFO - CLOSED short at 2074.37 | PnL: -0.13% | $-0.43 +2025-03-10 13:22:24,508 - INFO - OPENED LONG at 2074.37 | Stop loss: 2063.9838678571427 | Take profit: 2105.5069732142856 +2025-03-10 13:22:24,777 - INFO - CLOSED long at 2067.0 | PnL: -0.36% | $-0.84 +2025-03-10 13:22:24,777 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.349282142857 | Take profit: 2035.9735767857142 +2025-03-10 13:22:24,802 - INFO - CLOSED short at 2067.9 | PnL: -0.04% | $-0.26 +2025-03-10 13:22:24,802 - INFO - OPENED LONG at 2067.9 | Stop loss: 2057.546217857143 | Take profit: 2098.939923214286 +2025-03-10 13:22:24,843 - INFO - CLOSED long at 2066.89 | PnL: -0.05% | $-0.27 +2025-03-10 13:22:24,843 - INFO - OPENED SHORT at 2066.89 | Stop loss: 2077.238732142857 | Take profit: 2035.8652267857142 +2025-03-10 13:22:24,867 - INFO - CLOSED short at 2067.88 | PnL: -0.05% | $-0.27 +2025-03-10 13:22:24,867 - INFO - OPENED LONG at 2067.88 | Stop loss: 2057.526317857143 | Take profit: 2098.919623214286 +2025-03-10 13:22:25,315 - INFO - CLOSED long at 2065.06 | PnL: -0.14% | $-0.43 +2025-03-10 13:22:25,315 - INFO - OPENED SHORT at 2065.06 | Stop loss: 2075.399582142857 | Take profit: 2034.062676785714 +2025-03-10 13:22:25,454 - INFO - CLOSED short at 2066.33 | PnL: -0.06% | $-0.29 +2025-03-10 13:22:25,455 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.9840678571427 | Take profit: 2097.3463732142854 +2025-03-10 13:22:25,542 - INFO - CLOSED long at 2059.2 | PnL: -0.35% | $-0.80 +2025-03-10 13:22:25,543 - INFO - OPENED SHORT at 2059.2 | Stop loss: 2069.5102821428572 | Take profit: 2028.290576785714 +2025-03-10 13:22:25,605 - INFO - CLOSED short at 2056.77 | PnL: 0.12% | $0.03 +2025-03-10 13:22:25,664 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.949667857143 | Take profit: 2079.969573214286 +2025-03-10 13:22:25,701 - INFO - CLOSED long at 2049.5 | PnL: 0.01% | $-0.15 +2025-03-10 13:22:25,701 - INFO - OPENED SHORT at 2049.5 | Stop loss: 2059.761782142857 | Take profit: 2018.7360767857142 +2025-03-10 13:22:25,754 - INFO - CLOSED short at 2051.99 | PnL: -0.12% | $-0.39 +2025-03-10 13:22:25,754 - INFO - OPENED LONG at 2051.99 | Stop loss: 2041.7157678571427 | Take profit: 2082.791273214286 +2025-03-10 13:22:25,936 - INFO - CLOSED long at 2063.9 | PnL: 0.58% | $0.85 +2025-03-10 13:22:25,937 - INFO - OPENED SHORT at 2063.9 | Stop loss: 2074.233782142857 | Take profit: 2032.9200767857144 +2025-03-10 13:22:25,962 - INFO - CLOSED short at 2065.1 | PnL: -0.06% | $-0.28 +2025-03-10 13:22:25,963 - INFO - OPENED LONG at 2065.1 | Stop loss: 2054.760217857143 | Take profit: 2096.0979232142854 +2025-03-10 13:22:25,983 - INFO - CLOSED long at 2062.43 | PnL: -0.13% | $-0.41 +2025-03-10 13:22:25,983 - INFO - OPENED SHORT at 2062.43 | Stop loss: 2072.7564321428567 | Take profit: 2031.472126785714 +2025-03-10 13:22:26,026 - INFO - CLOSED short at 2065.12 | PnL: -0.13% | $-0.41 +2025-03-10 13:22:26,026 - INFO - OPENED LONG at 2065.12 | Stop loss: 2054.780117857143 | Take profit: 2096.1182232142855 +2025-03-10 13:22:26,047 - INFO - CLOSED long at 2068.33 | PnL: 0.16% | $0.10 +2025-03-10 13:22:26,047 - INFO - OPENED SHORT at 2068.33 | Stop loss: 2078.685932142857 | Take profit: 2037.2836267857142 +2025-03-10 13:22:26,098 - INFO - CLOSED short at 2067.49 | PnL: 0.04% | $-0.10 +2025-03-10 13:22:26,099 - INFO - OPENED LONG at 2067.49 | Stop loss: 2057.1382678571426 | Take profit: 2098.5237732142855 +2025-03-10 13:22:26,240 - INFO - CLOSED long at 2059.9 | PnL: -0.37% | $-0.82 +2025-03-10 13:22:26,273 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3822178571427 | Take profit: 2091.6319232142855 +2025-03-10 13:22:26,758 - INFO - TAKE PROFIT hit for long at 2091.6319232142855 | PnL: 1.50% | $2.45 +2025-03-10 13:22:26,816 - INFO - OPENED LONG at 2131.78 | Stop loss: 2121.106817857143 | Take profit: 2163.7781232142856 +2025-03-10 13:22:27,097 - INFO - CLOSED long at 2126.99 | PnL: -0.22% | $-0.58 +2025-03-10 13:22:27,140 - INFO - OPENED LONG at 2128.69 | Stop loss: 2118.032267857143 | Take profit: 2160.6417732142854 +2025-03-10 13:22:27,208 - INFO - STOP LOSS hit for long at 2118.032267857143 | PnL: -0.50% | $-1.07 +2025-03-10 13:22:27,230 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.3160678571426 | Take profit: 2151.750373214286 +2025-03-10 13:22:27,435 - INFO - STOP LOSS hit for long at 2109.3160678571426 | PnL: -0.50% | $-1.06 +2025-03-10 13:22:27,463 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032717857143 | Take profit: 2142.2804232142853 +2025-03-10 13:22:27,528 - INFO - CLOSED long at 2112.95 | PnL: 0.11% | $0.02 +2025-03-10 13:22:27,552 - INFO - OPENED LONG at 2112.46 | Stop loss: 2101.883417857143 | Take profit: 2144.168323214286 +2025-03-10 13:22:27,673 - INFO - CLOSED long at 2114.8 | PnL: 0.11% | $0.02 +2025-03-10 13:22:27,673 - INFO - OPENED SHORT at 2114.8 | Stop loss: 2125.3882821428574 | Take profit: 2083.0565767857142 +2025-03-10 13:22:27,707 - INFO - CLOSED short at 2110.9 | PnL: 0.18% | $0.15 +2025-03-10 13:22:27,753 - INFO - OPENED LONG at 2108.71 | Stop loss: 2098.152167857143 | Take profit: 2140.362073214286 +2025-03-10 13:22:27,896 - INFO - STOP LOSS hit for long at 2098.152167857143 | PnL: -0.50% | $-1.05 +2025-03-10 13:22:27,921 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0180678571433 | Take profit: 2131.044373214286 +2025-03-10 13:22:28,183 - INFO - CLOSED long at 2103.86 | PnL: 0.21% | $0.18 +2025-03-10 13:22:28,214 - INFO - OPENED LONG at 2104.68 | Stop loss: 2094.1423178571426 | Take profit: 2136.2716232142857 +2025-03-10 13:22:28,353 - INFO - STOP LOSS hit for long at 2094.1423178571426 | PnL: -0.50% | $-1.04 +2025-03-10 13:22:28,382 - INFO - OPENED LONG at 2093.33 | Stop loss: 2082.849067857143 | Take profit: 2124.7513732142856 +2025-03-10 13:22:28,656 - INFO - STOP LOSS hit for long at 2082.849067857143 | PnL: -0.50% | $-1.03 +2025-03-10 13:22:28,685 - INFO - OPENED LONG at 2081.49 | Stop loss: 2071.068267857143 | Take profit: 2112.7337732142855 +2025-03-10 13:22:28,740 - INFO - CLOSED long at 2083.41 | PnL: 0.09% | $-0.01 +2025-03-10 13:22:28,740 - INFO - OPENED SHORT at 2083.41 | Stop loss: 2093.841332142857 | Take profit: 2052.137426785714 +2025-03-10 13:22:28,766 - INFO - CLOSED short at 2085.09 | PnL: -0.08% | $-0.30 +2025-03-10 13:22:28,766 - INFO - OPENED LONG at 2085.09 | Stop loss: 2074.650267857143 | Take profit: 2116.387773214286 +2025-03-10 13:22:28,809 - INFO - CLOSED long at 2086.57 | PnL: 0.07% | $-0.05 +2025-03-10 13:22:28,810 - INFO - OPENED SHORT at 2086.57 | Stop loss: 2097.017132142857 | Take profit: 2055.2500267857145 +2025-03-10 13:22:28,823 - INFO - CLOSED short at 2085.8 | PnL: 0.04% | $-0.11 +2025-03-10 13:22:28,823 - INFO - OPENED LONG at 2085.8 | Stop loss: 2075.356717857143 | Take profit: 2117.1084232142857 +2025-03-10 13:22:29,120 - INFO - CLOSED long at 2087.78 | PnL: 0.09% | $-0.01 +2025-03-10 13:22:29,120 - INFO - OPENED SHORT at 2087.78 | Stop loss: 2098.2331821428575 | Take profit: 2056.4418767857146 +2025-03-10 13:22:29,144 - INFO - CLOSED short at 2086.81 | PnL: 0.05% | $-0.09 +2025-03-10 13:22:29,144 - INFO - OPENED LONG at 2086.81 | Stop loss: 2076.361667857143 | Take profit: 2118.1335732142857 +2025-03-10 13:22:29,344 - INFO - CLOSED long at 2097.8 | PnL: 0.53% | $0.71 +2025-03-10 13:22:29,382 - INFO - OPENED LONG at 2099.99 | Stop loss: 2089.4757678571427 | Take profit: 2131.5112732142857 +2025-03-10 13:22:29,620 - INFO - CLOSED long at 2103.81 | PnL: 0.18% | $0.14 +2025-03-10 13:22:29,643 - INFO - OPENED LONG at 2103.07 | Stop loss: 2092.540367857143 | Take profit: 2134.637473214286 +2025-03-10 13:22:29,711 - INFO - CLOSED long at 2105.83 | PnL: 0.13% | $0.05 +2025-03-10 13:22:29,749 - INFO - OPENED LONG at 2103.64 | Stop loss: 2093.1075178571427 | Take profit: 2135.2160232142855 +2025-03-10 13:22:29,892 - INFO - CLOSED long at 2103.9 | PnL: 0.01% | $-0.15 +2025-03-10 13:22:29,892 - INFO - OPENED SHORT at 2103.9 | Stop loss: 2114.4337821428576 | Take profit: 2072.3200767857143 +2025-03-10 13:22:29,917 - INFO - CLOSED short at 2100.0 | PnL: 0.19% | $0.14 +2025-03-10 13:22:29,918 - INFO - OPENED LONG at 2100.0 | Stop loss: 2089.485717857143 | Take profit: 2131.5214232142857 +2025-03-10 13:22:30,182 - INFO - Trade Analysis: Win Rate=9.1% in uptrends, 0.0% in downtrends | Avg Win=$0.37, Avg Loss=$-0.38 +2025-03-10 13:22:30,182 - INFO - Episode 1: Reward=-70.52, Balance=$85.25, Win Rate=25.3%, Trades=79, Episode PnL=$-11.00, Total PnL=$-26.37, Max Drawdown=15.1%, Pred Accuracy=97.1% +2025-03-10 13:22:30,432 - INFO - OPENED LONG at 2049.89 | Stop loss: 2039.6262678571427 | Take profit: 2080.659773214286 +2025-03-10 13:22:30,654 - INFO - CLOSED long at 2059.7 | PnL: 0.48% | $0.75 +2025-03-10 13:22:30,699 - INFO - OPENED LONG at 2061.49 | Stop loss: 2051.168267857143 | Take profit: 2092.4337732142853 +2025-03-10 13:22:31,094 - INFO - CLOSED long at 2057.94 | PnL: -0.17% | $-0.54 +2025-03-10 13:22:31,134 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.805167857143 | Take profit: 2089.003073214286 +2025-03-10 13:22:32,188 - INFO - CLOSED long at 2067.6 | PnL: 0.46% | $0.72 +2025-03-10 13:22:32,211 - INFO - OPENED LONG at 2067.51 | Stop loss: 2057.1581678571433 | Take profit: 2098.544073214286 +2025-03-10 13:22:32,821 - INFO - CLOSED long at 2073.11 | PnL: 0.27% | $0.34 +2025-03-10 13:22:32,855 - INFO - OPENED LONG at 2072.7 | Stop loss: 2062.3222178571427 | Take profit: 2103.8119232142853 +2025-03-10 13:22:32,873 - INFO - CLOSED long at 2072.15 | PnL: -0.03% | $-0.25 +2025-03-10 13:22:32,873 - INFO - OPENED SHORT at 2072.15 | Stop loss: 2082.5250321428575 | Take profit: 2041.0463267857142 +2025-03-10 13:22:32,900 - INFO - CLOSED short at 2074.29 | PnL: -0.10% | $-0.41 +2025-03-10 13:22:32,901 - INFO - OPENED LONG at 2074.29 | Stop loss: 2063.9042678571427 | Take profit: 2105.425773214286 +2025-03-10 13:22:33,036 - INFO - CLOSED long at 2069.35 | PnL: -0.24% | $-0.68 +2025-03-10 13:22:33,036 - INFO - OPENED SHORT at 2069.35 | Stop loss: 2079.7110321428568 | Take profit: 2038.2883267857142 +2025-03-10 13:22:33,070 - INFO - CLOSED short at 2068.32 | PnL: 0.05% | $-0.10 +2025-03-10 13:22:33,070 - INFO - OPENED LONG at 2068.32 | Stop loss: 2057.9641178571433 | Take profit: 2099.3662232142856 +2025-03-10 13:22:33,110 - INFO - CLOSED long at 2067.0 | PnL: -0.06% | $-0.32 +2025-03-10 13:22:33,179 - INFO - OPENED LONG at 2067.46 | Stop loss: 2057.1084178571427 | Take profit: 2098.4933232142857 +2025-03-10 13:22:33,785 - INFO - CLOSED long at 2066.1 | PnL: -0.07% | $-0.33 +2025-03-10 13:22:33,811 - INFO - OPENED LONG at 2065.28 | Stop loss: 2054.939317857143 | Take profit: 2096.2806232142857 +2025-03-10 13:22:33,888 - INFO - CLOSED long at 2070.04 | PnL: 0.23% | $0.26 +2025-03-10 13:22:33,933 - INFO - OPENED LONG at 2067.8 | Stop loss: 2057.446717857143 | Take profit: 2098.8384232142857 +2025-03-10 13:22:34,283 - INFO - CLOSED long at 2064.96 | PnL: -0.14% | $-0.47 +2025-03-10 13:22:34,363 - INFO - OPENED LONG at 2067.1 | Stop loss: 2056.7502178571426 | Take profit: 2098.1279232142856 +2025-03-10 13:22:34,487 - INFO - CLOSED long at 2064.08 | PnL: -0.15% | $-0.48 +2025-03-10 13:22:34,513 - INFO - OPENED LONG at 2062.71 | Stop loss: 2052.382167857143 | Take profit: 2093.672073214286 +2025-03-10 13:22:35,225 - INFO - CLOSED long at 2061.89 | PnL: -0.04% | $-0.27 +2025-03-10 13:22:35,225 - INFO - OPENED SHORT at 2061.89 | Stop loss: 2072.213732142857 | Take profit: 2030.9402267857142 +2025-03-10 13:22:35,250 - INFO - CLOSED short at 2061.7 | PnL: 0.01% | $-0.18 +2025-03-10 13:22:35,251 - INFO - OPENED LONG at 2061.7 | Stop loss: 2051.3772178571426 | Take profit: 2092.6469232142854 +2025-03-10 13:22:35,297 - INFO - CLOSED long at 2061.09 | PnL: -0.03% | $-0.25 +2025-03-10 13:22:35,323 - INFO - OPENED LONG at 2059.61 | Stop loss: 2049.297667857143 | Take profit: 2090.5255732142855 +2025-03-10 13:22:35,364 - INFO - CLOSED long at 2059.02 | PnL: -0.03% | $-0.25 +2025-03-10 13:22:35,387 - INFO - OPENED LONG at 2058.89 | Stop loss: 2048.581267857143 | Take profit: 2089.7947732142857 +2025-03-10 13:22:35,533 - INFO - CLOSED long at 2056.28 | PnL: -0.13% | $-0.44 +2025-03-10 13:22:35,533 - INFO - OPENED SHORT at 2056.28 | Stop loss: 2066.575682142857 | Take profit: 2025.4143767857145 +2025-03-10 13:22:35,577 - INFO - CLOSED short at 2055.6 | PnL: 0.03% | $-0.13 +2025-03-10 13:22:35,577 - INFO - OPENED LONG at 2055.6 | Stop loss: 2045.3077178571427 | Take profit: 2086.4554232142855 +2025-03-10 13:22:35,722 - INFO - CLOSED long at 2059.8 | PnL: 0.20% | $0.20 +2025-03-10 13:22:35,722 - INFO - OPENED SHORT at 2059.8 | Stop loss: 2070.1132821428573 | Take profit: 2028.8815767857145 +2025-03-10 13:22:35,739 - INFO - CLOSED short at 2061.66 | PnL: -0.09% | $-0.37 +2025-03-10 13:22:35,766 - INFO - OPENED LONG at 2061.5 | Stop loss: 2051.178217857143 | Take profit: 2092.4439232142854 +2025-03-10 13:22:36,271 - INFO - CLOSED long at 2074.3 | PnL: 0.62% | $1.00 +2025-03-10 13:22:36,327 - INFO - OPENED LONG at 2078.01 | Stop loss: 2067.605667857143 | Take profit: 2109.201573214286 +2025-03-10 13:22:36,419 - INFO - CLOSED long at 2072.6 | PnL: -0.26% | $-0.70 +2025-03-10 13:22:36,419 - INFO - OPENED SHORT at 2072.6 | Stop loss: 2082.9772821428573 | Take profit: 2041.4895767857142 +2025-03-10 13:22:36,454 - INFO - CLOSED short at 2071.04 | PnL: 0.08% | $-0.05 +2025-03-10 13:22:36,455 - INFO - OPENED LONG at 2071.04 | Stop loss: 2060.670517857143 | Take profit: 2102.127023214286 +2025-03-10 13:22:36,474 - INFO - CLOSED long at 2070.01 | PnL: -0.05% | $-0.29 +2025-03-10 13:22:36,474 - INFO - OPENED SHORT at 2070.01 | Stop loss: 2080.3743321428574 | Take profit: 2038.9384267857145 +2025-03-10 13:22:36,519 - INFO - CLOSED short at 2073.23 | PnL: -0.16% | $-0.49 +2025-03-10 13:22:36,520 - INFO - OPENED LONG at 2073.23 | Stop loss: 2062.849567857143 | Take profit: 2104.3498732142857 +2025-03-10 13:22:36,874 - INFO - CLOSED long at 2065.7 | PnL: -0.36% | $-0.89 +2025-03-10 13:22:36,902 - INFO - OPENED LONG at 2065.66 | Stop loss: 2055.3174178571426 | Take profit: 2096.6663232142855 +2025-03-10 13:22:37,416 - INFO - CLOSED long at 2070.8 | PnL: 0.25% | $0.28 +2025-03-10 13:22:37,439 - INFO - OPENED LONG at 2070.35 | Stop loss: 2059.983967857143 | Take profit: 2101.4266732142855 +2025-03-10 13:22:37,991 - INFO - CLOSED long at 2074.0 | PnL: 0.18% | $0.14 +2025-03-10 13:22:37,991 - INFO - OPENED SHORT at 2074.0 | Stop loss: 2084.384282142857 | Take profit: 2042.8685767857144 +2025-03-10 13:22:38,044 - INFO - CLOSED short at 2072.09 | PnL: 0.09% | $-0.02 +2025-03-10 13:22:38,044 - INFO - OPENED LONG at 2072.09 | Stop loss: 2061.715267857143 | Take profit: 2103.1927732142863 +2025-03-10 13:22:38,477 - INFO - CLOSED long at 2065.8 | PnL: -0.30% | $-0.77 +2025-03-10 13:22:38,477 - INFO - OPENED SHORT at 2065.8 | Stop loss: 2076.1432821428575 | Take profit: 2034.7915767857146 +2025-03-10 13:22:38,501 - INFO - CLOSED short at 2065.07 | PnL: 0.04% | $-0.12 +2025-03-10 13:22:38,501 - INFO - OPENED LONG at 2065.07 | Stop loss: 2054.730367857143 | Take profit: 2096.067473214286 +2025-03-10 13:22:38,972 - INFO - STOP LOSS hit for long at 2054.730367857143 | PnL: -0.50% | $-1.13 +2025-03-10 13:22:38,996 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.949667857143 | Take profit: 2079.969573214286 +2025-03-10 13:22:39,516 - INFO - CLOSED long at 2059.9 | PnL: 0.52% | $0.79 +2025-03-10 13:22:39,555 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3822178571427 | Take profit: 2091.6319232142855 +2025-03-10 13:22:39,651 - INFO - CLOSED long at 2065.72 | PnL: 0.24% | $0.27 +2025-03-10 13:22:39,651 - INFO - OPENED SHORT at 2065.72 | Stop loss: 2076.062882142857 | Take profit: 2034.7127767857141 +2025-03-10 13:22:39,679 - INFO - CLOSED short at 2070.31 | PnL: -0.22% | $-0.61 +2025-03-10 13:22:39,679 - INFO - OPENED LONG at 2070.31 | Stop loss: 2059.944167857143 | Take profit: 2101.3860732142857 +2025-03-10 13:22:39,777 - INFO - CLOSED long at 2073.49 | PnL: 0.15% | $0.10 +2025-03-10 13:22:39,797 - INFO - OPENED LONG at 2074.05 | Stop loss: 2063.665467857143 | Take profit: 2105.1821732142857 +2025-03-10 13:22:39,823 - INFO - CLOSED long at 2072.99 | PnL: -0.05% | $-0.28 +2025-03-10 13:22:39,823 - INFO - OPENED SHORT at 2072.99 | Stop loss: 2083.369232142857 | Take profit: 2041.873726785714 +2025-03-10 13:22:39,848 - INFO - CLOSED short at 2071.89 | PnL: 0.05% | $-0.09 +2025-03-10 13:22:39,889 - INFO - OPENED LONG at 2071.8 | Stop loss: 2061.426717857143 | Take profit: 2102.8984232142857 +2025-03-10 13:22:40,089 - INFO - TAKE PROFIT hit for long at 2102.8984232142857 | PnL: 1.50% | $2.61 +2025-03-10 13:22:40,112 - INFO - OPENED LONG at 2130.7 | Stop loss: 2120.0322178571428 | Take profit: 2162.6819232142857 +2025-03-10 13:22:40,156 - INFO - CLOSED long at 2131.78 | PnL: 0.05% | $-0.09 +2025-03-10 13:22:40,156 - INFO - OPENED SHORT at 2131.78 | Stop loss: 2142.4531821428573 | Take profit: 2099.7818767857143 +2025-03-10 13:22:40,184 - INFO - CLOSED short at 2133.95 | PnL: -0.10% | $-0.39 +2025-03-10 13:22:40,184 - INFO - OPENED LONG at 2133.95 | Stop loss: 2123.2659678571426 | Take profit: 2165.9806732142856 +2025-03-10 13:22:40,497 - INFO - STOP LOSS hit for long at 2123.2659678571426 | PnL: -0.50% | $-1.15 +2025-03-10 13:22:40,523 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.534967857143 | Take profit: 2151.9736732142856 +2025-03-10 13:22:40,741 - INFO - STOP LOSS hit for long at 2109.534967857143 | PnL: -0.50% | $-1.13 +2025-03-10 13:22:40,782 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032717857143 | Take profit: 2142.2804232142853 +2025-03-10 13:22:41,172 - INFO - CLOSED long at 2103.33 | PnL: -0.34% | $-0.83 +2025-03-10 13:22:41,208 - INFO - OPENED LONG at 2100.5 | Stop loss: 2089.983217857143 | Take profit: 2132.028923214286 +2025-03-10 13:22:41,351 - INFO - CLOSED long at 2099.25 | PnL: -0.06% | $-0.29 +2025-03-10 13:22:41,376 - INFO - OPENED LONG at 2098.9 | Stop loss: 2088.3912178571427 | Take profit: 2130.4049232142856 +2025-03-10 13:22:41,649 - INFO - CLOSED long at 2100.02 | PnL: 0.05% | $-0.09 +2025-03-10 13:22:41,672 - INFO - OPENED LONG at 2098.39 | Stop loss: 2087.8837678571426 | Take profit: 2129.887273214286 +2025-03-10 13:22:41,880 - INFO - STOP LOSS hit for long at 2087.8837678571426 | PnL: -0.50% | $-1.10 +2025-03-10 13:22:41,920 - INFO - OPENED LONG at 2088.44 | Stop loss: 2077.983517857143 | Take profit: 2119.7880232142857 +2025-03-10 13:22:42,803 - INFO - CLOSED long at 2101.64 | PnL: 0.63% | $0.97 +2025-03-10 13:22:42,803 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.1624821428572 | Take profit: 2070.0939767857144 +2025-03-10 13:22:42,840 - INFO - CLOSED short at 2097.11 | PnL: 0.22% | $0.21 +2025-03-10 13:22:42,841 - INFO - OPENED LONG at 2097.11 | Stop loss: 2086.610167857143 | Take profit: 2128.588073214286 +2025-03-10 13:22:42,881 - INFO - CLOSED long at 2099.89 | PnL: 0.13% | $0.06 +2025-03-10 13:22:42,926 - INFO - OPENED LONG at 2099.73 | Stop loss: 2089.217067857143 | Take profit: 2131.2473732142857 +2025-03-10 13:22:42,993 - INFO - CLOSED long at 2104.93 | PnL: 0.25% | $0.27 +2025-03-10 13:22:42,994 - INFO - OPENED SHORT at 2104.93 | Stop loss: 2115.468932142857 | Take profit: 2073.334626785714 +2025-03-10 13:22:43,021 - INFO - CLOSED short at 2103.81 | PnL: 0.05% | $-0.09 +2025-03-10 13:22:43,021 - INFO - OPENED LONG at 2103.81 | Stop loss: 2093.276667857143 | Take profit: 2135.3885732142858 +2025-03-10 13:22:43,345 - INFO - CLOSED long at 2100.0 | PnL: -0.18% | $-0.52 +2025-03-10 13:22:43,345 - INFO - OPENED SHORT at 2100.0 | Stop loss: 2110.514282142857 | Take profit: 2068.4785767857143 +2025-03-10 13:22:43,369 - INFO - CLOSED short at 2102.7 | PnL: -0.13% | $-0.42 +2025-03-10 13:22:43,369 - INFO - OPENED LONG at 2102.7 | Stop loss: 2092.1722178571426 | Take profit: 2134.261923214285 +2025-03-10 13:22:43,624 - INFO - Trade Analysis: Win Rate=11.1% in uptrends, 0.0% in downtrends | Avg Win=$0.56, Avg Loss=$-0.44 +2025-03-10 13:22:43,625 - INFO - Episode 2: Reward=-41.83, Balance=$91.98, Win Rate=29.1%, Trades=55, Episode PnL=$-5.58, Total PnL=$-34.40, Max Drawdown=9.7%, Pred Accuracy=97.2% +2025-03-10 13:22:43,776 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 13:22:43,776 - INFO - New best PnL model saved: $-5.58 +2025-03-10 13:22:43,957 - INFO - OPENED LONG at 2049.89 | Stop loss: 2039.6262678571427 | Take profit: 2080.659773214286 +2025-03-10 13:22:44,049 - INFO - CLOSED long at 2052.3 | PnL: 0.12% | $0.03 +2025-03-10 13:22:44,137 - INFO - OPENED LONG at 2058.39 | Stop loss: 2048.0837678571424 | Take profit: 2089.2872732142855 +2025-03-10 13:22:44,494 - INFO - CLOSED long at 2061.89 | PnL: 0.17% | $0.14 +2025-03-10 13:22:44,513 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.561267857143 | Take profit: 2093.8547732142856 +2025-03-10 13:22:44,821 - INFO - CLOSED long at 2065.86 | PnL: 0.14% | $0.09 +2025-03-10 13:22:44,855 - INFO - OPENED LONG at 2070.58 | Stop loss: 2060.212817857143 | Take profit: 2101.6601232142857 +2025-03-10 13:22:44,897 - INFO - CLOSED long at 2068.29 | PnL: -0.11% | $-0.42 +2025-03-10 13:22:44,897 - INFO - OPENED SHORT at 2068.29 | Stop loss: 2078.645732142857 | Take profit: 2037.2442267857143 +2025-03-10 13:22:44,921 - INFO - CLOSED short at 2067.89 | PnL: 0.02% | $-0.16 +2025-03-10 13:22:44,922 - INFO - OPENED LONG at 2067.89 | Stop loss: 2057.536267857143 | Take profit: 2098.9297732142854 +2025-03-10 13:22:45,349 - INFO - CLOSED long at 2069.37 | PnL: 0.07% | $-0.06 +2025-03-10 13:22:45,373 - INFO - OPENED LONG at 2070.9 | Stop loss: 2060.531217857143 | Take profit: 2101.984923214286 +2025-03-10 13:22:46,107 - INFO - CLOSED long at 2069.7 | PnL: -0.06% | $-0.31 +2025-03-10 13:22:46,131 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.033717857143 | Take profit: 2101.477423214286 +2025-03-10 13:22:46,439 - INFO - CLOSED long at 2073.9 | PnL: 0.17% | $0.14 +2025-03-10 13:22:46,439 - INFO - OPENED SHORT at 2073.9 | Stop loss: 2084.2837821428575 | Take profit: 2042.7700767857145 +2025-03-10 13:22:46,465 - INFO - CLOSED short at 2071.92 | PnL: 0.10% | $-0.01 +2025-03-10 13:22:46,465 - INFO - OPENED LONG at 2071.92 | Stop loss: 2061.5461178571427 | Take profit: 2103.0202232142856 +2025-03-10 13:22:46,553 - INFO - CLOSED long at 2069.35 | PnL: -0.12% | $-0.44 +2025-03-10 13:22:46,553 - INFO - OPENED SHORT at 2069.35 | Stop loss: 2079.7110321428568 | Take profit: 2038.2883267857142 +2025-03-10 13:22:46,575 - INFO - CLOSED short at 2068.32 | PnL: 0.05% | $-0.10 +2025-03-10 13:22:46,575 - INFO - OPENED LONG at 2068.32 | Stop loss: 2057.9641178571433 | Take profit: 2099.3662232142856 +2025-03-10 13:22:46,615 - INFO - CLOSED long at 2067.79 | PnL: -0.03% | $-0.25 +2025-03-10 13:22:46,638 - INFO - OPENED LONG at 2067.46 | Stop loss: 2057.1084178571427 | Take profit: 2098.4933232142857 +2025-03-10 13:22:46,852 - INFO - CLOSED long at 2068.8 | PnL: 0.06% | $-0.07 +2025-03-10 13:22:46,852 - INFO - OPENED SHORT at 2068.8 | Stop loss: 2079.1582821428574 | Take profit: 2037.7465767857143 +2025-03-10 13:22:46,879 - INFO - CLOSED short at 2069.34 | PnL: -0.03% | $-0.25 +2025-03-10 13:22:46,880 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.979017857143 | Take profit: 2100.401523214286 +2025-03-10 13:22:47,215 - INFO - CLOSED long at 2067.86 | PnL: -0.07% | $-0.34 +2025-03-10 13:22:47,215 - INFO - OPENED SHORT at 2067.86 | Stop loss: 2078.2135821428574 | Take profit: 2036.8206767857146 +2025-03-10 13:22:47,251 - INFO - CLOSED short at 2066.4 | PnL: 0.07% | $-0.06 +2025-03-10 13:22:47,251 - INFO - OPENED LONG at 2066.4 | Stop loss: 2056.053717857143 | Take profit: 2097.417423214286 +2025-03-10 13:22:48,417 - INFO - CLOSED long at 2061.9 | PnL: -0.22% | $-0.62 +2025-03-10 13:22:48,417 - INFO - OPENED SHORT at 2061.9 | Stop loss: 2072.223782142857 | Take profit: 2030.9500767857144 +2025-03-10 13:22:48,498 - INFO - CLOSED short at 2064.33 | PnL: -0.12% | $-0.42 +2025-03-10 13:22:48,498 - INFO - OPENED LONG at 2064.33 | Stop loss: 2053.994067857143 | Take profit: 2095.3163732142857 +2025-03-10 13:22:48,925 - INFO - CLOSED long at 2058.89 | PnL: -0.26% | $-0.70 +2025-03-10 13:22:48,925 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.198732142857 | Take profit: 2027.985226785714 +2025-03-10 13:22:48,950 - INFO - CLOSED short at 2059.96 | PnL: -0.05% | $-0.29 +2025-03-10 13:22:48,950 - INFO - OPENED LONG at 2059.96 | Stop loss: 2049.6459178571426 | Take profit: 2090.8808232142856 +2025-03-10 13:22:49,030 - INFO - CLOSED long at 2058.28 | PnL: -0.08% | $-0.35 +2025-03-10 13:22:49,030 - INFO - OPENED SHORT at 2058.28 | Stop loss: 2068.5856821428574 | Take profit: 2027.3843767857145 +2025-03-10 13:22:49,073 - INFO - CLOSED short at 2056.28 | PnL: 0.10% | $-0.01 +2025-03-10 13:22:49,073 - INFO - OPENED LONG at 2056.28 | Stop loss: 2045.9843178571432 | Take profit: 2087.145623214286 +2025-03-10 13:22:49,531 - INFO - CLOSED long at 2066.33 | PnL: 0.49% | $0.74 +2025-03-10 13:22:49,576 - INFO - OPENED LONG at 2066.34 | Stop loss: 2055.994017857143 | Take profit: 2097.3565232142855 +2025-03-10 13:22:50,666 - INFO - CLOSED long at 2068.59 | PnL: 0.11% | $0.02 +2025-03-10 13:22:50,666 - INFO - OPENED SHORT at 2068.59 | Stop loss: 2078.9472321428575 | Take profit: 2037.5397267857143 +2025-03-10 13:22:50,713 - INFO - CLOSED short at 2071.59 | PnL: -0.15% | $-0.47 +2025-03-10 13:22:50,713 - INFO - OPENED LONG at 2071.59 | Stop loss: 2061.217767857143 | Take profit: 2102.6852732142856 +2025-03-10 13:22:50,751 - INFO - CLOSED long at 2070.2 | PnL: -0.07% | $-0.32 +2025-03-10 13:22:50,827 - INFO - OPENED LONG at 2070.9 | Stop loss: 2060.531217857143 | Take profit: 2101.984923214286 +2025-03-10 13:22:50,900 - INFO - CLOSED long at 2070.8 | PnL: -0.00% | $-0.20 +2025-03-10 13:22:50,901 - INFO - OPENED SHORT at 2070.8 | Stop loss: 2081.1682821428576 | Take profit: 2039.7165767857143 +2025-03-10 13:22:50,921 - INFO - CLOSED short at 2070.35 | PnL: 0.02% | $-0.15 +2025-03-10 13:22:50,922 - INFO - OPENED LONG at 2070.35 | Stop loss: 2059.983967857143 | Take profit: 2101.4266732142855 +2025-03-10 13:22:51,004 - INFO - CLOSED long at 2068.67 | PnL: -0.08% | $-0.34 +2025-03-10 13:22:51,004 - INFO - OPENED SHORT at 2068.67 | Stop loss: 2079.0276321428573 | Take profit: 2037.6185267857143 +2025-03-10 13:22:51,059 - INFO - CLOSED short at 2069.78 | PnL: -0.05% | $-0.29 +2025-03-10 13:22:51,059 - INFO - OPENED LONG at 2069.78 | Stop loss: 2059.416817857143 | Take profit: 2100.8481232142863 +2025-03-10 13:22:51,239 - INFO - CLOSED long at 2073.27 | PnL: 0.17% | $0.13 +2025-03-10 13:22:51,263 - INFO - OPENED LONG at 2073.99 | Stop loss: 2063.605767857143 | Take profit: 2105.121273214286 +2025-03-10 13:22:51,977 - INFO - CLOSED long at 2065.07 | PnL: -0.43% | $-1.00 +2025-03-10 13:22:51,977 - INFO - OPENED SHORT at 2065.07 | Stop loss: 2075.4096321428574 | Take profit: 2034.0725267857144 +2025-03-10 13:22:52,039 - INFO - CLOSED short at 2066.09 | PnL: -0.05% | $-0.28 +2025-03-10 13:22:52,039 - INFO - OPENED LONG at 2066.09 | Stop loss: 2055.745267857143 | Take profit: 2097.102773214286 +2025-03-10 13:22:52,471 - INFO - STOP LOSS hit for long at 2055.745267857143 | PnL: -0.50% | $-1.11 +2025-03-10 13:22:52,498 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.949667857143 | Take profit: 2079.969573214286 +2025-03-10 13:22:52,580 - INFO - CLOSED long at 2056.85 | PnL: 0.37% | $0.50 +2025-03-10 13:22:52,580 - INFO - OPENED SHORT at 2056.85 | Stop loss: 2067.1485321428568 | Take profit: 2025.9758267857142 +2025-03-10 13:22:52,606 - INFO - CLOSED short at 2057.11 | PnL: -0.01% | $-0.21 +2025-03-10 13:22:52,608 - INFO - OPENED LONG at 2057.11 | Stop loss: 2046.8101678571431 | Take profit: 2087.9880732142856 +2025-03-10 13:22:52,963 - INFO - CLOSED long at 2059.9 | PnL: 0.14% | $0.07 +2025-03-10 13:22:52,982 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3822178571427 | Take profit: 2091.6319232142855 +2025-03-10 13:22:53,007 - INFO - CLOSED long at 2061.84 | PnL: 0.06% | $-0.08 +2025-03-10 13:22:53,023 - INFO - OPENED LONG at 2062.54 | Stop loss: 2052.213017857143 | Take profit: 2093.499523214286 +2025-03-10 13:22:53,500 - INFO - TAKE PROFIT hit for long at 2093.499523214286 | PnL: 1.50% | $2.58 +2025-03-10 13:22:53,541 - INFO - OPENED LONG at 2130.7 | Stop loss: 2120.0322178571428 | Take profit: 2162.6819232142857 +2025-03-10 13:26:48,974 - INFO - STOP LOSS hit for long at 2120.0322178571428 | PnL: -0.50% | $-1.14 +2025-03-10 13:26:49,000 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.3160678571426 | Take profit: 2151.750373214286 +2025-03-10 13:26:49,175 - INFO - STOP LOSS hit for long at 2109.3160678571426 | PnL: -0.50% | $-1.12 +2025-03-10 13:26:49,207 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032717857143 | Take profit: 2142.2804232142853 +2025-03-10 13:26:49,380 - INFO - CLOSED long at 2112.99 | PnL: 0.11% | $0.02 +2025-03-10 13:26:49,381 - INFO - OPENED SHORT at 2112.99 | Stop loss: 2123.569232142857 | Take profit: 2081.273726785714 +2025-03-10 13:26:49,407 - INFO - CLOSED short at 2120.81 | PnL: -0.37% | $-0.87 +2025-03-10 13:26:49,408 - INFO - OPENED LONG at 2120.81 | Stop loss: 2110.191667857143 | Take profit: 2152.6435732142854 +2025-03-10 13:26:49,518 - INFO - STOP LOSS hit for long at 2110.191667857143 | PnL: -0.50% | $-1.10 +2025-03-10 13:26:49,558 - INFO - OPENED LONG at 2106.49 | Stop loss: 2095.9432678571425 | Take profit: 2138.1087732142855 +2025-03-10 13:26:49,864 - INFO - STOP LOSS hit for long at 2095.9432678571425 | PnL: -0.50% | $-1.09 +2025-03-10 13:26:49,891 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0180678571433 | Take profit: 2131.044373214286 +2025-03-10 13:26:50,352 - INFO - CLOSED long at 2101.51 | PnL: 0.09% | $-0.01 +2025-03-10 13:26:50,352 - INFO - OPENED SHORT at 2101.51 | Stop loss: 2112.031832142857 | Take profit: 2069.9659267857146 +2025-03-10 13:26:50,384 - INFO - CLOSED short at 2099.59 | PnL: 0.09% | $-0.02 +2025-03-10 13:26:50,385 - INFO - OPENED LONG at 2099.59 | Stop loss: 2089.077767857143 | Take profit: 2131.105273214286 +2025-03-10 13:26:50,502 - INFO - CLOSED long at 2095.29 | PnL: -0.20% | $-0.54 +2025-03-10 13:26:50,503 - INFO - OPENED SHORT at 2095.29 | Stop loss: 2105.7807321428572 | Take profit: 2063.8392267857143 +2025-03-10 13:26:50,566 - INFO - CLOSED short at 2093.46 | PnL: 0.09% | $-0.02 +2025-03-10 13:26:50,567 - INFO - OPENED LONG at 2093.46 | Stop loss: 2082.9784178571426 | Take profit: 2124.883323214286 +2025-03-10 13:26:50,689 - INFO - CLOSED long at 2091.1 | PnL: -0.11% | $-0.38 +2025-03-10 13:26:50,721 - INFO - OPENED LONG at 2094.72 | Stop loss: 2084.2321178571424 | Take profit: 2126.1622232142854 +2025-03-10 13:26:50,750 - INFO - CLOSED long at 2094.08 | PnL: -0.03% | $-0.23 +2025-03-10 13:26:50,750 - INFO - OPENED SHORT at 2094.08 | Stop loss: 2104.5646821428572 | Take profit: 2062.647376785714 +2025-03-10 13:26:50,782 - INFO - CLOSED short at 2088.35 | PnL: 0.27% | $0.31 +2025-03-10 13:26:50,782 - INFO - OPENED LONG at 2088.35 | Stop loss: 2077.893967857143 | Take profit: 2119.6966732142855 +2025-03-10 13:26:51,095 - INFO - CLOSED long at 2081.25 | PnL: -0.34% | $-0.78 +2025-03-10 13:26:51,096 - INFO - OPENED SHORT at 2081.25 | Stop loss: 2091.670532142857 | Take profit: 2050.0098267857143 +2025-03-10 13:26:51,130 - INFO - CLOSED short at 2083.41 | PnL: -0.10% | $-0.36 +2025-03-10 13:26:51,131 - INFO - OPENED LONG at 2083.41 | Stop loss: 2072.9786678571427 | Take profit: 2114.6825732142856 +2025-03-10 13:26:51,636 - INFO - CLOSED long at 2086.81 | PnL: 0.16% | $0.11 +2025-03-10 13:26:51,671 - INFO - OPENED LONG at 2089.79 | Stop loss: 2079.326767857143 | Take profit: 2121.1582732142856 +2025-03-10 13:26:51,943 - INFO - CLOSED long at 2101.64 | PnL: 0.57% | $0.82 +2025-03-10 13:26:51,944 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.1624821428572 | Take profit: 2070.0939767857144 +2025-03-10 13:26:51,969 - INFO - CLOSED short at 2097.11 | PnL: 0.22% | $0.20 +2025-03-10 13:26:51,969 - INFO - OPENED LONG at 2097.11 | Stop loss: 2086.610167857143 | Take profit: 2128.588073214286 +2025-03-10 13:26:52,114 - INFO - CLOSED long at 2103.48 | PnL: 0.30% | $0.36 +2025-03-10 13:26:52,142 - INFO - OPENED LONG at 2104.93 | Stop loss: 2094.391067857143 | Take profit: 2136.5253732142855 +2025-03-10 13:26:52,324 - INFO - CLOSED long at 2104.4 | PnL: -0.03% | $-0.22 +2025-03-10 13:26:52,352 - INFO - OPENED LONG at 2105.21 | Stop loss: 2094.669667857143 | Take profit: 2136.8095732142856 +2025-03-10 13:26:52,615 - INFO - CLOSED long at 2112.28 | PnL: 0.34% | $0.42 +2025-03-10 13:26:52,615 - INFO - OPENED SHORT at 2112.28 | Stop loss: 2122.855682142857 | Take profit: 2080.5743767857143 +2025-03-10 13:26:52,641 - INFO - Trade Analysis: Win Rate=12.0% in uptrends, 0.0% in downtrends | Avg Win=$0.39, Avg Loss=$-0.40 +2025-03-10 13:26:52,641 - INFO - Episode 3: Reward=-47.00, Balance=$89.52, Win Rate=28.3%, Trades=60, Episode PnL=$-6.36, Total PnL=$-44.88, Max Drawdown=12.3%, Pred Accuracy=97.2% +2025-03-10 13:26:52,893 - INFO - OPENED LONG at 2049.89 | Stop loss: 2039.6262678571427 | Take profit: 2080.659773214286 +2025-03-10 13:26:53,040 - INFO - CLOSED long at 2057.01 | PnL: 0.35% | $0.49 +2025-03-10 13:26:53,066 - INFO - OPENED LONG at 2056.89 | Stop loss: 2046.5912678571426 | Take profit: 2087.764773214286 +2025-03-10 13:26:53,282 - INFO - CLOSED long at 2063.01 | PnL: 0.30% | $0.39 +2025-03-10 13:26:53,283 - INFO - OPENED SHORT at 2063.01 | Stop loss: 2073.3393321428575 | Take profit: 2032.0434267857145 +2025-03-10 13:26:53,326 - INFO - CLOSED short at 2058.3 | PnL: 0.23% | $0.26 +2025-03-10 13:26:53,327 - INFO - OPENED LONG at 2058.3 | Stop loss: 2047.994217857143 | Take profit: 2089.195923214286 +2025-03-10 13:26:53,349 - INFO - CLOSED long at 2060.0 | PnL: 0.08% | $-0.03 +2025-03-10 13:26:53,375 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.566267857143 | Take profit: 2092.8397732142857 +2025-03-10 13:26:53,448 - INFO - CLOSED long at 2059.49 | PnL: -0.12% | $-0.43 +2025-03-10 13:26:53,448 - INFO - OPENED SHORT at 2059.49 | Stop loss: 2069.801732142857 | Take profit: 2028.5762267857142 +2025-03-10 13:26:53,474 - INFO - CLOSED short at 2057.8 | PnL: 0.08% | $-0.04 +2025-03-10 13:26:53,474 - INFO - OPENED LONG at 2057.8 | Stop loss: 2047.496717857143 | Take profit: 2088.688423214286 +2025-03-10 13:26:54,053 - INFO - CLOSED long at 2072.33 | PnL: 0.71% | $1.21 +2025-03-10 13:26:54,078 - INFO - OPENED LONG at 2071.38 | Stop loss: 2061.008817857143 | Take profit: 2102.472123214286 +2025-03-10 13:26:54,174 - INFO - CLOSED long at 2072.8 | PnL: 0.07% | $-0.06 +2025-03-10 13:26:54,226 - INFO - OPENED LONG at 2070.28 | Stop loss: 2059.914317857143 | Take profit: 2101.3556232142855 +2025-03-10 13:26:54,347 - INFO - CLOSED long at 2070.7 | PnL: 0.02% | $-0.16 +2025-03-10 13:26:54,398 - INFO - OPENED LONG at 2069.19 | Stop loss: 2058.829767857143 | Take profit: 2100.2492732142855 +2025-03-10 13:26:55,012 - INFO - CLOSED long at 2071.4 | PnL: 0.11% | $0.01 +2025-03-10 13:26:55,050 - INFO - OPENED SHORT at 2071.39 | Stop loss: 2081.761232142857 | Take profit: 2040.297726785714 +2025-03-10 13:26:55,127 - INFO - CLOSED short at 2071.36 | PnL: 0.00% | $-0.20 +2025-03-10 13:26:55,127 - INFO - OPENED LONG at 2071.36 | Stop loss: 2060.988917857143 | Take profit: 2102.451823214286 +2025-03-10 13:26:55,185 - INFO - CLOSED long at 2072.75 | PnL: 0.07% | $-0.07 +2025-03-10 13:26:55,266 - INFO - OPENED LONG at 2072.7 | Stop loss: 2062.3222178571427 | Take profit: 2103.8119232142853 +2025-03-10 13:26:55,425 - INFO - CLOSED long at 2069.46 | PnL: -0.16% | $-0.52 +2025-03-10 13:26:55,425 - INFO - OPENED SHORT at 2069.46 | Stop loss: 2079.821582142857 | Take profit: 2038.3966767857144 +2025-03-10 13:26:55,483 - INFO - CLOSED short at 2069.35 | PnL: 0.01% | $-0.19 +2025-03-10 13:26:55,483 - INFO - OPENED LONG at 2069.35 | Stop loss: 2058.988967857143 | Take profit: 2100.4116732142857 +2025-03-10 13:26:55,642 - INFO - CLOSED long at 2067.46 | PnL: -0.09% | $-0.38 +2025-03-10 13:26:55,642 - INFO - OPENED SHORT at 2067.46 | Stop loss: 2077.8115821428573 | Take profit: 2036.4266767857143 +2025-03-10 13:26:55,696 - INFO - CLOSED short at 2065.49 | PnL: 0.10% | $-0.01 +2025-03-10 13:26:55,697 - INFO - OPENED LONG at 2065.49 | Stop loss: 2055.1482678571424 | Take profit: 2096.4937732142857 +2025-03-10 13:26:55,962 - INFO - CLOSED long at 2067.59 | PnL: 0.10% | $0.00 +2025-03-10 13:26:56,020 - INFO - OPENED LONG at 2069.2 | Stop loss: 2058.8397178571427 | Take profit: 2100.2594232142856 +2025-03-10 13:26:56,096 - INFO - CLOSED long at 2070.7 | PnL: 0.07% | $-0.05 +2025-03-10 13:26:56,124 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.033717857143 | Take profit: 2101.477423214286 +2025-03-10 13:26:56,880 - INFO - STOP LOSS hit for long at 2060.033717857143 | PnL: -0.50% | $-1.20 +2025-03-10 13:26:56,909 - INFO - OPENED LONG at 2061.3 | Stop loss: 2050.979217857143 | Take profit: 2092.240923214286 +2025-03-10 13:26:57,045 - INFO - CLOSED long at 2066.09 | PnL: 0.23% | $0.26 +2025-03-10 13:26:57,116 - INFO - OPENED LONG at 2064.45 | Stop loss: 2054.1134678571425 | Take profit: 2095.4381732142856 +2025-03-10 13:26:57,338 - INFO - CLOSED long at 2061.6 | PnL: -0.14% | $-0.47 +2025-03-10 13:26:57,363 - INFO - OPENED LONG at 2060.9 | Stop loss: 2050.5812178571427 | Take profit: 2091.834923214286 +2025-03-10 13:26:58,206 - INFO - CLOSED long at 2059.61 | PnL: -0.06% | $-0.32 +2025-03-10 13:26:58,336 - INFO - OPENED LONG at 2058.89 | Stop loss: 2048.581267857143 | Take profit: 2089.7947732142857 +2025-03-10 13:26:58,842 - INFO - CLOSED long at 2061.3 | PnL: 0.12% | $0.03 +2025-03-10 13:26:58,843 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.6207821428575 | Take profit: 2030.3590767857145 +2025-03-10 13:26:58,877 - INFO - CLOSED short at 2062.69 | PnL: -0.07% | $-0.33 +2025-03-10 13:26:58,877 - INFO - OPENED LONG at 2062.69 | Stop loss: 2052.362267857143 | Take profit: 2093.6517732142856 +2025-03-10 13:26:59,015 - INFO - CLOSED long at 2066.33 | PnL: 0.18% | $0.15 +2025-03-10 13:26:59,015 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.6759321428567 | Take profit: 2035.3136267857144 +2025-03-10 13:26:59,052 - INFO - CLOSED short at 2066.34 | PnL: -0.00% | $-0.20 +2025-03-10 13:26:59,052 - INFO - OPENED LONG at 2066.34 | Stop loss: 2055.994017857143 | Take profit: 2097.3565232142855 +2025-03-10 13:26:59,499 - INFO - CLOSED long at 2070.0 | PnL: 0.18% | $0.15 +2025-03-10 13:26:59,499 - INFO - OPENED SHORT at 2070.0 | Stop loss: 2080.364282142857 | Take profit: 2038.9285767857143 +2025-03-10 13:26:59,526 - INFO - CLOSED short at 2068.15 | PnL: 0.09% | $-0.02 +2025-03-10 13:26:59,527 - INFO - OPENED LONG at 2068.15 | Stop loss: 2057.794967857143 | Take profit: 2099.193673214286 +2025-03-10 13:26:59,689 - INFO - CLOSED long at 2071.49 | PnL: 0.16% | $0.12 +2025-03-10 13:26:59,689 - INFO - OPENED SHORT at 2071.49 | Stop loss: 2081.861732142857 | Take profit: 2040.3962267857141 +2025-03-10 13:26:59,734 - INFO - CLOSED short at 2067.33 | PnL: 0.20% | $0.20 +2025-03-10 13:26:59,734 - INFO - OPENED LONG at 2067.33 | Stop loss: 2056.9790678571426 | Take profit: 2098.3613732142853 +2025-03-10 13:26:59,801 - INFO - CLOSED long at 2065.66 | PnL: -0.08% | $-0.35 +2025-03-10 13:26:59,802 - INFO - OPENED SHORT at 2065.66 | Stop loss: 2076.0025821428567 | Take profit: 2034.6536767857142 +2025-03-10 13:26:59,825 - INFO - CLOSED short at 2063.95 | PnL: 0.08% | $-0.03 +2025-03-10 13:26:59,826 - INFO - OPENED LONG at 2063.95 | Stop loss: 2053.6159678571426 | Take profit: 2094.930673214286 +2025-03-10 13:26:59,944 - INFO - CLOSED long at 2064.31 | PnL: 0.02% | $-0.16 +2025-03-10 13:26:59,944 - INFO - OPENED SHORT at 2064.31 | Stop loss: 2074.645832142857 | Take profit: 2033.323926785714 +2025-03-10 13:27:00,077 - INFO - CLOSED short at 2066.8 | PnL: -0.12% | $-0.43 +2025-03-10 13:27:00,078 - INFO - OPENED LONG at 2066.8 | Stop loss: 2056.451717857143 | Take profit: 2097.823423214286 +2025-03-10 13:27:00,320 - INFO - CLOSED long at 2070.35 | PnL: 0.17% | $0.14 +2025-03-10 13:27:00,430 - INFO - OPENED LONG at 2070.67 | Stop loss: 2060.302367857143 | Take profit: 2101.751473214286 +2025-03-10 13:27:00,457 - INFO - CLOSED long at 2069.78 | PnL: -0.04% | $-0.28 +2025-03-10 13:27:00,457 - INFO - OPENED SHORT at 2069.78 | Stop loss: 2080.1431821428573 | Take profit: 2038.7118767857146 +2025-03-10 13:27:00,489 - INFO - CLOSED short at 2071.61 | PnL: -0.09% | $-0.36 +2025-03-10 13:27:00,490 - INFO - OPENED LONG at 2071.61 | Stop loss: 2061.2376678571427 | Take profit: 2102.705573214286 +2025-03-10 13:27:00,675 - INFO - CLOSED long at 2076.9 | PnL: 0.26% | $0.30 +2025-03-10 13:27:00,675 - INFO - OPENED SHORT at 2076.9 | Stop loss: 2087.2987821428574 | Take profit: 2045.7250767857142 +2025-03-10 13:27:00,701 - INFO - CLOSED short at 2075.61 | PnL: 0.06% | $-0.07 +2025-03-10 13:27:00,701 - INFO - OPENED LONG at 2075.61 | Stop loss: 2065.2176678571427 | Take profit: 2106.7655732142857 +2025-03-10 13:27:00,884 - INFO - CLOSED long at 2066.4 | PnL: -0.44% | $-1.05 +2025-03-10 13:27:00,911 - INFO - OPENED LONG at 2066.89 | Stop loss: 2056.541267857143 | Take profit: 2097.9147732142856 +2025-03-10 13:27:01,368 - INFO - CLOSED long at 2066.33 | PnL: -0.03% | $-0.24 +2025-03-10 13:27:01,394 - INFO - OPENED LONG at 2063.01 | Stop loss: 2052.680667857143 | Take profit: 2093.976573214286 +2025-03-10 13:27:01,583 - INFO - STOP LOSS hit for long at 2052.680667857143 | PnL: -0.50% | $-1.15 +2025-03-10 13:27:01,610 - INFO - OPENED LONG at 2049.5 | Stop loss: 2039.2382178571427 | Take profit: 2080.2639232142856 +2025-03-10 13:27:01,807 - INFO - CLOSED long at 2065.1 | PnL: 0.76% | $1.25 +2025-03-10 13:27:01,807 - INFO - OPENED SHORT at 2065.1 | Stop loss: 2075.439782142857 | Take profit: 2034.1020767857144 +2025-03-10 13:27:01,834 - INFO - CLOSED short at 2062.43 | PnL: 0.13% | $0.06 +2025-03-10 13:27:01,834 - INFO - OPENED LONG at 2062.43 | Stop loss: 2052.103567857143 | Take profit: 2093.3878732142853 +2025-03-10 13:27:02,491 - INFO - TAKE PROFIT hit for long at 2093.3878732142853 | PnL: 1.50% | $2.68 +2025-03-10 13:27:02,517 - INFO - OPENED LONG at 2130.7 | Stop loss: 2120.0322178571428 | Take profit: 2162.6819232142857 +2025-03-10 13:27:02,715 - INFO - CLOSED long at 2141.41 | PnL: 0.50% | $0.79 +2025-03-10 13:27:02,715 - INFO - OPENED SHORT at 2141.41 | Stop loss: 2152.131332142857 | Take profit: 2109.267426785714 +2025-03-10 13:27:02,784 - INFO - CLOSED short at 2141.3 | PnL: 0.01% | $-0.19 +2025-03-10 13:27:02,784 - INFO - OPENED LONG at 2141.3 | Stop loss: 2130.579217857143 | Take profit: 2173.4409232142857 +2025-03-10 13:27:02,918 - INFO - CLOSED long at 2126.99 | PnL: -0.67% | $-1.52 +2025-03-10 13:27:02,948 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.649217857143 | Take profit: 2159.230923214286 +2025-03-10 13:27:02,968 - INFO - CLOSED long at 2128.69 | PnL: 0.07% | $-0.07 +2025-03-10 13:27:02,994 - INFO - OPENED LONG at 2121.09 | Stop loss: 2110.470267857143 | Take profit: 2152.927773214286 +2025-03-10 13:27:03,015 - INFO - CLOSED long at 2120.15 | PnL: -0.04% | $-0.28 +2025-03-10 13:27:03,015 - INFO - OPENED SHORT at 2120.15 | Stop loss: 2130.7650321428573 | Take profit: 2088.326326785714 +2025-03-10 13:27:03,075 - INFO - CLOSED short at 2117.24 | PnL: 0.14% | $0.07 +2025-03-10 13:27:03,075 - INFO - OPENED LONG at 2117.24 | Stop loss: 2106.6395178571424 | Take profit: 2149.0200232142856 +2025-03-10 13:27:03,133 - INFO - CLOSED long at 2119.93 | PnL: 0.13% | $0.05 +2025-03-10 13:27:03,133 - INFO - OPENED SHORT at 2119.93 | Stop loss: 2130.5439321428566 | Take profit: 2088.109626785714 +2025-03-10 13:27:03,165 - INFO - CLOSED short at 2121.4 | PnL: -0.07% | $-0.33 +2025-03-10 13:27:03,165 - INFO - OPENED LONG at 2121.4 | Stop loss: 2110.778717857143 | Take profit: 2153.2424232142857 +2025-03-10 13:27:03,214 - INFO - CLOSED long at 2119.14 | PnL: -0.11% | $-0.40 +2025-03-10 13:27:03,240 - INFO - OPENED LONG at 2119.07 | Stop loss: 2108.460367857143 | Take profit: 2150.8774732142856 +2025-03-10 13:27:03,291 - INFO - CLOSED long at 2107.43 | PnL: -0.55% | $-1.25 +2025-03-10 13:27:03,317 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032717857143 | Take profit: 2142.2804232142853 +2025-03-10 13:27:03,690 - INFO - STOP LOSS hit for long at 2100.032717857143 | PnL: -0.50% | $-1.14 +2025-03-10 13:27:03,718 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0180678571433 | Take profit: 2131.044373214286 +2025-03-10 13:27:03,770 - INFO - CLOSED long at 2102.19 | PnL: 0.13% | $0.05 +2025-03-10 13:27:03,795 - INFO - OPENED LONG at 2102.29 | Stop loss: 2091.764267857143 | Take profit: 2133.8457732142856 +2025-03-10 13:27:03,887 - INFO - CLOSED long at 2104.83 | PnL: 0.12% | $0.04 +2025-03-10 13:27:03,910 - INFO - OPENED LONG at 2106.39 | Stop loss: 2095.8437678571427 | Take profit: 2138.0072732142858 +2025-03-10 13:27:04,100 - INFO - CLOSED long at 2095.29 | PnL: -0.53% | $-1.18 +2025-03-10 13:27:04,101 - INFO - OPENED SHORT at 2095.29 | Stop loss: 2105.7807321428572 | Take profit: 2063.8392267857143 +2025-03-10 13:27:04,127 - INFO - CLOSED short at 2093.46 | PnL: 0.09% | $-0.02 +2025-03-10 13:27:04,128 - INFO - OPENED LONG at 2093.46 | Stop loss: 2082.9784178571426 | Take profit: 2124.883323214286 +2025-03-10 13:27:04,151 - INFO - CLOSED long at 2093.33 | PnL: -0.01% | $-0.20 +2025-03-10 13:27:04,151 - INFO - OPENED SHORT at 2093.33 | Stop loss: 2103.8109321428574 | Take profit: 2061.908626785714 +2025-03-10 13:27:04,199 - INFO - CLOSED short at 2091.1 | PnL: 0.11% | $0.01 +2025-03-10 13:27:04,200 - INFO - OPENED LONG at 2091.1 | Stop loss: 2080.6302178571427 | Take profit: 2122.4879232142857 +2025-03-10 13:27:04,323 - INFO - CLOSED long at 2088.44 | PnL: -0.13% | $-0.42 +2025-03-10 13:27:04,324 - INFO - OPENED SHORT at 2088.44 | Stop loss: 2098.896482142857 | Take profit: 2057.0919767857145 +2025-03-10 13:27:04,348 - INFO - CLOSED short at 2083.97 | PnL: 0.21% | $0.21 +2025-03-10 13:27:04,349 - INFO - OPENED LONG at 2083.97 | Stop loss: 2073.535867857143 | Take profit: 2115.2509732142858 +2025-03-10 13:27:04,445 - INFO - CLOSED long at 2080.38 | PnL: -0.17% | $-0.50 +2025-03-10 13:27:04,447 - INFO - OPENED SHORT at 2080.38 | Stop loss: 2090.7961821428576 | Take profit: 2049.1528767857144 +2025-03-10 13:27:04,468 - INFO - CLOSED short at 2081.25 | PnL: -0.04% | $-0.26 +2025-03-10 13:27:04,468 - INFO - OPENED LONG at 2081.25 | Stop loss: 2070.829467857143 | Take profit: 2112.4901732142857 +2025-03-10 13:27:04,514 - INFO - CLOSED long at 2085.09 | PnL: 0.18% | $0.16 +2025-03-10 13:27:04,540 - INFO - OPENED LONG at 2083.59 | Stop loss: 2073.157767857143 | Take profit: 2114.865273214286 +2025-03-10 13:27:04,562 - INFO - CLOSED long at 2086.57 | PnL: 0.14% | $0.08 +2025-03-10 13:27:04,589 - INFO - OPENED LONG at 2085.8 | Stop loss: 2075.356717857143 | Take profit: 2117.1084232142857 +2025-03-10 13:27:04,742 - INFO - CLOSED long at 2088.1 | PnL: 0.11% | $0.02 +2025-03-10 13:27:04,743 - INFO - OPENED SHORT at 2088.1 | Stop loss: 2098.554782142857 | Take profit: 2056.757076785714 +2025-03-10 13:27:04,771 - INFO - CLOSED short at 2089.96 | PnL: -0.09% | $-0.35 +2025-03-10 13:27:04,772 - INFO - OPENED LONG at 2089.96 | Stop loss: 2079.495917857143 | Take profit: 2121.330823214286 +2025-03-10 13:27:04,842 - INFO - CLOSED long at 2087.78 | PnL: -0.10% | $-0.37 +2025-03-10 13:27:04,842 - INFO - OPENED SHORT at 2087.78 | Stop loss: 2098.2331821428575 | Take profit: 2056.4418767857146 +2025-03-10 13:27:04,864 - INFO - CLOSED short at 2086.81 | PnL: 0.05% | $-0.10 +2025-03-10 13:27:04,913 - INFO - OPENED LONG at 2085.67 | Stop loss: 2075.227367857143 | Take profit: 2116.9764732142858 +2025-03-10 13:27:04,986 - INFO - CLOSED long at 2091.05 | PnL: 0.26% | $0.29 +2025-03-10 13:27:04,987 - INFO - OPENED SHORT at 2091.05 | Stop loss: 2101.5195321428573 | Take profit: 2059.6628267857145 +2025-03-10 13:27:05,011 - INFO - CLOSED short at 2091.95 | PnL: -0.04% | $-0.26 +2025-03-10 13:27:05,012 - INFO - OPENED LONG at 2091.95 | Stop loss: 2081.4759678571427 | Take profit: 2123.3506732142855 +2025-03-10 13:27:05,603 - INFO - CLOSED long at 2102.7 | PnL: 0.51% | $0.75 +2025-03-10 13:27:05,603 - INFO - OPENED SHORT at 2102.7 | Stop loss: 2113.2277821428565 | Take profit: 2071.138076785714 +2025-03-10 13:27:05,626 - INFO - CLOSED short at 2102.0 | PnL: 0.03% | $-0.12 +2025-03-10 13:27:05,627 - INFO - OPENED LONG at 2102.0 | Stop loss: 2091.4757178571426 | Take profit: 2133.5514232142855 +2025-03-10 13:27:05,798 - INFO - Trade Analysis: Win Rate=25.0% in uptrends, 0.0% in downtrends | Avg Win=$0.35, Avg Loss=$-0.38 +2025-03-10 13:27:05,799 - INFO - Episode 4: Reward=-48.61, Balance=$92.44, Win Rate=38.2%, Trades=76, Episode PnL=$-6.77, Total PnL=$-52.44, Max Drawdown=9.9%, Pred Accuracy=97.3% +2025-03-10 13:27:05,944 - INFO - Model saved to models/trading_agent_best_winrate.pt +2025-03-10 13:27:05,945 - INFO - New best win rate model saved: 38.2% +2025-03-10 13:27:06,160 - INFO - OPENED LONG at 2049.89 | Stop loss: 2039.6262678571427 | Take profit: 2080.659773214286 +2025-03-10 13:27:06,672 - INFO - CLOSED long at 2061.89 | PnL: 0.59% | $0.96 +2025-03-10 13:27:06,698 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.561267857143 | Take profit: 2093.8547732142856 +2025-03-10 13:27:07,163 - INFO - CLOSED long at 2067.9 | PnL: 0.24% | $0.29 +2025-03-10 13:27:07,210 - INFO - OPENED LONG at 2070.26 | Stop loss: 2059.8944178571433 | Take profit: 2101.335323214286 +2025-03-10 13:27:07,612 - INFO - CLOSED long at 2069.34 | PnL: -0.04% | $-0.29 +2025-03-10 13:27:07,639 - INFO - OPENED LONG at 2069.19 | Stop loss: 2058.829767857143 | Take profit: 2100.2492732142855 +2025-03-10 13:27:07,662 - INFO - CLOSED long at 2068.8 | PnL: -0.02% | $-0.24 +2025-03-10 13:27:07,710 - INFO - OPENED LONG at 2067.51 | Stop loss: 2057.1581678571433 | Take profit: 2098.544073214286 +2025-03-10 13:27:07,869 - INFO - CLOSED long at 2066.18 | PnL: -0.06% | $-0.33 +2025-03-10 13:27:07,895 - INFO - OPENED LONG at 2068.76 | Stop loss: 2058.401917857143 | Take profit: 2099.812823214286 +2025-03-10 13:27:07,991 - INFO - CLOSED long at 2069.7 | PnL: 0.05% | $-0.11 +2025-03-10 13:27:07,992 - INFO - OPENED SHORT at 2069.7 | Stop loss: 2080.062782142857 | Take profit: 2038.6330767857141 +2025-03-10 13:27:08,015 - INFO - CLOSED short at 2070.4 | PnL: -0.03% | $-0.27 +2025-03-10 13:27:08,015 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.033717857143 | Take profit: 2101.477423214286 +2025-03-10 13:27:08,204 - INFO - CLOSED long at 2072.15 | PnL: 0.08% | $-0.03 +2025-03-10 13:27:08,229 - INFO - OPENED LONG at 2074.29 | Stop loss: 2063.9042678571427 | Take profit: 2105.425773214286 +2025-03-10 13:27:08,541 - INFO - STOP LOSS hit for long at 2063.9042678571427 | PnL: -0.50% | $-1.19 +2025-03-10 13:27:08,591 - INFO - OPENED LONG at 2065.26 | Stop loss: 2054.919417857143 | Take profit: 2096.2603232142856 +2025-03-10 13:27:09,006 - INFO - CLOSED long at 2070.4 | PnL: 0.25% | $0.29 +2025-03-10 13:27:09,085 - INFO - OPENED LONG at 2068.5 | Stop loss: 2058.1432178571426 | Take profit: 2099.5489232142854 +2025-03-10 13:27:09,260 - INFO - CLOSED long at 2067.11 | PnL: -0.07% | $-0.33 +2025-03-10 13:27:09,260 - INFO - OPENED SHORT at 2067.11 | Stop loss: 2077.4598321428575 | Take profit: 2036.0819267857144 +2025-03-10 13:27:09,293 - INFO - CLOSED short at 2067.86 | PnL: -0.04% | $-0.27 +2025-03-10 13:27:09,293 - INFO - OPENED LONG at 2067.86 | Stop loss: 2057.506417857143 | Take profit: 2098.899323214286 +2025-03-10 13:27:09,771 - INFO - CLOSED long at 2065.26 | PnL: -0.13% | $-0.44 +2025-03-10 13:27:09,771 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.6005821428575 | Take profit: 2034.2596767857144 +2025-03-10 13:27:09,805 - INFO - CLOSED short at 2062.89 | PnL: 0.11% | $0.03 +2025-03-10 13:27:09,805 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.561267857143 | Take profit: 2093.8547732142856 +2025-03-10 13:27:11,715 - INFO - CLOSED long at 2054.89 | PnL: -0.39% | $-0.95 +2025-03-10 13:27:11,715 - INFO - OPENED SHORT at 2054.89 | Stop loss: 2065.178732142857 | Take profit: 2024.045226785714 +2025-03-10 13:27:11,774 - INFO - CLOSED short at 2056.71 | PnL: -0.09% | $-0.36 +2025-03-10 13:27:11,774 - INFO - OPENED LONG at 2056.71 | Stop loss: 2046.412167857143 | Take profit: 2087.5820732142856 +2025-03-10 13:27:11,951 - INFO - CLOSED long at 2062.69 | PnL: 0.29% | $0.37 +2025-03-10 13:27:11,951 - INFO - OPENED SHORT at 2062.69 | Stop loss: 2073.0177321428573 | Take profit: 2031.7282267857142 +2025-03-10 13:27:11,976 - INFO - CLOSED short at 2063.4 | PnL: -0.03% | $-0.26 +2025-03-10 13:27:11,977 - INFO - OPENED LONG at 2063.4 | Stop loss: 2053.068717857143 | Take profit: 2094.372423214286 +2025-03-10 13:27:12,614 - INFO - CLOSED long at 2067.44 | PnL: 0.20% | $0.18 +2025-03-10 13:27:12,661 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6107678571425 | Take profit: 2104.1062732142855 +2025-03-10 13:27:12,950 - INFO - CLOSED long at 2064.4 | PnL: -0.41% | $-0.99 +2025-03-10 13:27:12,950 - INFO - OPENED SHORT at 2064.4 | Stop loss: 2074.736282142857 | Take profit: 2033.4125767857145 +2025-03-10 13:27:12,983 - INFO - CLOSED short at 2064.31 | PnL: 0.00% | $-0.18 +2025-03-10 13:27:12,983 - INFO - OPENED LONG at 2064.31 | Stop loss: 2053.9741678571427 | Take profit: 2095.2960732142856 +2025-03-10 13:27:13,409 - INFO - CLOSED long at 2071.99 | PnL: 0.37% | $0.52 +2025-03-10 13:27:13,443 - INFO - OPENED LONG at 2068.19 | Stop loss: 2057.834767857143 | Take profit: 2099.2342732142856 +2025-03-10 13:27:13,680 - INFO - CLOSED long at 2073.99 | PnL: 0.28% | $0.35 +2025-03-10 13:27:13,680 - INFO - OPENED SHORT at 2073.99 | Stop loss: 2084.374232142857 | Take profit: 2042.858726785714 +2025-03-10 13:27:13,710 - INFO - CLOSED short at 2075.32 | PnL: -0.06% | $-0.32 +2025-03-10 13:27:13,710 - INFO - OPENED LONG at 2075.32 | Stop loss: 2064.929117857143 | Take profit: 2106.471223214286 +2025-03-10 13:27:13,767 - INFO - CLOSED long at 2076.9 | PnL: 0.08% | $-0.05 +2025-03-10 13:27:13,768 - INFO - OPENED SHORT at 2076.9 | Stop loss: 2087.2987821428574 | Take profit: 2045.7250767857142 +2025-03-10 13:27:13,823 - INFO - CLOSED short at 2074.0 | PnL: 0.14% | $0.08 +2025-03-10 13:27:13,824 - INFO - OPENED LONG at 2074.0 | Stop loss: 2063.615717857143 | Take profit: 2105.131423214286 +2025-03-10 13:27:14,076 - INFO - CLOSED long at 2065.45 | PnL: -0.41% | $-0.98 +2025-03-10 13:27:14,077 - INFO - OPENED SHORT at 2065.45 | Stop loss: 2075.791532142857 | Take profit: 2034.4468267857142 +2025-03-10 13:27:14,104 - INFO - CLOSED short at 2068.1 | PnL: -0.13% | $-0.43 +2025-03-10 13:27:14,105 - INFO - OPENED LONG at 2068.1 | Stop loss: 2057.745217857143 | Take profit: 2099.1429232142855 +2025-03-10 13:27:14,301 - INFO - CLOSED long at 2065.07 | PnL: -0.15% | $-0.47 +2025-03-10 13:27:14,327 - INFO - OPENED LONG at 2066.09 | Stop loss: 2055.745267857143 | Take profit: 2097.102773214286 +2025-03-10 13:27:14,350 - INFO - CLOSED long at 2063.39 | PnL: -0.13% | $-0.43 +2025-03-10 13:27:14,351 - INFO - OPENED SHORT at 2063.39 | Stop loss: 2073.721232142857 | Take profit: 2032.4177267857142 +2025-03-10 13:27:14,382 - INFO - CLOSED short at 2062.34 | PnL: 0.05% | $-0.09 +2025-03-10 13:27:14,383 - INFO - OPENED LONG at 2062.34 | Stop loss: 2052.014017857143 | Take profit: 2093.296523214286 +2025-03-10 13:27:14,730 - INFO - CLOSED long at 2056.77 | PnL: -0.27% | $-0.69 +2025-03-10 13:27:14,730 - INFO - OPENED SHORT at 2056.77 | Stop loss: 2067.068132142857 | Take profit: 2025.8970267857144 +2025-03-10 13:27:14,756 - INFO - CLOSED short at 2053.01 | PnL: 0.18% | $0.15 +2025-03-10 13:27:14,782 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.949667857143 | Take profit: 2079.969573214286 +2025-03-10 13:27:15,233 - INFO - CLOSED long at 2061.21 | PnL: 0.59% | $0.90 +2025-03-10 13:27:15,233 - INFO - OPENED SHORT at 2061.21 | Stop loss: 2071.530332142857 | Take profit: 2030.2704267857143 +2025-03-10 13:27:15,262 - INFO - CLOSED short at 2059.9 | PnL: 0.06% | $-0.07 +2025-03-10 13:27:15,262 - INFO - OPENED LONG at 2059.9 | Stop loss: 2049.586217857143 | Take profit: 2090.819923214286 +2025-03-10 13:27:15,917 - INFO - TAKE PROFIT hit for long at 2090.819923214286 | PnL: 1.50% | $2.63 +2025-03-10 13:27:15,941 - INFO - OPENED LONG at 2130.7 | Stop loss: 2120.0322178571428 | Take profit: 2162.6819232142857 +2025-03-10 13:27:16,467 - INFO - CLOSED long at 2117.24 | PnL: -0.63% | $-1.41 +2025-03-10 13:27:16,467 - INFO - OPENED SHORT at 2117.24 | Stop loss: 2127.8404821428567 | Take profit: 2085.459976785714 +2025-03-10 13:27:16,534 - INFO - CLOSED short at 2119.93 | PnL: -0.13% | $-0.43 +2025-03-10 13:27:16,534 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.3160678571426 | Take profit: 2151.750373214286 +2025-03-10 13:27:16,746 - INFO - STOP LOSS hit for long at 2109.3160678571426 | PnL: -0.50% | $-1.14 +2025-03-10 13:27:16,775 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032717857143 | Take profit: 2142.2804232142853 +2025-03-10 13:27:17,039 - INFO - CLOSED long at 2110.9 | PnL: 0.01% | $-0.16 +2025-03-10 13:27:17,040 - INFO - OPENED SHORT at 2110.9 | Stop loss: 2121.4687821428574 | Take profit: 2079.2150767857142 +2025-03-10 13:27:17,075 - INFO - CLOSED short at 2108.71 | PnL: 0.10% | $0.01 +2025-03-10 13:27:17,076 - INFO - OPENED LONG at 2108.71 | Stop loss: 2098.152167857143 | Take profit: 2140.362073214286 +2025-03-10 13:27:17,236 - INFO - STOP LOSS hit for long at 2098.152167857143 | PnL: -0.50% | $-1.12 +2025-03-10 13:27:17,289 - INFO - OPENED LONG at 2098.1 | Stop loss: 2087.595217857143 | Take profit: 2129.5929232142857 +2025-03-10 13:27:17,648 - INFO - CLOSED long at 2100.02 | PnL: 0.09% | $-0.02 +2025-03-10 13:27:17,677 - INFO - OPENED LONG at 2098.39 | Stop loss: 2087.8837678571426 | Take profit: 2129.887273214286 +2025-03-10 13:27:17,947 - INFO - STOP LOSS hit for long at 2087.8837678571426 | PnL: -0.50% | $-1.11 +2025-03-10 13:27:17,973 - INFO - OPENED SHORT at 2088.44 | Stop loss: 2098.896482142857 | Take profit: 2057.0919767857145 +2025-03-10 13:27:18,030 - INFO - CLOSED short at 2085.3 | PnL: 0.15% | $0.09 +2025-03-10 13:27:18,031 - INFO - OPENED LONG at 2085.3 | Stop loss: 2074.859217857143 | Take profit: 2116.600923214286 +2025-03-10 13:27:18,542 - INFO - CLOSED long at 2087.47 | PnL: 0.10% | $0.01 +2025-03-10 13:27:18,570 - INFO - OPENED LONG at 2087.78 | Stop loss: 2077.326817857143 | Take profit: 2119.118123214286 +2025-03-10 13:27:19,065 - INFO - CLOSED long at 2103.48 | PnL: 0.75% | $1.19 +2025-03-10 13:27:19,066 - INFO - OPENED SHORT at 2103.48 | Stop loss: 2114.0116821428574 | Take profit: 2071.906376785714 +2025-03-10 13:27:19,094 - INFO - CLOSED short at 2104.93 | PnL: -0.07% | $-0.31 +2025-03-10 13:27:19,095 - INFO - OPENED LONG at 2104.93 | Stop loss: 2094.391067857143 | Take profit: 2136.5253732142855 +2025-03-10 13:27:19,265 - INFO - CLOSED long at 2105.2 | PnL: 0.01% | $-0.16 +2025-03-10 13:27:19,265 - INFO - OPENED SHORT at 2105.2 | Stop loss: 2115.740282142857 | Take profit: 2073.600576785714 +2025-03-10 13:27:19,294 - INFO - CLOSED short at 2103.52 | PnL: 0.08% | $-0.04 +2025-03-10 13:27:19,295 - INFO - OPENED LONG at 2103.52 | Stop loss: 2092.9881178571427 | Take profit: 2135.094223214286 +2025-03-10 13:27:19,641 - INFO - Trade Analysis: Win Rate=23.8% in uptrends, 0.0% in downtrends | Avg Win=$0.50, Avg Loss=$-0.46 +2025-03-10 13:27:19,641 - INFO - Episode 5: Reward=-36.69, Balance=$92.38, Win Rate=32.0%, Trades=50, Episode PnL=$-3.72, Total PnL=$-60.06, Max Drawdown=9.5%, Pred Accuracy=97.4% +2025-03-10 13:27:19,793 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 13:27:19,794 - INFO - New best PnL model saved: $-3.72 +2025-03-10 13:27:20,026 - INFO - OPENED LONG at 2049.89 | Stop loss: 2039.6262678571427 | Take profit: 2080.659773214286 +2025-03-10 13:27:20,108 - INFO - CLOSED long at 2051.89 | PnL: 0.10% | $-0.00 +2025-03-10 13:27:20,108 - INFO - OPENED SHORT at 2051.89 | Stop loss: 2062.163732142857 | Take profit: 2021.090226785714 +2025-03-10 13:27:20,135 - INFO - CLOSED short at 2052.3 | PnL: -0.02% | $-0.24 +2025-03-10 13:27:20,136 - INFO - OPENED LONG at 2052.3 | Stop loss: 2042.024217857143 | Take profit: 2083.105923214286 +2025-03-10 13:27:20,876 - INFO - CLOSED long at 2059.49 | PnL: 0.35% | $0.50 +2025-03-10 13:27:20,876 - INFO - OPENED SHORT at 2059.49 | Stop loss: 2069.801732142857 | Take profit: 2028.5762267857142 +2025-03-10 13:27:20,907 - INFO - CLOSED short at 2057.8 | PnL: 0.08% | $-0.04 +2025-03-10 13:27:20,907 - INFO - OPENED LONG at 2057.8 | Stop loss: 2047.496717857143 | Take profit: 2088.688423214286 +2025-03-10 13:27:20,973 - INFO - CLOSED long at 2057.94 | PnL: 0.01% | $-0.19 +2025-03-10 13:27:20,973 - INFO - OPENED SHORT at 2057.94 | Stop loss: 2068.2439821428575 | Take profit: 2027.0494767857144 +2025-03-10 13:27:21,007 - INFO - CLOSED short at 2058.11 | PnL: -0.01% | $-0.22 +2025-03-10 13:27:21,008 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.805167857143 | Take profit: 2089.003073214286 +2025-03-10 13:27:21,288 - INFO - CLOSED long at 2068.11 | PnL: 0.49% | $0.77 +2025-03-10 13:27:21,288 - INFO - OPENED SHORT at 2068.11 | Stop loss: 2078.464832142857 | Take profit: 2037.0669267857145 +2025-03-10 13:27:21,315 - INFO - CLOSED short at 2068.29 | PnL: -0.01% | $-0.22 +2025-03-10 13:27:21,315 - INFO - OPENED LONG at 2068.29 | Stop loss: 2057.934267857143 | Take profit: 2099.3357732142854 +2025-03-10 13:27:22,966 - INFO - CLOSED long at 2068.59 | PnL: 0.01% | $-0.17 +2025-03-10 13:27:22,967 - INFO - OPENED SHORT at 2068.59 | Stop loss: 2078.9472321428575 | Take profit: 2037.5397267857143 +2025-03-10 13:27:22,999 - INFO - CLOSED short at 2069.7 | PnL: -0.05% | $-0.31 +2025-03-10 13:27:23,000 - INFO - OPENED LONG at 2069.7 | Stop loss: 2059.3372178571426 | Take profit: 2100.7669232142857 +2025-03-10 13:27:24,296 - INFO - CLOSED long at 2070.7 | PnL: 0.05% | $-0.10 +2025-03-10 13:27:24,297 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.0677821428567 | Take profit: 2039.618076785714 +2025-03-10 13:27:24,404 - INFO - CLOSED short at 2068.69 | PnL: 0.10% | $-0.01 +2025-03-10 13:27:24,405 - INFO - OPENED LONG at 2068.69 | Stop loss: 2058.332267857143 | Take profit: 2099.741773214286 +2025-03-10 13:27:25,562 - INFO - CLOSED long at 2060.3 | PnL: -0.41% | $-1.00 +2025-03-10 13:27:25,562 - INFO - OPENED SHORT at 2060.3 | Stop loss: 2070.615782142857 | Take profit: 2029.3740767857144 +2025-03-10 13:27:25,595 - INFO - CLOSED short at 2061.13 | PnL: -0.04% | $-0.28 +2025-03-10 13:27:25,596 - INFO - OPENED LONG at 2061.13 | Stop loss: 2050.8100678571427 | Take profit: 2092.0683732142857 +2025-03-10 13:27:25,737 - INFO - CLOSED long at 2063.39 | PnL: 0.11% | $0.02 +2025-03-10 13:27:25,770 - INFO - OPENED LONG at 2064.79 | Stop loss: 2054.451767857143 | Take profit: 2095.783273214286 +2025-03-10 13:27:26,162 - INFO - CLOSED long at 2057.4 | PnL: -0.36% | $-0.90 +2025-03-10 13:27:26,163 - INFO - OPENED SHORT at 2057.4 | Stop loss: 2067.7012821428575 | Take profit: 2026.5175767857145 +2025-03-10 13:27:26,221 - INFO - CLOSED short at 2056.28 | PnL: 0.05% | $-0.09 +2025-03-10 13:27:26,221 - INFO - OPENED LONG at 2056.28 | Stop loss: 2045.9843178571432 | Take profit: 2087.145623214286 +2025-03-10 13:27:26,632 - INFO - CLOSED long at 2063.9 | PnL: 0.37% | $0.52 +2025-03-10 13:27:26,632 - INFO - OPENED SHORT at 2063.9 | Stop loss: 2074.233782142857 | Take profit: 2032.9200767857144 +2025-03-10 13:27:26,679 - INFO - CLOSED short at 2066.33 | PnL: -0.12% | $-0.42 +2025-03-10 13:27:26,679 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.9840678571427 | Take profit: 2097.3463732142854 +2025-03-10 13:27:27,569 - INFO - CLOSED long at 2063.97 | PnL: -0.11% | $-0.42 +2025-03-10 13:27:27,569 - INFO - OPENED SHORT at 2063.97 | Stop loss: 2074.304132142857 | Take profit: 2032.9890267857143 +2025-03-10 13:27:27,636 - INFO - CLOSED short at 2064.5 | PnL: -0.03% | $-0.24 +2025-03-10 13:27:27,637 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.163217857143 | Take profit: 2095.488923214286 +2025-03-10 13:27:28,276 - INFO - CLOSED long at 2069.69 | PnL: 0.25% | $0.29 +2025-03-10 13:27:28,305 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3322178571425 | Take profit: 2101.7819232142856 +2025-03-10 13:27:29,072 - INFO - CLOSED long at 2074.0 | PnL: 0.16% | $0.11 +2025-03-10 13:27:29,073 - INFO - OPENED SHORT at 2074.0 | Stop loss: 2084.384282142857 | Take profit: 2042.8685767857144 +2025-03-10 13:27:29,103 - INFO - CLOSED short at 2072.09 | PnL: 0.09% | $-0.02 +2025-03-10 13:27:29,104 - INFO - OPENED LONG at 2072.09 | Stop loss: 2061.715267857143 | Take profit: 2103.1927732142863 +2025-03-10 13:27:29,731 - INFO - CLOSED long at 2066.1 | PnL: -0.29% | $-0.75 +2025-03-10 13:27:29,732 - INFO - OPENED SHORT at 2066.1 | Stop loss: 2076.444782142857 | Take profit: 2035.0870767857143 +2025-03-10 13:27:29,756 - INFO - CLOSED short at 2065.06 | PnL: 0.05% | $-0.10 +2025-03-10 13:27:29,756 - INFO - OPENED LONG at 2065.06 | Stop loss: 2054.720417857143 | Take profit: 2096.0573232142856 +2025-03-10 13:27:30,016 - INFO - STOP LOSS hit for long at 2054.720417857143 | PnL: -0.50% | $-1.15 +2025-03-10 13:27:30,044 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.949667857143 | Take profit: 2079.969573214286 +2025-03-10 13:27:30,880 - INFO - TAKE PROFIT hit for long at 2079.969573214286 | PnL: 1.50% | $2.65 +2025-03-10 13:27:30,978 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.8280178571426 | Take profit: 2171.6545232142857 +2025-03-10 13:27:31,000 - INFO - CLOSED long at 2131.78 | PnL: -0.36% | $-0.90 +2025-03-10 13:27:31,028 - INFO - OPENED LONG at 2133.95 | Stop loss: 2123.2659678571426 | Take profit: 2165.9806732142856 +2025-03-10 13:27:31,277 - INFO - STOP LOSS hit for long at 2123.2659678571426 | PnL: -0.50% | $-1.16 +2025-03-10 13:27:31,349 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.3160678571426 | Take profit: 2151.750373214286 +2025-03-10 13:27:31,373 - INFO - CLOSED long at 2121.4 | PnL: 0.07% | $-0.06 +2025-03-10 13:27:31,448 - INFO - OPENED LONG at 2119.07 | Stop loss: 2108.460367857143 | Take profit: 2150.8774732142856 +2025-03-10 13:27:31,493 - INFO - STOP LOSS hit for long at 2108.460367857143 | PnL: -0.50% | $-1.14 +2025-03-10 13:27:31,516 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032717857143 | Take profit: 2142.2804232142853 +2025-03-10 13:27:31,738 - INFO - CLOSED long at 2110.9 | PnL: 0.01% | $-0.16 +2025-03-10 13:27:31,739 - INFO - OPENED SHORT at 2110.9 | Stop loss: 2121.4687821428574 | Take profit: 2079.2150767857142 +2025-03-10 13:27:31,765 - INFO - CLOSED short at 2108.71 | PnL: 0.10% | $0.01 +2025-03-10 13:27:31,766 - INFO - OPENED LONG at 2108.71 | Stop loss: 2098.152167857143 | Take profit: 2140.362073214286 +2025-03-10 13:27:31,893 - INFO - STOP LOSS hit for long at 2098.152167857143 | PnL: -0.50% | $-1.13 +2025-03-10 13:27:32,033 - INFO - OPENED LONG at 2098.9 | Stop loss: 2088.3912178571427 | Take profit: 2130.4049232142856 +2025-03-10 13:27:32,459 - INFO - CLOSED long at 2088.35 | PnL: -0.50% | $-1.12 +2025-03-10 13:27:32,459 - INFO - OPENED SHORT at 2088.35 | Stop loss: 2098.806032142857 | Take profit: 2057.0033267857143 +2025-03-10 13:27:32,485 - INFO - CLOSED short at 2083.28 | PnL: 0.24% | $0.26 +2025-03-10 13:27:32,485 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.849317857143 | Take profit: 2114.5506232142857 +2025-03-10 13:27:33,291 - INFO - CLOSED long at 2086.81 | PnL: 0.17% | $0.13 +2025-03-10 13:27:33,291 - INFO - OPENED SHORT at 2086.81 | Stop loss: 2097.2583321428574 | Take profit: 2055.4864267857142 +2025-03-10 13:27:33,310 - INFO - CLOSED short at 2089.79 | PnL: -0.14% | $-0.45 +2025-03-10 13:27:33,310 - INFO - OPENED LONG at 2089.79 | Stop loss: 2079.326767857143 | Take profit: 2121.1582732142856 +2025-03-10 13:27:33,676 - INFO - CLOSED long at 2097.11 | PnL: 0.35% | $0.46 +2025-03-10 13:27:33,676 - INFO - OPENED SHORT at 2097.11 | Stop loss: 2107.609832142857 | Take profit: 2065.6319267857143 +2025-03-10 13:27:33,699 - INFO - CLOSED short at 2098.49 | PnL: -0.07% | $-0.31 +2025-03-10 13:27:33,700 - INFO - OPENED LONG at 2098.49 | Stop loss: 2087.9832678571424 | Take profit: 2129.9887732142856 +2025-03-10 13:27:33,796 - INFO - CLOSED long at 2106.15 | PnL: 0.37% | $0.49 +2025-03-10 13:27:33,973 - INFO - OPENED LONG at 2103.07 | Stop loss: 2092.540367857143 | Take profit: 2134.637473214286 +2025-03-10 13:27:34,288 - INFO - CLOSED long at 2100.0 | PnL: -0.15% | $-0.45 +2025-03-10 13:27:34,351 - INFO - OPENED LONG at 2102.7 | Stop loss: 2092.1722178571426 | Take profit: 2134.261923214285 +2025-03-10 13:27:34,489 - INFO - CLOSED long at 2107.25 | PnL: 0.22% | $0.21 +2025-03-10 13:27:34,489 - INFO - OPENED SHORT at 2107.25 | Stop loss: 2117.8005321428573 | Take profit: 2075.6198267857144 +2025-03-10 13:27:34,588 - INFO - Trade Analysis: Win Rate=14.3% in uptrends, 0.0% in downtrends | Avg Win=$0.49, Avg Loss=$-0.44 +2025-03-10 13:27:34,589 - INFO - Episode 6: Reward=-38.95, Balance=$92.70, Win Rate=29.5%, Trades=44, Episode PnL=$-5.19, Total PnL=$-67.35, Max Drawdown=7.5%, Pred Accuracy=97.4% +2025-03-10 13:27:34,967 - INFO - OPENED LONG at 2051.11 | Stop loss: 2040.840167857143 | Take profit: 2081.898073214286 +2025-03-10 13:27:35,587 - INFO - CLOSED long at 2062.89 | PnL: 0.57% | $0.94 +2025-03-10 13:27:35,587 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.2187321428573 | Take profit: 2031.9252267857141 +2025-03-10 13:27:35,689 - INFO - CLOSED short at 2057.8 | PnL: 0.25% | $0.29 +2025-03-10 13:27:35,690 - INFO - OPENED LONG at 2057.8 | Stop loss: 2047.496717857143 | Take profit: 2088.688423214286 +2025-03-10 13:27:36,083 - INFO - CLOSED long at 2070.99 | PnL: 0.64% | $1.09 +2025-03-10 13:27:36,138 - INFO - OPENED LONG at 2069.6 | Stop loss: 2059.237717857143 | Take profit: 2100.6654232142855 +2025-03-10 13:27:36,756 - INFO - CLOSED long at 2070.7 | PnL: 0.05% | $-0.10 +2025-03-10 13:27:36,878 - INFO - OPENED LONG at 2067.51 | Stop loss: 2057.1581678571433 | Take profit: 2098.544073214286 +2025-03-10 13:27:36,969 - INFO - CLOSED long at 2066.19 | PnL: -0.06% | $-0.33 +2025-03-10 13:27:36,995 - INFO - OPENED LONG at 2066.29 | Stop loss: 2055.944267857143 | Take profit: 2097.3057732142856 +2025-03-10 13:27:37,111 - INFO - CLOSED long at 2068.51 | PnL: 0.11% | $0.02 +2025-03-10 13:27:37,111 - INFO - OPENED SHORT at 2068.51 | Stop loss: 2078.8668321428577 | Take profit: 2037.4609267857145 +2025-03-10 13:27:37,188 - INFO - CLOSED short at 2070.4 | PnL: -0.09% | $-0.39 +2025-03-10 13:27:37,188 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.033717857143 | Take profit: 2101.477423214286 +2025-03-10 13:27:37,259 - INFO - CLOSED long at 2071.39 | PnL: 0.05% | $-0.11 +2025-03-10 13:27:37,259 - INFO - OPENED SHORT at 2071.39 | Stop loss: 2081.761232142857 | Take profit: 2040.297726785714 +2025-03-10 13:27:37,347 - INFO - CLOSED short at 2073.11 | PnL: -0.08% | $-0.37 +2025-03-10 13:27:37,347 - INFO - OPENED LONG at 2073.11 | Stop loss: 2062.730167857143 | Take profit: 2104.228073214286 +2025-03-10 13:27:37,845 - INFO - CLOSED long at 2067.59 | PnL: -0.27% | $-0.74 +2025-03-10 13:27:37,846 - INFO - OPENED SHORT at 2067.59 | Stop loss: 2077.9422321428574 | Take profit: 2036.5547267857144 +2025-03-10 13:27:37,891 - INFO - CLOSED short at 2070.3 | PnL: -0.13% | $-0.46 +2025-03-10 13:27:37,892 - INFO - OPENED LONG at 2070.3 | Stop loss: 2059.934217857143 | Take profit: 2101.375923214286 +2025-03-10 13:27:37,935 - INFO - CLOSED long at 2070.7 | PnL: 0.02% | $-0.16 +2025-03-10 13:27:37,964 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.033717857143 | Take profit: 2101.477423214286 +2025-03-10 13:27:38,038 - INFO - CLOSED long at 2068.69 | PnL: -0.08% | $-0.36 +2025-03-10 13:27:38,063 - INFO - OPENED LONG at 2067.84 | Stop loss: 2057.486517857143 | Take profit: 2098.879023214286 +2025-03-10 13:27:39,364 - INFO - CLOSED long at 2064.79 | PnL: -0.15% | $-0.49 +2025-03-10 13:27:39,365 - INFO - OPENED SHORT at 2064.79 | Stop loss: 2075.128232142857 | Take profit: 2033.7967267857143 +2025-03-10 13:27:39,389 - INFO - CLOSED short at 2065.89 | PnL: -0.05% | $-0.30 +2025-03-10 13:27:39,390 - INFO - OPENED LONG at 2065.89 | Stop loss: 2055.5462678571425 | Take profit: 2096.8997732142852 +2025-03-10 13:27:39,721 - INFO - CLOSED long at 2059.46 | PnL: -0.31% | $-0.80 +2025-03-10 13:27:39,721 - INFO - OPENED SHORT at 2059.46 | Stop loss: 2069.771582142857 | Take profit: 2028.5466767857142 +2025-03-10 13:27:39,749 - INFO - CLOSED short at 2057.4 | PnL: 0.10% | $0.00 +2025-03-10 13:27:39,750 - INFO - OPENED LONG at 2057.4 | Stop loss: 2047.098717857143 | Take profit: 2088.282423214286 +2025-03-10 13:27:39,774 - INFO - CLOSED long at 2058.28 | PnL: 0.04% | $-0.11 +2025-03-10 13:27:39,775 - INFO - OPENED SHORT at 2058.28 | Stop loss: 2068.5856821428574 | Take profit: 2027.3843767857145 +2025-03-10 13:27:39,800 - INFO - CLOSED short at 2056.28 | PnL: 0.10% | $-0.01 +2025-03-10 13:27:39,857 - INFO - OPENED LONG at 2054.89 | Stop loss: 2044.6012678571428 | Take profit: 2085.7347732142857 +2025-03-10 13:27:39,971 - INFO - CLOSED long at 2059.8 | PnL: 0.24% | $0.27 +2025-03-10 13:27:39,971 - INFO - OPENED SHORT at 2059.8 | Stop loss: 2070.1132821428573 | Take profit: 2028.8815767857145 +2025-03-10 13:27:40,004 - INFO - CLOSED short at 2061.66 | PnL: -0.09% | $-0.37 +2025-03-10 13:27:40,004 - INFO - OPENED LONG at 2061.66 | Stop loss: 2051.3374178571426 | Take profit: 2092.6063232142856 +2025-03-10 13:27:40,140 - INFO - CLOSED long at 2063.4 | PnL: 0.08% | $-0.03 +2025-03-10 13:27:40,165 - INFO - OPENED LONG at 2066.36 | Stop loss: 2056.013917857143 | Take profit: 2097.3768232142857 +2025-03-10 13:27:40,387 - INFO - CLOSED long at 2065.69 | PnL: -0.03% | $-0.26 +2025-03-10 13:27:40,387 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.032732142857 | Take profit: 2034.6832267857144 +2025-03-10 13:27:40,412 - INFO - CLOSED short at 2069.79 | PnL: -0.20% | $-0.58 +2025-03-10 13:27:40,412 - INFO - OPENED LONG at 2069.79 | Stop loss: 2059.4267678571427 | Take profit: 2100.8582732142854 +2025-03-10 13:27:40,527 - INFO - CLOSED long at 2075.01 | PnL: 0.25% | $0.29 +2025-03-10 13:27:40,527 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.399332142857 | Take profit: 2043.8634267857146 +2025-03-10 13:27:40,572 - INFO - CLOSED short at 2072.6 | PnL: 0.12% | $0.03 +2025-03-10 13:27:40,573 - INFO - OPENED LONG at 2072.6 | Stop loss: 2062.222717857143 | Take profit: 2103.710423214286 +2025-03-10 13:27:41,278 - INFO - CLOSED long at 2065.66 | PnL: -0.33% | $-0.84 +2025-03-10 13:27:41,279 - INFO - OPENED SHORT at 2065.66 | Stop loss: 2076.0025821428567 | Take profit: 2034.6536767857142 +2025-03-10 13:27:41,302 - INFO - CLOSED short at 2063.95 | PnL: 0.08% | $-0.03 +2025-03-10 13:27:41,302 - INFO - OPENED LONG at 2063.95 | Stop loss: 2053.6159678571426 | Take profit: 2094.930673214286 +2025-03-10 13:27:41,611 - INFO - CLOSED long at 2065.31 | PnL: 0.07% | $-0.07 +2025-03-10 13:27:41,612 - INFO - OPENED SHORT at 2065.31 | Stop loss: 2075.6508321428573 | Take profit: 2034.3089267857142 +2025-03-10 13:27:41,705 - INFO - CLOSED short at 2071.59 | PnL: -0.30% | $-0.77 +2025-03-10 13:27:41,705 - INFO - OPENED LONG at 2071.59 | Stop loss: 2061.217767857143 | Take profit: 2102.6852732142856 +2025-03-10 13:27:42,239 - INFO - CLOSED long at 2073.27 | PnL: 0.08% | $-0.04 +2025-03-10 13:27:42,285 - INFO - OPENED LONG at 2073.99 | Stop loss: 2063.605767857143 | Take profit: 2105.121273214286 +2025-03-10 13:27:42,669 - INFO - CLOSED long at 2067.88 | PnL: -0.29% | $-0.75 +2025-03-10 13:27:42,716 - INFO - OPENED LONG at 2065.45 | Stop loss: 2055.108467857143 | Take profit: 2096.453173214286 +2025-03-10 13:27:43,597 - INFO - STOP LOSS hit for long at 2055.108467857143 | PnL: -0.50% | $-1.13 +2025-03-10 13:27:43,631 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.949667857143 | Take profit: 2079.969573214286 +2025-03-10 13:27:44,708 - INFO - CLOSED long at 2074.9 | PnL: 1.25% | $2.14 +2025-03-10 13:27:44,758 - INFO - OPENED LONG at 2076.08 | Stop loss: 2065.6853178571428 | Take profit: 2107.2426232142857 +2025-03-10 13:27:44,871 - INFO - CLOSED long at 2103.02 | PnL: 1.30% | $2.27 +2025-03-10 13:27:44,895 - INFO - OPENED LONG at 2130.7 | Stop loss: 2120.0322178571428 | Take profit: 2162.6819232142857 +2025-03-10 13:27:45,150 - INFO - CLOSED long at 2140.01 | PnL: 0.44% | $0.65 +2025-03-10 13:27:45,230 - INFO - OPENED LONG at 2126.99 | Stop loss: 2116.3407678571425 | Take profit: 2158.916273214286 +2025-03-10 13:27:45,255 - INFO - CLOSED long at 2127.3 | PnL: 0.01% | $-0.17 +2025-03-10 13:27:45,255 - INFO - OPENED SHORT at 2127.3 | Stop loss: 2137.9507821428574 | Take profit: 2095.3690767857147 +2025-03-10 13:27:45,305 - INFO - CLOSED short at 2121.09 | PnL: 0.29% | $0.37 +2025-03-10 13:27:45,305 - INFO - OPENED LONG at 2121.09 | Stop loss: 2110.470267857143 | Take profit: 2152.927773214286 +2025-03-10 13:27:45,632 - INFO - STOP LOSS hit for long at 2110.470267857143 | PnL: -0.50% | $-1.18 +2025-03-10 13:27:45,686 - INFO - OPENED LONG at 2109.05 | Stop loss: 2098.4904678571434 | Take profit: 2140.7071732142863 +2025-03-10 13:27:46,121 - INFO - CLOSED long at 2106.49 | PnL: -0.12% | $-0.43 +2025-03-10 13:27:46,146 - INFO - OPENED LONG at 2108.06 | Stop loss: 2097.5054178571427 | Take profit: 2139.7023232142856 +2025-03-10 13:27:46,227 - INFO - STOP LOSS hit for long at 2097.5054178571427 | PnL: -0.50% | $-1.16 +2025-03-10 13:27:46,298 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0180678571433 | Take profit: 2131.044373214286 +2025-03-10 13:27:46,893 - INFO - STOP LOSS hit for long at 2089.0180678571433 | PnL: -0.50% | $-1.14 +2025-03-10 13:27:46,918 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.849317857143 | Take profit: 2114.5506232142857 +2025-03-10 13:27:47,350 - INFO - CLOSED long at 2088.66 | PnL: 0.26% | $0.30 +2025-03-10 13:27:47,378 - INFO - OPENED LONG at 2088.32 | Stop loss: 2077.864117857143 | Take profit: 2119.6662232142858 +2025-03-10 13:27:47,858 - INFO - CLOSED long at 2097.11 | PnL: 0.42% | $0.61 +2025-03-10 13:27:47,887 - INFO - OPENED LONG at 2098.49 | Stop loss: 2087.9832678571424 | Take profit: 2129.9887732142856 +2025-03-10 13:27:48,360 - INFO - CLOSED long at 2102.7 | PnL: 0.20% | $0.19 +2025-03-10 13:27:48,417 - INFO - OPENED LONG at 2103.41 | Stop loss: 2092.878667857143 | Take profit: 2134.9825732142854 +2025-03-10 13:27:48,581 - INFO - Trade Analysis: Win Rate=25.0% in uptrends, 0.0% in downtrends | Avg Win=$0.63, Avg Loss=$-0.45 +2025-03-10 13:27:48,582 - INFO - Episode 7: Reward=-31.86, Balance=$95.83, Win Rate=33.3%, Trades=45, Episode PnL=$-2.12, Total PnL=$-71.53, Max Drawdown=8.8%, Pred Accuracy=97.5% +2025-03-10 13:27:48,738 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 13:27:48,738 - INFO - New best PnL model saved: $-2.12 +2025-03-10 13:27:49,070 - INFO - OPENED LONG at 2052.3 | Stop loss: 2042.024217857143 | Take profit: 2083.105923214286 +2025-03-10 13:27:49,541 - INFO - CLOSED long at 2062.89 | PnL: 0.52% | $0.83 +2025-03-10 13:27:49,541 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.2187321428573 | Take profit: 2031.9252267857141 +2025-03-10 13:27:49,635 - INFO - CLOSED short at 2059.49 | PnL: 0.16% | $0.13 +2025-03-10 13:27:49,635 - INFO - OPENED LONG at 2059.49 | Stop loss: 2049.1782678571426 | Take profit: 2090.4037732142856 +2025-03-10 13:27:49,683 - INFO - CLOSED long at 2057.8 | PnL: -0.08% | $-0.37 +2025-03-10 13:27:49,684 - INFO - OPENED SHORT at 2057.8 | Stop loss: 2068.1032821428576 | Take profit: 2026.9115767857145 +2025-03-10 13:27:49,735 - INFO - CLOSED short at 2057.89 | PnL: -0.00% | $-0.21 +2025-03-10 13:27:49,735 - INFO - OPENED LONG at 2057.89 | Stop loss: 2047.5862678571427 | Take profit: 2088.779773214286 +2025-03-10 13:27:51,138 - INFO - CLOSED long at 2066.39 | PnL: 0.41% | $0.62 +2025-03-10 13:27:51,138 - INFO - OPENED SHORT at 2066.39 | Stop loss: 2076.7362321428573 | Take profit: 2035.3727267857141 +2025-03-10 13:27:51,165 - INFO - CLOSED short at 2065.99 | PnL: 0.02% | $-0.16 +2025-03-10 13:27:51,166 - INFO - OPENED LONG at 2065.99 | Stop loss: 2055.645767857143 | Take profit: 2097.0012732142854 +2025-03-10 13:27:52,438 - INFO - CLOSED long at 2070.73 | PnL: 0.23% | $0.26 +2025-03-10 13:27:52,463 - INFO - OPENED LONG at 2068.5 | Stop loss: 2058.1432178571426 | Take profit: 2099.5489232142854 +2025-03-10 13:27:52,721 - INFO - CLOSED long at 2067.8 | PnL: -0.03% | $-0.27 +2025-03-10 13:27:52,751 - INFO - OPENED LONG at 2068.18 | Stop loss: 2057.824817857143 | Take profit: 2099.2241232142856 +2025-03-10 13:27:53,590 - INFO - CLOSED long at 2061.13 | PnL: -0.34% | $-0.88 +2025-03-10 13:27:53,590 - INFO - OPENED SHORT at 2061.13 | Stop loss: 2071.449932142857 | Take profit: 2030.1916267857143 +2025-03-10 13:27:53,641 - INFO - CLOSED short at 2064.1 | PnL: -0.14% | $-0.48 +2025-03-10 13:27:53,641 - INFO - OPENED LONG at 2064.1 | Stop loss: 2053.765217857143 | Take profit: 2095.0829232142855 +2025-03-10 13:27:54,779 - INFO - CLOSED long at 2078.01 | PnL: 0.67% | $1.13 +2025-03-10 13:27:54,779 - INFO - OPENED SHORT at 2078.01 | Stop loss: 2088.4143321428573 | Take profit: 2046.8184267857146 +2025-03-10 13:27:54,809 - INFO - CLOSED short at 2075.01 | PnL: 0.14% | $0.09 +2025-03-10 13:27:54,810 - INFO - OPENED LONG at 2075.01 | Stop loss: 2064.620667857143 | Take profit: 2106.156573214286 +2025-03-10 13:27:55,004 - INFO - CLOSED long at 2068.39 | PnL: -0.32% | $-0.84 +2025-03-10 13:27:55,004 - INFO - OPENED SHORT at 2068.39 | Stop loss: 2078.746232142857 | Take profit: 2037.3427267857141 +2025-03-10 13:27:55,053 - INFO - CLOSED short at 2069.03 | PnL: -0.03% | $-0.26 +2025-03-10 13:27:55,054 - INFO - OPENED LONG at 2069.03 | Stop loss: 2058.670567857143 | Take profit: 2100.086873214286 +2025-03-10 13:27:55,102 - INFO - CLOSED long at 2068.79 | PnL: -0.01% | $-0.22 +2025-03-10 13:27:55,102 - INFO - OPENED SHORT at 2068.79 | Stop loss: 2079.148232142857 | Take profit: 2037.7367267857144 +2025-03-10 13:27:55,151 - INFO - CLOSED short at 2071.49 | PnL: -0.13% | $-0.45 +2025-03-10 13:27:55,151 - INFO - OPENED LONG at 2071.49 | Stop loss: 2061.1182678571427 | Take profit: 2102.5837732142854 +2025-03-10 13:27:56,713 - INFO - CLOSED long at 2066.4 | PnL: -0.25% | $-0.68 +2025-03-10 13:27:56,741 - INFO - OPENED LONG at 2066.89 | Stop loss: 2056.541267857143 | Take profit: 2097.9147732142856 +2025-03-10 13:27:56,952 - INFO - CLOSED long at 2070.1 | PnL: 0.16% | $0.11 +2025-03-10 13:27:56,953 - INFO - OPENED SHORT at 2070.1 | Stop loss: 2080.4647821428566 | Take profit: 2039.0270767857141 +2025-03-10 13:27:57,009 - INFO - CLOSED short at 2067.19 | PnL: 0.14% | $0.08 +2025-03-10 13:27:57,009 - INFO - OPENED LONG at 2067.19 | Stop loss: 2056.8397678571428 | Take profit: 2098.2192732142857 +2025-03-10 13:27:57,611 - INFO - STOP LOSS hit for long at 2056.8397678571428 | PnL: -0.50% | $-1.17 +2025-03-10 13:27:57,663 - INFO - OPENED LONG at 2053.01 | Stop loss: 2042.730667857143 | Take profit: 2083.826573214286 +2025-03-10 13:27:58,959 - INFO - TAKE PROFIT hit for long at 2083.826573214286 | PnL: 1.50% | $2.71 +2025-03-10 13:27:59,098 - INFO - OPENED LONG at 2133.95 | Stop loss: 2123.2659678571426 | Take profit: 2165.9806732142856 +2025-03-10 13:27:59,212 - INFO - CLOSED long at 2140.01 | PnL: 0.28% | $0.37 +2025-03-10 13:27:59,212 - INFO - OPENED SHORT at 2140.01 | Stop loss: 2150.7243321428573 | Take profit: 2107.8884267857147 +2025-03-10 13:27:59,239 - INFO - CLOSED short at 2134.78 | PnL: 0.24% | $0.29 +2025-03-10 13:27:59,240 - INFO - OPENED LONG at 2134.78 | Stop loss: 2124.0918178571433 | Take profit: 2166.8231232142857 +2025-03-10 13:27:59,333 - INFO - STOP LOSS hit for long at 2124.0918178571433 | PnL: -0.50% | $-1.20 +2025-03-10 13:27:59,358 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.534967857143 | Take profit: 2151.9736732142856 +2025-03-10 13:27:59,477 - INFO - CLOSED long at 2119.14 | PnL: -0.05% | $-0.29 +2025-03-10 13:27:59,478 - INFO - OPENED SHORT at 2119.14 | Stop loss: 2129.749982142857 | Take profit: 2087.331476785714 +2025-03-10 13:27:59,507 - INFO - CLOSED short at 2119.07 | PnL: 0.00% | $-0.19 +2025-03-10 13:27:59,538 - INFO - OPENED LONG at 2115.28 | Stop loss: 2104.689317857143 | Take profit: 2147.0306232142857 +2025-03-10 13:27:59,763 - INFO - CLOSED long at 2120.81 | PnL: 0.26% | $0.32 +2025-03-10 13:27:59,764 - INFO - OPENED SHORT at 2120.81 | Stop loss: 2131.428332142857 | Take profit: 2088.976426785714 +2025-03-10 13:27:59,789 - INFO - CLOSED short at 2116.48 | PnL: 0.20% | $0.21 +2025-03-10 13:27:59,862 - INFO - OPENED LONG at 2108.71 | Stop loss: 2098.152167857143 | Take profit: 2140.362073214286 +2025-03-10 13:27:59,983 - INFO - STOP LOSS hit for long at 2098.152167857143 | PnL: -0.50% | $-1.19 +2025-03-10 13:28:00,007 - INFO - OPENED SHORT at 2099.53 | Stop loss: 2110.041932142857 | Take profit: 2068.0156267857146 +2025-03-10 13:28:00,036 - INFO - CLOSED short at 2098.1 | PnL: 0.07% | $-0.06 +2025-03-10 13:28:00,037 - INFO - OPENED LONG at 2098.1 | Stop loss: 2087.595217857143 | Take profit: 2129.5929232142857 +2025-03-10 13:28:00,411 - INFO - CLOSED long at 2095.29 | PnL: -0.13% | $-0.46 +2025-03-10 13:28:00,439 - INFO - OPENED LONG at 2093.46 | Stop loss: 2082.9784178571426 | Take profit: 2124.883323214286 +2025-03-10 13:28:00,460 - INFO - CLOSED long at 2093.33 | PnL: -0.01% | $-0.21 +2025-03-10 13:28:00,460 - INFO - OPENED SHORT at 2093.33 | Stop loss: 2103.8109321428574 | Take profit: 2061.908626785714 +2025-03-10 13:28:00,480 - INFO - CLOSED short at 2092.46 | PnL: 0.04% | $-0.11 +2025-03-10 13:28:00,507 - INFO - OPENED LONG at 2091.1 | Stop loss: 2080.6302178571427 | Take profit: 2122.4879232142857 +2025-03-10 13:28:00,641 - INFO - CLOSED long at 2083.97 | PnL: -0.34% | $-0.85 +2025-03-10 13:28:00,641 - INFO - OPENED SHORT at 2083.97 | Stop loss: 2094.4041321428567 | Take profit: 2052.689026785714 +2025-03-10 13:28:00,725 - INFO - CLOSED short at 2081.49 | PnL: 0.12% | $0.04 +2025-03-10 13:28:00,726 - INFO - OPENED LONG at 2081.49 | Stop loss: 2071.068267857143 | Take profit: 2112.7337732142855 +2025-03-10 13:28:00,999 - INFO - CLOSED long at 2088.66 | PnL: 0.34% | $0.47 +2025-03-10 13:28:01,000 - INFO - OPENED SHORT at 2088.66 | Stop loss: 2099.117582142857 | Take profit: 2057.308676785714 +2025-03-10 13:28:01,028 - INFO - CLOSED short at 2088.32 | PnL: 0.02% | $-0.16 +2025-03-10 13:28:01,028 - INFO - OPENED LONG at 2088.32 | Stop loss: 2077.864117857143 | Take profit: 2119.6662232142858 +2025-03-10 13:28:01,129 - INFO - CLOSED long at 2087.47 | PnL: -0.04% | $-0.27 +2025-03-10 13:28:01,129 - INFO - OPENED SHORT at 2087.47 | Stop loss: 2097.9216321428567 | Take profit: 2056.136526785714 +2025-03-10 13:28:01,157 - INFO - CLOSED short at 2087.78 | PnL: -0.01% | $-0.22 +2025-03-10 13:28:01,158 - INFO - OPENED LONG at 2087.78 | Stop loss: 2077.326817857143 | Take profit: 2119.118123214286 +2025-03-10 13:28:02,119 - INFO - Trade Analysis: Win Rate=35.3% in uptrends, 0.0% in downtrends | Avg Win=$0.51, Avg Loss=$-0.47 +2025-03-10 13:28:02,120 - INFO - Episode 8: Reward=-26.61, Balance=$96.42, Win Rate=38.5%, Trades=39, Episode PnL=$-3.49, Total PnL=$-75.10, Max Drawdown=3.8%, Pred Accuracy=97.6% +2025-03-10 13:28:02,294 - INFO - Model saved to models/trading_agent_best_winrate.pt +2025-03-10 13:28:02,294 - INFO - New best win rate model saved: 38.5% +2025-03-10 13:28:02,494 - INFO - OPENED LONG at 2049.89 | Stop loss: 2039.6262678571427 | Take profit: 2080.659773214286 +2025-03-10 13:28:02,652 - INFO - CLOSED long at 2055.69 | PnL: 0.28% | $0.36 +2025-03-10 13:28:02,652 - INFO - OPENED SHORT at 2055.69 | Stop loss: 2065.982732142857 | Take profit: 2024.8332267857143 +2025-03-10 13:28:02,700 - INFO - CLOSED short at 2056.89 | PnL: -0.06% | $-0.32 +2025-03-10 13:28:02,700 - INFO - OPENED LONG at 2056.89 | Stop loss: 2046.5912678571426 | Take profit: 2087.764773214286 +2025-03-10 13:28:04,282 - INFO - CLOSED long at 2072.91 | PnL: 0.78% | $1.35 +2025-03-10 13:28:04,283 - INFO - OPENED SHORT at 2072.91 | Stop loss: 2083.288832142857 | Take profit: 2041.794926785714 +2025-03-10 13:28:04,307 - INFO - CLOSED short at 2072.33 | PnL: 0.03% | $-0.15 +2025-03-10 13:28:04,307 - INFO - OPENED LONG at 2072.33 | Stop loss: 2061.954067857143 | Take profit: 2103.4363732142856 +2025-03-10 13:28:04,788 - INFO - CLOSED long at 2068.8 | PnL: -0.17% | $-0.54 +2025-03-10 13:28:04,812 - INFO - OPENED LONG at 2067.6 | Stop loss: 2057.247717857143 | Take profit: 2098.6354232142858 +2025-03-10 13:28:05,706 - INFO - CLOSED long at 2071.11 | PnL: 0.17% | $0.14 +2025-03-10 13:28:05,786 - INFO - OPENED LONG at 2069.46 | Stop loss: 2059.098417857143 | Take profit: 2100.523323214286 +2025-03-10 13:28:05,955 - INFO - CLOSED long at 2066.8 | PnL: -0.13% | $-0.46 +2025-03-10 13:28:05,982 - INFO - OPENED LONG at 2065.49 | Stop loss: 2055.1482678571424 | Take profit: 2096.4937732142857 +2025-03-10 13:28:06,691 - INFO - CLOSED long at 2066.4 | PnL: 0.04% | $-0.11 +2025-03-10 13:28:06,691 - INFO - OPENED SHORT at 2066.4 | Stop loss: 2076.746282142857 | Take profit: 2035.3825767857145 +2025-03-10 13:28:06,724 - INFO - CLOSED short at 2066.1 | PnL: 0.01% | $-0.17 +2025-03-10 13:28:06,725 - INFO - OPENED LONG at 2066.1 | Stop loss: 2055.7552178571427 | Take profit: 2097.1129232142857 +2025-03-10 13:28:07,062 - INFO - CLOSED long at 2064.99 | PnL: -0.05% | $-0.31 +2025-03-10 13:28:07,199 - INFO - OPENED LONG at 2061.78 | Stop loss: 2051.456817857143 | Take profit: 2092.728123214286 +2025-03-10 13:28:07,443 - INFO - CLOSED long at 2067.1 | PnL: 0.26% | $0.31 +2025-03-10 13:28:07,443 - INFO - OPENED SHORT at 2067.1 | Stop loss: 2077.4497821428567 | Take profit: 2036.0720767857142 +2025-03-10 13:28:07,470 - INFO - CLOSED short at 2065.54 | PnL: 0.08% | $-0.05 +2025-03-10 13:28:07,471 - INFO - OPENED LONG at 2065.54 | Stop loss: 2055.198017857143 | Take profit: 2096.5445232142856 +2025-03-10 13:28:08,154 - INFO - CLOSED long at 2064.1 | PnL: -0.07% | $-0.34 +2025-03-10 13:28:08,237 - INFO - OPENED LONG at 2064.33 | Stop loss: 2053.994067857143 | Take profit: 2095.3163732142857 +2025-03-10 13:28:08,305 - INFO - CLOSED long at 2065.89 | PnL: 0.08% | $-0.05 +2025-03-10 13:28:08,306 - INFO - OPENED SHORT at 2065.89 | Stop loss: 2076.233732142857 | Take profit: 2034.880226785714 +2025-03-10 13:28:08,329 - INFO - CLOSED short at 2063.53 | PnL: 0.11% | $0.03 +2025-03-10 13:28:08,330 - INFO - OPENED LONG at 2063.53 | Stop loss: 2053.198067857143 | Take profit: 2094.504373214286 +2025-03-10 13:28:09,952 - INFO - CLOSED long at 2065.3 | PnL: 0.09% | $-0.03 +2025-03-10 13:28:09,975 - INFO - OPENED LONG at 2064.4 | Stop loss: 2054.0637178571433 | Take profit: 2095.3874232142857 +2025-03-10 13:28:10,312 - INFO - CLOSED long at 2070.7 | PnL: 0.31% | $0.41 +2025-03-10 13:28:10,312 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.0677821428567 | Take profit: 2039.618076785714 +2025-03-10 13:28:10,538 - INFO - CLOSED short at 2071.61 | PnL: -0.04% | $-0.29 +2025-03-10 13:28:10,539 - INFO - OPENED LONG at 2071.61 | Stop loss: 2061.2376678571427 | Take profit: 2102.705573214286 +2025-03-10 13:28:11,192 - INFO - CLOSED long at 2065.8 | PnL: -0.28% | $-0.75 +2025-03-10 13:28:11,192 - INFO - OPENED SHORT at 2065.8 | Stop loss: 2076.1432821428575 | Take profit: 2034.7915767857146 +2025-03-10 13:28:11,222 - INFO - CLOSED short at 2065.07 | PnL: 0.04% | $-0.13 +2025-03-10 13:28:11,222 - INFO - OPENED LONG at 2065.07 | Stop loss: 2054.730367857143 | Take profit: 2096.067473214286 +2025-03-10 13:28:11,294 - INFO - CLOSED long at 2062.34 | PnL: -0.13% | $-0.46 +2025-03-10 13:28:11,294 - INFO - OPENED SHORT at 2062.34 | Stop loss: 2072.6659821428575 | Take profit: 2031.3834767857145 +2025-03-10 13:28:11,321 - INFO - CLOSED short at 2063.98 | PnL: -0.08% | $-0.35 +2025-03-10 13:28:11,321 - INFO - OPENED LONG at 2063.98 | Stop loss: 2053.645817857143 | Take profit: 2094.9611232142856 +2025-03-10 13:28:11,414 - INFO - CLOSED long at 2064.5 | PnL: 0.03% | $-0.15 +2025-03-10 13:28:11,440 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.9840678571427 | Take profit: 2097.3463732142854 +2025-03-10 13:28:11,641 - INFO - STOP LOSS hit for long at 2055.9840678571427 | PnL: -0.50% | $-1.17 +2025-03-10 13:28:11,665 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.949667857143 | Take profit: 2079.969573214286 +2025-03-10 13:28:12,502 - INFO - TAKE PROFIT hit for long at 2079.969573214286 | PnL: 1.50% | $2.69 +2025-03-10 13:28:12,527 - INFO - OPENED LONG at 2090.49 | Stop loss: 2080.023267857143 | Take profit: 2121.8687732142853 +2025-03-10 13:28:12,583 - INFO - TAKE PROFIT hit for long at 2121.8687732142853 | PnL: 1.50% | $2.77 +2025-03-10 13:28:12,625 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.8280178571426 | Take profit: 2171.6545232142857 +2025-03-10 13:28:12,929 - INFO - STOP LOSS hit for long at 2128.8280178571426 | PnL: -0.50% | $-1.22 +2025-03-10 13:28:12,949 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.649217857143 | Take profit: 2159.230923214286 +2025-03-10 13:28:13,295 - INFO - STOP LOSS hit for long at 2116.649217857143 | PnL: -0.50% | $-1.21 +2025-03-10 13:28:13,346 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032717857143 | Take profit: 2142.2804232142853 +2025-03-10 13:28:13,792 - INFO - CLOSED long at 2108.06 | PnL: -0.12% | $-0.44 +2025-03-10 13:28:13,824 - INFO - OPENED LONG at 2103.33 | Stop loss: 2092.7990678571427 | Take profit: 2134.9013732142853 +2025-03-10 13:28:13,879 - INFO - STOP LOSS hit for long at 2092.7990678571427 | PnL: -0.50% | $-1.19 +2025-03-10 13:28:13,905 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0180678571433 | Take profit: 2131.044373214286 +2025-03-10 13:28:14,427 - INFO - STOP LOSS hit for long at 2089.0180678571433 | PnL: -0.50% | $-1.17 +2025-03-10 13:28:14,454 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.849317857143 | Take profit: 2114.5506232142857 +2025-03-10 13:28:14,660 - INFO - CLOSED long at 2085.09 | PnL: 0.09% | $-0.03 +2025-03-10 13:28:14,660 - INFO - OPENED SHORT at 2085.09 | Stop loss: 2095.5297321428575 | Take profit: 2053.7922267857143 +2025-03-10 13:28:14,862 - INFO - CLOSED short at 2088.1 | PnL: -0.14% | $-0.47 +2025-03-10 13:28:14,862 - INFO - OPENED LONG at 2088.1 | Stop loss: 2077.6452178571426 | Take profit: 2119.4429232142857 +2025-03-10 13:28:14,883 - INFO - CLOSED long at 2089.96 | PnL: 0.09% | $-0.02 +2025-03-10 13:28:14,903 - INFO - OPENED SHORT at 2087.0 | Stop loss: 2097.449282142857 | Take profit: 2055.673576785714 +2025-03-10 13:28:14,949 - INFO - CLOSED short at 2087.78 | PnL: -0.04% | $-0.26 +2025-03-10 13:28:14,949 - INFO - OPENED LONG at 2087.78 | Stop loss: 2077.326817857143 | Take profit: 2119.118123214286 +2025-03-10 13:28:15,080 - INFO - CLOSED long at 2091.05 | PnL: 0.16% | $0.11 +2025-03-10 13:28:15,080 - INFO - OPENED SHORT at 2091.05 | Stop loss: 2101.5195321428573 | Take profit: 2059.6628267857145 +2025-03-10 13:28:15,153 - INFO - CLOSED short at 2097.8 | PnL: -0.32% | $-0.81 +2025-03-10 13:28:15,154 - INFO - OPENED LONG at 2097.8 | Stop loss: 2087.296717857143 | Take profit: 2129.288423214286 +2025-03-10 13:28:15,444 - INFO - CLOSED long at 2103.07 | PnL: 0.25% | $0.29 +2025-03-10 13:28:15,444 - INFO - OPENED SHORT at 2103.07 | Stop loss: 2113.5996321428574 | Take profit: 2071.5025267857145 +2025-03-10 13:28:15,488 - INFO - CLOSED short at 2105.83 | PnL: -0.13% | $-0.44 +2025-03-10 13:28:15,489 - INFO - OPENED LONG at 2105.83 | Stop loss: 2095.286567857143 | Take profit: 2137.4388732142856 +2025-03-10 13:28:15,557 - INFO - CLOSED long at 2103.52 | PnL: -0.11% | $-0.40 +2025-03-10 13:28:15,557 - INFO - OPENED SHORT at 2103.52 | Stop loss: 2114.0518821428573 | Take profit: 2071.9457767857143 +2025-03-10 13:28:15,602 - INFO - CLOSED short at 2105.21 | PnL: -0.08% | $-0.34 +2025-03-10 13:28:15,603 - INFO - OPENED LONG at 2105.21 | Stop loss: 2094.669667857143 | Take profit: 2136.8095732142856 +2025-03-10 13:28:15,860 - INFO - Trade Analysis: Win Rate=15.0% in uptrends, 0.0% in downtrends | Avg Win=$0.85, Avg Loss=$-0.44 +2025-03-10 13:28:15,861 - INFO - Episode 9: Reward=-46.05, Balance=$94.67, Win Rate=24.4%, Trades=41, Episode PnL=$-6.37, Total PnL=$-80.44, Max Drawdown=5.6%, Pred Accuracy=97.8% +2025-03-10 13:28:16,089 - INFO - OPENED LONG at 2051.11 | Stop loss: 2040.840167857143 | Take profit: 2081.898073214286 +2025-03-10 13:28:16,276 - INFO - CLOSED long at 2060.13 | PnL: 0.44% | $0.67 +2025-03-10 13:28:16,304 - INFO - OPENED LONG at 2059.7 | Stop loss: 2049.387217857143 | Take profit: 2090.6169232142856 +2025-03-10 13:28:16,534 - INFO - CLOSED long at 2058.3 | PnL: -0.07% | $-0.34 +2025-03-10 13:28:16,534 - INFO - OPENED SHORT at 2058.3 | Stop loss: 2068.605782142857 | Take profit: 2027.4040767857146 +2025-03-10 13:28:16,587 - INFO - CLOSED short at 2061.89 | PnL: -0.17% | $-0.55 +2025-03-10 13:28:16,588 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.566267857143 | Take profit: 2092.8397732142857 +2025-03-10 13:28:16,712 - INFO - CLOSED long at 2057.89 | PnL: -0.19% | $-0.58 +2025-03-10 13:28:16,713 - INFO - OPENED SHORT at 2057.89 | Stop loss: 2068.1937321428572 | Take profit: 2027.0002267857142 +2025-03-10 13:28:16,743 - INFO - CLOSED short at 2057.94 | PnL: -0.00% | $-0.20 +2025-03-10 13:28:16,743 - INFO - OPENED LONG at 2057.94 | Stop loss: 2047.6360178571429 | Take profit: 2088.8305232142857 +2025-03-10 13:28:17,008 - INFO - CLOSED long at 2070.99 | PnL: 0.63% | $1.05 +2025-03-10 13:28:17,084 - INFO - OPENED LONG at 2068.99 | Stop loss: 2058.630767857143 | Take profit: 2100.0462732142855 +2025-03-10 13:28:17,176 - INFO - CLOSED long at 2071.44 | PnL: 0.12% | $0.04 +2025-03-10 13:28:17,177 - INFO - OPENED SHORT at 2071.44 | Stop loss: 2081.8114821428576 | Take profit: 2040.3469767857143 +2025-03-10 13:28:17,229 - INFO - CLOSED short at 2075.1 | PnL: -0.18% | $-0.55 +2025-03-10 13:28:17,230 - INFO - OPENED LONG at 2075.1 | Stop loss: 2064.7102178571427 | Take profit: 2106.2479232142855 +2025-03-10 13:28:17,252 - INFO - CLOSED long at 2072.91 | PnL: -0.11% | $-0.41 +2025-03-10 13:28:17,279 - INFO - OPENED LONG at 2072.33 | Stop loss: 2061.954067857143 | Take profit: 2103.4363732142856 +2025-03-10 13:28:17,305 - INFO - CLOSED long at 2071.38 | PnL: -0.05% | $-0.29 +2025-03-10 13:28:17,305 - INFO - OPENED SHORT at 2071.38 | Stop loss: 2081.7511821428575 | Take profit: 2040.2878767857144 +2025-03-10 13:28:17,444 - INFO - CLOSED short at 2070.28 | PnL: 0.05% | $-0.09 +2025-03-10 13:28:17,444 - INFO - OPENED LONG at 2070.28 | Stop loss: 2059.914317857143 | Take profit: 2101.3556232142855 +2025-03-10 13:28:18,176 - INFO - CLOSED long at 2070.4 | PnL: 0.01% | $-0.18 +2025-03-10 13:28:18,177 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.7662821428576 | Take profit: 2039.3225767857145 +2025-03-10 13:28:18,227 - INFO - CLOSED short at 2069.96 | PnL: 0.02% | $-0.15 +2025-03-10 13:28:18,228 - INFO - OPENED LONG at 2069.96 | Stop loss: 2059.595917857143 | Take profit: 2101.0308232142856 +2025-03-10 13:28:18,346 - INFO - CLOSED long at 2073.11 | PnL: 0.15% | $0.10 +2025-03-10 13:28:18,369 - INFO - OPENED LONG at 2072.7 | Stop loss: 2062.3222178571427 | Take profit: 2103.8119232142853 +2025-03-10 13:28:19,020 - INFO - CLOSED long at 2069.2 | PnL: -0.17% | $-0.53 +2025-03-10 13:28:19,020 - INFO - OPENED SHORT at 2069.2 | Stop loss: 2079.560282142857 | Take profit: 2038.140576785714 +2025-03-10 13:28:19,047 - INFO - CLOSED short at 2070.3 | PnL: -0.05% | $-0.30 +2025-03-10 13:28:19,047 - INFO - OPENED LONG at 2070.3 | Stop loss: 2059.934217857143 | Take profit: 2101.375923214286 +2025-03-10 13:28:19,496 - INFO - CLOSED long at 2064.99 | PnL: -0.26% | $-0.69 +2025-03-10 13:28:19,496 - INFO - OPENED SHORT at 2064.99 | Stop loss: 2075.329232142857 | Take profit: 2033.993726785714 +2025-03-10 13:28:19,516 - INFO - CLOSED short at 2065.83 | PnL: -0.04% | $-0.27 +2025-03-10 13:28:19,516 - INFO - OPENED LONG at 2065.83 | Stop loss: 2055.4865678571427 | Take profit: 2096.8388732142853 +2025-03-10 13:28:19,926 - INFO - CLOSED long at 2064.5 | PnL: -0.06% | $-0.32 +2025-03-10 13:28:19,976 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.2777178571428 | Take profit: 2092.5454232142856 +2025-03-10 13:28:20,077 - INFO - CLOSED long at 2059.3 | PnL: -0.11% | $-0.41 +2025-03-10 13:28:20,133 - INFO - OPENED LONG at 2060.31 | Stop loss: 2049.9941678571427 | Take profit: 2091.2360732142856 +2025-03-10 13:28:21,073 - INFO - CLOSED long at 2061.3 | PnL: 0.05% | $-0.10 +2025-03-10 13:28:21,074 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.6207821428575 | Take profit: 2030.3590767857145 +2025-03-10 13:28:21,096 - INFO - CLOSED short at 2062.69 | PnL: -0.07% | $-0.32 +2025-03-10 13:28:21,096 - INFO - OPENED LONG at 2062.69 | Stop loss: 2052.362267857143 | Take profit: 2093.6517732142856 +2025-03-10 13:28:23,299 - INFO - CLOSED long at 2068.1 | PnL: 0.26% | $0.31 +2025-03-10 13:28:23,300 - INFO - OPENED SHORT at 2068.1 | Stop loss: 2078.4547821428573 | Take profit: 2037.0570767857141 +2025-03-10 13:28:23,594 - INFO - CLOSED short at 2065.8 | PnL: 0.11% | $0.02 +2025-03-10 13:28:23,594 - INFO - OPENED LONG at 2065.8 | Stop loss: 2055.456717857143 | Take profit: 2096.808423214286 +2025-03-10 13:28:23,671 - INFO - CLOSED long at 2063.39 | PnL: -0.12% | $-0.41 +2025-03-10 13:28:23,700 - INFO - OPENED LONG at 2062.34 | Stop loss: 2052.014017857143 | Take profit: 2093.296523214286 +2025-03-10 13:28:24,136 - INFO - STOP LOSS hit for long at 2052.014017857143 | PnL: -0.50% | $-1.14 +2025-03-10 13:28:24,162 - INFO - OPENED LONG at 2049.5 | Stop loss: 2039.2382178571427 | Take profit: 2080.2639232142856 +2025-03-10 13:28:24,877 - INFO - CLOSED long at 2069.34 | PnL: 0.97% | $1.63 +2025-03-10 13:28:24,903 - INFO - OPENED LONG at 2069.81 | Stop loss: 2059.446667857143 | Take profit: 2100.8785732142856 +2025-03-10 13:28:25,191 - INFO - TAKE PROFIT hit for long at 2100.8785732142856 | PnL: 1.50% | $2.67 +2025-03-10 13:28:25,244 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.8280178571426 | Take profit: 2171.6545232142857 +2025-03-10 13:28:25,339 - INFO - CLOSED long at 2141.41 | PnL: 0.09% | $-0.02 +2025-03-10 13:28:25,526 - INFO - OPENED LONG at 2121.09 | Stop loss: 2110.470267857143 | Take profit: 2152.927773214286 +2025-03-10 13:28:25,642 - INFO - CLOSED long at 2118.52 | PnL: -0.12% | $-0.43 +2025-03-10 13:28:25,643 - INFO - OPENED SHORT at 2118.52 | Stop loss: 2129.126882142857 | Take profit: 2086.7207767857144 +2025-03-10 13:28:25,666 - INFO - CLOSED short at 2119.14 | PnL: -0.03% | $-0.25 +2025-03-10 13:28:25,666 - INFO - OPENED LONG at 2119.14 | Stop loss: 2108.530017857143 | Take profit: 2150.9485232142856 +2025-03-10 13:28:25,737 - INFO - STOP LOSS hit for long at 2108.530017857143 | PnL: -0.50% | $-1.17 +2025-03-10 13:28:25,761 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032717857143 | Take profit: 2142.2804232142853 +2025-03-10 13:28:25,949 - INFO - CLOSED long at 2116.48 | PnL: 0.28% | $0.34 +2025-03-10 13:28:25,997 - INFO - OPENED LONG at 2110.9 | Stop loss: 2100.331217857143 | Take profit: 2142.584923214286 +2025-03-10 13:28:26,145 - INFO - STOP LOSS hit for long at 2100.331217857143 | PnL: -0.50% | $-1.16 +2025-03-10 13:28:26,169 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0180678571433 | Take profit: 2131.044373214286 +2025-03-10 13:28:26,530 - INFO - CLOSED long at 2098.39 | PnL: -0.05% | $-0.29 +2025-03-10 13:28:26,601 - INFO - OPENED LONG at 2093.33 | Stop loss: 2082.849067857143 | Take profit: 2124.7513732142856 +2025-03-10 13:28:26,838 - INFO - STOP LOSS hit for long at 2082.849067857143 | PnL: -0.50% | $-1.14 +2025-03-10 13:28:26,866 - INFO - OPENED LONG at 2081.49 | Stop loss: 2071.068267857143 | Take profit: 2112.7337732142855 +2025-03-10 13:28:26,889 - INFO - CLOSED long at 2080.38 | PnL: -0.05% | $-0.29 +2025-03-10 13:28:26,916 - INFO - OPENED LONG at 2081.25 | Stop loss: 2070.829467857143 | Take profit: 2112.4901732142857 +2025-03-10 13:28:28,185 - INFO - Trade Analysis: Win Rate=13.3% in uptrends, 0.0% in downtrends | Avg Win=$0.76, Avg Loss=$-0.45 +2025-03-10 13:28:28,186 - INFO - Episode 10: Reward=-39.34, Balance=$94.25, Win Rate=24.3%, Trades=37, Episode PnL=$-2.95, Total PnL=$-86.19, Max Drawdown=6.4%, Pred Accuracy=98.0% +2025-03-10 13:28:28,322 - INFO - Model saved to checkpoints/trading_agent_episode_10.pt +2025-03-10 13:28:28,323 - INFO - Checkpoint saved at episode 10 +2025-03-10 13:28:28,423 - ERROR - Error creating visualization: No module named 'mplfinance' +2025-03-10 13:28:28,424 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2402, in visualize_training_results + from mplfinance.original_flavor import candlestick_ohlc +ModuleNotFoundError: No module named 'mplfinance' + +2025-03-10 13:28:28,720 - INFO - OPENED LONG at 2051.11 | Stop loss: 2040.840167857143 | Take profit: 2081.898073214286 +2025-03-10 13:28:29,375 - INFO - CLOSED long at 2057.8 | PnL: 0.33% | $0.45 +2025-03-10 13:28:29,403 - INFO - OPENED LONG at 2057.89 | Stop loss: 2047.5862678571427 | Take profit: 2088.779773214286 +2025-03-10 13:28:30,012 - INFO - CLOSED long at 2067.9 | PnL: 0.49% | $0.77 +2025-03-10 13:28:30,013 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.2537821428573 | Take profit: 2036.8600767857145 +2025-03-10 13:28:30,153 - INFO - CLOSED short at 2072.91 | PnL: -0.24% | $-0.69 +2025-03-10 13:28:30,153 - INFO - OPENED LONG at 2072.91 | Stop loss: 2062.531167857143 | Take profit: 2104.0250732142854 +2025-03-10 13:28:31,127 - INFO - CLOSED long at 2071.39 | PnL: -0.07% | $-0.35 +2025-03-10 13:28:31,174 - INFO - OPENED LONG at 2072.75 | Stop loss: 2062.371967857143 | Take profit: 2103.8626732142857 +2025-03-10 13:28:31,294 - INFO - CLOSED long at 2073.9 | PnL: 0.06% | $-0.09 +2025-03-10 13:28:31,350 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.7662821428576 | Take profit: 2039.3225767857145 +2025-03-10 13:28:31,378 - INFO - CLOSED short at 2071.11 | PnL: -0.03% | $-0.27 +2025-03-10 13:28:31,378 - INFO - OPENED LONG at 2071.11 | Stop loss: 2060.740167857143 | Take profit: 2102.1980732142856 +2025-03-10 13:28:31,689 - INFO - CLOSED long at 2069.34 | PnL: -0.09% | $-0.37 +2025-03-10 13:28:31,689 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.7009821428574 | Take profit: 2038.2784767857145 +2025-03-10 13:28:31,711 - INFO - CLOSED short at 2067.86 | PnL: 0.07% | $-0.06 +2025-03-10 13:28:31,711 - INFO - OPENED LONG at 2067.86 | Stop loss: 2057.506417857143 | Take profit: 2098.899323214286 +2025-03-10 13:28:32,042 - INFO - CLOSED long at 2066.1 | PnL: -0.09% | $-0.37 +2025-03-10 13:28:32,043 - INFO - OPENED SHORT at 2066.1 | Stop loss: 2076.444782142857 | Take profit: 2035.0870767857143 +2025-03-10 13:28:32,070 - INFO - CLOSED short at 2065.28 | PnL: 0.04% | $-0.12 +2025-03-10 13:28:32,070 - INFO - OPENED LONG at 2065.28 | Stop loss: 2054.939317857143 | Take profit: 2096.2806232142857 +2025-03-10 13:28:33,156 - INFO - CLOSED long at 2064.79 | PnL: -0.02% | $-0.24 +2025-03-10 13:28:33,178 - INFO - OPENED LONG at 2065.89 | Stop loss: 2055.5462678571425 | Take profit: 2096.8997732142852 +2025-03-10 13:28:33,477 - INFO - CLOSED long at 2059.46 | PnL: -0.31% | $-0.81 +2025-03-10 13:28:33,477 - INFO - OPENED SHORT at 2059.46 | Stop loss: 2069.771582142857 | Take profit: 2028.5466767857142 +2025-03-10 13:28:33,499 - INFO - CLOSED short at 2057.4 | PnL: 0.10% | $0.00 +2025-03-10 13:28:33,500 - INFO - OPENED LONG at 2057.4 | Stop loss: 2047.098717857143 | Take profit: 2088.282423214286 +2025-03-10 13:28:33,632 - INFO - CLOSED long at 2056.71 | PnL: -0.03% | $-0.26 +2025-03-10 13:28:33,632 - INFO - OPENED SHORT at 2056.71 | Stop loss: 2067.0078321428573 | Take profit: 2025.8379267857144 +2025-03-10 13:28:33,656 - INFO - CLOSED short at 2058.15 | PnL: -0.07% | $-0.33 +2025-03-10 13:28:33,657 - INFO - OPENED LONG at 2058.15 | Stop loss: 2047.844967857143 | Take profit: 2089.0436732142857 +2025-03-10 13:28:33,864 - INFO - CLOSED long at 2066.01 | PnL: 0.38% | $0.54 +2025-03-10 13:28:33,886 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.566217857143 | Take profit: 2094.8799232142856 +2025-03-10 13:28:34,029 - INFO - CLOSED long at 2067.01 | PnL: 0.15% | $0.10 +2025-03-10 13:28:34,053 - INFO - OPENED LONG at 2065.69 | Stop loss: 2055.347267857143 | Take profit: 2096.6967732142857 +2025-03-10 13:28:34,647 - INFO - CLOSED long at 2069.87 | PnL: 0.20% | $0.20 +2025-03-10 13:28:34,647 - INFO - OPENED SHORT at 2069.87 | Stop loss: 2080.233632142857 | Take profit: 2038.800526785714 +2025-03-10 13:28:34,705 - INFO - CLOSED short at 2067.33 | PnL: 0.12% | $0.04 +2025-03-10 13:28:34,705 - INFO - OPENED LONG at 2067.33 | Stop loss: 2056.9790678571426 | Take profit: 2098.3613732142853 +2025-03-10 13:28:35,390 - INFO - CLOSED long at 2070.7 | PnL: 0.16% | $0.12 +2025-03-10 13:28:35,390 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.0677821428567 | Take profit: 2039.618076785714 +2025-03-10 13:28:35,481 - INFO - CLOSED short at 2070.35 | PnL: 0.02% | $-0.16 +2025-03-10 13:28:35,481 - INFO - OPENED LONG at 2070.35 | Stop loss: 2059.983967857143 | Take profit: 2101.4266732142855 +2025-03-10 13:28:35,975 - INFO - CLOSED long at 2074.0 | PnL: 0.18% | $0.15 +2025-03-10 13:28:36,000 - INFO - OPENED LONG at 2072.09 | Stop loss: 2061.715267857143 | Take profit: 2103.1927732142863 +2025-03-10 13:28:36,121 - INFO - CLOSED long at 2066.4 | PnL: -0.27% | $-0.73 +2025-03-10 13:28:36,145 - INFO - OPENED LONG at 2066.89 | Stop loss: 2056.541267857143 | Take profit: 2097.9147732142856 +2025-03-10 13:28:36,373 - INFO - CLOSED long at 2065.8 | PnL: -0.05% | $-0.30 +2025-03-10 13:28:36,398 - INFO - OPENED LONG at 2065.07 | Stop loss: 2054.730367857143 | Take profit: 2096.067473214286 +2025-03-10 13:28:36,469 - INFO - CLOSED long at 2062.34 | PnL: -0.13% | $-0.45 +2025-03-10 13:28:36,470 - INFO - OPENED SHORT at 2062.34 | Stop loss: 2072.6659821428575 | Take profit: 2031.3834767857145 +2025-03-10 13:28:36,499 - INFO - CLOSED short at 2063.98 | PnL: -0.08% | $-0.35 +2025-03-10 13:28:36,500 - INFO - OPENED LONG at 2063.98 | Stop loss: 2053.645817857143 | Take profit: 2094.9611232142856 +2025-03-10 13:28:36,522 - INFO - CLOSED long at 2066.1 | PnL: 0.10% | $0.01 +2025-03-10 13:28:36,522 - INFO - OPENED SHORT at 2066.1 | Stop loss: 2076.444782142857 | Take profit: 2035.0870767857143 +2025-03-10 13:28:36,546 - INFO - CLOSED short at 2065.06 | PnL: 0.05% | $-0.10 +2025-03-10 13:28:36,547 - INFO - OPENED LONG at 2065.06 | Stop loss: 2054.720417857143 | Take profit: 2096.0573232142856 +2025-03-10 13:28:36,707 - INFO - CLOSED long at 2059.2 | PnL: -0.28% | $-0.73 +2025-03-10 13:28:36,709 - INFO - OPENED SHORT at 2059.2 | Stop loss: 2069.5102821428572 | Take profit: 2028.290576785714 +2025-03-10 13:28:36,735 - INFO - CLOSED short at 2058.09 | PnL: 0.05% | $-0.09 +2025-03-10 13:28:36,736 - INFO - OPENED LONG at 2058.09 | Stop loss: 2047.785267857143 | Take profit: 2088.9827732142858 +2025-03-10 13:28:36,805 - INFO - CLOSED long at 2053.01 | PnL: -0.25% | $-0.66 +2025-03-10 13:28:36,805 - INFO - OPENED SHORT at 2053.01 | Stop loss: 2063.2893321428573 | Take profit: 2022.1934267857146 +2025-03-10 13:28:36,836 - INFO - CLOSED short at 2049.21 | PnL: 0.19% | $0.16 +2025-03-10 13:28:36,836 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.949667857143 | Take profit: 2079.969573214286 +2025-03-10 13:28:37,708 - INFO - TAKE PROFIT hit for long at 2079.969573214286 | PnL: 1.50% | $2.64 +2025-03-10 13:28:37,733 - INFO - OPENED LONG at 2090.49 | Stop loss: 2080.023267857143 | Take profit: 2121.8687732142853 +2025-03-10 13:28:37,784 - INFO - CLOSED long at 2130.7 | PnL: 1.92% | $3.54 +2025-03-10 13:28:37,877 - INFO - OPENED LONG at 2137.59 | Stop loss: 2126.887767857143 | Take profit: 2169.675273214286 +2025-03-10 13:28:38,058 - INFO - CLOSED long at 2128.69 | PnL: -0.42% | $-1.04 +2025-03-10 13:28:38,102 - INFO - OPENED SHORT at 2120.15 | Stop loss: 2130.7650321428573 | Take profit: 2088.326326785714 +2025-03-10 13:28:38,128 - INFO - CLOSED short at 2117.24 | PnL: 0.14% | $0.07 +2025-03-10 13:28:38,128 - INFO - OPENED LONG at 2117.24 | Stop loss: 2106.6395178571424 | Take profit: 2149.0200232142856 +2025-03-10 13:28:38,179 - INFO - CLOSED long at 2121.4 | PnL: 0.20% | $0.19 +2025-03-10 13:28:38,228 - INFO - OPENED LONG at 2119.14 | Stop loss: 2108.530017857143 | Take profit: 2150.9485232142856 +2025-03-10 13:28:38,299 - INFO - STOP LOSS hit for long at 2108.530017857143 | PnL: -0.50% | $-1.20 +2025-03-10 13:28:38,327 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032717857143 | Take profit: 2142.2804232142853 +2025-03-10 13:28:38,724 - INFO - STOP LOSS hit for long at 2100.032717857143 | PnL: -0.50% | $-1.18 +2025-03-10 13:28:38,815 - INFO - OPENED LONG at 2102.19 | Stop loss: 2091.664767857143 | Take profit: 2133.744273214286 +2025-03-10 13:28:39,096 - INFO - CLOSED long at 2099.59 | PnL: -0.12% | $-0.44 +2025-03-10 13:28:39,131 - INFO - OPENED LONG at 2100.02 | Stop loss: 2089.505617857143 | Take profit: 2131.5417232142854 +2025-03-10 13:28:39,294 - INFO - CLOSED long at 2091.1 | PnL: -0.42% | $-1.02 +2025-03-10 13:28:39,295 - INFO - OPENED SHORT at 2091.1 | Stop loss: 2101.569782142857 | Take profit: 2059.712076785714 +2025-03-10 13:28:39,326 - INFO - CLOSED short at 2094.72 | PnL: -0.17% | $-0.52 +2025-03-10 13:28:39,326 - INFO - OPENED LONG at 2094.72 | Stop loss: 2084.2321178571424 | Take profit: 2126.1622232142854 +2025-03-10 13:28:39,403 - INFO - STOP LOSS hit for long at 2084.2321178571424 | PnL: -0.50% | $-1.15 +2025-03-10 13:28:39,429 - INFO - OPENED LONG at 2088.44 | Stop loss: 2077.983517857143 | Take profit: 2119.7880232142857 +2025-03-10 13:28:39,627 - INFO - CLOSED long at 2081.25 | PnL: -0.34% | $-0.84 +2025-03-10 13:28:39,627 - INFO - OPENED SHORT at 2081.25 | Stop loss: 2091.670532142857 | Take profit: 2050.0098267857143 +2025-03-10 13:28:39,692 - INFO - CLOSED short at 2083.41 | PnL: -0.10% | $-0.38 +2025-03-10 13:28:39,693 - INFO - OPENED LONG at 2083.41 | Stop loss: 2072.9786678571427 | Take profit: 2114.6825732142856 +2025-03-10 13:28:39,804 - INFO - CLOSED long at 2083.59 | PnL: 0.01% | $-0.17 +2025-03-10 13:28:39,838 - INFO - OPENED LONG at 2086.57 | Stop loss: 2076.1228678571433 | Take profit: 2117.889973214286 +2025-03-10 13:28:40,695 - INFO - CLOSED long at 2097.11 | PnL: 0.51% | $0.75 +2025-03-10 13:28:40,724 - INFO - OPENED LONG at 2098.49 | Stop loss: 2087.9832678571424 | Take profit: 2129.9887732142856 +2025-03-10 13:28:41,695 - INFO - Trade Analysis: Win Rate=26.3% in uptrends, 0.0% in downtrends | Avg Win=$0.61, Avg Loss=$-0.50 +2025-03-10 13:28:41,696 - INFO - Episode 11: Reward=56.91, Balance=$94.32, Win Rate=34.0%, Trades=47, Episode PnL=$-1.29, Total PnL=$-91.87, Max Drawdown=7.6%, Pred Accuracy=98.3% +2025-03-10 13:28:41,870 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 13:28:41,871 - INFO - New best PnL model saved: $-1.29 +2025-03-10 13:28:42,424 - INFO - OPENED LONG at 2049.89 | Stop loss: 2039.6262678571427 | Take profit: 2080.659773214286 +2025-03-10 13:28:42,605 - INFO - CLOSED long at 2057.01 | PnL: 0.35% | $0.49 +2025-03-10 13:28:42,605 - INFO - OPENED SHORT at 2057.01 | Stop loss: 2067.3093321428573 | Take profit: 2026.1334267857144 +2025-03-10 13:28:42,651 - INFO - CLOSED short at 2056.89 | PnL: 0.01% | $-0.19 +2025-03-10 13:28:42,651 - INFO - OPENED LONG at 2056.89 | Stop loss: 2046.5912678571426 | Take profit: 2087.764773214286 +2025-03-10 13:28:43,233 - INFO - CLOSED long at 2060.31 | PnL: 0.17% | $0.13 +2025-03-10 13:28:43,233 - INFO - OPENED SHORT at 2060.31 | Stop loss: 2070.625832142857 | Take profit: 2029.3839267857143 +2025-03-10 13:28:43,262 - INFO - CLOSED short at 2059.49 | PnL: 0.04% | $-0.12 +2025-03-10 13:28:43,262 - INFO - OPENED LONG at 2059.49 | Stop loss: 2049.1782678571426 | Take profit: 2090.4037732142856 +2025-03-10 13:28:43,891 - INFO - CLOSED long at 2067.9 | PnL: 0.41% | $0.61 +2025-03-10 13:28:43,891 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.2537821428573 | Take profit: 2036.8600767857145 +2025-03-10 13:28:43,917 - INFO - CLOSED short at 2067.69 | PnL: 0.01% | $-0.18 +2025-03-10 13:28:43,917 - INFO - OPENED LONG at 2067.69 | Stop loss: 2057.337267857143 | Take profit: 2098.726773214286 +2025-03-10 13:28:44,998 - INFO - CLOSED long at 2072.75 | PnL: 0.24% | $0.29 +2025-03-10 13:28:44,999 - INFO - OPENED SHORT at 2072.75 | Stop loss: 2083.128032142857 | Take profit: 2041.6373267857143 +2025-03-10 13:28:45,031 - INFO - CLOSED short at 2073.11 | PnL: -0.02% | $-0.24 +2025-03-10 13:28:45,031 - INFO - OPENED LONG at 2073.11 | Stop loss: 2062.730167857143 | Take profit: 2104.228073214286 +2025-03-10 13:28:45,160 - INFO - CLOSED long at 2071.92 | PnL: -0.06% | $-0.32 +2025-03-10 13:28:45,160 - INFO - OPENED SHORT at 2071.92 | Stop loss: 2082.2938821428575 | Take profit: 2040.8197767857143 +2025-03-10 13:28:45,247 - INFO - CLOSED short at 2069.46 | PnL: 0.12% | $0.04 +2025-03-10 13:28:45,247 - INFO - OPENED LONG at 2069.46 | Stop loss: 2059.098417857143 | Take profit: 2100.523323214286 +2025-03-10 13:28:45,627 - INFO - CLOSED long at 2069.34 | PnL: -0.01% | $-0.21 +2025-03-10 13:28:45,768 - INFO - OPENED LONG at 2071.59 | Stop loss: 2061.217767857143 | Take profit: 2102.6852732142856 +2025-03-10 13:28:46,111 - INFO - CLOSED long at 2064.47 | PnL: -0.34% | $-0.88 +2025-03-10 13:28:46,112 - INFO - OPENED SHORT at 2064.47 | Stop loss: 2074.806632142857 | Take profit: 2033.481526785714 +2025-03-10 13:28:46,139 - INFO - CLOSED short at 2070.04 | PnL: -0.27% | $-0.73 +2025-03-10 13:28:46,140 - INFO - OPENED LONG at 2070.04 | Stop loss: 2059.675517857143 | Take profit: 2101.1120232142853 +2025-03-10 13:28:46,451 - INFO - STOP LOSS hit for long at 2059.675517857143 | PnL: -0.50% | $-1.18 +2025-03-10 13:28:46,492 - INFO - OPENED LONG at 2061.3 | Stop loss: 2050.979217857143 | Take profit: 2092.240923214286 +2025-03-10 13:28:46,807 - INFO - CLOSED long at 2063.5 | PnL: 0.11% | $0.01 +2025-03-10 13:28:46,862 - INFO - OPENED LONG at 2060.9 | Stop loss: 2050.5812178571427 | Take profit: 2091.834923214286 +2025-03-10 13:28:47,994 - INFO - CLOSED long at 2054.83 | PnL: -0.29% | $-0.76 +2025-03-10 13:28:48,057 - INFO - OPENED LONG at 2056.71 | Stop loss: 2046.412167857143 | Take profit: 2087.5820732142856 +2025-03-10 13:28:48,366 - INFO - CLOSED long at 2066.36 | PnL: 0.47% | $0.71 +2025-03-10 13:28:48,400 - INFO - OPENED LONG at 2066.01 | Stop loss: 2055.665667857143 | Take profit: 2097.021573214286 +2025-03-10 13:28:48,956 - INFO - CLOSED long at 2075.01 | PnL: 0.44% | $0.65 +2025-03-10 13:28:48,957 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.399332142857 | Take profit: 2043.8634267857146 +2025-03-10 13:28:49,012 - INFO - CLOSED short at 2072.6 | PnL: 0.12% | $0.03 +2025-03-10 13:28:49,012 - INFO - OPENED LONG at 2072.6 | Stop loss: 2062.222717857143 | Take profit: 2103.710423214286 +2025-03-10 13:28:50,263 - INFO - CLOSED long at 2069.78 | PnL: -0.14% | $-0.46 +2025-03-10 13:28:50,293 - INFO - OPENED LONG at 2071.61 | Stop loss: 2061.2376678571427 | Take profit: 2102.705573214286 +2025-03-10 13:28:50,376 - INFO - CLOSED long at 2074.35 | PnL: 0.13% | $0.06 +2025-03-10 13:28:50,377 - INFO - OPENED SHORT at 2074.35 | Stop loss: 2084.736032142857 | Take profit: 2043.2133267857143 +2025-03-10 13:28:50,439 - INFO - CLOSED short at 2073.99 | PnL: 0.02% | $-0.16 +2025-03-10 13:28:50,440 - INFO - OPENED LONG at 2073.99 | Stop loss: 2063.605767857143 | Take profit: 2105.121273214286 +2025-03-10 13:28:50,824 - INFO - CLOSED long at 2067.88 | PnL: -0.29% | $-0.77 +2025-03-10 13:28:50,883 - INFO - OPENED LONG at 2068.1 | Stop loss: 2057.745217857143 | Take profit: 2099.1429232142855 +2025-03-10 13:28:51,169 - INFO - CLOSED long at 2063.39 | PnL: -0.23% | $-0.63 +2025-03-10 13:28:51,240 - INFO - OPENED LONG at 2063.98 | Stop loss: 2053.645817857143 | Take profit: 2094.9611232142856 +2025-03-10 13:28:51,268 - INFO - CLOSED long at 2066.1 | PnL: 0.10% | $0.01 +2025-03-10 13:28:51,297 - INFO - OPENED LONG at 2065.06 | Stop loss: 2054.720417857143 | Take profit: 2096.0573232142856 +2025-03-10 13:28:51,466 - INFO - CLOSED long at 2060.2 | PnL: -0.24% | $-0.64 +2025-03-10 13:28:51,564 - INFO - OPENED SHORT at 2056.77 | Stop loss: 2067.068132142857 | Take profit: 2025.8970267857144 +2025-03-10 13:28:51,593 - INFO - CLOSED short at 2053.01 | PnL: 0.18% | $0.16 +2025-03-10 13:28:51,620 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.949667857143 | Take profit: 2079.969573214286 +2025-03-10 13:28:51,715 - INFO - CLOSED long at 2056.85 | PnL: 0.37% | $0.52 +2025-03-10 13:28:51,739 - INFO - OPENED LONG at 2057.11 | Stop loss: 2046.8101678571431 | Take profit: 2087.9880732142856 +2025-03-10 13:28:51,768 - INFO - CLOSED long at 2057.89 | PnL: 0.04% | $-0.12 +2025-03-10 13:28:51,846 - INFO - OPENED LONG at 2065.1 | Stop loss: 2054.760217857143 | Take profit: 2096.0979232142854 +2025-03-10 13:28:51,872 - INFO - CLOSED long at 2062.43 | PnL: -0.13% | $-0.44 +2025-03-10 13:28:51,958 - INFO - OPENED LONG at 2068.33 | Stop loss: 2057.974067857143 | Take profit: 2099.3763732142856 +2025-03-10 13:28:52,017 - INFO - CLOSED long at 2066.59 | PnL: -0.08% | $-0.35 +2025-03-10 13:28:52,048 - INFO - OPENED LONG at 2064.08 | Stop loss: 2053.7453178571427 | Take profit: 2095.0626232142854 +2025-03-10 13:28:52,293 - INFO - CLOSED long at 2069.34 | PnL: 0.25% | $0.29 +2025-03-10 13:28:52,321 - INFO - OPENED LONG at 2069.81 | Stop loss: 2059.446667857143 | Take profit: 2100.8785732142856 +2025-03-10 13:28:52,685 - INFO - TAKE PROFIT hit for long at 2100.8785732142856 | PnL: 1.50% | $2.66 +2025-03-10 13:28:52,826 - INFO - OPENED LONG at 2131.78 | Stop loss: 2121.106817857143 | Take profit: 2163.7781232142856 +2025-03-10 13:28:52,964 - INFO - CLOSED long at 2142.68 | PnL: 0.51% | $0.80 +2025-03-10 13:28:52,965 - INFO - OPENED SHORT at 2142.68 | Stop loss: 2153.4076821428566 | Take profit: 2110.5183767857143 +2025-03-10 13:28:53,076 - INFO - CLOSED short at 2134.78 | PnL: 0.37% | $0.53 +2025-03-10 13:28:53,076 - INFO - OPENED LONG at 2134.78 | Stop loss: 2124.0918178571433 | Take profit: 2166.8231232142857 +2025-03-10 13:28:53,268 - INFO - CLOSED long at 2121.09 | PnL: -0.64% | $-1.47 +2025-03-10 13:28:53,295 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.534967857143 | Take profit: 2151.9736732142856 +2025-03-10 13:28:53,614 - INFO - STOP LOSS hit for long at 2109.534967857143 | PnL: -0.50% | $-1.17 +2025-03-10 13:28:53,642 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032717857143 | Take profit: 2142.2804232142853 +2025-03-10 13:28:54,188 - INFO - STOP LOSS hit for long at 2100.032717857143 | PnL: -0.50% | $-1.16 +2025-03-10 13:28:54,353 - INFO - OPENED LONG at 2102.19 | Stop loss: 2091.664767857143 | Take profit: 2133.744273214286 +2025-03-10 13:28:54,555 - INFO - CLOSED long at 2100.74 | PnL: -0.07% | $-0.32 +2025-03-10 13:28:54,555 - INFO - OPENED SHORT at 2100.74 | Stop loss: 2111.2579821428567 | Take profit: 2069.207476785714 +2025-03-10 13:28:54,645 - INFO - CLOSED short at 2104.68 | PnL: -0.19% | $-0.55 +2025-03-10 13:28:54,646 - INFO - OPENED LONG at 2104.68 | Stop loss: 2094.1423178571426 | Take profit: 2136.2716232142857 +2025-03-10 13:28:54,831 - INFO - STOP LOSS hit for long at 2094.1423178571426 | PnL: -0.50% | $-1.13 +2025-03-10 13:28:54,886 - INFO - OPENED LONG at 2092.46 | Stop loss: 2081.9834178571427 | Take profit: 2123.8683232142857 +2025-03-10 13:28:55,065 - INFO - CLOSED long at 2083.97 | PnL: -0.41% | $-0.94 +2025-03-10 13:28:55,065 - INFO - OPENED SHORT at 2083.97 | Stop loss: 2094.4041321428567 | Take profit: 2052.689026785714 +2025-03-10 13:28:55,100 - INFO - CLOSED short at 2085.3 | PnL: -0.06% | $-0.30 +2025-03-10 13:28:55,100 - INFO - OPENED LONG at 2085.3 | Stop loss: 2074.859217857143 | Take profit: 2116.600923214286 +2025-03-10 13:28:56,449 - INFO - CLOSED long at 2100.0 | PnL: 0.70% | $1.11 +2025-03-10 13:28:56,450 - INFO - OPENED SHORT at 2100.0 | Stop loss: 2110.514282142857 | Take profit: 2068.4785767857143 +2025-03-10 13:28:56,477 - INFO - CLOSED short at 2102.7 | PnL: -0.13% | $-0.43 +2025-03-10 13:28:56,477 - INFO - OPENED LONG at 2102.7 | Stop loss: 2092.1722178571426 | Take profit: 2134.261923214285 +2025-03-10 13:28:56,531 - INFO - CLOSED long at 2103.41 | PnL: 0.03% | $-0.12 +2025-03-10 13:28:56,532 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9413321428574 | Take profit: 2071.8374267857143 +2025-03-10 13:28:56,567 - INFO - CLOSED short at 2104.73 | PnL: -0.06% | $-0.30 +2025-03-10 13:28:56,568 - INFO - OPENED LONG at 2104.73 | Stop loss: 2094.192067857143 | Take profit: 2136.322373214286 +2025-03-10 13:28:56,714 - INFO - Trade Analysis: Win Rate=22.2% in uptrends, 0.0% in downtrends | Avg Win=$0.51, Avg Loss=$-0.56 +2025-03-10 13:28:56,715 - INFO - Episode 12: Reward=60.54, Balance=$92.85, Win Rate=38.3%, Trades=47, Episode PnL=$-8.72, Total PnL=$-99.02, Max Drawdown=6.5%, Pred Accuracy=98.7% +2025-03-10 13:28:56,936 - INFO - OPENED LONG at 2049.89 | Stop loss: 2039.6262678571427 | Take profit: 2080.659773214286 +2025-03-10 13:28:57,407 - INFO - CLOSED long at 2063.01 | PnL: 0.64% | $1.07 +2025-03-10 13:28:57,431 - INFO - OPENED LONG at 2060.99 | Stop loss: 2050.6707678571424 | Take profit: 2091.9262732142856 +2025-03-10 13:28:57,849 - INFO - CLOSED long at 2068.11 | PnL: 0.35% | $0.49 +2025-03-10 13:28:57,850 - INFO - OPENED SHORT at 2068.11 | Stop loss: 2078.464832142857 | Take profit: 2037.0669267857145 +2025-03-10 13:28:57,900 - INFO - CLOSED short at 2067.89 | PnL: 0.01% | $-0.18 +2025-03-10 13:28:57,901 - INFO - OPENED LONG at 2067.89 | Stop loss: 2057.536267857143 | Take profit: 2098.9297732142854 +2025-03-10 13:29:00,480 - INFO - CLOSED long at 2069.2 | PnL: 0.06% | $-0.07 +2025-03-10 13:29:00,541 - INFO - OPENED LONG at 2071.59 | Stop loss: 2061.217767857143 | Take profit: 2102.6852732142856 +2025-03-10 13:29:01,193 - INFO - CLOSED long at 2062.65 | PnL: -0.43% | $-1.07 +2025-03-10 13:29:01,229 - INFO - OPENED LONG at 2061.78 | Stop loss: 2051.456817857143 | Take profit: 2092.728123214286 +2025-03-10 13:29:03,486 - INFO - CLOSED long at 2070.0 | PnL: 0.40% | $0.59 +2025-03-10 13:29:03,525 - INFO - OPENED LONG at 2068.15 | Stop loss: 2057.794967857143 | Take profit: 2099.193673214286 +2025-03-10 13:29:03,839 - INFO - CLOSED long at 2072.99 | PnL: 0.23% | $0.27 +2025-03-10 13:29:03,839 - INFO - OPENED SHORT at 2072.99 | Stop loss: 2083.369232142857 | Take profit: 2041.873726785714 +2025-03-10 13:29:03,868 - INFO - CLOSED short at 2071.49 | PnL: 0.07% | $-0.06 +2025-03-10 13:29:03,869 - INFO - OPENED LONG at 2071.49 | Stop loss: 2061.1182678571427 | Take profit: 2102.5837732142854 +2025-03-10 13:29:04,145 - INFO - CLOSED long at 2063.95 | PnL: -0.36% | $-0.93 +2025-03-10 13:29:04,146 - INFO - OPENED SHORT at 2063.95 | Stop loss: 2074.284032142857 | Take profit: 2032.9693267857142 +2025-03-10 13:29:04,201 - INFO - CLOSED short at 2063.97 | PnL: -0.00% | $-0.20 +2025-03-10 13:29:04,201 - INFO - OPENED LONG at 2063.97 | Stop loss: 2053.635867857143 | Take profit: 2094.9509732142856 +2025-03-10 13:29:04,931 - INFO - CLOSED long at 2070.35 | PnL: 0.31% | $0.42 +2025-03-10 13:29:05,034 - INFO - OPENED LONG at 2068.19 | Stop loss: 2057.834767857143 | Take profit: 2099.2342732142856 +2025-03-10 13:29:05,139 - INFO - CLOSED long at 2071.61 | PnL: 0.17% | $0.13 +2025-03-10 13:29:05,254 - INFO - OPENED LONG at 2074.35 | Stop loss: 2063.9639678571425 | Take profit: 2105.4866732142855 +2025-03-10 13:29:05,849 - INFO - CLOSED long at 2067.88 | PnL: -0.31% | $-0.82 +2025-03-10 13:29:05,953 - INFO - OPENED LONG at 2070.19 | Stop loss: 2059.824767857143 | Take profit: 2101.264273214286 +2025-03-10 13:29:06,359 - INFO - CLOSED long at 2063.98 | PnL: -0.30% | $-0.79 +2025-03-10 13:29:06,386 - INFO - OPENED LONG at 2066.1 | Stop loss: 2055.7552178571427 | Take profit: 2097.1129232142857 +2025-03-10 13:29:06,875 - INFO - CLOSED long at 2053.01 | PnL: -0.63% | $-1.44 +2025-03-10 13:29:06,973 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.949667857143 | Take profit: 2079.969573214286 +2025-03-10 13:29:08,268 - INFO - TAKE PROFIT hit for long at 2079.969573214286 | PnL: 1.50% | $2.71 +2025-03-10 13:29:08,294 - INFO - OPENED LONG at 2090.49 | Stop loss: 2080.023267857143 | Take profit: 2121.8687732142853 +2025-03-10 13:29:08,348 - INFO - TAKE PROFIT hit for long at 2121.8687732142853 | PnL: 1.50% | $2.79 +2025-03-10 13:29:08,373 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.8280178571426 | Take profit: 2171.6545232142857 +2025-03-10 13:29:08,733 - INFO - STOP LOSS hit for long at 2128.8280178571426 | PnL: -0.50% | $-1.23 +2025-03-10 13:29:08,788 - INFO - OPENED LONG at 2128.69 | Stop loss: 2118.032267857143 | Take profit: 2160.6417732142854 +2025-03-10 13:29:08,992 - INFO - STOP LOSS hit for long at 2118.032267857143 | PnL: -0.50% | $-1.21 +2025-03-10 13:29:09,019 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.3160678571426 | Take profit: 2151.750373214286 +2025-03-10 13:29:09,219 - INFO - STOP LOSS hit for long at 2109.3160678571426 | PnL: -0.50% | $-1.20 +2025-03-10 13:29:09,330 - INFO - OPENED LONG at 2112.95 | Stop loss: 2102.3709678571427 | Take profit: 2144.6656732142856 +2025-03-10 13:29:09,628 - INFO - CLOSED long at 2108.06 | PnL: -0.23% | $-0.65 +2025-03-10 13:29:09,629 - INFO - OPENED SHORT at 2108.06 | Stop loss: 2118.6145821428568 | Take profit: 2076.4176767857143 +2025-03-10 13:29:09,656 - INFO - CLOSED short at 2103.33 | PnL: 0.22% | $0.24 +2025-03-10 13:29:09,656 - INFO - OPENED LONG at 2103.33 | Stop loss: 2092.7990678571427 | Take profit: 2134.9013732142853 +2025-03-10 13:29:09,707 - INFO - CLOSED long at 2090.0 | PnL: -0.63% | $-1.44 +2025-03-10 13:29:09,794 - INFO - OPENED LONG at 2102.19 | Stop loss: 2091.664767857143 | Take profit: 2133.744273214286 +2025-03-10 13:29:10,329 - INFO - STOP LOSS hit for long at 2091.664767857143 | PnL: -0.50% | $-1.16 +2025-03-10 13:29:10,383 - INFO - OPENED LONG at 2094.08 | Stop loss: 2083.5953178571426 | Take profit: 2125.5126232142857 +2025-03-10 13:29:10,432 - INFO - STOP LOSS hit for long at 2083.5953178571426 | PnL: -0.50% | $-1.15 +2025-03-10 13:29:10,465 - INFO - OPENED LONG at 2088.44 | Stop loss: 2077.983517857143 | Take profit: 2119.7880232142857 +2025-03-10 13:29:10,595 - INFO - CLOSED long at 2080.38 | PnL: -0.39% | $-0.92 +2025-03-10 13:29:10,626 - INFO - OPENED LONG at 2081.25 | Stop loss: 2070.829467857143 | Take profit: 2112.4901732142857 +2025-03-10 13:29:11,849 - INFO - CLOSED long at 2103.9 | PnL: 1.09% | $1.85 +2025-03-10 13:29:11,849 - INFO - OPENED SHORT at 2103.9 | Stop loss: 2114.4337821428576 | Take profit: 2072.3200767857143 +2025-03-10 13:29:12,124 - INFO - Trade Analysis: Win Rate=27.3% in uptrends, 0.0% in downtrends | Avg Win=$1.06, Avg Loss=$-0.85 +2025-03-10 13:29:12,125 - INFO - Episode 13: Reward=70.40, Balance=$96.03, Win Rate=37.0%, Trades=27, Episode PnL=$-4.99, Total PnL=$-102.98, Max Drawdown=8.5%, Pred Accuracy=98.8% +2025-03-10 13:29:12,342 - INFO - OPENED LONG at 2049.89 | Stop loss: 2039.6262678571427 | Take profit: 2080.659773214286 +2025-03-10 13:29:12,842 - INFO - CLOSED long at 2063.59 | PnL: 0.67% | $1.13 +2025-03-10 13:29:12,842 - INFO - OPENED SHORT at 2063.59 | Stop loss: 2073.9222321428574 | Take profit: 2032.6147267857143 +2025-03-10 13:29:13,185 - INFO - CLOSED short at 2062.89 | PnL: 0.03% | $-0.13 +2025-03-10 13:29:13,186 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.561267857143 | Take profit: 2093.8547732142856 +2025-03-10 13:29:14,523 - INFO - CLOSED long at 2067.51 | PnL: 0.22% | $0.25 +2025-03-10 13:29:14,552 - INFO - OPENED LONG at 2069.01 | Stop loss: 2058.650667857143 | Take profit: 2100.0665732142857 +2025-03-10 13:29:14,932 - INFO - CLOSED long at 2071.4 | PnL: 0.12% | $0.03 +2025-03-10 13:29:14,933 - INFO - OPENED SHORT at 2071.4 | Stop loss: 2081.771282142857 | Take profit: 2040.3075767857144 +2025-03-10 13:29:14,960 - INFO - CLOSED short at 2071.39 | PnL: 0.00% | $-0.20 +2025-03-10 13:29:14,960 - INFO - OPENED LONG at 2071.39 | Stop loss: 2061.018767857143 | Take profit: 2102.482273214285 +2025-03-10 13:29:15,532 - INFO - CLOSED long at 2068.58 | PnL: -0.14% | $-0.47 +2025-03-10 13:29:15,532 - INFO - OPENED SHORT at 2068.58 | Stop loss: 2078.937182142857 | Take profit: 2037.5298767857141 +2025-03-10 13:29:15,563 - INFO - CLOSED short at 2068.8 | PnL: -0.01% | $-0.22 +2025-03-10 13:29:15,563 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.441717857143 | Take profit: 2099.853423214286 +2025-03-10 13:29:16,006 - INFO - CLOSED long at 2065.28 | PnL: -0.17% | $-0.54 +2025-03-10 13:29:16,180 - INFO - OPENED LONG at 2065.69 | Stop loss: 2055.347267857143 | Take profit: 2096.6967732142857 +2025-03-10 13:29:16,785 - INFO - CLOSED long at 2061.6 | PnL: -0.20% | $-0.59 +2025-03-10 13:29:16,818 - INFO - OPENED LONG at 2060.9 | Stop loss: 2050.5812178571427 | Take profit: 2091.834923214286 +2025-03-10 13:29:17,075 - INFO - CLOSED long at 2061.13 | PnL: 0.01% | $-0.18 +2025-03-10 13:29:17,075 - INFO - OPENED SHORT at 2061.13 | Stop loss: 2071.449932142857 | Take profit: 2030.1916267857143 +2025-03-10 13:29:17,102 - INFO - CLOSED short at 2061.9 | PnL: -0.04% | $-0.27 +2025-03-10 13:29:17,103 - INFO - OPENED LONG at 2061.9 | Stop loss: 2051.576217857143 | Take profit: 2092.849923214286 +2025-03-10 13:29:18,189 - INFO - CLOSED long at 2062.69 | PnL: 0.04% | $-0.12 +2025-03-10 13:29:18,189 - INFO - OPENED SHORT at 2062.69 | Stop loss: 2073.0177321428573 | Take profit: 2031.7282267857142 +2025-03-10 13:29:18,255 - INFO - CLOSED short at 2066.36 | PnL: -0.18% | $-0.54 +2025-03-10 13:29:18,255 - INFO - OPENED LONG at 2066.36 | Stop loss: 2056.013917857143 | Take profit: 2097.3768232142857 +2025-03-10 13:29:19,123 - INFO - CLOSED long at 2069.03 | PnL: 0.13% | $0.06 +2025-03-10 13:29:19,123 - INFO - OPENED SHORT at 2069.03 | Stop loss: 2079.3894321428575 | Take profit: 2037.9731267857144 +2025-03-10 13:29:19,190 - INFO - CLOSED short at 2068.79 | PnL: 0.01% | $-0.17 +2025-03-10 13:29:19,190 - INFO - OPENED LONG at 2068.79 | Stop loss: 2058.431767857143 | Take profit: 2099.843273214286 +2025-03-10 13:29:19,394 - INFO - CLOSED long at 2065.66 | PnL: -0.15% | $-0.49 +2025-03-10 13:29:19,395 - INFO - OPENED SHORT at 2065.66 | Stop loss: 2076.0025821428567 | Take profit: 2034.6536767857142 +2025-03-10 13:29:19,425 - INFO - CLOSED short at 2063.95 | PnL: 0.08% | $-0.03 +2025-03-10 13:29:19,425 - INFO - OPENED LONG at 2063.95 | Stop loss: 2053.6159678571426 | Take profit: 2094.930673214286 +2025-03-10 13:29:19,659 - INFO - CLOSED long at 2065.31 | PnL: 0.07% | $-0.07 +2025-03-10 13:29:19,659 - INFO - OPENED SHORT at 2065.31 | Stop loss: 2075.6508321428573 | Take profit: 2034.3089267857142 +2025-03-10 13:29:19,684 - INFO - CLOSED short at 2066.8 | PnL: -0.07% | $-0.33 +2025-03-10 13:29:19,684 - INFO - OPENED LONG at 2066.8 | Stop loss: 2056.451717857143 | Take profit: 2097.823423214286 +2025-03-10 13:29:19,763 - INFO - CLOSED long at 2071.59 | PnL: 0.23% | $0.25 +2025-03-10 13:29:19,763 - INFO - OPENED SHORT at 2071.59 | Stop loss: 2081.9622321428574 | Take profit: 2040.4947267857144 +2025-03-10 13:29:19,790 - INFO - CLOSED short at 2070.2 | PnL: 0.07% | $-0.06 +2025-03-10 13:29:19,791 - INFO - OPENED LONG at 2070.2 | Stop loss: 2059.834717857143 | Take profit: 2101.274423214286 +2025-03-10 13:29:20,774 - INFO - CLOSED long at 2070.19 | PnL: -0.00% | $-0.19 +2025-03-10 13:29:20,797 - INFO - OPENED LONG at 2070.1 | Stop loss: 2059.7352178571427 | Take profit: 2101.1729232142857 +2025-03-10 13:29:21,163 - INFO - CLOSED long at 2066.33 | PnL: -0.18% | $-0.54 +2025-03-10 13:29:21,163 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.6759321428567 | Take profit: 2035.3136267857144 +2025-03-10 13:29:21,196 - INFO - CLOSED short at 2063.01 | PnL: 0.16% | $0.12 +2025-03-10 13:29:21,196 - INFO - OPENED LONG at 2063.01 | Stop loss: 2052.680667857143 | Take profit: 2093.976573214286 +2025-03-10 13:29:21,378 - INFO - CLOSED long at 2053.01 | PnL: -0.48% | $-1.12 +2025-03-10 13:29:21,379 - INFO - OPENED SHORT at 2053.01 | Stop loss: 2063.2893321428573 | Take profit: 2022.1934267857146 +2025-03-10 13:29:21,411 - INFO - CLOSED short at 2049.21 | PnL: 0.19% | $0.16 +2025-03-10 13:29:21,412 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.949667857143 | Take profit: 2079.969573214286 +2025-03-10 13:29:22,248 - INFO - CLOSED long at 2074.05 | PnL: 1.21% | $2.11 +2025-03-10 13:29:22,248 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.4345321428573 | Take profit: 2042.9178267857144 +2025-03-10 13:29:22,366 - INFO - CLOSED short at 2074.9 | PnL: -0.04% | $-0.27 +2025-03-10 13:29:22,366 - INFO - OPENED LONG at 2074.9 | Stop loss: 2064.511217857143 | Take profit: 2106.044923214286 +2025-03-10 13:29:22,543 - INFO - TAKE PROFIT hit for long at 2106.044923214286 | PnL: 1.50% | $2.71 +2025-03-10 13:29:22,686 - INFO - OPENED LONG at 2133.95 | Stop loss: 2123.2659678571426 | Take profit: 2165.9806732142856 +2025-03-10 13:29:23,061 - INFO - STOP LOSS hit for long at 2123.2659678571426 | PnL: -0.50% | $-1.20 +2025-03-10 13:29:23,141 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.534967857143 | Take profit: 2151.9736732142856 +2025-03-10 13:29:23,421 - INFO - STOP LOSS hit for long at 2109.534967857143 | PnL: -0.50% | $-1.18 +2025-03-10 13:29:23,505 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032717857143 | Take profit: 2142.2804232142853 +2025-03-10 13:29:23,725 - INFO - CLOSED long at 2112.99 | PnL: 0.11% | $0.03 +2025-03-10 13:29:23,755 - INFO - OPENED LONG at 2120.81 | Stop loss: 2110.191667857143 | Take profit: 2152.6435732142854 +2025-03-10 13:29:23,968 - INFO - STOP LOSS hit for long at 2110.191667857143 | PnL: -0.50% | $-1.17 +2025-03-10 13:29:24,006 - INFO - OPENED LONG at 2106.49 | Stop loss: 2095.9432678571425 | Take profit: 2138.1087732142855 +2025-03-10 13:29:24,080 - INFO - CLOSED long at 2100.5 | PnL: -0.28% | $-0.74 +2025-03-10 13:29:24,080 - INFO - OPENED SHORT at 2100.5 | Stop loss: 2111.016782142857 | Take profit: 2068.9710767857146 +2025-03-10 13:29:24,162 - INFO - CLOSED short at 2098.1 | PnL: 0.11% | $0.03 +2025-03-10 13:29:24,163 - INFO - OPENED LONG at 2098.1 | Stop loss: 2087.595217857143 | Take profit: 2129.5929232142857 +2025-03-10 13:29:24,839 - INFO - CLOSED long at 2093.33 | PnL: -0.23% | $-0.62 +2025-03-10 13:29:24,928 - INFO - OPENED LONG at 2094.72 | Stop loss: 2084.2321178571424 | Take profit: 2126.1622232142854 +2025-03-10 13:29:25,035 - INFO - STOP LOSS hit for long at 2084.2321178571424 | PnL: -0.50% | $-1.14 +2025-03-10 13:29:25,211 - INFO - OPENED LONG at 2085.3 | Stop loss: 2074.859217857143 | Take profit: 2116.600923214286 +2025-03-10 13:29:25,310 - INFO - CLOSED long at 2081.25 | PnL: -0.19% | $-0.55 +2025-03-10 13:29:25,399 - INFO - OPENED LONG at 2083.59 | Stop loss: 2073.157767857143 | Take profit: 2114.865273214286 +2025-03-10 13:29:25,460 - INFO - CLOSED long at 2086.57 | PnL: 0.14% | $0.08 +2025-03-10 13:29:25,461 - INFO - OPENED SHORT at 2086.57 | Stop loss: 2097.017132142857 | Take profit: 2055.2500267857145 +2025-03-10 13:29:25,524 - INFO - CLOSED short at 2085.8 | PnL: 0.04% | $-0.12 +2025-03-10 13:29:25,525 - INFO - OPENED LONG at 2085.8 | Stop loss: 2075.356717857143 | Take profit: 2117.1084232142857 +2025-03-10 13:29:26,383 - INFO - CLOSED long at 2100.89 | PnL: 0.72% | $1.16 +2025-03-10 13:29:26,384 - INFO - OPENED SHORT at 2100.89 | Stop loss: 2111.4087321428574 | Take profit: 2069.355226785714 +2025-03-10 13:29:26,440 - INFO - CLOSED short at 2106.15 | PnL: -0.25% | $-0.66 +2025-03-10 13:29:26,440 - INFO - OPENED LONG at 2106.15 | Stop loss: 2095.604967857143 | Take profit: 2137.763673214286 +2025-03-10 13:29:27,068 - INFO - Trade Analysis: Win Rate=20.0% in uptrends, 0.0% in downtrends | Avg Win=$0.62, Avg Loss=$-0.48 +2025-03-10 13:29:27,069 - INFO - Episode 14: Reward=54.10, Balance=$94.18, Win Rate=31.0%, Trades=42, Episode PnL=$-6.91, Total PnL=$-108.80, Max Drawdown=7.4%, Pred Accuracy=98.7% +2025-03-10 13:29:27,285 - INFO - OPENED SHORT at 2049.89 | Stop loss: 2060.153732142857 | Take profit: 2019.120226785714 +2025-03-10 13:29:27,316 - INFO - CLOSED short at 2051.11 | PnL: -0.06% | $-0.32 +2025-03-10 13:29:27,317 - INFO - OPENED LONG at 2051.11 | Stop loss: 2040.840167857143 | Take profit: 2081.898073214286 +2025-03-10 13:29:28,235 - INFO - CLOSED long at 2068.11 | PnL: 0.83% | $1.44 +2025-03-10 13:29:28,236 - INFO - OPENED SHORT at 2068.11 | Stop loss: 2078.464832142857 | Take profit: 2037.0669267857145 +2025-03-10 13:29:28,329 - INFO - CLOSED short at 2071.63 | PnL: -0.17% | $-0.54 +2025-03-10 13:29:28,329 - INFO - OPENED LONG at 2071.63 | Stop loss: 2061.257567857143 | Take profit: 2102.725873214286 +2025-03-10 13:29:28,384 - INFO - CLOSED long at 2069.6 | PnL: -0.10% | $-0.40 +2025-03-10 13:29:28,385 - INFO - OPENED SHORT at 2069.6 | Stop loss: 2079.962282142857 | Take profit: 2038.534576785714 +2025-03-10 13:29:28,493 - INFO - CLOSED short at 2067.69 | PnL: 0.09% | $-0.02 +2025-03-10 13:29:28,494 - INFO - OPENED LONG at 2067.69 | Stop loss: 2057.337267857143 | Take profit: 2098.726773214286 +2025-03-10 13:29:29,211 - INFO - CLOSED long at 2066.29 | PnL: -0.07% | $-0.33 +2025-03-10 13:29:29,238 - INFO - OPENED LONG at 2065.08 | Stop loss: 2054.7403178571426 | Take profit: 2096.0776232142857 +2025-03-10 13:29:30,177 - INFO - CLOSED long at 2067.46 | PnL: 0.12% | $0.03 +2025-03-10 13:29:30,178 - INFO - OPENED SHORT at 2067.46 | Stop loss: 2077.8115821428573 | Take profit: 2036.4266767857143 +2025-03-10 13:29:30,214 - INFO - CLOSED short at 2066.8 | PnL: 0.03% | $-0.14 +2025-03-10 13:29:30,214 - INFO - OPENED LONG at 2066.8 | Stop loss: 2056.451717857143 | Take profit: 2097.823423214286 +2025-03-10 13:29:33,486 - INFO - STOP LOSS hit for long at 2056.451717857143 | PnL: -0.50% | $-1.19 +2025-03-10 13:29:33,856 - INFO - OPENED LONG at 2061.3 | Stop loss: 2050.979217857143 | Take profit: 2092.240923214286 +2025-03-10 13:29:34,240 - INFO - CLOSED long at 2066.79 | PnL: 0.27% | $0.33 +2025-03-10 13:29:34,274 - INFO - OPENED LONG at 2067.33 | Stop loss: 2056.9790678571426 | Take profit: 2098.3613732142853 +2025-03-10 13:29:34,414 - INFO - CLOSED long at 2074.3 | PnL: 0.34% | $0.47 +2025-03-10 13:29:34,673 - INFO - OPENED LONG at 2071.6 | Stop loss: 2061.2277178571426 | Take profit: 2102.6954232142857 +2025-03-10 13:29:34,991 - INFO - CLOSED long at 2069.03 | PnL: -0.12% | $-0.44 +2025-03-10 13:29:35,027 - INFO - OPENED LONG at 2067.44 | Stop loss: 2057.088517857143 | Take profit: 2098.4730232142856 +2025-03-10 13:29:36,330 - INFO - CLOSED long at 2068.19 | PnL: 0.04% | $-0.13 +2025-03-10 13:29:36,677 - INFO - OPENED LONG at 2073.99 | Stop loss: 2063.605767857143 | Take profit: 2105.121273214286 +2025-03-10 13:29:37,400 - INFO - CLOSED long at 2067.19 | PnL: -0.33% | $-0.84 +2025-03-10 13:29:37,401 - INFO - OPENED SHORT at 2067.19 | Stop loss: 2077.5402321428573 | Take profit: 2036.1607267857144 +2025-03-10 13:29:37,432 - INFO - CLOSED short at 2065.5 | PnL: 0.08% | $-0.04 +2025-03-10 13:29:37,433 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.158217857143 | Take profit: 2096.503923214286 +2025-03-10 13:29:38,191 - INFO - STOP LOSS hit for long at 2055.158217857143 | PnL: -0.50% | $-1.17 +2025-03-10 13:29:38,229 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.949667857143 | Take profit: 2079.969573214286 +2025-03-10 13:29:39,159 - INFO - CLOSED long at 2070.41 | PnL: 1.03% | $1.80 +2025-03-10 13:29:39,241 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6107678571425 | Take profit: 2104.1062732142855 +2025-03-10 13:29:39,509 - INFO - TAKE PROFIT hit for long at 2104.1062732142855 | PnL: 1.50% | $2.74 +2025-03-10 13:29:39,545 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.8280178571426 | Take profit: 2171.6545232142857 +2025-03-10 13:29:39,769 - INFO - STOP LOSS hit for long at 2128.8280178571426 | PnL: -0.50% | $-1.21 +2025-03-10 13:29:39,791 - INFO - OPENED SHORT at 2127.3 | Stop loss: 2137.9507821428574 | Take profit: 2095.3690767857147 +2025-03-10 13:29:39,881 - INFO - CLOSED short at 2120.15 | PnL: 0.34% | $0.47 +2025-03-10 13:29:39,881 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.534967857143 | Take profit: 2151.9736732142856 +2025-03-10 13:29:40,124 - INFO - STOP LOSS hit for long at 2109.534967857143 | PnL: -0.50% | $-1.20 +2025-03-10 13:29:40,159 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032717857143 | Take profit: 2142.2804232142853 +2025-03-10 13:29:40,618 - INFO - STOP LOSS hit for long at 2100.032717857143 | PnL: -0.50% | $-1.19 +2025-03-10 13:29:40,641 - INFO - OPENED SHORT at 2099.53 | Stop loss: 2110.041932142857 | Take profit: 2068.0156267857146 +2025-03-10 13:29:40,667 - INFO - CLOSED short at 2098.1 | PnL: 0.07% | $-0.06 +2025-03-10 13:29:40,667 - INFO - OPENED LONG at 2098.1 | Stop loss: 2087.595217857143 | Take profit: 2129.5929232142857 +2025-03-10 13:29:40,908 - INFO - CLOSED long at 2103.86 | PnL: 0.27% | $0.34 +2025-03-10 13:29:40,933 - INFO - OPENED LONG at 2104.68 | Stop loss: 2094.1423178571426 | Take profit: 2136.2716232142857 +2025-03-10 13:29:41,082 - INFO - CLOSED long at 2093.46 | PnL: -0.53% | $-1.24 +2025-03-10 13:29:41,110 - INFO - OPENED LONG at 2093.33 | Stop loss: 2082.849067857143 | Take profit: 2124.7513732142856 +2025-03-10 13:29:41,318 - INFO - CLOSED long at 2083.97 | PnL: -0.45% | $-1.06 +2025-03-10 13:29:41,372 - INFO - OPENED LONG at 2082.44 | Stop loss: 2072.0135178571427 | Take profit: 2113.698023214286 +2025-03-10 13:29:41,847 - INFO - CLOSED long at 2086.81 | PnL: 0.21% | $0.21 +2025-03-10 13:29:41,874 - INFO - OPENED LONG at 2089.79 | Stop loss: 2079.326767857143 | Take profit: 2121.1582732142856 +2025-03-10 13:29:42,184 - INFO - CLOSED long at 2099.89 | PnL: 0.48% | $0.73 +2025-03-10 13:29:42,293 - INFO - OPENED LONG at 2103.48 | Stop loss: 2092.9483178571427 | Take profit: 2135.053623214286 +2025-03-10 13:29:42,425 - INFO - CLOSED long at 2105.83 | PnL: 0.11% | $0.02 +2025-03-10 13:29:42,453 - INFO - OPENED LONG at 2103.64 | Stop loss: 2093.1075178571427 | Take profit: 2135.2160232142855 +2025-03-10 13:29:42,533 - INFO - CLOSED long at 2104.4 | PnL: 0.04% | $-0.12 +2025-03-10 13:29:42,561 - INFO - OPENED LONG at 2105.21 | Stop loss: 2094.669667857143 | Take profit: 2136.8095732142856 +2025-03-10 13:29:42,933 - INFO - CLOSED long at 2112.28 | PnL: 0.34% | $0.45 +2025-03-10 13:29:42,934 - INFO - OPENED SHORT at 2112.28 | Stop loss: 2122.855682142857 | Take profit: 2080.5743767857143 +2025-03-10 13:29:42,959 - INFO - Trade Analysis: Win Rate=15.4% in uptrends, 0.0% in downtrends | Avg Win=$0.75, Avg Loss=$-0.61 +2025-03-10 13:29:42,960 - INFO - Episode 15: Reward=71.53, Balance=$97.42, Win Rate=38.7%, Trades=31, Episode PnL=$-3.27, Total PnL=$-111.38, Max Drawdown=5.1%, Pred Accuracy=98.5% +2025-03-10 13:29:43,135 - INFO - Model saved to models/trading_agent_best_winrate.pt +2025-03-10 13:29:43,136 - INFO - New best win rate model saved: 38.7% +2025-03-10 13:29:43,577 - INFO - OPENED LONG at 2051.11 | Stop loss: 2040.840167857143 | Take profit: 2081.898073214286 +2025-03-10 13:29:44,423 - INFO - CLOSED long at 2057.8 | PnL: 0.33% | $0.45 +2025-03-10 13:29:44,528 - INFO - OPENED LONG at 2061.79 | Stop loss: 2051.4667678571427 | Take profit: 2092.7382732142855 +2025-03-10 13:29:44,827 - INFO - CLOSED long at 2068.65 | PnL: 0.33% | $0.46 +2025-03-10 13:29:44,828 - INFO - OPENED SHORT at 2068.65 | Stop loss: 2079.007532142857 | Take profit: 2037.5988267857144 +2025-03-10 13:29:44,884 - INFO - CLOSED short at 2067.9 | PnL: 0.04% | $-0.13 +2025-03-10 13:29:44,884 - INFO - OPENED LONG at 2067.9 | Stop loss: 2057.546217857143 | Take profit: 2098.939923214286 +2025-03-10 13:29:45,792 - INFO - CLOSED long at 2068.9 | PnL: 0.05% | $-0.10 +2025-03-10 13:29:45,792 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.2587821428574 | Take profit: 2037.8450767857144 +2025-03-10 13:29:45,839 - INFO - CLOSED short at 2068.59 | PnL: 0.01% | $-0.17 +2025-03-10 13:29:45,865 - INFO - OPENED LONG at 2069.7 | Stop loss: 2059.3372178571426 | Take profit: 2100.7669232142857 +2025-03-10 13:29:46,149 - INFO - CLOSED long at 2073.9 | PnL: 0.20% | $0.21 +2025-03-10 13:29:46,149 - INFO - OPENED SHORT at 2073.9 | Stop loss: 2084.2837821428575 | Take profit: 2042.7700767857145 +2025-03-10 13:29:46,174 - INFO - CLOSED short at 2071.92 | PnL: 0.10% | $-0.01 +2025-03-10 13:29:46,175 - INFO - OPENED LONG at 2071.92 | Stop loss: 2061.5461178571427 | Take profit: 2103.0202232142856 +2025-03-10 13:29:46,756 - INFO - CLOSED long at 2070.7 | PnL: -0.06% | $-0.32 +2025-03-10 13:29:46,757 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.0677821428567 | Take profit: 2039.618076785714 +2025-03-10 13:29:46,791 - INFO - CLOSED short at 2070.4 | PnL: 0.01% | $-0.17 +2025-03-10 13:29:46,792 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.033717857143 | Take profit: 2101.477423214286 +2025-03-10 13:29:47,213 - INFO - CLOSED long at 2065.69 | PnL: -0.23% | $-0.65 +2025-03-10 13:29:47,236 - INFO - OPENED LONG at 2067.88 | Stop loss: 2057.526317857143 | Take profit: 2098.919623214286 +2025-03-10 13:29:47,883 - INFO - CLOSED long at 2063.5 | PnL: -0.21% | $-0.62 +2025-03-10 13:29:47,918 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.2777178571428 | Take profit: 2092.5454232142856 +2025-03-10 13:29:48,884 - INFO - CLOSED long at 2059.16 | PnL: -0.12% | $-0.43 +2025-03-10 13:29:48,885 - INFO - OPENED SHORT at 2059.16 | Stop loss: 2069.470082142857 | Take profit: 2028.2511767857143 +2025-03-10 13:29:48,975 - INFO - CLOSED short at 2059.02 | PnL: 0.01% | $-0.18 +2025-03-10 13:29:48,976 - INFO - OPENED LONG at 2059.02 | Stop loss: 2048.710617857143 | Take profit: 2089.9267232142856 +2025-03-10 13:29:49,172 - INFO - CLOSED long at 2055.6 | PnL: -0.17% | $-0.52 +2025-03-10 13:29:49,173 - INFO - OPENED SHORT at 2055.6 | Stop loss: 2065.892282142857 | Take profit: 2024.7445767857141 +2025-03-10 13:29:49,403 - INFO - CLOSED short at 2058.15 | PnL: -0.12% | $-0.44 +2025-03-10 13:29:49,404 - INFO - OPENED LONG at 2058.15 | Stop loss: 2047.844967857143 | Take profit: 2089.0436732142857 +2025-03-10 13:29:50,939 - INFO - CLOSED long at 2064.31 | PnL: 0.30% | $0.39 +2025-03-10 13:29:51,006 - INFO - OPENED LONG at 2067.53 | Stop loss: 2057.178067857143 | Take profit: 2098.5643732142858 +2025-03-10 13:29:51,442 - INFO - CLOSED long at 2071.99 | PnL: 0.22% | $0.22 +2025-03-10 13:29:51,443 - INFO - OPENED SHORT at 2071.99 | Stop loss: 2082.364232142857 | Take profit: 2040.888726785714 +2025-03-10 13:29:51,472 - INFO - CLOSED short at 2068.19 | PnL: 0.18% | $0.16 +2025-03-10 13:29:51,473 - INFO - OPENED LONG at 2068.19 | Stop loss: 2057.834767857143 | Take profit: 2099.2342732142856 +2025-03-10 13:29:52,836 - INFO - STOP LOSS hit for long at 2057.834767857143 | PnL: -0.50% | $-1.17 +2025-03-10 13:29:52,891 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.949667857143 | Take profit: 2079.969573214286 +2025-03-10 13:29:53,822 - INFO - CLOSED long at 2074.05 | PnL: 1.21% | $2.14 +2025-03-10 13:29:53,823 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.4345321428573 | Take profit: 2042.9178267857144 +2025-03-10 13:29:53,848 - INFO - CLOSED short at 2072.99 | PnL: 0.05% | $-0.10 +2025-03-10 13:29:53,849 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6107678571425 | Take profit: 2104.1062732142855 +2025-03-10 13:29:54,188 - INFO - TAKE PROFIT hit for long at 2104.1062732142855 | PnL: 1.50% | $2.76 +2025-03-10 13:29:54,275 - INFO - OPENED LONG at 2133.95 | Stop loss: 2123.2659678571426 | Take profit: 2165.9806732142856 +2025-03-10 13:29:54,426 - INFO - CLOSED long at 2134.78 | PnL: 0.04% | $-0.12 +2025-03-10 13:29:54,460 - INFO - OPENED LONG at 2126.99 | Stop loss: 2116.3407678571425 | Take profit: 2158.916273214286 +2025-03-10 13:29:54,772 - INFO - STOP LOSS hit for long at 2116.3407678571425 | PnL: -0.50% | $-1.21 +2025-03-10 13:29:54,904 - INFO - OPENED LONG at 2112.95 | Stop loss: 2102.3709678571427 | Take profit: 2144.6656732142856 +2025-03-10 13:29:55,237 - INFO - STOP LOSS hit for long at 2102.3709678571427 | PnL: -0.50% | $-1.20 +2025-03-10 13:29:55,268 - INFO - OPENED LONG at 2090.0 | Stop loss: 2079.5357178571426 | Take profit: 2121.3714232142856 +2025-03-10 13:29:55,417 - INFO - CLOSED long at 2099.25 | PnL: 0.44% | $0.68 +2025-03-10 13:29:55,418 - INFO - OPENED SHORT at 2099.25 | Stop loss: 2109.760532142857 | Take profit: 2067.7398267857143 +2025-03-10 13:29:55,556 - INFO - CLOSED short at 2100.74 | PnL: -0.07% | $-0.34 +2025-03-10 13:29:55,556 - INFO - OPENED LONG at 2100.74 | Stop loss: 2090.2220178571424 | Take profit: 2132.2725232142852 +2025-03-10 13:29:55,781 - INFO - CLOSED long at 2093.46 | PnL: -0.35% | $-0.88 +2025-03-10 13:29:55,825 - INFO - OPENED LONG at 2093.33 | Stop loss: 2082.849067857143 | Take profit: 2124.7513732142856 +2025-03-10 13:29:55,967 - INFO - CLOSED long at 2088.35 | PnL: -0.24% | $-0.66 +2025-03-10 13:29:55,967 - INFO - OPENED SHORT at 2088.35 | Stop loss: 2098.806032142857 | Take profit: 2057.0033267857143 +2025-03-10 13:29:55,997 - INFO - CLOSED short at 2083.28 | PnL: 0.24% | $0.28 +2025-03-10 13:29:55,998 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.849317857143 | Take profit: 2114.5506232142857 +2025-03-10 13:29:57,872 - INFO - Trade Analysis: Win Rate=23.1% in uptrends, 0.0% in downtrends | Avg Win=$0.77, Avg Loss=$-0.47 +2025-03-10 13:29:57,873 - INFO - Episode 16: Reward=67.90, Balance=$98.32, Win Rate=33.3%, Trades=30, Episode PnL=$-3.36, Total PnL=$-113.06, Max Drawdown=3.5%, Pred Accuracy=98.4% +2025-03-10 13:29:58,155 - INFO - OPENED LONG at 2053.26 | Stop loss: 2042.979417857143 | Take profit: 2084.080323214286 +2025-03-10 13:29:58,308 - INFO - CLOSED long at 2058.39 | PnL: 0.25% | $0.30 +2025-03-10 13:29:58,308 - INFO - OPENED SHORT at 2058.39 | Stop loss: 2068.696232142857 | Take profit: 2027.4927267857142 +2025-03-10 13:29:58,366 - INFO - CLOSED short at 2059.7 | PnL: -0.06% | $-0.33 +2025-03-10 13:29:58,366 - INFO - OPENED LONG at 2059.7 | Stop loss: 2049.387217857143 | Take profit: 2090.6169232142856 +2025-03-10 13:29:58,741 - INFO - CLOSED long at 2060.0 | PnL: 0.01% | $-0.17 +2025-03-10 13:29:58,742 - INFO - OPENED SHORT at 2060.0 | Stop loss: 2070.3142821428573 | Take profit: 2029.0785767857142 +2025-03-10 13:29:58,768 - INFO - CLOSED short at 2061.89 | PnL: -0.09% | $-0.38 +2025-03-10 13:29:58,769 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.566267857143 | Take profit: 2092.8397732142857 +2025-03-10 13:29:59,928 - INFO - CLOSED long at 2071.41 | PnL: 0.46% | $0.71 +2025-03-10 13:29:59,928 - INFO - OPENED SHORT at 2071.41 | Stop loss: 2081.781332142857 | Take profit: 2040.3174267857141 +2025-03-10 13:29:59,959 - INFO - CLOSED short at 2069.37 | PnL: 0.10% | $-0.00 +2025-03-10 13:29:59,959 - INFO - OPENED LONG at 2069.37 | Stop loss: 2059.008867857143 | Take profit: 2100.431973214286 +2025-03-10 13:30:01,121 - INFO - CLOSED long at 2071.39 | PnL: 0.10% | $-0.00 +2025-03-10 13:30:01,122 - INFO - OPENED SHORT at 2071.39 | Stop loss: 2081.761232142857 | Take profit: 2040.297726785714 +2025-03-10 13:30:01,151 - INFO - CLOSED short at 2071.36 | PnL: 0.00% | $-0.20 +2025-03-10 13:30:01,151 - INFO - OPENED LONG at 2071.36 | Stop loss: 2060.988917857143 | Take profit: 2102.451823214286 +2025-03-10 13:30:01,672 - INFO - CLOSED long at 2066.8 | PnL: -0.22% | $-0.64 +2025-03-10 13:30:01,672 - INFO - OPENED SHORT at 2066.8 | Stop loss: 2077.1482821428576 | Take profit: 2035.7765767857143 +2025-03-10 13:30:01,700 - INFO - CLOSED short at 2065.49 | PnL: 0.06% | $-0.07 +2025-03-10 13:30:01,700 - INFO - OPENED LONG at 2065.49 | Stop loss: 2055.1482678571424 | Take profit: 2096.4937732142857 +2025-03-10 13:30:01,974 - INFO - CLOSED long at 2070.3 | PnL: 0.23% | $0.26 +2025-03-10 13:30:02,004 - INFO - OPENED LONG at 2071.59 | Stop loss: 2061.217767857143 | Take profit: 2102.6852732142856 +2025-03-10 13:30:02,657 - INFO - CLOSED long at 2062.65 | PnL: -0.43% | $-1.05 +2025-03-10 13:30:02,685 - INFO - OPENED LONG at 2061.78 | Stop loss: 2051.456817857143 | Take profit: 2092.728123214286 +2025-03-10 13:30:03,454 - INFO - CLOSED long at 2065.36 | PnL: 0.17% | $0.14 +2025-03-10 13:30:03,489 - INFO - OPENED LONG at 2064.33 | Stop loss: 2053.994067857143 | Take profit: 2095.3163732142857 +2025-03-10 13:30:04,196 - INFO - CLOSED long at 2059.8 | PnL: -0.22% | $-0.63 +2025-03-10 13:30:04,196 - INFO - OPENED SHORT at 2059.8 | Stop loss: 2070.1132821428573 | Take profit: 2028.8815767857145 +2025-03-10 13:30:04,230 - INFO - CLOSED short at 2061.66 | PnL: -0.09% | $-0.37 +2025-03-10 13:30:04,231 - INFO - OPENED LONG at 2061.66 | Stop loss: 2051.3374178571426 | Take profit: 2092.6063232142856 +2025-03-10 13:30:05,088 - INFO - CLOSED long at 2073.23 | PnL: 0.56% | $0.89 +2025-03-10 13:30:05,245 - INFO - OPENED LONG at 2068.39 | Stop loss: 2058.0337678571427 | Take profit: 2099.4372732142856 +2025-03-10 13:30:06,556 - INFO - CLOSED long at 2070.35 | PnL: 0.09% | $-0.01 +2025-03-10 13:30:06,556 - INFO - OPENED SHORT at 2070.35 | Stop loss: 2080.7160321428573 | Take profit: 2039.273326785714 +2025-03-10 13:30:06,627 - INFO - CLOSED short at 2070.61 | PnL: -0.01% | $-0.22 +2025-03-10 13:30:06,628 - INFO - OPENED LONG at 2070.61 | Stop loss: 2060.2426678571433 | Take profit: 2101.690573214286 +2025-03-10 13:30:08,023 - INFO - STOP LOSS hit for long at 2060.2426678571433 | PnL: -0.50% | $-1.17 +2025-03-10 13:30:08,145 - INFO - OPENED LONG at 2056.77 | Stop loss: 2046.4718678571428 | Take profit: 2087.6429732142856 +2025-03-10 13:30:08,837 - INFO - CLOSED long at 2065.72 | PnL: 0.44% | $0.65 +2025-03-10 13:30:08,890 - INFO - OPENED LONG at 2070.24 | Stop loss: 2059.8745178571426 | Take profit: 2101.3150232142852 +2025-03-10 13:30:09,076 - INFO - CLOSED long at 2071.89 | PnL: 0.08% | $-0.04 +2025-03-10 13:30:09,129 - INFO - OPENED LONG at 2074.9 | Stop loss: 2064.511217857143 | Take profit: 2106.044923214286 +2025-03-10 13:30:09,154 - INFO - CLOSED long at 2076.08 | PnL: 0.06% | $-0.08 +2025-03-10 13:30:09,212 - INFO - OPENED LONG at 2085.56 | Stop loss: 2075.117917857143 | Take profit: 2116.8648232142855 +2025-03-10 13:30:09,263 - INFO - CLOSED long at 2103.02 | PnL: 0.84% | $1.43 +2025-03-10 13:30:09,263 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.549382142857 | Take profit: 2071.4532767857145 +2025-03-10 13:30:09,291 - INFO - STOP LOSS hit for short at 2113.549382142857 | PnL: -0.50% | $-1.18 +2025-03-10 13:30:09,323 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.8280178571426 | Take profit: 2171.6545232142857 +2025-03-10 13:30:09,497 - INFO - CLOSED long at 2142.68 | PnL: 0.15% | $0.09 +2025-03-10 13:30:09,572 - INFO - OPENED LONG at 2126.99 | Stop loss: 2116.3407678571425 | Take profit: 2158.916273214286 +2025-03-10 13:30:09,871 - INFO - STOP LOSS hit for long at 2116.3407678571425 | PnL: -0.50% | $-1.17 +2025-03-10 13:30:09,901 - INFO - OPENED LONG at 2107.43 | Stop loss: 2096.878567857143 | Take profit: 2139.0628732142854 +2025-03-10 13:30:10,110 - INFO - CLOSED long at 2112.99 | PnL: 0.26% | $0.31 +2025-03-10 13:30:10,349 - INFO - OPENED LONG at 2103.33 | Stop loss: 2092.7990678571427 | Take profit: 2134.9013732142853 +2025-03-10 13:30:10,410 - INFO - STOP LOSS hit for long at 2092.7990678571427 | PnL: -0.50% | $-1.16 +2025-03-10 13:30:10,589 - INFO - OPENED LONG at 2098.9 | Stop loss: 2088.3912178571427 | Take profit: 2130.4049232142856 +2025-03-10 13:30:11,294 - INFO - CLOSED long at 2091.1 | PnL: -0.37% | $-0.90 +2025-03-10 13:30:11,294 - INFO - OPENED SHORT at 2091.1 | Stop loss: 2101.569782142857 | Take profit: 2059.712076785714 +2025-03-10 13:30:11,346 - INFO - CLOSED short at 2094.08 | PnL: -0.14% | $-0.46 +2025-03-10 13:30:11,346 - INFO - OPENED LONG at 2094.08 | Stop loss: 2083.5953178571426 | Take profit: 2125.5126232142857 +2025-03-10 13:30:11,471 - INFO - STOP LOSS hit for long at 2083.5953178571426 | PnL: -0.50% | $-1.13 +2025-03-10 13:30:11,584 - INFO - OPENED LONG at 2083.97 | Stop loss: 2073.535867857143 | Take profit: 2115.2509732142858 +2025-03-10 13:30:13,686 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.53, Avg Loss=$-0.52 +2025-03-10 13:30:13,687 - INFO - Episode 17: Reward=68.20, Balance=$93.44, Win Rate=29.0%, Trades=31, Episode PnL=$-6.66, Total PnL=$-119.62, Max Drawdown=6.6%, Pred Accuracy=98.6% +2025-03-10 13:30:13,935 - INFO - OPENED LONG at 2049.89 | Stop loss: 2039.6262678571427 | Take profit: 2080.659773214286 +2025-03-10 13:30:14,971 - INFO - CLOSED long at 2070.99 | PnL: 1.03% | $1.85 +2025-03-10 13:30:14,972 - INFO - OPENED SHORT at 2070.99 | Stop loss: 2081.359232142857 | Take profit: 2039.903726785714 +2025-03-10 13:30:15,027 - INFO - CLOSED short at 2068.65 | PnL: 0.11% | $0.03 +2025-03-10 13:30:15,027 - INFO - OPENED LONG at 2068.65 | Stop loss: 2058.292467857143 | Take profit: 2099.7011732142855 +2025-03-10 13:30:16,033 - INFO - CLOSED long at 2068.51 | PnL: -0.01% | $-0.22 +2025-03-10 13:30:16,065 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.232767857143 | Take profit: 2099.6402732142856 +2025-03-10 13:30:16,874 - INFO - CLOSED long at 2067.86 | PnL: -0.04% | $-0.27 +2025-03-10 13:30:16,899 - INFO - OPENED LONG at 2067.59 | Stop loss: 2057.237767857143 | Take profit: 2098.625273214286 +2025-03-10 13:30:19,461 - INFO - STOP LOSS hit for long at 2057.237767857143 | PnL: -0.50% | $-1.21 +2025-03-10 13:30:19,541 - INFO - OPENED LONG at 2054.83 | Stop loss: 2044.5415678571426 | Take profit: 2085.673873214286 +2025-03-10 13:30:20,505 - INFO - CLOSED long at 2069.69 | PnL: 0.72% | $1.24 +2025-03-10 13:30:20,506 - INFO - OPENED SHORT at 2069.69 | Stop loss: 2080.052732142857 | Take profit: 2038.6232267857142 +2025-03-10 13:30:20,534 - INFO - CLOSED short at 2069.03 | PnL: 0.03% | $-0.14 +2025-03-10 13:30:20,535 - INFO - OPENED LONG at 2069.03 | Stop loss: 2058.670567857143 | Take profit: 2100.086873214286 +2025-03-10 13:30:22,303 - INFO - CLOSED long at 2065.07 | PnL: -0.19% | $-0.59 +2025-03-10 13:30:22,303 - INFO - OPENED SHORT at 2065.07 | Stop loss: 2075.4096321428574 | Take profit: 2034.0725267857144 +2025-03-10 13:30:22,338 - INFO - CLOSED short at 2066.09 | PnL: -0.05% | $-0.30 +2025-03-10 13:30:22,338 - INFO - OPENED LONG at 2066.09 | Stop loss: 2055.745267857143 | Take profit: 2097.102773214286 +2025-03-10 13:30:22,905 - INFO - CLOSED long at 2053.01 | PnL: -0.63% | $-1.46 +2025-03-10 13:30:22,905 - INFO - OPENED SHORT at 2053.01 | Stop loss: 2063.2893321428573 | Take profit: 2022.1934267857146 +2025-03-10 13:30:23,235 - INFO - CLOSED short at 2057.89 | PnL: -0.24% | $-0.66 +2025-03-10 13:30:23,235 - INFO - OPENED LONG at 2057.89 | Stop loss: 2047.5862678571427 | Take profit: 2088.779773214286 +2025-03-10 13:30:23,660 - INFO - CLOSED long at 2061.21 | PnL: 0.16% | $0.12 +2025-03-10 13:30:23,752 - INFO - OPENED LONG at 2061.84 | Stop loss: 2051.5165178571433 | Take profit: 2092.789023214286 +2025-03-10 13:30:23,804 - INFO - CLOSED long at 2062.54 | PnL: 0.03% | $-0.13 +2025-03-10 13:30:23,805 - INFO - OPENED SHORT at 2062.54 | Stop loss: 2072.866982142857 | Take profit: 2031.5804767857142 +2025-03-10 13:30:24,119 - INFO - STOP LOSS hit for short at 2072.866982142857 | PnL: -0.50% | $-1.17 +2025-03-10 13:30:24,188 - INFO - OPENED SHORT at 2072.99 | Stop loss: 2083.369232142857 | Take profit: 2041.873726785714 +2025-03-10 13:30:24,437 - INFO - CLOSED short at 2077.61 | PnL: -0.22% | $-0.62 +2025-03-10 13:30:24,438 - INFO - OPENED LONG at 2077.61 | Stop loss: 2067.207667857143 | Take profit: 2108.7955732142855 +2025-03-10 13:30:24,563 - INFO - TAKE PROFIT hit for long at 2108.7955732142855 | PnL: 1.50% | $2.68 +2025-03-10 13:30:24,658 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.8280178571426 | Take profit: 2171.6545232142857 +2025-03-10 13:30:25,151 - INFO - STOP LOSS hit for long at 2128.8280178571426 | PnL: -0.50% | $-1.18 +2025-03-10 13:30:25,185 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.649217857143 | Take profit: 2159.230923214286 +2025-03-10 13:30:25,650 - INFO - STOP LOSS hit for long at 2116.649217857143 | PnL: -0.50% | $-1.17 +2025-03-10 13:30:25,677 - INFO - OPENED LONG at 2107.43 | Stop loss: 2096.878567857143 | Take profit: 2139.0628732142854 +2025-03-10 13:30:26,449 - INFO - STOP LOSS hit for long at 2096.878567857143 | PnL: -0.50% | $-1.16 +2025-03-10 13:30:26,476 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0180678571433 | Take profit: 2131.044373214286 +2025-03-10 13:30:26,536 - INFO - CLOSED long at 2102.19 | PnL: 0.13% | $0.05 +2025-03-10 13:30:26,538 - INFO - OPENED SHORT at 2102.19 | Stop loss: 2112.715232142857 | Take profit: 2070.6357267857143 +2025-03-10 13:30:26,657 - INFO - CLOSED short at 2099.25 | PnL: 0.14% | $0.08 +2025-03-10 13:30:26,658 - INFO - OPENED LONG at 2099.25 | Stop loss: 2088.739467857143 | Take profit: 2130.7601732142857 +2025-03-10 13:30:27,568 - INFO - STOP LOSS hit for long at 2088.739467857143 | PnL: -0.50% | $-1.14 +2025-03-10 13:30:27,598 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.849317857143 | Take profit: 2114.5506232142857 +2025-03-10 13:30:28,554 - INFO - CLOSED long at 2085.67 | PnL: 0.11% | $0.03 +2025-03-10 13:30:28,656 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.580467857143 | Take profit: 2122.437173214286 +2025-03-10 13:30:28,866 - INFO - CLOSED long at 2101.64 | PnL: 0.51% | $0.76 +2025-03-10 13:30:28,893 - INFO - OPENED LONG at 2097.11 | Stop loss: 2086.610167857143 | Take profit: 2128.588073214286 +2025-03-10 13:30:29,635 - INFO - CLOSED long at 2102.7 | PnL: 0.27% | $0.32 +2025-03-10 13:30:29,665 - INFO - OPENED SHORT at 2102.0 | Stop loss: 2112.5242821428574 | Take profit: 2070.448576785714 +2025-03-10 13:30:29,751 - INFO - CLOSED short at 2107.25 | PnL: -0.25% | $-0.67 +2025-03-10 13:30:29,752 - INFO - OPENED LONG at 2107.25 | Stop loss: 2096.6994678571427 | Take profit: 2138.8801732142856 +2025-03-10 13:30:29,930 - INFO - Trade Analysis: Win Rate=21.4% in uptrends, 0.0% in downtrends | Avg Win=$0.72, Avg Loss=$-0.76 +2025-03-10 13:30:29,931 - INFO - Episode 18: Reward=71.36, Balance=$95.06, Win Rate=38.5%, Trades=26, Episode PnL=$-5.89, Total PnL=$-124.56, Max Drawdown=6.9%, Pred Accuracy=98.7% +2025-03-10 13:30:30,225 - INFO - OPENED LONG at 2053.26 | Stop loss: 2042.979417857143 | Take profit: 2084.080323214286 +2025-03-10 13:30:32,494 - INFO - CLOSED long at 2066.19 | PnL: 0.63% | $1.05 +2025-03-10 13:30:32,554 - INFO - OPENED LONG at 2065.08 | Stop loss: 2054.7403178571426 | Take profit: 2096.0776232142857 +2025-03-10 13:30:32,835 - INFO - CLOSED long at 2071.39 | PnL: 0.31% | $0.41 +2025-03-10 13:30:32,865 - INFO - OPENED LONG at 2071.36 | Stop loss: 2060.988917857143 | Take profit: 2102.451823214286 +2025-03-10 13:30:34,635 - INFO - CLOSED long at 2065.69 | PnL: -0.27% | $-0.75 +2025-03-10 13:30:34,636 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.032732142857 | Take profit: 2034.6832267857144 +2025-03-10 13:30:34,692 - INFO - CLOSED short at 2064.99 | PnL: 0.03% | $-0.13 +2025-03-10 13:30:34,693 - INFO - OPENED LONG at 2064.99 | Stop loss: 2054.6507678571425 | Take profit: 2095.9862732142856 +2025-03-10 13:30:35,369 - INFO - CLOSED long at 2064.08 | PnL: -0.04% | $-0.29 +2025-03-10 13:30:35,369 - INFO - OPENED SHORT at 2064.08 | Stop loss: 2074.4146821428567 | Take profit: 2033.097376785714 +2025-03-10 13:30:35,395 - INFO - CLOSED short at 2062.71 | PnL: 0.07% | $-0.07 +2025-03-10 13:30:35,395 - INFO - OPENED LONG at 2062.71 | Stop loss: 2052.382167857143 | Take profit: 2093.672073214286 +2025-03-10 13:30:35,678 - INFO - CLOSED long at 2059.3 | PnL: -0.17% | $-0.53 +2025-03-10 13:30:35,782 - INFO - OPENED LONG at 2061.8 | Stop loss: 2051.476717857143 | Take profit: 2092.748423214286 +2025-03-10 13:30:36,357 - INFO - CLOSED long at 2062.6 | PnL: 0.04% | $-0.12 +2025-03-10 13:30:36,607 - INFO - OPENED LONG at 2061.09 | Stop loss: 2050.770267857143 | Take profit: 2092.0277732142863 +2025-03-10 13:30:37,490 - INFO - CLOSED long at 2066.33 | PnL: 0.25% | $0.31 +2025-03-10 13:30:37,521 - INFO - OPENED LONG at 2066.34 | Stop loss: 2055.994017857143 | Take profit: 2097.3565232142855 +2025-03-10 13:30:37,813 - INFO - CLOSED long at 2071.04 | PnL: 0.23% | $0.25 +2025-03-10 13:30:38,126 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6107678571425 | Take profit: 2104.1062732142855 +2025-03-10 13:30:38,931 - INFO - CLOSED long at 2070.35 | PnL: -0.13% | $-0.45 +2025-03-10 13:30:39,176 - INFO - OPENED LONG at 2074.37 | Stop loss: 2063.9838678571427 | Take profit: 2105.5069732142856 +2025-03-10 13:30:39,238 - INFO - CLOSED long at 2074.35 | PnL: -0.00% | $-0.20 +2025-03-10 13:30:39,330 - INFO - OPENED LONG at 2075.32 | Stop loss: 2064.929117857143 | Take profit: 2106.471223214286 +2025-03-10 13:30:39,698 - INFO - CLOSED long at 2065.45 | PnL: -0.48% | $-1.14 +2025-03-10 13:30:39,726 - INFO - OPENED LONG at 2068.1 | Stop loss: 2057.745217857143 | Take profit: 2099.1429232142855 +2025-03-10 13:30:39,823 - INFO - CLOSED long at 2070.1 | PnL: 0.10% | $-0.01 +2025-03-10 13:30:39,879 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.158217857143 | Take profit: 2096.503923214286 +2025-03-10 13:30:40,203 - INFO - CLOSED long at 2064.5 | PnL: -0.05% | $-0.29 +2025-03-10 13:30:40,227 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.9840678571427 | Take profit: 2097.3463732142854 +2025-03-10 13:30:40,462 - INFO - STOP LOSS hit for long at 2055.9840678571427 | PnL: -0.50% | $-1.17 +2025-03-10 13:30:40,490 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.949667857143 | Take profit: 2079.969573214286 +2025-03-10 13:30:41,722 - INFO - CLOSED long at 2074.05 | PnL: 1.21% | $2.14 +2025-03-10 13:30:42,074 - INFO - OPENED LONG at 2085.56 | Stop loss: 2075.117917857143 | Take profit: 2116.8648232142855 +2025-03-10 13:30:42,180 - INFO - TAKE PROFIT hit for long at 2116.8648232142855 | PnL: 1.50% | $2.76 +2025-03-10 13:30:42,260 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.8280178571426 | Take profit: 2171.6545232142857 +2025-03-10 13:30:42,640 - INFO - STOP LOSS hit for long at 2128.8280178571426 | PnL: -0.50% | $-1.21 +2025-03-10 13:30:42,809 - INFO - OPENED LONG at 2121.09 | Stop loss: 2110.470267857143 | Take profit: 2152.927773214286 +2025-03-10 13:30:43,224 - INFO - STOP LOSS hit for long at 2110.470267857143 | PnL: -0.50% | $-1.20 +2025-03-10 13:30:43,280 - INFO - OPENED SHORT at 2109.05 | Stop loss: 2119.609532142857 | Take profit: 2077.3928267857145 +2025-03-10 13:30:43,339 - INFO - CLOSED short at 2112.95 | PnL: -0.18% | $-0.56 +2025-03-10 13:30:43,431 - INFO - OPENED LONG at 2113.24 | Stop loss: 2102.6595178571424 | Take profit: 2144.9600232142852 +2025-03-10 13:30:43,899 - INFO - CLOSED long at 2100.5 | PnL: -0.60% | $-1.38 +2025-03-10 13:30:44,098 - INFO - OPENED LONG at 2102.29 | Stop loss: 2091.764267857143 | Take profit: 2133.8457732142856 +2025-03-10 13:30:44,896 - INFO - STOP LOSS hit for long at 2091.764267857143 | PnL: -0.50% | $-1.16 +2025-03-10 13:30:44,932 - INFO - OPENED LONG at 2094.72 | Stop loss: 2084.2321178571424 | Take profit: 2126.1622232142854 +2025-03-10 13:30:45,125 - INFO - STOP LOSS hit for long at 2084.2321178571424 | PnL: -0.50% | $-1.15 +2025-03-10 13:30:45,177 - INFO - OPENED LONG at 2088.44 | Stop loss: 2077.983517857143 | Take profit: 2119.7880232142857 +2025-03-10 13:30:45,913 - INFO - CLOSED long at 2087.0 | PnL: -0.07% | $-0.32 +2025-03-10 13:30:45,943 - INFO - OPENED LONG at 2087.47 | Stop loss: 2077.0183678571425 | Take profit: 2118.8034732142855 +2025-03-10 13:30:45,978 - INFO - CLOSED long at 2087.78 | PnL: 0.01% | $-0.16 +2025-03-10 13:30:46,040 - INFO - OPENED LONG at 2089.79 | Stop loss: 2079.326767857143 | Take profit: 2121.1582732142856 +2025-03-10 13:30:46,193 - INFO - CLOSED long at 2091.95 | PnL: 0.10% | $0.01 +2025-03-10 13:30:46,319 - INFO - OPENED LONG at 2101.64 | Stop loss: 2091.117517857143 | Take profit: 2133.186023214286 +2025-03-10 13:30:46,597 - INFO - CLOSED long at 2103.07 | PnL: 0.07% | $-0.06 +2025-03-10 13:30:46,597 - INFO - OPENED SHORT at 2103.07 | Stop loss: 2113.5996321428574 | Take profit: 2071.5025267857145 +2025-03-10 13:30:46,625 - INFO - CLOSED short at 2101.5 | PnL: 0.07% | $-0.05 +2025-03-10 13:30:46,626 - INFO - OPENED LONG at 2101.5 | Stop loss: 2090.9782178571427 | Take profit: 2133.0439232142858 +2025-03-10 13:30:46,690 - INFO - CLOSED long at 2103.64 | PnL: 0.10% | $0.00 +2025-03-10 13:30:47,114 - INFO - Trade Analysis: Win Rate=11.1% in uptrends, 0.0% in downtrends | Avg Win=$0.87, Avg Loss=$-0.56 +2025-03-10 13:30:47,115 - INFO - Episode 19: Reward=59.58, Balance=$94.53, Win Rate=26.7%, Trades=30, Episode PnL=$-4.37, Total PnL=$-130.03, Max Drawdown=7.1%, Pred Accuracy=98.9% +2025-03-10 13:30:47,508 - INFO - OPENED LONG at 2057.01 | Stop loss: 2046.710667857143 | Take profit: 2087.886573214286 +2025-03-10 13:30:47,721 - INFO - CLOSED long at 2064.61 | PnL: 0.37% | $0.54 +2025-03-10 13:30:47,722 - INFO - OPENED SHORT at 2064.61 | Stop loss: 2074.9473321428572 | Take profit: 2033.6194267857145 +2025-03-10 13:30:47,875 - INFO - CLOSED short at 2060.99 | PnL: 0.18% | $0.15 +2025-03-10 13:30:47,876 - INFO - OPENED LONG at 2060.99 | Stop loss: 2050.6707678571424 | Take profit: 2091.9262732142856 +2025-03-10 13:30:48,246 - INFO - CLOSED long at 2061.18 | PnL: 0.01% | $-0.18 +2025-03-10 13:30:48,297 - INFO - OPENED LONG at 2065.86 | Stop loss: 2055.516417857143 | Take profit: 2096.869323214286 +2025-03-10 13:30:48,355 - INFO - CLOSED long at 2068.11 | PnL: 0.11% | $0.02 +2025-03-10 13:30:48,411 - INFO - OPENED LONG at 2067.89 | Stop loss: 2057.536267857143 | Take profit: 2098.9297732142854 +2025-03-10 13:30:48,769 - INFO - CLOSED long at 2072.91 | PnL: 0.24% | $0.29 +2025-03-10 13:30:48,770 - INFO - OPENED SHORT at 2072.91 | Stop loss: 2083.288832142857 | Take profit: 2041.794926785714 +2025-03-10 13:30:48,797 - INFO - CLOSED short at 2072.33 | PnL: 0.03% | $-0.14 +2025-03-10 13:30:48,797 - INFO - OPENED LONG at 2072.33 | Stop loss: 2061.954067857143 | Take profit: 2103.4363732142856 +2025-03-10 13:30:48,945 - INFO - CLOSED long at 2072.8 | PnL: 0.02% | $-0.15 +2025-03-10 13:30:48,974 - INFO - OPENED LONG at 2070.79 | Stop loss: 2060.4217678571426 | Take profit: 2101.8732732142857 +2025-03-10 13:30:49,460 - INFO - CLOSED long at 2066.18 | PnL: -0.22% | $-0.64 +2025-03-10 13:30:49,483 - INFO - OPENED LONG at 2068.76 | Stop loss: 2058.401917857143 | Take profit: 2099.812823214286 +2025-03-10 13:30:49,597 - INFO - CLOSED long at 2069.7 | PnL: 0.05% | $-0.11 +2025-03-10 13:30:49,693 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.033717857143 | Take profit: 2101.477423214286 +2025-03-10 13:30:50,321 - INFO - CLOSED long at 2069.46 | PnL: -0.05% | $-0.29 +2025-03-10 13:30:50,637 - INFO - OPENED LONG at 2066.8 | Stop loss: 2056.451717857143 | Take profit: 2097.823423214286 +2025-03-10 13:30:51,368 - INFO - CLOSED long at 2067.84 | PnL: 0.05% | $-0.10 +2025-03-10 13:30:51,369 - INFO - OPENED SHORT at 2067.84 | Stop loss: 2078.193482142857 | Take profit: 2036.8009767857145 +2025-03-10 13:30:51,427 - INFO - CLOSED short at 2067.86 | PnL: -0.00% | $-0.20 +2025-03-10 13:30:51,428 - INFO - OPENED LONG at 2067.86 | Stop loss: 2057.506417857143 | Take profit: 2098.899323214286 +2025-03-10 13:30:51,706 - INFO - CLOSED long at 2067.8 | PnL: -0.00% | $-0.20 +2025-03-10 13:30:51,707 - INFO - OPENED SHORT at 2067.8 | Stop loss: 2078.1532821428573 | Take profit: 2036.7615767857144 +2025-03-10 13:30:51,898 - INFO - CLOSED short at 2066.15 | PnL: 0.08% | $-0.04 +2025-03-10 13:30:51,899 - INFO - OPENED LONG at 2066.15 | Stop loss: 2055.804967857143 | Take profit: 2097.163673214286 +2025-03-10 13:30:52,319 - INFO - CLOSED long at 2066.09 | PnL: -0.00% | $-0.20 +2025-03-10 13:30:52,319 - INFO - OPENED SHORT at 2066.09 | Stop loss: 2076.4347321428577 | Take profit: 2035.0772267857144 +2025-03-10 13:30:52,392 - INFO - CLOSED short at 2064.08 | PnL: 0.10% | $-0.01 +2025-03-10 13:30:52,393 - INFO - OPENED LONG at 2064.08 | Stop loss: 2053.7453178571427 | Take profit: 2095.0626232142854 +2025-03-10 13:30:52,918 - INFO - CLOSED long at 2062.61 | PnL: -0.07% | $-0.34 +2025-03-10 13:30:52,918 - INFO - OPENED SHORT at 2062.61 | Stop loss: 2072.9373321428575 | Take profit: 2031.6494267857145 +2025-03-10 13:30:53,001 - INFO - CLOSED short at 2060.3 | PnL: 0.11% | $0.02 +2025-03-10 13:30:53,002 - INFO - OPENED LONG at 2060.3 | Stop loss: 2049.984217857143 | Take profit: 2091.2259232142856 +2025-03-10 13:30:54,508 - INFO - CLOSED long at 2066.34 | PnL: 0.29% | $0.38 +2025-03-10 13:30:54,539 - INFO - OPENED LONG at 2066.79 | Stop loss: 2056.441767857143 | Take profit: 2097.813273214286 +2025-03-10 13:30:55,037 - INFO - CLOSED long at 2067.44 | PnL: 0.03% | $-0.13 +2025-03-10 13:30:55,037 - INFO - OPENED SHORT at 2067.44 | Stop loss: 2077.791482142857 | Take profit: 2036.4069767857143 +2025-03-10 13:30:55,070 - INFO - CLOSED short at 2068.79 | PnL: -0.07% | $-0.32 +2025-03-10 13:30:55,071 - INFO - OPENED LONG at 2068.79 | Stop loss: 2058.431767857143 | Take profit: 2099.843273214286 +2025-03-10 13:30:55,218 - INFO - CLOSED long at 2065.7 | PnL: -0.15% | $-0.49 +2025-03-10 13:30:55,278 - INFO - OPENED LONG at 2063.95 | Stop loss: 2053.6159678571426 | Take profit: 2094.930673214286 +2025-03-10 13:30:56,060 - INFO - CLOSED long at 2071.61 | PnL: 0.37% | $0.53 +2025-03-10 13:30:56,439 - INFO - OPENED LONG at 2069.97 | Stop loss: 2059.6058678571426 | Take profit: 2101.0409732142853 +2025-03-10 13:30:57,552 - INFO - STOP LOSS hit for long at 2059.6058678571426 | PnL: -0.50% | $-1.17 +2025-03-10 13:30:57,599 - INFO - OPENED LONG at 2058.09 | Stop loss: 2047.785267857143 | Take profit: 2088.9827732142858 +2025-03-10 13:30:58,712 - INFO - CLOSED long at 2070.41 | PnL: 0.60% | $0.96 +2025-03-10 13:30:58,745 - INFO - OPENED LONG at 2073.49 | Stop loss: 2063.1082678571424 | Take profit: 2104.6137732142856 +2025-03-10 13:30:58,776 - INFO - CLOSED long at 2074.05 | PnL: 0.03% | $-0.14 +2025-03-10 13:30:58,870 - INFO - OPENED LONG at 2071.8 | Stop loss: 2061.426717857143 | Take profit: 2102.8984232142857 +2025-03-10 13:30:58,927 - INFO - CLOSED long at 2076.08 | PnL: 0.21% | $0.21 +2025-03-10 13:30:58,950 - INFO - OPENED LONG at 2077.61 | Stop loss: 2067.207667857143 | Take profit: 2108.7955732142855 +2025-03-10 13:30:59,061 - INFO - TAKE PROFIT hit for long at 2108.7955732142855 | PnL: 1.50% | $2.73 +2025-03-10 13:30:59,088 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.8280178571426 | Take profit: 2171.6545232142857 +2025-03-10 13:30:59,167 - INFO - CLOSED long at 2137.59 | PnL: -0.09% | $-0.38 +2025-03-10 13:30:59,167 - INFO - OPENED SHORT at 2137.59 | Stop loss: 2148.292232142857 | Take profit: 2105.5047267857144 +2025-03-10 13:30:59,257 - INFO - CLOSED short at 2142.68 | PnL: -0.24% | $-0.68 +2025-03-10 13:30:59,369 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.649217857143 | Take profit: 2159.230923214286 +2025-03-10 13:30:59,452 - INFO - CLOSED long at 2120.15 | PnL: -0.34% | $-0.87 +2025-03-10 13:30:59,556 - INFO - OPENED LONG at 2118.52 | Stop loss: 2107.913117857143 | Take profit: 2150.3192232142856 +2025-03-10 13:30:59,619 - INFO - CLOSED long at 2119.07 | PnL: 0.03% | $-0.15 +2025-03-10 13:30:59,648 - INFO - OPENED LONG at 2115.28 | Stop loss: 2104.689317857143 | Take profit: 2147.0306232142857 +2025-03-10 13:30:59,674 - INFO - CLOSED long at 2107.43 | PnL: -0.37% | $-0.93 +2025-03-10 13:30:59,820 - INFO - OPENED LONG at 2112.46 | Stop loss: 2101.883417857143 | Take profit: 2144.168323214286 +2025-03-10 13:30:59,907 - INFO - CLOSED long at 2120.81 | PnL: 0.40% | $0.57 +2025-03-10 13:30:59,932 - INFO - OPENED LONG at 2116.48 | Stop loss: 2105.883317857143 | Take profit: 2148.2486232142855 +2025-03-10 13:31:00,118 - INFO - STOP LOSS hit for long at 2105.883317857143 | PnL: -0.50% | $-1.18 +2025-03-10 13:31:00,175 - INFO - OPENED LONG at 2090.0 | Stop loss: 2079.5357178571426 | Take profit: 2121.3714232142856 +2025-03-10 13:31:00,233 - INFO - CLOSED long at 2098.1 | PnL: 0.39% | $0.56 +2025-03-10 13:31:00,233 - INFO - OPENED SHORT at 2098.1 | Stop loss: 2108.604782142857 | Take profit: 2066.607076785714 +2025-03-10 13:31:00,295 - INFO - CLOSED short at 2102.29 | PnL: -0.20% | $-0.58 +2025-03-10 13:31:00,381 - INFO - OPENED LONG at 2100.69 | Stop loss: 2090.1722678571427 | Take profit: 2132.221773214286 +2025-03-10 13:31:00,418 - INFO - CLOSED long at 2104.83 | PnL: 0.20% | $0.19 +2025-03-10 13:31:00,475 - INFO - OPENED LONG at 2100.74 | Stop loss: 2090.2220178571424 | Take profit: 2132.2725232142852 +2025-03-10 13:31:00,509 - INFO - CLOSED long at 2103.86 | PnL: 0.15% | $0.09 +2025-03-10 13:31:00,658 - INFO - OPENED LONG at 2098.39 | Stop loss: 2087.8837678571426 | Take profit: 2129.887273214286 +2025-03-10 13:31:00,927 - INFO - STOP LOSS hit for long at 2087.8837678571426 | PnL: -0.50% | $-1.16 +2025-03-10 13:31:00,967 - INFO - OPENED LONG at 2088.44 | Stop loss: 2077.983517857143 | Take profit: 2119.7880232142857 +2025-03-10 13:31:01,113 - INFO - CLOSED long at 2080.38 | PnL: -0.39% | $-0.93 +2025-03-10 13:31:01,162 - INFO - OPENED LONG at 2083.41 | Stop loss: 2072.9786678571427 | Take profit: 2114.6825732142856 +2025-03-10 13:31:01,317 - INFO - CLOSED long at 2084.72 | PnL: 0.06% | $-0.07 +2025-03-10 13:31:01,347 - INFO - OPENED LONG at 2085.83 | Stop loss: 2075.386567857143 | Take profit: 2117.138873214286 +2025-03-10 13:31:01,705 - INFO - CLOSED long at 2089.2 | PnL: 0.16% | $0.12 +2025-03-10 13:31:01,739 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.580467857143 | Take profit: 2122.437173214286 +2025-03-10 13:31:01,997 - INFO - CLOSED long at 2098.49 | PnL: 0.36% | $0.49 +2025-03-10 13:31:02,028 - INFO - OPENED LONG at 2099.89 | Stop loss: 2089.376267857143 | Take profit: 2131.4097732142855 +2025-03-10 13:31:02,252 - INFO - CLOSED long at 2103.07 | PnL: 0.15% | $0.10 +2025-03-10 13:31:02,405 - INFO - OPENED LONG at 2103.52 | Stop loss: 2092.9881178571427 | Take profit: 2135.094223214286 +2025-03-10 13:31:02,611 - INFO - CLOSED long at 2103.41 | PnL: -0.01% | $-0.20 +2025-03-10 13:31:02,612 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9413321428574 | Take profit: 2071.8374267857143 +2025-03-10 13:31:02,640 - INFO - CLOSED short at 2104.73 | PnL: -0.06% | $-0.31 +2025-03-10 13:31:02,641 - INFO - OPENED LONG at 2104.73 | Stop loss: 2094.192067857143 | Take profit: 2136.322373214286 +2025-03-10 13:31:02,781 - INFO - Trade Analysis: Win Rate=25.0% in uptrends, 0.0% in downtrends | Avg Win=$0.47, Avg Loss=$-0.41 +2025-03-10 13:31:02,782 - INFO - Episode 20: Reward=48.27, Balance=$95.64, Win Rate=36.2%, Trades=47, Episode PnL=$-4.18, Total PnL=$-134.39, Max Drawdown=5.5%, Pred Accuracy=98.9% +2025-03-10 13:31:02,938 - INFO - Model saved to checkpoints/trading_agent_episode_20.pt +2025-03-10 13:31:02,939 - INFO - Checkpoint saved at episode 20 +2025-03-10 13:31:02,940 - INFO - Reducing learning rate to 0.000090 +2025-03-10 13:31:03,044 - ERROR - Error creating visualization: No module named 'mplfinance' +2025-03-10 13:31:03,045 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2402, in visualize_training_results + from mplfinance.original_flavor import candlestick_ohlc +ModuleNotFoundError: No module named 'mplfinance' + +2025-03-10 13:31:03,488 - INFO - OPENED LONG at 2051.89 | Stop loss: 2041.6162678571427 | Take profit: 2082.6897732142857 +2025-03-10 13:31:04,728 - INFO - CLOSED long at 2073.73 | PnL: 1.06% | $1.92 +2025-03-10 13:31:04,872 - INFO - OPENED LONG at 2071.41 | Stop loss: 2061.0386678571426 | Take profit: 2102.502573214286 +2025-03-10 13:31:05,121 - INFO - CLOSED long at 2070.36 | PnL: -0.05% | $-0.31 +2025-03-10 13:31:05,153 - INFO - OPENED LONG at 2068.9 | Stop loss: 2058.5412178571432 | Take profit: 2099.954923214286 +2025-03-10 13:31:05,590 - INFO - CLOSED long at 2068.76 | PnL: -0.01% | $-0.22 +2025-03-10 13:31:05,728 - INFO - OPENED SHORT at 2068.51 | Stop loss: 2078.8668321428577 | Take profit: 2037.4609267857145 +2025-03-10 13:31:05,920 - INFO - CLOSED short at 2071.39 | PnL: -0.14% | $-0.48 +2025-03-10 13:31:05,920 - INFO - OPENED LONG at 2071.39 | Stop loss: 2061.018767857143 | Take profit: 2102.482273214285 +2025-03-10 13:31:07,106 - INFO - CLOSED long at 2070.7 | PnL: -0.03% | $-0.27 +2025-03-10 13:31:07,170 - INFO - OPENED LONG at 2070.73 | Stop loss: 2060.362067857143 | Take profit: 2101.812373214286 +2025-03-10 13:31:07,636 - INFO - CLOSED long at 2064.99 | PnL: -0.28% | $-0.75 +2025-03-10 13:31:07,636 - INFO - OPENED SHORT at 2064.99 | Stop loss: 2075.329232142857 | Take profit: 2033.993726785714 +2025-03-10 13:31:07,760 - INFO - CLOSED short at 2062.89 | PnL: 0.10% | $0.00 +2025-03-10 13:31:07,761 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.561267857143 | Take profit: 2093.8547732142856 +2025-03-10 13:31:08,116 - INFO - CLOSED long at 2066.09 | PnL: 0.16% | $0.11 +2025-03-10 13:31:08,117 - INFO - OPENED SHORT at 2066.09 | Stop loss: 2076.4347321428577 | Take profit: 2035.0772267857144 +2025-03-10 13:31:08,224 - INFO - CLOSED short at 2062.71 | PnL: 0.16% | $0.13 +2025-03-10 13:31:08,224 - INFO - OPENED LONG at 2062.71 | Stop loss: 2052.382167857143 | Take profit: 2093.672073214286 +2025-03-10 13:31:08,382 - INFO - CLOSED long at 2060.9 | PnL: -0.09% | $-0.37 +2025-03-10 13:31:08,549 - INFO - OPENED LONG at 2064.7 | Stop loss: 2054.3622178571427 | Take profit: 2095.6919232142855 +2025-03-10 13:31:08,869 - INFO - CLOSED long at 2065.89 | PnL: 0.06% | $-0.08 +2025-03-10 13:31:08,951 - INFO - OPENED LONG at 2062.6 | Stop loss: 2052.2727178571427 | Take profit: 2093.5604232142855 +2025-03-10 13:31:09,896 - INFO - CLOSED long at 2067.33 | PnL: 0.23% | $0.26 +2025-03-10 13:31:10,009 - INFO - OPENED LONG at 2072.0 | Stop loss: 2061.6257178571427 | Take profit: 2103.1014232142857 +2025-03-10 13:31:10,579 - INFO - CLOSED long at 2067.33 | PnL: -0.23% | $-0.65 +2025-03-10 13:31:10,858 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.163217857143 | Take profit: 2095.488923214286 +2025-03-10 13:31:12,257 - INFO - CLOSED long at 2075.61 | PnL: 0.54% | $0.86 +2025-03-10 13:31:12,257 - INFO - OPENED SHORT at 2075.61 | Stop loss: 2086.002332142857 | Take profit: 2044.4544267857145 +2025-03-10 13:31:12,291 - INFO - CLOSED short at 2074.0 | PnL: 0.08% | $-0.04 +2025-03-10 13:31:12,291 - INFO - OPENED LONG at 2074.0 | Stop loss: 2063.615717857143 | Take profit: 2105.131423214286 +2025-03-10 13:31:12,351 - INFO - CLOSED long at 2069.97 | PnL: -0.19% | $-0.59 +2025-03-10 13:31:12,381 - INFO - OPENED LONG at 2067.7 | Stop loss: 2057.347217857143 | Take profit: 2098.7369232142855 +2025-03-10 13:31:12,903 - INFO - CLOSED long at 2063.98 | PnL: -0.18% | $-0.55 +2025-03-10 13:31:12,903 - INFO - OPENED SHORT at 2063.98 | Stop loss: 2074.314182142857 | Take profit: 2032.9988767857144 +2025-03-10 13:31:13,020 - INFO - CLOSED short at 2064.5 | PnL: -0.03% | $-0.25 +2025-03-10 13:31:13,020 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.163217857143 | Take profit: 2095.488923214286 +2025-03-10 13:31:13,108 - INFO - CLOSED long at 2060.7 | PnL: -0.18% | $-0.56 +2025-03-10 13:31:13,161 - INFO - OPENED LONG at 2059.2 | Stop loss: 2048.889717857143 | Take profit: 2090.1094232142855 +2025-03-10 13:31:13,320 - INFO - CLOSED long at 2049.5 | PnL: -0.47% | $-1.11 +2025-03-10 13:31:13,320 - INFO - OPENED SHORT at 2049.5 | Stop loss: 2059.761782142857 | Take profit: 2018.7360767857142 +2025-03-10 13:31:13,345 - INFO - CLOSED short at 2051.99 | PnL: -0.12% | $-0.43 +2025-03-10 13:31:13,346 - INFO - OPENED LONG at 2051.99 | Stop loss: 2041.7157678571427 | Take profit: 2082.791273214286 +2025-03-10 13:31:13,508 - INFO - CLOSED long at 2063.9 | PnL: 0.58% | $0.92 +2025-03-10 13:31:13,508 - INFO - OPENED SHORT at 2063.9 | Stop loss: 2074.233782142857 | Take profit: 2032.9200767857144 +2025-03-10 13:31:13,565 - INFO - CLOSED short at 2062.43 | PnL: 0.07% | $-0.06 +2025-03-10 13:31:13,565 - INFO - OPENED LONG at 2062.43 | Stop loss: 2052.103567857143 | Take profit: 2093.3878732142853 +2025-03-10 13:31:14,342 - INFO - TAKE PROFIT hit for long at 2093.3878732142853 | PnL: 1.50% | $2.71 +2025-03-10 13:31:14,402 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.8280178571426 | Take profit: 2171.6545232142857 +2025-03-10 13:31:14,449 - INFO - CLOSED long at 2133.95 | PnL: -0.26% | $-0.72 +2025-03-10 13:31:14,744 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.534967857143 | Take profit: 2151.9736732142856 +2025-03-10 13:31:14,987 - INFO - STOP LOSS hit for long at 2109.534967857143 | PnL: -0.50% | $-1.19 +2025-03-10 13:31:15,104 - INFO - OPENED LONG at 2112.95 | Stop loss: 2102.3709678571427 | Take profit: 2144.6656732142856 +2025-03-10 13:31:15,443 - INFO - STOP LOSS hit for long at 2102.3709678571427 | PnL: -0.50% | $-1.17 +2025-03-10 13:31:15,475 - INFO - OPENED LONG at 2090.0 | Stop loss: 2079.5357178571426 | Take profit: 2121.3714232142856 +2025-03-10 13:31:15,731 - INFO - CLOSED long at 2100.69 | PnL: 0.51% | $0.79 +2025-03-10 13:31:15,845 - INFO - OPENED LONG at 2103.86 | Stop loss: 2093.326417857143 | Take profit: 2135.439323214286 +2025-03-10 13:31:16,209 - INFO - CLOSED long at 2092.46 | PnL: -0.54% | $-1.25 +2025-03-10 13:31:16,273 - INFO - OPENED LONG at 2094.72 | Stop loss: 2084.2321178571424 | Take profit: 2126.1622232142854 +2025-03-10 13:31:16,306 - INFO - CLOSED long at 2094.08 | PnL: -0.03% | $-0.25 +2025-03-10 13:31:16,306 - INFO - OPENED SHORT at 2094.08 | Stop loss: 2104.5646821428572 | Take profit: 2062.647376785714 +2025-03-10 13:31:16,336 - INFO - CLOSED short at 2088.35 | PnL: 0.27% | $0.33 +2025-03-10 13:31:16,337 - INFO - OPENED LONG at 2088.35 | Stop loss: 2077.893967857143 | Take profit: 2119.6966732142855 +2025-03-10 13:31:18,443 - INFO - CLOSED long at 2103.52 | PnL: 0.73% | $1.20 +2025-03-10 13:31:18,443 - INFO - OPENED SHORT at 2103.52 | Stop loss: 2114.0518821428573 | Take profit: 2071.9457767857143 +2025-03-10 13:31:18,513 - INFO - CLOSED short at 2105.21 | PnL: -0.08% | $-0.35 +2025-03-10 13:31:18,513 - INFO - OPENED LONG at 2105.21 | Stop loss: 2094.669667857143 | Take profit: 2136.8095732142856 +2025-03-10 13:31:18,851 - INFO - Trade Analysis: Win Rate=33.3% in uptrends, 0.0% in downtrends | Avg Win=$0.84, Avg Loss=$-0.53 +2025-03-10 13:31:18,853 - INFO - Episode 21: Reward=52.90, Balance=$97.60, Win Rate=33.3%, Trades=33, Episode PnL=$-2.83, Total PnL=$-136.79, Max Drawdown=5.2%, Pred Accuracy=98.8% +2025-03-10 13:31:18,853 - INFO - Reducing learning rate to 0.000081 +2025-03-10 13:31:19,119 - INFO - OPENED LONG at 2049.89 | Stop loss: 2039.6262678571427 | Take profit: 2080.659773214286 +2025-03-10 13:31:19,217 - INFO - CLOSED long at 2051.89 | PnL: 0.10% | $-0.00 +2025-03-10 13:31:19,218 - INFO - OPENED SHORT at 2051.89 | Stop loss: 2062.163732142857 | Take profit: 2021.090226785714 +2025-03-10 13:31:19,248 - INFO - CLOSED short at 2052.3 | PnL: -0.02% | $-0.24 +2025-03-10 13:31:19,249 - INFO - OPENED LONG at 2052.3 | Stop loss: 2042.024217857143 | Take profit: 2083.105923214286 +2025-03-10 13:31:19,440 - INFO - CLOSED long at 2059.7 | PnL: 0.36% | $0.52 +2025-03-10 13:31:19,473 - INFO - OPENED LONG at 2061.49 | Stop loss: 2051.168267857143 | Take profit: 2092.4337732142853 +2025-03-10 13:31:19,613 - INFO - CLOSED long at 2064.69 | PnL: 0.16% | $0.11 +2025-03-10 13:31:19,645 - INFO - OPENED LONG at 2063.01 | Stop loss: 2052.680667857143 | Take profit: 2093.976573214286 +2025-03-10 13:31:19,732 - INFO - CLOSED long at 2060.0 | PnL: -0.15% | $-0.49 +2025-03-10 13:31:19,786 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.561267857143 | Take profit: 2093.8547732142856 +2025-03-10 13:31:19,879 - INFO - CLOSED long at 2057.8 | PnL: -0.25% | $-0.69 +2025-03-10 13:31:19,880 - INFO - OPENED SHORT at 2057.8 | Stop loss: 2068.1032821428576 | Take profit: 2026.9115767857145 +2025-03-10 13:31:19,967 - INFO - CLOSED short at 2058.11 | PnL: -0.02% | $-0.23 +2025-03-10 13:31:19,968 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.805167857143 | Take profit: 2089.003073214286 +2025-03-10 13:31:20,233 - INFO - CLOSED long at 2071.63 | PnL: 0.66% | $1.09 +2025-03-10 13:31:20,233 - INFO - OPENED SHORT at 2071.63 | Stop loss: 2082.0024321428573 | Take profit: 2040.5341267857145 +2025-03-10 13:31:20,313 - INFO - CLOSED short at 2068.65 | PnL: 0.14% | $0.09 +2025-03-10 13:31:20,313 - INFO - OPENED LONG at 2068.65 | Stop loss: 2058.292467857143 | Take profit: 2099.7011732142855 +2025-03-10 13:31:21,375 - INFO - CLOSED long at 2068.51 | PnL: -0.01% | $-0.21 +2025-03-10 13:31:21,376 - INFO - OPENED SHORT at 2068.51 | Stop loss: 2078.8668321428577 | Take profit: 2037.4609267857145 +2025-03-10 13:31:21,530 - INFO - CLOSED short at 2071.4 | PnL: -0.14% | $-0.48 +2025-03-10 13:31:21,530 - INFO - OPENED LONG at 2071.4 | Stop loss: 2061.028717857143 | Take profit: 2102.4924232142857 +2025-03-10 13:31:23,757 - INFO - CLOSED long at 2064.99 | PnL: -0.31% | $-0.81 +2025-03-10 13:31:23,757 - INFO - OPENED SHORT at 2064.99 | Stop loss: 2075.329232142857 | Take profit: 2033.993726785714 +2025-03-10 13:31:23,790 - INFO - CLOSED short at 2065.83 | PnL: -0.04% | $-0.28 +2025-03-10 13:31:23,790 - INFO - OPENED LONG at 2065.83 | Stop loss: 2055.4865678571427 | Take profit: 2096.8388732142853 +2025-03-10 13:31:25,948 - INFO - STOP LOSS hit for long at 2055.4865678571427 | PnL: -0.50% | $-1.17 +2025-03-10 13:31:26,070 - INFO - OPENED LONG at 2056.71 | Stop loss: 2046.412167857143 | Take profit: 2087.5820732142856 +2025-03-10 13:31:31,849 - INFO - CLOSED long at 2071.89 | PnL: 0.74% | $1.23 +2025-03-10 13:31:32,103 - INFO - OPENED LONG at 2103.02 | Stop loss: 2092.4906178571428 | Take profit: 2134.586723214286 +2025-03-10 13:31:32,186 - INFO - TAKE PROFIT hit for long at 2134.586723214286 | PnL: 1.50% | $2.74 +2025-03-10 13:31:32,214 - INFO - OPENED LONG at 2131.78 | Stop loss: 2121.106817857143 | Take profit: 2163.7781232142856 +2025-03-10 13:31:32,238 - INFO - CLOSED long at 2133.95 | PnL: 0.10% | $0.00 +2025-03-10 13:31:32,350 - INFO - OPENED LONG at 2142.68 | Stop loss: 2131.9523178571426 | Take profit: 2174.841623214286 +2025-03-10 13:31:32,542 - INFO - STOP LOSS hit for long at 2131.9523178571426 | PnL: -0.50% | $-1.21 +2025-03-10 13:31:32,609 - INFO - OPENED LONG at 2128.69 | Stop loss: 2118.032267857143 | Take profit: 2160.6417732142854 +2025-03-10 13:31:32,695 - INFO - STOP LOSS hit for long at 2118.032267857143 | PnL: -0.50% | $-1.19 +2025-03-10 13:31:32,725 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.3160678571426 | Take profit: 2151.750373214286 +2025-03-10 13:31:32,985 - INFO - CLOSED long at 2115.28 | PnL: -0.22% | $-0.63 +2025-03-10 13:31:32,985 - INFO - OPENED SHORT at 2115.28 | Stop loss: 2125.8706821428573 | Take profit: 2083.5293767857147 +2025-03-10 13:31:33,019 - INFO - CLOSED short at 2107.43 | PnL: 0.37% | $0.53 +2025-03-10 13:31:33,019 - INFO - OPENED LONG at 2107.43 | Stop loss: 2096.878567857143 | Take profit: 2139.0628732142854 +2025-03-10 13:31:33,642 - INFO - STOP LOSS hit for long at 2096.878567857143 | PnL: -0.50% | $-1.18 +2025-03-10 13:31:33,838 - INFO - OPENED LONG at 2099.25 | Stop loss: 2088.739467857143 | Take profit: 2130.7601732142857 +2025-03-10 13:31:34,084 - INFO - CLOSED long at 2101.51 | PnL: 0.11% | $0.01 +2025-03-10 13:31:34,372 - INFO - OPENED LONG at 2088.35 | Stop loss: 2077.893967857143 | Take profit: 2119.6966732142855 +2025-03-10 13:31:34,701 - INFO - CLOSED long at 2086.57 | PnL: -0.09% | $-0.36 +2025-03-10 13:31:34,754 - INFO - OPENED LONG at 2084.72 | Stop loss: 2074.2821178571426 | Take profit: 2116.0122232142853 +2025-03-10 13:31:34,933 - INFO - CLOSED long at 2087.0 | PnL: 0.11% | $0.02 +2025-03-10 13:31:35,113 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.580467857143 | Take profit: 2122.437173214286 +2025-03-10 13:31:36,040 - INFO - Trade Analysis: Win Rate=27.3% in uptrends, 0.0% in downtrends | Avg Win=$0.63, Avg Loss=$-0.61 +2025-03-10 13:31:36,041 - INFO - Episode 22: Reward=72.43, Balance=$97.19, Win Rate=40.0%, Trades=25, Episode PnL=$-1.57, Total PnL=$-139.60, Max Drawdown=4.0%, Pred Accuracy=98.9% +2025-03-10 13:31:36,206 - INFO - Model saved to models/trading_agent_best_winrate.pt +2025-03-10 13:31:36,207 - INFO - New best win rate model saved: 40.0% +2025-03-10 13:31:36,207 - INFO - Reducing learning rate to 0.000073 +2025-03-10 13:31:36,560 - INFO - OPENED LONG at 2052.3 | Stop loss: 2042.024217857143 | Take profit: 2083.105923214286 +2025-03-10 13:31:37,071 - INFO - CLOSED long at 2060.0 | PnL: 0.38% | $0.55 +2025-03-10 13:31:37,073 - INFO - OPENED SHORT at 2060.0 | Stop loss: 2070.3142821428573 | Take profit: 2029.0785767857142 +2025-03-10 13:31:37,108 - INFO - CLOSED short at 2061.89 | PnL: -0.09% | $-0.38 +2025-03-10 13:31:37,109 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.566267857143 | Take profit: 2092.8397732142857 +2025-03-10 13:31:37,890 - INFO - CLOSED long at 2070.26 | PnL: 0.41% | $0.61 +2025-03-10 13:31:37,920 - INFO - OPENED LONG at 2071.44 | Stop loss: 2061.068517857143 | Take profit: 2102.533023214286 +2025-03-10 13:31:39,290 - INFO - CLOSED long at 2069.96 | PnL: -0.07% | $-0.34 +2025-03-10 13:31:39,291 - INFO - OPENED SHORT at 2069.96 | Stop loss: 2080.324082142857 | Take profit: 2038.8891767857144 +2025-03-10 13:31:39,423 - INFO - CLOSED short at 2072.75 | PnL: -0.13% | $-0.47 +2025-03-10 13:31:39,425 - INFO - OPENED LONG at 2072.75 | Stop loss: 2062.371967857143 | Take profit: 2103.8626732142857 +2025-03-10 13:31:40,038 - INFO - CLOSED long at 2067.89 | PnL: -0.23% | $-0.66 +2025-03-10 13:31:40,069 - INFO - OPENED LONG at 2068.58 | Stop loss: 2058.2228178571427 | Take profit: 2099.6301232142855 +2025-03-10 13:31:41,969 - INFO - CLOSED long at 2062.6 | PnL: -0.29% | $-0.77 +2025-03-10 13:31:42,135 - INFO - OPENED LONG at 2059.16 | Stop loss: 2048.849917857143 | Take profit: 2090.0688232142857 +2025-03-10 13:31:43,000 - INFO - CLOSED long at 2069.79 | PnL: 0.52% | $0.81 +2025-03-10 13:31:43,124 - INFO - OPENED LONG at 2075.01 | Stop loss: 2064.620667857143 | Take profit: 2106.156573214286 +2025-03-10 13:31:43,287 - INFO - CLOSED long at 2073.23 | PnL: -0.09% | $-0.37 +2025-03-10 13:31:43,398 - INFO - OPENED LONG at 2069.69 | Stop loss: 2059.327267857143 | Take profit: 2100.7567732142857 +2025-03-10 13:31:43,450 - INFO - CLOSED long at 2067.44 | PnL: -0.11% | $-0.41 +2025-03-10 13:31:43,450 - INFO - OPENED SHORT at 2067.44 | Stop loss: 2077.791482142857 | Take profit: 2036.4069767857143 +2025-03-10 13:31:43,567 - INFO - CLOSED short at 2069.87 | PnL: -0.12% | $-0.43 +2025-03-10 13:31:43,568 - INFO - OPENED LONG at 2069.87 | Stop loss: 2059.506367857143 | Take profit: 2100.9394732142855 +2025-03-10 13:31:43,823 - INFO - CLOSED long at 2063.97 | PnL: -0.29% | $-0.75 +2025-03-10 13:31:43,878 - INFO - OPENED LONG at 2065.3 | Stop loss: 2054.959217857143 | Take profit: 2096.300923214286 +2025-03-10 13:31:45,227 - INFO - CLOSED long at 2067.0 | PnL: 0.08% | $-0.03 +2025-03-10 13:31:45,390 - INFO - OPENED LONG at 2068.1 | Stop loss: 2057.745217857143 | Take profit: 2099.1429232142855 +2025-03-10 13:31:45,417 - INFO - CLOSED long at 2069.0 | PnL: 0.04% | $-0.11 +2025-03-10 13:31:45,418 - INFO - OPENED SHORT at 2069.0 | Stop loss: 2079.3592821428574 | Take profit: 2037.9435767857144 +2025-03-10 13:31:45,461 - INFO - CLOSED short at 2070.19 | PnL: -0.06% | $-0.30 +2025-03-10 13:31:45,461 - INFO - OPENED LONG at 2070.19 | Stop loss: 2059.824767857143 | Take profit: 2101.264273214286 +2025-03-10 13:31:45,595 - INFO - CLOSED long at 2065.8 | PnL: -0.21% | $-0.60 +2025-03-10 13:31:45,596 - INFO - OPENED SHORT at 2065.8 | Stop loss: 2076.1432821428575 | Take profit: 2034.7915767857146 +2025-03-10 13:31:45,628 - INFO - CLOSED short at 2065.07 | PnL: 0.04% | $-0.12 +2025-03-10 13:31:45,628 - INFO - OPENED LONG at 2065.07 | Stop loss: 2054.730367857143 | Take profit: 2096.067473214286 +2025-03-10 13:31:45,680 - INFO - CLOSED long at 2063.39 | PnL: -0.08% | $-0.35 +2025-03-10 13:31:45,680 - INFO - OPENED SHORT at 2063.39 | Stop loss: 2073.721232142857 | Take profit: 2032.4177267857142 +2025-03-10 13:31:45,737 - INFO - CLOSED short at 2063.98 | PnL: -0.03% | $-0.24 +2025-03-10 13:31:45,738 - INFO - OPENED LONG at 2063.98 | Stop loss: 2053.645817857143 | Take profit: 2094.9611232142856 +2025-03-10 13:31:46,094 - INFO - STOP LOSS hit for long at 2053.645817857143 | PnL: -0.50% | $-1.14 +2025-03-10 13:31:46,133 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.949667857143 | Take profit: 2079.969573214286 +2025-03-10 13:31:47,737 - INFO - TAKE PROFIT hit for long at 2079.969573214286 | PnL: 1.50% | $2.63 +2025-03-10 13:31:47,765 - INFO - OPENED LONG at 2090.49 | Stop loss: 2080.023267857143 | Take profit: 2121.8687732142853 +2025-03-10 13:31:47,822 - INFO - TAKE PROFIT hit for long at 2121.8687732142853 | PnL: 1.50% | $2.70 +2025-03-10 13:31:47,851 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.8280178571426 | Take profit: 2171.6545232142857 +2025-03-10 13:31:47,997 - INFO - CLOSED long at 2141.3 | PnL: 0.08% | $-0.04 +2025-03-10 13:31:48,096 - INFO - OPENED LONG at 2134.78 | Stop loss: 2124.0918178571433 | Take profit: 2166.8231232142857 +2025-03-10 13:31:48,232 - INFO - STOP LOSS hit for long at 2124.0918178571433 | PnL: -0.50% | $-1.19 +2025-03-10 13:31:48,376 - INFO - OPENED LONG at 2121.4 | Stop loss: 2110.778717857143 | Take profit: 2153.2424232142857 +2025-03-10 13:31:48,533 - INFO - STOP LOSS hit for long at 2110.778717857143 | PnL: -0.50% | $-1.18 +2025-03-10 13:31:48,749 - INFO - OPENED LONG at 2112.46 | Stop loss: 2101.883417857143 | Take profit: 2144.168323214286 +2025-03-10 13:31:49,059 - INFO - CLOSED long at 2106.49 | PnL: -0.28% | $-0.74 +2025-03-10 13:31:49,059 - INFO - OPENED SHORT at 2106.49 | Stop loss: 2117.036732142857 | Take profit: 2074.871226785714 +2025-03-10 13:31:49,169 - INFO - CLOSED short at 2103.33 | PnL: 0.15% | $0.10 +2025-03-10 13:31:49,169 - INFO - OPENED LONG at 2103.33 | Stop loss: 2092.7990678571427 | Take profit: 2134.9013732142853 +2025-03-10 13:31:49,237 - INFO - STOP LOSS hit for long at 2092.7990678571427 | PnL: -0.50% | $-1.15 +2025-03-10 13:31:49,270 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0180678571433 | Take profit: 2131.044373214286 +2025-03-10 13:44:50,633 - INFO - Using GPU: NVIDIA GeForce RTX 4060 Laptop GPU +2025-03-10 13:44:50,664 - INFO - Exchange initialized with standard CCXT: mexc +2025-03-10 13:44:50,665 - INFO - Fetching initial data for ETH/USDT +2025-03-10 13:44:54,388 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 13:44:54,409 - INFO - Initialized environment with 500 candles +2025-03-10 13:44:57,591 - INFO - Starting training for 1000 episodes... +2025-03-10 13:44:57,592 - INFO - Starting training on device: cuda +2025-03-10 13:44:57,593 - INFO - Loading best model from models/trading_agent_best_pnl.pt to resume training +2025-03-10 13:44:57,593 - INFO - Loading model from models/trading_agent_best_pnl.pt +2025-03-10 13:44:57,793 - INFO - Model loaded successfully with weights_only=True +2025-03-10 13:44:57,793 - INFO - Resumed with best metrics - Reward: 202.74, PnL: $-1.29, Win Rate: 38.7% +2025-03-10 13:44:58,133 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:44:58,151 - INFO - CLOSED long at 2058.11 | PnL: -0.23% | $-0.66 +2025-03-10 13:44:58,156 - INFO - OPENED LONG at 2061.18 | Stop loss: 2050.859157142857 | Take profit: 2092.120114285714 +2025-03-10 13:44:58,231 - INFO - CLOSED long at 2072.33 | PnL: 0.54% | $0.87 +2025-03-10 13:44:58,231 - INFO - OPENED SHORT at 2072.33 | Stop loss: 2082.706592857143 | Take profit: 2041.2226357142856 +2025-03-10 13:44:58,237 - INFO - CLOSED short at 2071.38 | PnL: 0.05% | $-0.11 +2025-03-10 13:44:58,237 - INFO - OPENED LONG at 2071.38 | Stop loss: 2061.0081571428573 | Take profit: 2102.4731142857145 +2025-03-10 13:44:58,283 - INFO - CLOSED long at 2067.6 | PnL: -0.18% | $-0.56 +2025-03-10 13:44:58,286 - INFO - OPENED LONG at 2067.51 | Stop loss: 2057.1575071428574 | Take profit: 2098.5450642857145 +2025-03-10 13:44:58,330 - INFO - CLOSED long at 2070.4 | PnL: 0.14% | $0.08 +2025-03-10 13:44:58,334 - INFO - OPENED LONG at 2071.4 | Stop loss: 2061.0280571428575 | Take profit: 2102.4934142857146 +2025-03-10 13:44:58,882 - INFO - CLOSED long at 2065.26 | PnL: -0.30% | $-0.78 +2025-03-10 13:44:59,670 - INFO - OPENED SHORT at 2070.04 | Stop loss: 2080.405142857143 | Take profit: 2038.9669857142858 +2025-03-10 13:44:59,698 - INFO - CLOSED short at 2067.8 | PnL: 0.11% | $0.02 +2025-03-10 13:44:59,876 - INFO - OPENED SHORT at 2065.83 | Stop loss: 2076.1740928571426 | Take profit: 2034.8201357142857 +2025-03-10 13:45:00,374 - INFO - CLOSED short at 2062.71 | PnL: 0.15% | $0.10 +2025-03-10 13:45:00,375 - INFO - OPENED LONG at 2062.71 | Stop loss: 2052.381507142857 | Take profit: 2093.673064285714 +2025-03-10 13:45:00,403 - INFO - CLOSED long at 2062.89 | PnL: 0.01% | $-0.18 +2025-03-10 13:45:00,403 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.219392857143 | Take profit: 2031.9242357142857 +2025-03-10 13:45:00,432 - INFO - CLOSED short at 2064.5 | PnL: -0.08% | $-0.35 +2025-03-10 13:45:00,433 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.162557142857 | Take profit: 2095.4899142857143 +2025-03-10 13:45:00,497 - INFO - CLOSED long at 2061.6 | PnL: -0.14% | $-0.47 +2025-03-10 13:45:00,497 - INFO - OPENED SHORT at 2061.6 | Stop loss: 2071.922942857143 | Take profit: 2030.6535857142858 +2025-03-10 13:45:00,593 - INFO - CLOSED short at 2058.89 | PnL: 0.13% | $0.06 +2025-03-10 13:45:00,593 - INFO - OPENED LONG at 2058.89 | Stop loss: 2048.580607142857 | Take profit: 2089.795764285714 +2025-03-10 13:45:00,635 - INFO - CLOSED long at 2059.3 | PnL: 0.02% | $-0.16 +2025-03-10 13:45:00,635 - INFO - OPENED SHORT at 2059.3 | Stop loss: 2069.6114428571427 | Take profit: 2028.3880857142858 +2025-03-10 13:45:00,666 - INFO - CLOSED short at 2060.31 | PnL: -0.05% | $-0.29 +2025-03-10 13:45:00,705 - INFO - OPENED LONG at 2061.8 | Stop loss: 2051.4760571428574 | Take profit: 2092.7494142857145 +2025-03-10 13:45:00,828 - INFO - CLOSED long at 2060.91 | PnL: -0.04% | $-0.28 +2025-03-10 13:45:00,829 - INFO - OPENED SHORT at 2060.91 | Stop loss: 2071.2294928571428 | Take profit: 2029.9739357142855 +2025-03-10 13:45:00,924 - INFO - CLOSED short at 2061.13 | PnL: -0.01% | $-0.21 +2025-03-10 13:45:00,924 - INFO - OPENED LONG at 2061.13 | Stop loss: 2050.8094071428573 | Take profit: 2092.0693642857145 +2025-03-10 13:45:01,026 - INFO - CLOSED long at 2064.1 | PnL: 0.14% | $0.08 +2025-03-10 13:45:01,028 - INFO - OPENED SHORT at 2064.1 | Stop loss: 2074.435442857143 | Take profit: 2033.1160857142856 +2025-03-10 13:45:01,076 - INFO - CLOSED short at 2065.36 | PnL: -0.06% | $-0.31 +2025-03-10 13:45:01,077 - INFO - OPENED LONG at 2065.36 | Stop loss: 2055.0182571428572 | Take profit: 2096.362814285714 +2025-03-10 13:45:01,292 - INFO - CLOSED long at 2062.6 | PnL: -0.13% | $-0.45 +2025-03-10 13:45:01,292 - INFO - OPENED SHORT at 2062.6 | Stop loss: 2072.927942857143 | Take profit: 2031.6385857142857 +2025-03-10 13:45:01,342 - INFO - CLOSED short at 2061.7 | PnL: 0.04% | $-0.11 +2025-03-10 13:45:01,343 - INFO - OPENED LONG at 2061.7 | Stop loss: 2051.3765571428567 | Take profit: 2092.647914285714 +2025-03-10 13:45:02,800 - INFO - CLOSED long at 2068.15 | PnL: 0.31% | $0.41 +2025-03-10 13:45:03,648 - INFO - OPENED SHORT at 2068.59 | Stop loss: 2078.947892857143 | Take profit: 2037.5387357142858 +2025-03-10 13:45:03,679 - INFO - CLOSED short at 2071.59 | PnL: -0.15% | $-0.47 +2025-03-10 13:45:04,408 - INFO - OPENED SHORT at 2073.99 | Stop loss: 2084.3748928571426 | Take profit: 2042.8577357142854 +2025-03-10 13:45:05,153 - INFO - CLOSED short at 2065.8 | PnL: 0.39% | $0.56 +2025-03-10 13:45:05,153 - INFO - OPENED LONG at 2065.8 | Stop loss: 2055.4560571428574 | Take profit: 2096.8094142857144 +2025-03-10 13:45:05,861 - INFO - STOP LOSS hit for long at 2055.4560571428574 | PnL: -0.50% | $-1.15 +2025-03-10 13:45:06,005 - INFO - OPENED LONG at 2057.11 | Stop loss: 2046.8095071428575 | Take profit: 2087.9890642857144 +2025-03-10 13:45:06,298 - INFO - CLOSED long at 2066.59 | PnL: 0.46% | $0.69 +2025-03-10 13:45:06,622 - INFO - OPENED LONG at 2069.81 | Stop loss: 2059.446007142857 | Take profit: 2100.8795642857144 +2025-03-10 13:45:06,676 - INFO - CLOSED long at 2070.41 | PnL: 0.03% | $-0.14 +2025-03-10 13:45:06,847 - INFO - OPENED LONG at 2074.9 | Stop loss: 2064.510557142857 | Take profit: 2106.0459142857144 +2025-03-10 13:45:07,096 - INFO - TAKE PROFIT hit for long at 2106.0459142857144 | PnL: 1.50% | $2.68 +2025-03-10 13:45:07,124 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.827357142857 | Take profit: 2171.655514285714 +2025-03-10 13:45:07,445 - INFO - STOP LOSS hit for long at 2128.827357142857 | PnL: -0.50% | $-1.18 +2025-03-10 13:45:07,690 - INFO - OPENED SHORT at 2121.4 | Stop loss: 2132.021942857143 | Take profit: 2089.556585714286 +2025-03-10 13:45:07,716 - INFO - CLOSED short at 2118.52 | PnL: 0.14% | $0.07 +2025-03-10 13:45:07,792 - INFO - OPENED LONG at 2115.28 | Stop loss: 2104.688657142857 | Take profit: 2147.0316142857146 +2025-03-10 13:45:07,855 - INFO - CLOSED long at 2110.6 | PnL: -0.22% | $-0.62 +2025-03-10 13:45:08,543 - INFO - OPENED SHORT at 2102.29 | Stop loss: 2112.816392857143 | Take profit: 2070.733235714286 +2025-03-10 13:45:08,640 - INFO - CLOSED short at 2104.83 | PnL: -0.12% | $-0.43 +2025-03-10 13:45:08,665 - INFO - OPENED SHORT at 2106.39 | Stop loss: 2116.936892857143 | Take profit: 2074.7717357142856 +2025-03-10 13:45:09,051 - INFO - CLOSED short at 2092.46 | PnL: 0.66% | $1.08 +2025-03-10 13:45:09,078 - INFO - OPENED LONG at 2091.1 | Stop loss: 2080.6295571428573 | Take profit: 2122.488914285714 +2025-03-10 13:45:09,321 - INFO - CLOSED long at 2085.3 | PnL: -0.28% | $-0.73 +2025-03-10 13:45:09,345 - INFO - OPENED LONG at 2082.44 | Stop loss: 2072.0128571428572 | Take profit: 2113.6990142857144 +2025-03-10 13:45:09,806 - INFO - CLOSED long at 2089.96 | PnL: 0.36% | $0.50 +2025-03-10 13:45:09,807 - INFO - OPENED SHORT at 2089.96 | Stop loss: 2100.424742857143 | Take profit: 2058.588185714286 +2025-03-10 13:45:10,071 - INFO - CLOSED short at 2091.05 | PnL: -0.05% | $-0.29 +2025-03-10 13:45:10,071 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.579807142857 | Take profit: 2122.4381642857143 +2025-03-10 13:45:10,101 - INFO - CLOSED long at 2091.05 | PnL: 0.00% | $-0.19 +2025-03-10 13:45:10,101 - INFO - OPENED SHORT at 2091.05 | Stop loss: 2101.5201928571432 | Take profit: 2059.6618357142856 +2025-03-10 13:45:10,123 - INFO - CLOSED short at 2091.95 | PnL: -0.04% | $-0.28 +2025-03-10 13:45:10,155 - INFO - OPENED SHORT at 2094.7 | Stop loss: 2105.1884428571425 | Take profit: 2063.2570857142855 +2025-03-10 13:45:10,470 - INFO - STOP LOSS hit for short at 2105.1884428571425 | PnL: -0.50% | $-1.15 +2025-03-10 13:45:10,497 - INFO - OPENED SHORT at 2103.48 | Stop loss: 2114.012342857143 | Take profit: 2071.905385714286 +2025-03-10 13:45:10,998 - INFO - CLOSED short at 2102.7 | PnL: 0.04% | $-0.12 +2025-03-10 13:45:10,999 - INFO - OPENED LONG at 2102.7 | Stop loss: 2092.171557142857 | Take profit: 2134.262914285714 +2025-03-10 13:45:11,614 - INFO - CLOSED long at 2110.99 | PnL: 0.39% | $0.56 +2025-03-10 13:45:11,615 - INFO - OPENED SHORT at 2110.99 | Stop loss: 2121.559892857143 | Take profit: 2079.3027357142855 +2025-03-10 13:45:11,670 - INFO - CLOSED short at 2111.19 | PnL: -0.01% | $-0.21 +2025-03-10 13:45:11,672 - INFO - OPENED LONG at 2111.19 | Stop loss: 2100.619107142857 | Take profit: 2142.8802642857145 +2025-03-10 13:45:11,698 - INFO - CLOSED long at 2112.61 | PnL: 0.07% | $-0.06 +2025-03-10 13:45:11,699 - INFO - OPENED SHORT at 2112.61 | Stop loss: 2123.187992857143 | Take profit: 2080.898435714286 +2025-03-10 13:45:11,935 - INFO - CLOSED short at 2114.71 | PnL: -0.10% | $-0.38 +2025-03-10 13:45:11,935 - INFO - OPENED LONG at 2114.71 | Stop loss: 2104.121507142857 | Take profit: 2146.4530642857144 +2025-03-10 13:45:11,984 - INFO - CLOSED long at 2117.6 | PnL: 0.14% | $0.07 +2025-03-10 13:45:11,984 - INFO - OPENED SHORT at 2117.6 | Stop loss: 2128.2029428571427 | Take profit: 2085.8135857142856 +2025-03-10 13:45:12,005 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.52, Avg Loss=$-0.43 +2025-03-10 13:45:12,006 - INFO - Episode 0: Reward=-111.74, Balance=$95.49, Win Rate=34.1%, Trades=44, Episode PnL=$-4.80, Total PnL=$-4.51, Max Drawdown=4.4%, Pred Accuracy=96.6% +2025-03-10 13:45:12,155 - INFO - Model saved to checkpoints/trading_agent_episode_0.pt +2025-03-10 13:45:12,157 - INFO - Checkpoint saved at episode 0 +2025-03-10 13:45:12,357 - ERROR - Error creating visualization: No module named 'mplfinance' +2025-03-10 13:45:12,359 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2405, in visualize_training_results + from mplfinance.original_flavor import candlestick_ohlc +ModuleNotFoundError: No module named 'mplfinance' + +2025-03-10 13:45:12,986 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:45:13,018 - INFO - CLOSED long at 2060.31 | PnL: -0.13% | $-0.45 +2025-03-10 13:45:13,018 - INFO - OPENED SHORT at 2060.31 | Stop loss: 2070.6264928571427 | Take profit: 2029.3829357142856 +2025-03-10 13:45:13,053 - INFO - CLOSED short at 2059.49 | PnL: 0.04% | $-0.12 +2025-03-10 13:45:13,054 - INFO - OPENED LONG at 2059.49 | Stop loss: 2049.177607142857 | Take profit: 2090.404764285714 +2025-03-10 13:45:13,232 - INFO - CLOSED long at 2064.32 | PnL: 0.23% | $0.27 +2025-03-10 13:45:13,280 - INFO - OPENED SHORT at 2070.58 | Stop loss: 2080.9478428571424 | Take profit: 2039.4988857142857 +2025-03-10 13:45:13,563 - INFO - CLOSED short at 2067.9 | PnL: 0.13% | $0.06 +2025-03-10 13:45:13,587 - INFO - OPENED SHORT at 2067.69 | Stop loss: 2078.0433928571433 | Take profit: 2036.6522357142858 +2025-03-10 13:45:13,675 - INFO - CLOSED short at 2075.1 | PnL: -0.36% | $-0.91 +2025-03-10 13:45:13,675 - INFO - OPENED LONG at 2075.1 | Stop loss: 2064.709557142857 | Take profit: 2106.248914285714 +2025-03-10 13:45:13,700 - INFO - CLOSED long at 2072.91 | PnL: -0.11% | $-0.40 +2025-03-10 13:45:13,700 - INFO - OPENED SHORT at 2072.91 | Stop loss: 2083.2894928571427 | Take profit: 2041.7939357142857 +2025-03-10 13:45:14,142 - INFO - CLOSED short at 2068.9 | PnL: 0.19% | $0.18 +2025-03-10 13:45:14,713 - INFO - OPENED SHORT at 2069.7 | Stop loss: 2080.0634428571425 | Take profit: 2038.6320857142855 +2025-03-10 13:45:14,741 - INFO - CLOSED short at 2070.4 | PnL: -0.03% | $-0.26 +2025-03-10 13:45:14,766 - INFO - OPENED LONG at 2069.96 | Stop loss: 2059.595257142857 | Take profit: 2101.0318142857145 +2025-03-10 13:45:15,166 - INFO - CLOSED long at 2069.46 | PnL: -0.02% | $-0.24 +2025-03-10 13:45:15,896 - INFO - OPENED SHORT at 2068.69 | Stop loss: 2079.048392857143 | Take profit: 2037.6372357142857 +2025-03-10 13:45:15,950 - INFO - CLOSED short at 2067.11 | PnL: 0.08% | $-0.05 +2025-03-10 13:45:16,008 - INFO - OPENED SHORT at 2066.4 | Stop loss: 2076.746942857143 | Take profit: 2035.3815857142858 +2025-03-10 13:45:16,065 - INFO - CLOSED short at 2065.28 | PnL: 0.05% | $-0.09 +2025-03-10 13:45:16,093 - INFO - OPENED SHORT at 2066.39 | Stop loss: 2076.7368928571427 | Take profit: 2035.3717357142855 +2025-03-10 13:45:16,444 - INFO - CLOSED short at 2065.26 | PnL: 0.05% | $-0.09 +2025-03-10 13:45:16,467 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.219392857143 | Take profit: 2031.9242357142857 +2025-03-10 13:45:16,500 - INFO - CLOSED short at 2062.65 | PnL: 0.01% | $-0.17 +2025-03-10 13:45:16,719 - INFO - OPENED SHORT at 2066.24 | Stop loss: 2076.586142857143 | Take profit: 2035.2239857142854 +2025-03-10 13:45:17,102 - INFO - CLOSED short at 2059.3 | PnL: 0.34% | $0.46 +2025-03-10 13:45:17,168 - INFO - OPENED SHORT at 2064.7 | Stop loss: 2075.038442857143 | Take profit: 2033.7070857142853 +2025-03-10 13:45:17,774 - INFO - CLOSED short at 2059.61 | PnL: 0.25% | $0.29 +2025-03-10 13:45:17,867 - INFO - OPENED SHORT at 2059.02 | Stop loss: 2069.330042857143 | Take profit: 2028.1122857142857 +2025-03-10 13:45:18,394 - INFO - CLOSED short at 2066.36 | PnL: -0.36% | $-0.89 +2025-03-10 13:45:18,394 - INFO - OPENED LONG at 2066.36 | Stop loss: 2056.013257142857 | Take profit: 2097.3778142857145 +2025-03-10 13:45:18,886 - INFO - CLOSED long at 2071.6 | PnL: 0.25% | $0.30 +2025-03-10 13:45:19,665 - INFO - OPENED SHORT at 2066.8 | Stop loss: 2077.1489428571426 | Take profit: 2035.7755857142859 +2025-03-10 13:45:19,736 - INFO - CLOSED short at 2068.59 | PnL: -0.09% | $-0.36 +2025-03-10 13:45:19,848 - INFO - OPENED SHORT at 2070.2 | Stop loss: 2080.5659428571425 | Take profit: 2039.1245857142856 +2025-03-10 13:45:19,945 - INFO - CLOSED short at 2069.69 | PnL: 0.02% | $-0.15 +2025-03-10 13:45:19,946 - INFO - OPENED LONG at 2069.69 | Stop loss: 2059.326607142857 | Take profit: 2100.7577642857145 +2025-03-10 13:45:20,134 - INFO - CLOSED long at 2068.67 | PnL: -0.05% | $-0.29 +2025-03-10 13:45:20,135 - INFO - OPENED SHORT at 2068.67 | Stop loss: 2079.0282928571432 | Take profit: 2037.6175357142856 +2025-03-10 13:45:20,182 - INFO - CLOSED short at 2070.67 | PnL: -0.10% | $-0.38 +2025-03-10 13:45:20,182 - INFO - OPENED LONG at 2070.67 | Stop loss: 2060.301707142857 | Take profit: 2101.7524642857143 +2025-03-10 13:45:20,221 - INFO - CLOSED long at 2069.78 | PnL: -0.04% | $-0.27 +2025-03-10 13:45:20,221 - INFO - OPENED SHORT at 2069.78 | Stop loss: 2080.143842857143 | Take profit: 2038.710885714286 +2025-03-10 13:45:20,407 - INFO - CLOSED short at 2075.32 | PnL: -0.27% | $-0.70 +2025-03-10 13:45:20,434 - INFO - OPENED SHORT at 2075.29 | Stop loss: 2085.681392857143 | Take profit: 2044.1382357142857 +2025-03-10 13:45:20,455 - INFO - CLOSED short at 2076.9 | PnL: -0.08% | $-0.34 +2025-03-10 13:45:20,750 - INFO - OPENED LONG at 2066.89 | Stop loss: 2056.540607142857 | Take profit: 2097.915764285714 +2025-03-10 13:45:20,775 - INFO - CLOSED long at 2067.88 | PnL: 0.05% | $-0.10 +2025-03-10 13:45:20,820 - INFO - OPENED LONG at 2068.1 | Stop loss: 2057.744557142857 | Take profit: 2099.1439142857143 +2025-03-10 13:45:20,845 - INFO - CLOSED long at 2069.0 | PnL: 0.04% | $-0.11 +2025-03-10 13:45:21,052 - INFO - OPENED LONG at 2065.8 | Stop loss: 2055.4560571428574 | Take profit: 2096.8094142857144 +2025-03-10 13:45:21,096 - INFO - CLOSED long at 2065.07 | PnL: -0.04% | $-0.26 +2025-03-10 13:45:21,539 - INFO - OPENED SHORT at 2058.09 | Stop loss: 2068.395392857143 | Take profit: 2027.1962357142859 +2025-03-10 13:45:21,918 - INFO - CLOSED short at 2063.9 | PnL: -0.28% | $-0.72 +2025-03-10 13:45:21,919 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.5655571428574 | Take profit: 2094.8809142857144 +2025-03-10 13:45:21,943 - INFO - CLOSED long at 2065.1 | PnL: 0.06% | $-0.08 +2025-03-10 13:45:21,944 - INFO - OPENED SHORT at 2065.1 | Stop loss: 2075.4404428571424 | Take profit: 2034.1010857142855 +2025-03-10 13:45:22,386 - INFO - CLOSED short at 2069.81 | PnL: -0.23% | $-0.61 +2025-03-10 13:45:22,590 - INFO - OPENED LONG at 2074.9 | Stop loss: 2064.510557142857 | Take profit: 2106.0459142857144 +2025-03-10 13:45:22,634 - INFO - CLOSED long at 2076.08 | PnL: 0.06% | $-0.08 +2025-03-10 13:45:22,739 - INFO - OPENED LONG at 2103.02 | Stop loss: 2092.4899571428573 | Take profit: 2134.587714285714 +2025-03-10 13:45:22,784 - INFO - TAKE PROFIT hit for long at 2134.587714285714 | PnL: 1.50% | $2.60 +2025-03-10 13:45:23,040 - INFO - OPENED SHORT at 2126.99 | Stop loss: 2137.6398928571425 | Take profit: 2095.0627357142857 +2025-03-10 13:45:23,077 - INFO - CLOSED short at 2127.3 | PnL: -0.01% | $-0.22 +2025-03-10 13:45:23,106 - INFO - OPENED SHORT at 2128.69 | Stop loss: 2139.3483928571427 | Take profit: 2096.737235714286 +2025-03-10 13:45:23,580 - INFO - CLOSED short at 2120.81 | PnL: 0.37% | $0.51 +2025-03-10 13:45:23,581 - INFO - OPENED LONG at 2120.81 | Stop loss: 2110.191007142857 | Take profit: 2152.6445642857143 +2025-03-10 13:45:23,668 - INFO - STOP LOSS hit for long at 2110.191007142857 | PnL: -0.50% | $-1.15 +2025-03-10 13:45:23,700 - INFO - OPENED LONG at 2106.49 | Stop loss: 2095.942607142857 | Take profit: 2138.1097642857144 +2025-03-10 13:45:23,878 - INFO - STOP LOSS hit for long at 2095.942607142857 | PnL: -0.50% | $-1.14 +2025-03-10 13:45:23,927 - INFO - OPENED LONG at 2098.1 | Stop loss: 2087.594557142857 | Take profit: 2129.593914285714 +2025-03-10 13:45:24,012 - INFO - CLOSED long at 2098.9 | PnL: 0.04% | $-0.12 +2025-03-10 13:45:24,311 - INFO - OPENED LONG at 2098.39 | Stop loss: 2087.883107142857 | Take profit: 2129.8882642857143 +2025-03-10 13:45:24,355 - INFO - CLOSED long at 2093.46 | PnL: -0.23% | $-0.62 +2025-03-10 13:45:24,762 - INFO - OPENED SHORT at 2081.25 | Stop loss: 2091.6711928571426 | Take profit: 2050.008835714286 +2025-03-10 13:45:25,393 - INFO - STOP LOSS hit for short at 2091.6711928571426 | PnL: -0.50% | $-1.11 +2025-03-10 13:45:25,440 - INFO - OPENED SHORT at 2094.7 | Stop loss: 2105.1884428571425 | Take profit: 2063.2570857142855 +2025-03-10 13:45:25,670 - INFO - STOP LOSS hit for short at 2105.1884428571425 | PnL: -0.50% | $-1.10 +2025-03-10 13:45:25,712 - INFO - OPENED SHORT at 2103.48 | Stop loss: 2114.012342857143 | Take profit: 2071.905385714286 +2025-03-10 13:45:25,843 - INFO - CLOSED short at 2103.07 | PnL: 0.02% | $-0.15 +2025-03-10 13:45:25,843 - INFO - OPENED LONG at 2103.07 | Stop loss: 2092.5397071428574 | Take profit: 2134.6384642857147 +2025-03-10 13:45:25,883 - INFO - CLOSED long at 2101.5 | PnL: -0.07% | $-0.32 +2025-03-10 13:45:25,883 - INFO - OPENED SHORT at 2101.5 | Stop loss: 2112.0224428571432 | Take profit: 2069.955085714286 +2025-03-10 13:45:25,930 - INFO - CLOSED short at 2103.64 | PnL: -0.10% | $-0.36 +2025-03-10 13:45:25,955 - INFO - OPENED SHORT at 2105.2 | Stop loss: 2115.7409428571427 | Take profit: 2073.5995857142857 +2025-03-10 13:45:26,773 - INFO - CLOSED short at 2108.99 | PnL: -0.18% | $-0.50 +2025-03-10 13:45:26,774 - INFO - OPENED LONG at 2108.99 | Stop loss: 2098.4301071428567 | Take profit: 2140.647264285714 +2025-03-10 13:45:27,037 - INFO - CLOSED long at 2116.81 | PnL: 0.37% | $0.48 +2025-03-10 13:45:27,038 - INFO - OPENED SHORT at 2116.81 | Stop loss: 2127.4089928571425 | Take profit: 2085.035435714286 +2025-03-10 13:45:27,085 - INFO - CLOSED short at 2114.71 | PnL: 0.10% | $-0.00 +2025-03-10 13:45:27,085 - INFO - OPENED LONG at 2114.71 | Stop loss: 2104.121507142857 | Take profit: 2146.4530642857144 +2025-03-10 13:45:27,164 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.57, Avg Loss=$-0.40 +2025-03-10 13:45:27,164 - INFO - Episode 1: Reward=-127.83, Balance=$90.24, Win Rate=19.6%, Trades=46, Episode PnL=$-8.43, Total PnL=$-14.26, Max Drawdown=9.7%, Pred Accuracy=96.7% +2025-03-10 13:45:27,638 - INFO - OPENED SHORT at 2064.32 | Stop loss: 2074.6565428571434 | Take profit: 2033.3327857142858 +2025-03-10 13:45:27,659 - INFO - CLOSED short at 2065.86 | PnL: -0.07% | $-0.35 +2025-03-10 13:45:27,659 - INFO - OPENED LONG at 2065.86 | Stop loss: 2055.515757142857 | Take profit: 2096.8703142857144 +2025-03-10 13:45:27,741 - INFO - CLOSED long at 2068.11 | PnL: 0.11% | $0.02 +2025-03-10 13:45:27,741 - INFO - OPENED SHORT at 2068.11 | Stop loss: 2078.465492857143 | Take profit: 2037.0659357142858 +2025-03-10 13:45:27,869 - INFO - CLOSED short at 2071.63 | PnL: -0.17% | $-0.53 +2025-03-10 13:45:27,869 - INFO - OPENED LONG at 2071.63 | Stop loss: 2061.256907142857 | Take profit: 2102.7268642857143 +2025-03-10 13:45:27,918 - INFO - CLOSED long at 2069.6 | PnL: -0.10% | $-0.39 +2025-03-10 13:45:27,918 - INFO - OPENED SHORT at 2069.6 | Stop loss: 2079.962942857143 | Take profit: 2038.5335857142857 +2025-03-10 13:45:27,989 - INFO - CLOSED short at 2067.9 | PnL: 0.08% | $-0.04 +2025-03-10 13:45:27,989 - INFO - OPENED LONG at 2067.9 | Stop loss: 2057.5455571428574 | Take profit: 2098.9409142857144 +2025-03-10 13:45:28,012 - INFO - CLOSED long at 2067.69 | PnL: -0.01% | $-0.22 +2025-03-10 13:45:28,012 - INFO - OPENED SHORT at 2067.69 | Stop loss: 2078.0433928571433 | Take profit: 2036.6522357142858 +2025-03-10 13:45:28,056 - INFO - CLOSED short at 2071.44 | PnL: -0.18% | $-0.55 +2025-03-10 13:45:28,056 - INFO - OPENED LONG at 2071.44 | Stop loss: 2061.067857142857 | Take profit: 2102.534014285714 +2025-03-10 13:45:28,221 - INFO - CLOSED long at 2071.38 | PnL: -0.00% | $-0.20 +2025-03-10 13:45:28,222 - INFO - OPENED SHORT at 2071.38 | Stop loss: 2081.751842857143 | Take profit: 2040.2868857142857 +2025-03-10 13:45:28,259 - INFO - CLOSED short at 2071.41 | PnL: -0.00% | $-0.20 +2025-03-10 13:45:28,260 - INFO - OPENED LONG at 2071.41 | Stop loss: 2061.0380071428567 | Take profit: 2102.5035642857138 +2025-03-10 13:45:28,290 - INFO - CLOSED long at 2069.37 | PnL: -0.10% | $-0.38 +2025-03-10 13:45:28,291 - INFO - OPENED SHORT at 2069.37 | Stop loss: 2079.731792857143 | Take profit: 2038.3070357142856 +2025-03-10 13:45:28,315 - INFO - CLOSED short at 2070.9 | PnL: -0.07% | $-0.34 +2025-03-10 13:45:28,316 - INFO - OPENED LONG at 2070.9 | Stop loss: 2060.530557142857 | Take profit: 2101.9859142857144 +2025-03-10 13:45:28,338 - INFO - CLOSED long at 2072.8 | PnL: 0.09% | $-0.02 +2025-03-10 13:45:28,339 - INFO - OPENED SHORT at 2072.8 | Stop loss: 2083.178942857143 | Take profit: 2041.685585714286 +2025-03-10 13:45:28,386 - INFO - CLOSED short at 2070.28 | PnL: 0.12% | $0.04 +2025-03-10 13:45:28,386 - INFO - OPENED LONG at 2070.28 | Stop loss: 2059.913657142857 | Take profit: 2101.3566142857144 +2025-03-10 13:45:28,413 - INFO - CLOSED long at 2068.02 | PnL: -0.11% | $-0.40 +2025-03-10 13:45:28,413 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.375042857143 | Take profit: 2036.9772857142857 +2025-03-10 13:45:28,659 - INFO - CLOSED short at 2068.8 | PnL: -0.04% | $-0.26 +2025-03-10 13:45:28,980 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.2594428571433 | Take profit: 2037.8440857142857 +2025-03-10 13:45:29,150 - INFO - CLOSED short at 2069.96 | PnL: -0.05% | $-0.29 +2025-03-10 13:45:29,681 - INFO - OPENED LONG at 2063.61 | Stop loss: 2053.277007142857 | Take profit: 2094.5865642857143 +2025-03-10 13:45:29,934 - INFO - CLOSED long at 2067.59 | PnL: 0.19% | $0.18 +2025-03-10 13:45:29,935 - INFO - OPENED SHORT at 2067.59 | Stop loss: 2077.942892857143 | Take profit: 2036.553735714286 +2025-03-10 13:45:29,999 - INFO - CLOSED short at 2071.59 | PnL: -0.19% | $-0.56 +2025-03-10 13:45:29,999 - INFO - OPENED LONG at 2071.59 | Stop loss: 2061.2171071428575 | Take profit: 2102.6862642857145 +2025-03-10 13:45:30,024 - INFO - CLOSED long at 2070.7 | PnL: -0.04% | $-0.27 +2025-03-10 13:45:30,025 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.0684428571426 | Take profit: 2039.6170857142854 +2025-03-10 13:45:30,726 - INFO - CLOSED short at 2059.59 | PnL: 0.54% | $0.83 +2025-03-10 13:45:31,343 - INFO - OPENED LONG at 2062.61 | Stop loss: 2052.2820071428573 | Take profit: 2093.5715642857144 +2025-03-10 13:45:31,482 - INFO - CLOSED long at 2061.13 | PnL: -0.07% | $-0.33 +2025-03-10 13:45:31,483 - INFO - OPENED SHORT at 2061.13 | Stop loss: 2071.450592857143 | Take profit: 2030.190635714286 +2025-03-10 13:45:32,323 - INFO - CLOSED short at 2058.15 | PnL: 0.14% | $0.08 +2025-03-10 13:45:32,449 - INFO - OPENED SHORT at 2062.69 | Stop loss: 2073.0183928571428 | Take profit: 2031.7272357142858 +2025-03-10 13:45:32,476 - INFO - CLOSED short at 2063.4 | PnL: -0.03% | $-0.26 +2025-03-10 13:45:32,791 - INFO - OPENED LONG at 2065.69 | Stop loss: 2055.3466071428575 | Take profit: 2096.697764285714 +2025-03-10 13:45:32,819 - INFO - CLOSED long at 2069.79 | PnL: 0.20% | $0.19 +2025-03-10 13:45:32,844 - INFO - OPENED SHORT at 2072.0 | Stop loss: 2082.3749428571427 | Take profit: 2040.8975857142857 +2025-03-10 13:45:33,180 - INFO - CLOSED short at 2068.39 | PnL: 0.17% | $0.14 +2025-03-10 13:45:33,181 - INFO - OPENED LONG at 2068.39 | Stop loss: 2058.033107142857 | Take profit: 2099.438264285714 +2025-03-10 13:45:33,204 - INFO - CLOSED long at 2069.69 | PnL: 0.06% | $-0.07 +2025-03-10 13:45:33,205 - INFO - OPENED SHORT at 2069.69 | Stop loss: 2080.053392857143 | Take profit: 2038.6222357142858 +2025-03-10 13:45:33,253 - INFO - CLOSED short at 2067.44 | PnL: 0.11% | $0.02 +2025-03-10 13:45:33,277 - INFO - OPENED SHORT at 2068.79 | Stop loss: 2079.148892857143 | Take profit: 2037.7357357142857 +2025-03-10 13:45:33,519 - INFO - CLOSED short at 2063.95 | PnL: 0.23% | $0.25 +2025-03-10 13:45:33,542 - INFO - OPENED SHORT at 2063.97 | Stop loss: 2074.3047928571423 | Take profit: 2032.9880357142854 +2025-03-10 13:45:34,266 - INFO - STOP LOSS hit for short at 2074.3047928571423 | PnL: -0.50% | $-1.15 +2025-03-10 13:45:34,397 - INFO - OPENED SHORT at 2075.29 | Stop loss: 2085.681392857143 | Take profit: 2044.1382357142857 +2025-03-10 13:45:34,673 - INFO - CLOSED short at 2067.9 | PnL: 0.36% | $0.48 +2025-03-10 13:45:35,264 - INFO - OPENED LONG at 2063.01 | Stop loss: 2052.6800071428574 | Take profit: 2093.977564285715 +2025-03-10 13:45:35,348 - INFO - CLOSED long at 2060.2 | PnL: -0.14% | $-0.45 +2025-03-10 13:45:35,348 - INFO - OPENED SHORT at 2060.2 | Stop loss: 2070.515942857143 | Take profit: 2029.2745857142854 +2025-03-10 13:45:35,662 - INFO - CLOSED short at 2057.11 | PnL: 0.15% | $0.09 +2025-03-10 13:45:35,662 - INFO - OPENED LONG at 2057.11 | Stop loss: 2046.8095071428575 | Take profit: 2087.9890642857144 +2025-03-10 13:45:36,238 - INFO - CLOSED long at 2070.24 | PnL: 0.64% | $1.02 +2025-03-10 13:45:36,238 - INFO - OPENED SHORT at 2070.24 | Stop loss: 2080.606142857143 | Take profit: 2039.1639857142854 +2025-03-10 13:45:36,270 - INFO - CLOSED short at 2069.34 | PnL: 0.04% | $-0.11 +2025-03-10 13:45:36,270 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.978357142857 | Take profit: 2100.4025142857145 +2025-03-10 13:45:36,295 - INFO - CLOSED long at 2069.81 | PnL: 0.02% | $-0.15 +2025-03-10 13:45:36,322 - INFO - OPENED SHORT at 2070.41 | Stop loss: 2080.776992857143 | Take profit: 2039.3314357142856 +2025-03-10 13:45:36,411 - INFO - CLOSED short at 2071.89 | PnL: -0.07% | $-0.33 +2025-03-10 13:45:36,619 - INFO - OPENED LONG at 2103.02 | Stop loss: 2092.4899571428573 | Take profit: 2134.587714285714 +2025-03-10 13:45:36,660 - INFO - CLOSED long at 2130.7 | PnL: 1.32% | $2.31 +2025-03-10 13:45:36,737 - INFO - OPENED LONG at 2133.95 | Stop loss: 2123.265307142857 | Take profit: 2165.9816642857145 +2025-03-10 13:45:36,761 - INFO - CLOSED long at 2137.59 | PnL: 0.17% | $0.14 +2025-03-10 13:45:37,669 - INFO - OPENED LONG at 2108.06 | Stop loss: 2097.504757142857 | Take profit: 2139.7033142857144 +2025-03-10 13:45:37,752 - INFO - CLOSED long at 2100.5 | PnL: -0.36% | $-0.89 +2025-03-10 13:45:37,752 - INFO - OPENED SHORT at 2100.5 | Stop loss: 2111.017442857143 | Take profit: 2068.9700857142857 +2025-03-10 13:45:37,836 - INFO - CLOSED short at 2099.53 | PnL: 0.05% | $-0.10 +2025-03-10 13:45:37,876 - INFO - OPENED SHORT at 2098.1 | Stop loss: 2108.605442857143 | Take profit: 2066.6060857142857 +2025-03-10 13:45:38,014 - INFO - CLOSED short at 2100.69 | PnL: -0.12% | $-0.43 +2025-03-10 13:45:38,014 - INFO - OPENED LONG at 2100.69 | Stop loss: 2090.1716071428573 | Take profit: 2132.222764285714 +2025-03-10 13:45:38,043 - INFO - CLOSED long at 2104.83 | PnL: 0.20% | $0.19 +2025-03-10 13:45:38,044 - INFO - OPENED SHORT at 2104.83 | Stop loss: 2115.3690928571427 | Take profit: 2073.2351357142857 +2025-03-10 13:45:38,342 - INFO - CLOSED short at 2098.39 | PnL: 0.31% | $0.40 +2025-03-10 13:45:38,377 - INFO - OPENED SHORT at 2095.29 | Stop loss: 2105.781392857143 | Take profit: 2063.8382357142855 +2025-03-10 13:45:38,706 - INFO - CLOSED short at 2083.28 | PnL: 0.57% | $0.91 +2025-03-10 13:45:38,707 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.848657142857 | Take profit: 2114.551614285714 +2025-03-10 13:45:38,730 - INFO - CLOSED long at 2088.44 | PnL: 0.25% | $0.29 +2025-03-10 13:45:38,730 - INFO - OPENED SHORT at 2088.44 | Stop loss: 2098.897142857143 | Take profit: 2057.090985714286 +2025-03-10 13:45:39,074 - INFO - CLOSED short at 2085.8 | PnL: 0.13% | $0.05 +2025-03-10 13:45:39,074 - INFO - OPENED LONG at 2085.8 | Stop loss: 2075.3560571428575 | Take profit: 2117.1094142857146 +2025-03-10 13:45:39,127 - INFO - CLOSED long at 2085.83 | PnL: 0.00% | $-0.19 +2025-03-10 13:45:39,128 - INFO - OPENED SHORT at 2085.83 | Stop loss: 2096.2740928571425 | Take profit: 2054.5201357142855 +2025-03-10 13:45:39,383 - INFO - CLOSED short at 2086.81 | PnL: -0.05% | $-0.29 +2025-03-10 13:45:40,266 - INFO - OPENED LONG at 2100.0 | Stop loss: 2089.485057142857 | Take profit: 2131.522414285714 +2025-03-10 13:45:40,365 - INFO - CLOSED long at 2104.73 | PnL: 0.23% | $0.24 +2025-03-10 13:45:40,836 - INFO - OPENED SHORT at 2112.61 | Stop loss: 2123.187992857143 | Take profit: 2080.898435714286 +2025-03-10 13:45:41,126 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.39, Avg Loss=$-0.34 +2025-03-10 13:45:41,127 - INFO - Episode 2: Reward=-106.58, Balance=$98.13, Win Rate=40.8%, Trades=49, Episode PnL=$0.26, Total PnL=$-16.13, Max Drawdown=5.0%, Pred Accuracy=96.7% +2025-03-10 13:45:41,276 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 13:45:41,277 - INFO - New best PnL model saved: $0.26 +2025-03-10 13:45:41,429 - INFO - Model saved to models/trading_agent_best_winrate.pt +2025-03-10 13:45:41,430 - INFO - New best win rate model saved: 40.8% +2025-03-10 13:45:41,785 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.415492857143 | Take profit: 2027.215935714286 +2025-03-10 13:45:41,932 - INFO - STOP LOSS hit for short at 2068.415492857143 | PnL: -0.50% | $-1.19 +2025-03-10 13:45:41,985 - INFO - OPENED SHORT at 2068.11 | Stop loss: 2078.465492857143 | Take profit: 2037.0659357142858 +2025-03-10 13:45:43,566 - INFO - CLOSED short at 2072.75 | PnL: -0.22% | $-0.64 +2025-03-10 13:45:43,676 - INFO - OPENED LONG at 2072.7 | Stop loss: 2062.321557142857 | Take profit: 2103.812914285714 +2025-03-10 13:45:43,703 - INFO - CLOSED long at 2072.15 | PnL: -0.03% | $-0.25 +2025-03-10 13:45:43,703 - INFO - OPENED SHORT at 2072.15 | Stop loss: 2082.525692857143 | Take profit: 2041.045335714286 +2025-03-10 13:45:44,053 - INFO - CLOSED short at 2067.79 | PnL: 0.21% | $0.21 +2025-03-10 13:45:44,795 - INFO - OPENED SHORT at 2065.28 | Stop loss: 2075.6213428571427 | Take profit: 2034.2783857142858 +2025-03-10 13:45:44,968 - INFO - CLOSED short at 2065.69 | PnL: -0.02% | $-0.23 +2025-03-10 13:45:45,031 - INFO - OPENED SHORT at 2065.83 | Stop loss: 2076.1740928571426 | Take profit: 2034.8201357142857 +2025-03-10 13:45:45,053 - INFO - CLOSED short at 2066.15 | PnL: -0.02% | $-0.22 +2025-03-10 13:45:45,084 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.601242857143 | Take profit: 2034.2586857142858 +2025-03-10 13:45:45,273 - INFO - CLOSED short at 2061.3 | PnL: 0.19% | $0.18 +2025-03-10 13:45:45,297 - INFO - OPENED SHORT at 2063.59 | Stop loss: 2073.922892857143 | Take profit: 2032.613735714286 +2025-03-10 13:45:45,321 - INFO - CLOSED short at 2064.96 | PnL: -0.07% | $-0.32 +2025-03-10 13:45:45,390 - INFO - OPENED SHORT at 2065.54 | Stop loss: 2075.882642857143 | Take profit: 2034.5344857142857 +2025-03-10 13:45:45,415 - INFO - CLOSED short at 2066.09 | PnL: -0.03% | $-0.25 +2025-03-10 13:45:45,624 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.837442857143 | Take profit: 2033.5100857142857 +2025-03-10 13:45:45,998 - INFO - CLOSED short at 2060.3 | PnL: 0.20% | $0.20 +2025-03-10 13:45:45,998 - INFO - OPENED LONG at 2060.3 | Stop loss: 2049.9835571428575 | Take profit: 2091.2269142857144 +2025-03-10 13:45:46,039 - INFO - CLOSED long at 2061.13 | PnL: 0.04% | $-0.12 +2025-03-10 13:45:46,315 - INFO - OPENED SHORT at 2061.89 | Stop loss: 2072.214392857143 | Take profit: 2030.9392357142856 +2025-03-10 13:45:46,646 - INFO - CLOSED short at 2058.28 | PnL: 0.18% | $0.15 +2025-03-10 13:45:46,647 - INFO - OPENED LONG at 2058.28 | Stop loss: 2047.9736571428573 | Take profit: 2089.1766142857145 +2025-03-10 13:45:46,782 - INFO - CLOSED long at 2054.83 | PnL: -0.17% | $-0.52 +2025-03-10 13:45:46,783 - INFO - OPENED SHORT at 2054.83 | Stop loss: 2065.1190928571427 | Take profit: 2023.9851357142857 +2025-03-10 13:45:46,831 - INFO - CLOSED short at 2056.71 | PnL: -0.09% | $-0.37 +2025-03-10 13:45:46,832 - INFO - OPENED LONG at 2056.71 | Stop loss: 2046.4115071428573 | Take profit: 2087.583064285714 +2025-03-10 13:45:47,024 - INFO - CLOSED long at 2062.69 | PnL: 0.29% | $0.37 +2025-03-10 13:45:47,025 - INFO - OPENED SHORT at 2062.69 | Stop loss: 2073.0183928571428 | Take profit: 2031.7272357142858 +2025-03-10 13:45:47,050 - INFO - CLOSED short at 2063.4 | PnL: -0.03% | $-0.26 +2025-03-10 13:45:47,050 - INFO - OPENED LONG at 2063.4 | Stop loss: 2053.068057142857 | Take profit: 2094.3734142857143 +2025-03-10 13:45:47,076 - INFO - CLOSED long at 2066.36 | PnL: 0.14% | $0.08 +2025-03-10 13:45:47,077 - INFO - OPENED SHORT at 2066.36 | Stop loss: 2076.706742857143 | Take profit: 2035.3421857142857 +2025-03-10 13:45:47,459 - INFO - STOP LOSS hit for short at 2076.706742857143 | PnL: -0.50% | $-1.15 +2025-03-10 13:45:47,505 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.399992857143 | Take profit: 2043.862435714286 +2025-03-10 13:45:48,284 - INFO - CLOSED short at 2065.31 | PnL: 0.47% | $0.70 +2025-03-10 13:45:48,808 - INFO - OPENED SHORT at 2069.78 | Stop loss: 2080.143842857143 | Take profit: 2038.710885714286 +2025-03-10 13:45:48,878 - INFO - CLOSED short at 2074.37 | PnL: -0.22% | $-0.62 +2025-03-10 13:45:48,901 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.460292857143 | Take profit: 2043.9215357142857 +2025-03-10 13:45:48,926 - INFO - CLOSED short at 2074.35 | PnL: 0.03% | $-0.12 +2025-03-10 13:45:48,973 - INFO - OPENED SHORT at 2073.99 | Stop loss: 2084.3748928571426 | Take profit: 2042.8577357142854 +2025-03-10 13:45:48,992 - INFO - CLOSED short at 2075.32 | PnL: -0.06% | $-0.31 +2025-03-10 13:45:48,992 - INFO - OPENED LONG at 2075.32 | Stop loss: 2064.9284571428575 | Take profit: 2106.4722142857145 +2025-03-10 13:45:49,015 - INFO - CLOSED long at 2075.29 | PnL: -0.00% | $-0.19 +2025-03-10 13:45:50,649 - INFO - OPENED SHORT at 2064.08 | Stop loss: 2074.415342857143 | Take profit: 2033.0963857142856 +2025-03-10 13:45:50,826 - INFO - CLOSED short at 2062.54 | PnL: 0.07% | $-0.05 +2025-03-10 13:45:50,826 - INFO - OPENED LONG at 2062.54 | Stop loss: 2052.212357142857 | Take profit: 2093.500514285714 +2025-03-10 13:45:50,869 - INFO - CLOSED long at 2065.72 | PnL: 0.15% | $0.10 +2025-03-10 13:45:50,870 - INFO - OPENED SHORT at 2065.72 | Stop loss: 2076.0635428571427 | Take profit: 2034.7117857142855 +2025-03-10 13:45:50,941 - INFO - CLOSED short at 2069.34 | PnL: -0.18% | $-0.52 +2025-03-10 13:45:50,941 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.978357142857 | Take profit: 2100.4025142857145 +2025-03-10 13:45:51,009 - INFO - CLOSED long at 2073.49 | PnL: 0.20% | $0.19 +2025-03-10 13:45:51,010 - INFO - OPENED SHORT at 2073.49 | Stop loss: 2083.8723928571426 | Take profit: 2042.3652357142855 +2025-03-10 13:45:51,269 - INFO - STOP LOSS hit for short at 2083.8723928571426 | PnL: -0.50% | $-1.13 +2025-03-10 13:45:51,291 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.9573928571426 | Take profit: 2059.1102357142854 +2025-03-10 13:45:51,319 - INFO - STOP LOSS hit for short at 2100.9573928571426 | PnL: -0.50% | $-1.12 +2025-03-10 13:45:51,342 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.368442857143 | Take profit: 2098.7170857142855 +2025-03-10 13:45:51,455 - INFO - STOP LOSS hit for short at 2141.368442857143 | PnL: -0.50% | $-1.10 +2025-03-10 13:45:51,504 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.021442857143 | Take profit: 2109.158085714286 +2025-03-10 13:45:51,725 - INFO - CLOSED short at 2128.69 | PnL: 0.59% | $0.89 +2025-03-10 13:45:51,750 - INFO - OPENED SHORT at 2121.09 | Stop loss: 2131.710392857143 | Take profit: 2089.251235714286 +2025-03-10 13:45:52,617 - INFO - CLOSED short at 2102.29 | PnL: 0.89% | $1.44 +2025-03-10 13:45:52,642 - INFO - OPENED SHORT at 2099.25 | Stop loss: 2109.761192857143 | Take profit: 2067.738835714286 +2025-03-10 13:45:52,820 - INFO - CLOSED short at 2100.74 | PnL: -0.07% | $-0.32 +2025-03-10 13:45:53,111 - INFO - OPENED LONG at 2094.72 | Stop loss: 2084.231457142857 | Take profit: 2126.1632142857143 +2025-03-10 13:45:53,150 - INFO - CLOSED long at 2094.08 | PnL: -0.03% | $-0.24 +2025-03-10 13:45:53,151 - INFO - OPENED SHORT at 2094.08 | Stop loss: 2104.5653428571427 | Take profit: 2062.6463857142858 +2025-03-10 13:45:53,809 - INFO - CLOSED short at 2089.79 | PnL: 0.20% | $0.19 +2025-03-10 13:45:53,810 - INFO - OPENED LONG at 2089.79 | Stop loss: 2079.326107142857 | Take profit: 2121.1592642857145 +2025-03-10 13:45:53,832 - INFO - CLOSED long at 2085.67 | PnL: -0.20% | $-0.55 +2025-03-10 13:45:53,832 - INFO - OPENED SHORT at 2085.67 | Stop loss: 2096.113292857143 | Take profit: 2054.362535714286 +2025-03-10 13:45:53,981 - INFO - CLOSED short at 2094.7 | PnL: -0.43% | $-0.98 +2025-03-10 13:45:53,981 - INFO - OPENED LONG at 2094.7 | Stop loss: 2084.211557142857 | Take profit: 2126.1429142857137 +2025-03-10 13:45:54,386 - INFO - CLOSED long at 2105.83 | PnL: 0.53% | $0.79 +2025-03-10 13:45:54,527 - INFO - OPENED LONG at 2105.21 | Stop loss: 2094.6690071428575 | Take profit: 2136.810564285714 +2025-03-10 13:45:54,553 - INFO - CLOSED long at 2103.9 | PnL: -0.06% | $-0.30 +2025-03-10 13:45:54,668 - INFO - OPENED SHORT at 2104.73 | Stop loss: 2115.268592857143 | Take profit: 2073.1366357142856 +2025-03-10 13:45:54,885 - INFO - CLOSED short at 2110.4 | PnL: -0.27% | $-0.68 +2025-03-10 13:45:55,479 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.42, Avg Loss=$-0.51 +2025-03-10 13:45:55,480 - INFO - Episode 3: Reward=-107.95, Balance=$91.73, Win Rate=32.5%, Trades=40, Episode PnL=$-7.45, Total PnL=$-24.39, Max Drawdown=8.5%, Pred Accuracy=96.8% +2025-03-10 13:45:55,889 - INFO - OPENED SHORT at 2057.8 | Stop loss: 2068.103942857143 | Take profit: 2026.9105857142858 +2025-03-10 13:45:56,071 - INFO - STOP LOSS hit for short at 2068.103942857143 | PnL: -0.50% | $-1.19 +2025-03-10 13:45:56,104 - INFO - OPENED SHORT at 2068.11 | Stop loss: 2078.465492857143 | Take profit: 2037.0659357142858 +2025-03-10 13:45:56,240 - INFO - CLOSED short at 2070.99 | PnL: -0.14% | $-0.47 +2025-03-10 13:45:56,275 - INFO - OPENED SHORT at 2069.6 | Stop loss: 2079.962942857143 | Take profit: 2038.5335857142857 +2025-03-10 13:45:57,128 - INFO - CLOSED short at 2065.99 | PnL: 0.17% | $0.15 +2025-03-10 13:45:57,463 - INFO - OPENED SHORT at 2069.96 | Stop loss: 2080.3247428571426 | Take profit: 2038.8881857142858 +2025-03-10 13:45:57,569 - INFO - CLOSED short at 2072.75 | PnL: -0.13% | $-0.46 +2025-03-10 13:45:57,622 - INFO - OPENED SHORT at 2072.7 | Stop loss: 2083.078442857143 | Take profit: 2041.5870857142854 +2025-03-10 13:45:57,869 - INFO - CLOSED short at 2071.11 | PnL: 0.08% | $-0.05 +2025-03-10 13:45:57,944 - INFO - OPENED SHORT at 2068.32 | Stop loss: 2078.676542857143 | Take profit: 2037.2727857142859 +2025-03-10 13:45:58,070 - INFO - CLOSED short at 2065.49 | PnL: 0.14% | $0.07 +2025-03-10 13:45:58,070 - INFO - OPENED LONG at 2065.49 | Stop loss: 2055.147607142857 | Take profit: 2096.494764285714 +2025-03-10 13:45:58,965 - INFO - CLOSED long at 2065.69 | PnL: 0.01% | $-0.18 +2025-03-10 13:45:58,965 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.033392857143 | Take profit: 2034.6822357142858 +2025-03-10 13:46:00,465 - INFO - CLOSED short at 2059.61 | PnL: 0.29% | $0.38 +2025-03-10 13:46:00,516 - INFO - OPENED LONG at 2059.16 | Stop loss: 2048.849257142857 | Take profit: 2090.069814285714 +2025-03-10 13:46:01,011 - INFO - CLOSED long at 2062.69 | PnL: 0.17% | $0.14 +2025-03-10 13:46:01,388 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.399992857143 | Take profit: 2043.862435714286 +2025-03-10 13:46:01,889 - INFO - CLOSED short at 2063.97 | PnL: 0.53% | $0.84 +2025-03-10 13:46:02,799 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.2544428571427 | Take profit: 2036.8590857142858 +2025-03-10 13:46:02,855 - INFO - CLOSED short at 2066.89 | PnL: 0.05% | $-0.10 +2025-03-10 13:46:02,911 - INFO - OPENED SHORT at 2065.45 | Stop loss: 2075.7921928571427 | Take profit: 2034.4458357142857 +2025-03-10 13:46:02,962 - INFO - CLOSED short at 2069.0 | PnL: -0.17% | $-0.54 +2025-03-10 13:46:03,010 - INFO - OPENED SHORT at 2070.1 | Stop loss: 2080.4654428571425 | Take profit: 2039.0260857142857 +2025-03-10 13:46:03,040 - INFO - CLOSED short at 2067.19 | PnL: 0.14% | $0.08 +2025-03-10 13:46:03,068 - INFO - OPENED SHORT at 2065.5 | Stop loss: 2075.842442857143 | Take profit: 2034.4950857142856 +2025-03-10 13:46:03,227 - INFO - CLOSED short at 2063.98 | PnL: 0.07% | $-0.05 +2025-03-10 13:46:03,275 - INFO - OPENED SHORT at 2065.06 | Stop loss: 2075.400242857143 | Take profit: 2034.0616857142857 +2025-03-10 13:46:03,450 - INFO - CLOSED short at 2058.09 | PnL: 0.34% | $0.47 +2025-03-10 13:46:03,451 - INFO - OPENED LONG at 2058.09 | Stop loss: 2047.784607142857 | Take profit: 2088.9837642857146 +2025-03-10 13:46:04,647 - INFO - TAKE PROFIT hit for long at 2088.9837642857146 | PnL: 1.50% | $2.76 +2025-03-10 13:46:04,995 - INFO - OPENED LONG at 2134.78 | Stop loss: 2124.0911571428574 | Take profit: 2166.8241142857146 +2025-03-10 13:46:05,023 - INFO - CLOSED long at 2126.99 | PnL: -0.36% | $-0.94 +2025-03-10 13:46:05,051 - INFO - OPENED SHORT at 2127.3 | Stop loss: 2137.951442857143 | Take profit: 2095.368085714286 +2025-03-10 13:46:05,079 - INFO - CLOSED short at 2128.69 | PnL: -0.07% | $-0.33 +2025-03-10 13:46:05,220 - INFO - OPENED SHORT at 2117.24 | Stop loss: 2127.8411428571426 | Take profit: 2085.4589857142855 +2025-03-10 13:46:05,310 - INFO - CLOSED short at 2118.52 | PnL: -0.06% | $-0.32 +2025-03-10 13:46:05,338 - INFO - OPENED SHORT at 2119.14 | Stop loss: 2129.750642857143 | Take profit: 2087.3304857142857 +2025-03-10 13:46:05,447 - INFO - CLOSED short at 2109.05 | PnL: 0.48% | $0.75 +2025-03-10 13:46:05,474 - INFO - OPENED SHORT at 2112.09 | Stop loss: 2122.665392857143 | Take profit: 2080.386235714286 +2025-03-10 13:46:05,720 - INFO - CLOSED short at 2114.8 | PnL: -0.13% | $-0.46 +2025-03-10 13:46:05,770 - INFO - OPENED LONG at 2108.71 | Stop loss: 2098.151507142857 | Take profit: 2140.3630642857142 +2025-03-10 13:46:05,839 - INFO - CLOSED long at 2103.33 | PnL: -0.26% | $-0.71 +2025-03-10 13:46:05,957 - INFO - OPENED LONG at 2098.1 | Stop loss: 2087.594557142857 | Take profit: 2129.593914285714 +2025-03-10 13:46:05,993 - INFO - CLOSED long at 2102.19 | PnL: 0.19% | $0.19 +2025-03-10 13:46:05,993 - INFO - OPENED SHORT at 2102.19 | Stop loss: 2112.7158928571425 | Take profit: 2070.634735714286 +2025-03-10 13:46:06,629 - INFO - CLOSED short at 2088.44 | PnL: 0.65% | $1.10 +2025-03-10 13:46:06,630 - INFO - OPENED LONG at 2088.44 | Stop loss: 2077.982857142857 | Take profit: 2119.789014285714 +2025-03-10 13:46:06,739 - INFO - CLOSED long at 2082.44 | PnL: -0.29% | $-0.78 +2025-03-10 13:46:06,739 - INFO - OPENED SHORT at 2082.44 | Stop loss: 2092.867142857143 | Take profit: 2051.1809857142857 +2025-03-10 13:46:07,404 - INFO - CLOSED short at 2091.05 | PnL: -0.41% | $-1.02 +2025-03-10 13:46:07,404 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.579807142857 | Take profit: 2122.4381642857143 +2025-03-10 13:46:07,565 - INFO - CLOSED long at 2099.99 | PnL: 0.43% | $0.65 +2025-03-10 13:46:07,565 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.5048928571427 | Take profit: 2068.4677357142855 +2025-03-10 13:46:07,708 - INFO - CLOSED short at 2099.89 | PnL: 0.00% | $-0.19 +2025-03-10 13:46:07,708 - INFO - OPENED LONG at 2099.89 | Stop loss: 2089.375607142857 | Take profit: 2131.410764285714 +2025-03-10 13:46:07,808 - INFO - CLOSED long at 2103.48 | PnL: 0.17% | $0.14 +2025-03-10 13:46:07,809 - INFO - OPENED SHORT at 2103.48 | Stop loss: 2114.012342857143 | Take profit: 2071.905385714286 +2025-03-10 13:46:07,835 - INFO - CLOSED short at 2104.93 | PnL: -0.07% | $-0.34 +2025-03-10 13:46:07,835 - INFO - OPENED LONG at 2104.93 | Stop loss: 2094.390407142857 | Take profit: 2136.526364285714 +2025-03-10 13:46:07,861 - INFO - CLOSED long at 2103.81 | PnL: -0.05% | $-0.30 +2025-03-10 13:46:07,862 - INFO - OPENED SHORT at 2103.81 | Stop loss: 2114.343992857143 | Take profit: 2072.2304357142857 +2025-03-10 13:46:07,929 - INFO - CLOSED short at 2103.07 | PnL: 0.04% | $-0.13 +2025-03-10 13:46:07,930 - INFO - OPENED LONG at 2103.07 | Stop loss: 2092.5397071428574 | Take profit: 2134.6384642857147 +2025-03-10 13:46:08,438 - INFO - CLOSED long at 2108.0 | PnL: 0.23% | $0.26 +2025-03-10 13:46:08,481 - INFO - OPENED LONG at 2112.28 | Stop loss: 2101.7036571428575 | Take profit: 2143.9866142857145 +2025-03-10 13:46:08,505 - INFO - CLOSED long at 2110.87 | PnL: -0.07% | $-0.33 +2025-03-10 13:46:08,506 - INFO - OPENED SHORT at 2110.87 | Stop loss: 2121.439292857143 | Take profit: 2079.1845357142856 +2025-03-10 13:46:08,524 - INFO - CLOSED short at 2110.4 | PnL: 0.02% | $-0.15 +2025-03-10 13:46:08,550 - INFO - OPENED SHORT at 2113.7 | Stop loss: 2124.2834428571427 | Take profit: 2081.9720857142856 +2025-03-10 13:46:08,655 - INFO - CLOSED short at 2112.28 | PnL: 0.07% | $-0.06 +2025-03-10 13:46:08,701 - INFO - OPENED SHORT at 2112.11 | Stop loss: 2122.685492857143 | Take profit: 2080.405935714286 +2025-03-10 13:46:09,047 - INFO - CLOSED short at 2117.6 | PnL: -0.26% | $-0.71 +2025-03-10 13:46:09,112 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.57, Avg Loss=$-0.43 +2025-03-10 13:46:09,113 - INFO - Episode 4: Reward=-108.28, Balance=$98.17, Win Rate=37.8%, Trades=37, Episode PnL=$-1.22, Total PnL=$-26.22, Max Drawdown=3.6%, Pred Accuracy=96.8% +2025-03-10 13:46:09,654 - INFO - OPENED SHORT at 2064.32 | Stop loss: 2074.6565428571434 | Take profit: 2033.3327857142858 +2025-03-10 13:46:10,117 - INFO - STOP LOSS hit for short at 2074.6565428571434 | PnL: -0.50% | $-1.19 +2025-03-10 13:46:10,156 - INFO - OPENED SHORT at 2072.91 | Stop loss: 2083.2894928571427 | Take profit: 2041.7939357142857 +2025-03-10 13:46:10,374 - INFO - CLOSED short at 2070.28 | PnL: 0.13% | $0.05 +2025-03-10 13:46:10,374 - INFO - OPENED LONG at 2070.28 | Stop loss: 2059.913657142857 | Take profit: 2101.3566142857144 +2025-03-10 13:46:10,830 - INFO - CLOSED long at 2065.08 | PnL: -0.25% | $-0.69 +2025-03-10 13:46:10,830 - INFO - OPENED SHORT at 2065.08 | Stop loss: 2075.420342857143 | Take profit: 2034.0813857142857 +2025-03-10 13:46:11,203 - INFO - CLOSED short at 2072.75 | PnL: -0.37% | $-0.92 +2025-03-10 13:46:11,203 - INFO - OPENED LONG at 2072.75 | Stop loss: 2062.371307142857 | Take profit: 2103.863664285714 +2025-03-10 13:46:11,230 - INFO - CLOSED long at 2073.11 | PnL: 0.02% | $-0.16 +2025-03-10 13:46:11,230 - INFO - OPENED SHORT at 2073.11 | Stop loss: 2083.490492857143 | Take profit: 2041.990935714286 +2025-03-10 13:46:11,419 - INFO - CLOSED short at 2070.4 | PnL: 0.13% | $0.06 +2025-03-10 13:46:11,563 - INFO - OPENED LONG at 2067.0 | Stop loss: 2056.6500571428573 | Take profit: 2098.0274142857143 +2025-03-10 13:46:11,771 - INFO - CLOSED long at 2067.89 | PnL: 0.04% | $-0.11 +2025-03-10 13:46:11,890 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.978357142857 | Take profit: 2100.4025142857145 +2025-03-10 13:46:11,917 - INFO - CLOSED long at 2067.86 | PnL: -0.07% | $-0.33 +2025-03-10 13:46:11,944 - INFO - OPENED LONG at 2067.59 | Stop loss: 2057.237107142857 | Take profit: 2098.6262642857146 +2025-03-10 13:46:12,246 - INFO - CLOSED long at 2068.69 | PnL: 0.05% | $-0.09 +2025-03-10 13:46:12,489 - INFO - OPENED LONG at 2067.8 | Stop loss: 2057.446057142857 | Take profit: 2098.8394142857146 +2025-03-10 13:46:12,528 - INFO - CLOSED long at 2068.18 | PnL: 0.02% | $-0.16 +2025-03-10 13:46:12,529 - INFO - OPENED SHORT at 2068.18 | Stop loss: 2078.5358428571426 | Take profit: 2037.1348857142855 +2025-03-10 13:46:12,602 - INFO - CLOSED short at 2067.88 | PnL: 0.01% | $-0.16 +2025-03-10 13:46:12,602 - INFO - OPENED LONG at 2067.88 | Stop loss: 2057.525657142857 | Take profit: 2098.9206142857142 +2025-03-10 13:46:12,647 - INFO - CLOSED long at 2064.99 | PnL: -0.14% | $-0.46 +2025-03-10 13:46:12,647 - INFO - OPENED SHORT at 2064.99 | Stop loss: 2075.3298928571426 | Take profit: 2033.9927357142856 +2025-03-10 13:46:12,677 - INFO - CLOSED short at 2065.83 | PnL: -0.04% | $-0.27 +2025-03-10 13:46:12,724 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.601242857143 | Take profit: 2034.2586857142858 +2025-03-10 13:46:12,796 - INFO - CLOSED short at 2061.78 | PnL: 0.17% | $0.13 +2025-03-10 13:46:13,377 - INFO - OPENED SHORT at 2059.3 | Stop loss: 2069.6114428571427 | Take profit: 2028.3880857142858 +2025-03-10 13:46:14,688 - INFO - CLOSED short at 2064.49 | PnL: -0.25% | $-0.67 +2025-03-10 13:46:14,714 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.6765928571426 | Take profit: 2035.3126357142855 +2025-03-10 13:46:14,766 - INFO - CLOSED short at 2066.79 | PnL: -0.02% | $-0.23 +2025-03-10 13:46:14,817 - INFO - OPENED LONG at 2067.01 | Stop loss: 2056.6600071428575 | Take profit: 2098.037564285715 +2025-03-10 13:46:15,571 - INFO - CLOSED long at 2063.95 | PnL: -0.15% | $-0.47 +2025-03-10 13:46:15,593 - INFO - OPENED SHORT at 2063.97 | Stop loss: 2074.3047928571423 | Take profit: 2032.9880357142854 +2025-03-10 13:46:16,403 - INFO - CLOSED short at 2071.61 | PnL: -0.37% | $-0.88 +2025-03-10 13:46:16,431 - INFO - OPENED SHORT at 2074.37 | Stop loss: 2084.7567928571425 | Take profit: 2043.2320357142855 +2025-03-10 13:46:17,439 - INFO - CLOSED short at 2064.11 | PnL: 0.49% | $0.73 +2025-03-10 13:46:17,439 - INFO - OPENED LONG at 2064.11 | Stop loss: 2053.774507142857 | Take profit: 2095.0940642857145 +2025-03-10 13:46:17,493 - INFO - CLOSED long at 2066.33 | PnL: 0.11% | $0.01 +2025-03-10 13:46:17,494 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.6765928571426 | Take profit: 2035.3126357142855 +2025-03-10 13:46:17,920 - INFO - CLOSED short at 2063.9 | PnL: 0.12% | $0.03 +2025-03-10 13:46:17,921 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.5655571428574 | Take profit: 2094.8809142857144 +2025-03-10 13:46:18,099 - INFO - CLOSED long at 2064.08 | PnL: 0.01% | $-0.17 +2025-03-10 13:46:18,307 - INFO - OPENED LONG at 2070.31 | Stop loss: 2059.943507142857 | Take profit: 2101.387064285714 +2025-03-10 13:46:18,327 - INFO - CLOSED long at 2070.24 | PnL: -0.00% | $-0.19 +2025-03-10 13:46:18,606 - INFO - OPENED LONG at 2077.61 | Stop loss: 2067.2070071428575 | Take profit: 2108.796564285715 +2025-03-10 13:46:18,714 - INFO - TAKE PROFIT hit for long at 2108.796564285715 | PnL: 1.50% | $2.61 +2025-03-10 13:46:19,406 - INFO - OPENED LONG at 2112.46 | Stop loss: 2101.882757142857 | Take profit: 2144.1693142857143 +2025-03-10 13:46:19,659 - INFO - STOP LOSS hit for long at 2101.882757142857 | PnL: -0.50% | $-1.15 +2025-03-10 13:46:20,180 - INFO - OPENED SHORT at 2099.59 | Stop loss: 2110.102892857143 | Take profit: 2068.0737357142857 +2025-03-10 13:46:20,233 - INFO - CLOSED short at 2100.02 | PnL: -0.02% | $-0.23 +2025-03-10 13:46:20,233 - INFO - OPENED LONG at 2100.02 | Stop loss: 2089.504957142857 | Take profit: 2131.5427142857143 +2025-03-10 13:46:20,273 - INFO - CLOSED long at 2098.39 | PnL: -0.08% | $-0.34 +2025-03-10 13:46:20,274 - INFO - OPENED SHORT at 2098.39 | Stop loss: 2108.8968928571426 | Take profit: 2066.8917357142855 +2025-03-10 13:46:20,326 - INFO - CLOSED short at 2093.46 | PnL: 0.23% | $0.25 +2025-03-10 13:46:20,326 - INFO - OPENED LONG at 2093.46 | Stop loss: 2082.977757142857 | Take profit: 2124.8843142857145 +2025-03-10 13:46:20,348 - INFO - CLOSED long at 2093.33 | PnL: -0.01% | $-0.20 +2025-03-10 13:46:20,349 - INFO - OPENED SHORT at 2093.33 | Stop loss: 2103.8115928571424 | Take profit: 2061.907635714286 +2025-03-10 13:46:21,103 - INFO - CLOSED short at 2089.96 | PnL: 0.16% | $0.11 +2025-03-10 13:46:21,129 - INFO - OPENED LONG at 2087.0 | Stop loss: 2076.550057142857 | Take profit: 2118.327414285714 +2025-03-10 13:46:21,150 - INFO - CLOSED long at 2087.47 | PnL: 0.02% | $-0.15 +2025-03-10 13:46:21,176 - INFO - OPENED LONG at 2087.78 | Stop loss: 2077.3261571428575 | Take profit: 2119.119114285714 +2025-03-10 13:46:21,201 - INFO - CLOSED long at 2086.81 | PnL: -0.05% | $-0.28 +2025-03-10 13:46:21,243 - INFO - OPENED LONG at 2085.67 | Stop loss: 2075.2267071428573 | Take profit: 2116.9774642857146 +2025-03-10 13:46:21,275 - INFO - CLOSED long at 2089.2 | PnL: 0.17% | $0.13 +2025-03-10 13:46:21,390 - INFO - OPENED SHORT at 2091.95 | Stop loss: 2102.424692857143 | Take profit: 2060.5483357142853 +2025-03-10 13:46:21,636 - INFO - STOP LOSS hit for short at 2102.424692857143 | PnL: -0.50% | $-1.13 +2025-03-10 13:46:22,189 - INFO - OPENED SHORT at 2104.73 | Stop loss: 2115.268592857143 | Take profit: 2073.1366357142856 +2025-03-10 13:46:22,770 - INFO - STOP LOSS hit for short at 2115.268592857143 | PnL: -0.50% | $-1.12 +2025-03-10 13:46:22,797 - INFO - OPENED SHORT at 2117.39 | Stop loss: 2127.991892857143 | Take profit: 2085.6067357142856 +2025-03-10 13:46:23,014 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.41, Avg Loss=$-0.47 +2025-03-10 13:46:23,015 - INFO - Episode 5: Reward=-113.22, Balance=$92.40, Win Rate=28.6%, Trades=35, Episode PnL=$-5.61, Total PnL=$-33.82, Max Drawdown=7.6%, Pred Accuracy=96.9% +2025-03-10 13:46:23,246 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.219392857143 | Take profit: 2031.9242357142857 +2025-03-10 13:46:23,747 - INFO - CLOSED short at 2067.69 | PnL: -0.23% | $-0.66 +2025-03-10 13:46:23,747 - INFO - OPENED LONG at 2067.69 | Stop loss: 2057.3366071428572 | Take profit: 2098.727764285715 +2025-03-10 13:46:23,772 - INFO - CLOSED long at 2070.26 | PnL: 0.12% | $0.05 +2025-03-10 13:46:23,772 - INFO - OPENED SHORT at 2070.26 | Stop loss: 2080.626242857143 | Take profit: 2039.183685714286 +2025-03-10 13:46:24,910 - INFO - CLOSED short at 2071.39 | PnL: -0.05% | $-0.31 +2025-03-10 13:46:24,911 - INFO - OPENED LONG at 2071.39 | Stop loss: 2061.018107142857 | Take profit: 2102.483264285714 +2025-03-10 13:46:25,251 - INFO - CLOSED long at 2069.35 | PnL: -0.10% | $-0.39 +2025-03-10 13:46:25,603 - INFO - OPENED LONG at 2069.2 | Stop loss: 2058.8390571428567 | Take profit: 2100.260414285714 +2025-03-10 13:46:25,913 - INFO - CLOSED long at 2065.28 | PnL: -0.19% | $-0.57 +2025-03-10 13:46:25,914 - INFO - OPENED SHORT at 2065.28 | Stop loss: 2075.6213428571427 | Take profit: 2034.2783857142858 +2025-03-10 13:46:26,026 - INFO - CLOSED short at 2068.18 | PnL: -0.14% | $-0.47 +2025-03-10 13:46:26,027 - INFO - OPENED LONG at 2068.18 | Stop loss: 2057.824157142857 | Take profit: 2099.225114285714 +2025-03-10 13:46:26,053 - INFO - CLOSED long at 2065.69 | PnL: -0.12% | $-0.43 +2025-03-10 13:46:26,053 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.033392857143 | Take profit: 2034.6822357142858 +2025-03-10 13:46:26,144 - INFO - CLOSED short at 2066.15 | PnL: -0.02% | $-0.24 +2025-03-10 13:46:26,145 - INFO - OPENED LONG at 2066.15 | Stop loss: 2055.8043071428574 | Take profit: 2097.164664285714 +2025-03-10 13:46:26,166 - INFO - CLOSED long at 2065.26 | PnL: -0.04% | $-0.28 +2025-03-10 13:46:26,167 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.601242857143 | Take profit: 2034.2586857142858 +2025-03-10 13:46:26,192 - INFO - CLOSED short at 2062.89 | PnL: 0.11% | $0.03 +2025-03-10 13:46:26,193 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:46:26,814 - INFO - CLOSED long at 2060.3 | PnL: -0.13% | $-0.43 +2025-03-10 13:46:26,814 - INFO - OPENED SHORT at 2060.3 | Stop loss: 2070.616442857143 | Take profit: 2029.373085714286 +2025-03-10 13:46:27,020 - INFO - CLOSED short at 2063.0 | PnL: -0.13% | $-0.44 +2025-03-10 13:46:27,080 - INFO - OPENED LONG at 2061.7 | Stop loss: 2051.3765571428567 | Take profit: 2092.647914285714 +2025-03-10 13:46:27,291 - INFO - CLOSED long at 2058.28 | PnL: -0.17% | $-0.51 +2025-03-10 13:46:27,292 - INFO - OPENED SHORT at 2058.28 | Stop loss: 2068.586342857143 | Take profit: 2027.3833857142859 +2025-03-10 13:46:27,804 - INFO - STOP LOSS hit for short at 2068.586342857143 | PnL: -0.50% | $-1.14 +2025-03-10 13:46:27,828 - INFO - OPENED SHORT at 2072.0 | Stop loss: 2082.3749428571427 | Take profit: 2040.8975857142857 +2025-03-10 13:46:29,155 - INFO - CLOSED short at 2073.99 | PnL: -0.10% | $-0.37 +2025-03-10 13:46:29,156 - INFO - OPENED LONG at 2073.99 | Stop loss: 2063.605107142857 | Take profit: 2105.1222642857138 +2025-03-10 13:46:29,311 - INFO - CLOSED long at 2072.09 | PnL: -0.09% | $-0.36 +2025-03-10 13:46:29,311 - INFO - OPENED SHORT at 2072.09 | Stop loss: 2082.4653928571433 | Take profit: 2040.9862357142858 +2025-03-10 13:46:29,392 - INFO - CLOSED short at 2067.7 | PnL: 0.21% | $0.21 +2025-03-10 13:46:29,393 - INFO - OPENED LONG at 2067.7 | Stop loss: 2057.346557142857 | Take profit: 2098.737914285714 +2025-03-10 13:46:29,653 - INFO - CLOSED long at 2070.1 | PnL: 0.12% | $0.03 +2025-03-10 13:46:29,654 - INFO - OPENED SHORT at 2070.1 | Stop loss: 2080.4654428571425 | Take profit: 2039.0260857142857 +2025-03-10 13:46:30,050 - INFO - CLOSED short at 2066.33 | PnL: 0.18% | $0.15 +2025-03-10 13:46:30,051 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.9834071428572 | Take profit: 2097.3473642857143 +2025-03-10 13:46:30,096 - INFO - CLOSED long at 2063.01 | PnL: -0.16% | $-0.49 +2025-03-10 13:46:30,097 - INFO - OPENED SHORT at 2063.01 | Stop loss: 2073.339992857143 | Take profit: 2032.042435714286 +2025-03-10 13:46:31,238 - INFO - STOP LOSS hit for short at 2073.339992857143 | PnL: -0.50% | $-1.11 +2025-03-10 13:46:31,316 - INFO - OPENED SHORT at 2072.99 | Stop loss: 2083.369892857143 | Take profit: 2041.8727357142855 +2025-03-10 13:46:31,498 - INFO - CLOSED short at 2077.61 | PnL: -0.22% | $-0.59 +2025-03-10 13:46:31,527 - INFO - OPENED SHORT at 2085.56 | Stop loss: 2096.002742857143 | Take profit: 2054.2541857142855 +2025-03-10 13:46:31,572 - INFO - STOP LOSS hit for short at 2096.002742857143 | PnL: -0.50% | $-1.09 +2025-03-10 13:46:31,598 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.368442857143 | Take profit: 2098.7170857142855 +2025-03-10 13:46:31,740 - INFO - STOP LOSS hit for short at 2141.368442857143 | PnL: -0.50% | $-1.08 +2025-03-10 13:46:31,872 - INFO - OPENED LONG at 2134.78 | Stop loss: 2124.0911571428574 | Take profit: 2166.8241142857146 +2025-03-10 13:46:31,955 - INFO - STOP LOSS hit for long at 2124.0911571428574 | PnL: -0.50% | $-1.07 +2025-03-10 13:46:32,220 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.167942857143 | Take profit: 2078.9185857142857 +2025-03-10 13:46:32,308 - INFO - CLOSED short at 2112.95 | PnL: -0.11% | $-0.37 +2025-03-10 13:46:32,309 - INFO - OPENED LONG at 2112.95 | Stop loss: 2102.370307142857 | Take profit: 2144.666664285714 +2025-03-10 13:46:32,333 - INFO - CLOSED long at 2112.46 | PnL: -0.02% | $-0.22 +2025-03-10 13:46:32,333 - INFO - OPENED SHORT at 2112.46 | Stop loss: 2123.0372428571427 | Take profit: 2080.7506857142857 +2025-03-10 13:46:32,781 - INFO - CLOSED short at 2102.29 | PnL: 0.48% | $0.67 +2025-03-10 13:46:32,782 - INFO - OPENED LONG at 2102.29 | Stop loss: 2091.7636071428574 | Take profit: 2133.8467642857145 +2025-03-10 13:46:32,808 - INFO - CLOSED long at 2099.25 | PnL: -0.14% | $-0.43 +2025-03-10 13:46:32,809 - INFO - OPENED SHORT at 2099.25 | Stop loss: 2109.761192857143 | Take profit: 2067.738835714286 +2025-03-10 13:46:33,243 - INFO - CLOSED short at 2092.46 | PnL: 0.32% | $0.39 +2025-03-10 13:46:33,574 - INFO - OPENED LONG at 2081.49 | Stop loss: 2071.067607142857 | Take profit: 2112.734764285714 +2025-03-10 13:46:34,602 - INFO - CLOSED long at 2098.49 | PnL: 0.82% | $1.26 +2025-03-10 13:46:34,602 - INFO - OPENED SHORT at 2098.49 | Stop loss: 2108.9973928571426 | Take profit: 2066.9902357142855 +2025-03-10 13:46:34,834 - INFO - CLOSED short at 2103.81 | PnL: -0.25% | $-0.63 +2025-03-10 13:46:34,869 - INFO - OPENED SHORT at 2103.07 | Stop loss: 2113.6002928571434 | Take profit: 2071.501535714286 +2025-03-10 13:46:35,311 - INFO - CLOSED short at 2104.73 | PnL: -0.08% | $-0.32 +2025-03-10 13:46:35,311 - INFO - OPENED LONG at 2104.73 | Stop loss: 2094.1914071428573 | Take profit: 2136.3233642857144 +2025-03-10 13:46:35,341 - INFO - CLOSED long at 2107.25 | PnL: 0.12% | $0.03 +2025-03-10 13:46:35,341 - INFO - OPENED SHORT at 2107.25 | Stop loss: 2117.801192857143 | Take profit: 2075.6188357142855 +2025-03-10 13:46:35,900 - INFO - STOP LOSS hit for short at 2117.801192857143 | PnL: -0.50% | $-1.06 +2025-03-10 13:46:36,017 - INFO - OPENED LONG at 2116.81 | Stop loss: 2106.211007142857 | Take profit: 2148.5845642857144 +2025-03-10 13:46:36,145 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.31, Avg Loss=$-0.58 +2025-03-10 13:46:36,146 - INFO - Episode 6: Reward=-112.59, Balance=$87.79, Win Rate=25.7%, Trades=35, Episode PnL=$-9.89, Total PnL=$-46.04, Max Drawdown=12.2%, Pred Accuracy=97.0% +2025-03-10 13:46:36,344 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:46:37,010 - INFO - CLOSED long at 2071.44 | PnL: 0.41% | $0.62 +2025-03-10 13:46:37,040 - INFO - OPENED SHORT at 2073.73 | Stop loss: 2084.113592857143 | Take profit: 2042.6016357142857 +2025-03-10 13:46:37,226 - INFO - CLOSED short at 2069.37 | PnL: 0.21% | $0.22 +2025-03-10 13:46:37,226 - INFO - OPENED LONG at 2069.37 | Stop loss: 2059.008207142857 | Take profit: 2100.432964285714 +2025-03-10 13:46:37,256 - INFO - CLOSED long at 2070.9 | PnL: 0.07% | $-0.05 +2025-03-10 13:46:37,256 - INFO - OPENED SHORT at 2070.9 | Stop loss: 2081.269442857143 | Take profit: 2039.8140857142857 +2025-03-10 13:46:37,518 - INFO - CLOSED short at 2069.19 | PnL: 0.08% | $-0.03 +2025-03-10 13:46:37,519 - INFO - OPENED LONG at 2069.19 | Stop loss: 2058.829107142857 | Take profit: 2100.2502642857144 +2025-03-10 13:46:37,655 - INFO - CLOSED long at 2066.39 | PnL: -0.14% | $-0.47 +2025-03-10 13:46:37,683 - INFO - OPENED LONG at 2065.99 | Stop loss: 2055.645107142857 | Take profit: 2097.002264285714 +2025-03-10 13:46:38,192 - INFO - CLOSED long at 2072.7 | PnL: 0.32% | $0.45 +2025-03-10 13:46:38,193 - INFO - OPENED SHORT at 2072.7 | Stop loss: 2083.078442857143 | Take profit: 2041.5870857142854 +2025-03-10 13:46:38,266 - INFO - CLOSED short at 2074.29 | PnL: -0.08% | $-0.35 +2025-03-10 13:46:38,266 - INFO - OPENED LONG at 2074.29 | Stop loss: 2063.9036071428573 | Take profit: 2105.4267642857144 +2025-03-10 13:46:38,338 - INFO - CLOSED long at 2071.92 | PnL: -0.11% | $-0.43 +2025-03-10 13:46:38,338 - INFO - OPENED SHORT at 2071.92 | Stop loss: 2082.294542857143 | Take profit: 2040.8187857142857 +2025-03-10 13:46:38,370 - INFO - CLOSED short at 2070.4 | PnL: 0.07% | $-0.05 +2025-03-10 13:46:38,370 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.033057142857 | Take profit: 2101.4784142857143 +2025-03-10 13:46:38,406 - INFO - CLOSED long at 2071.11 | PnL: 0.03% | $-0.13 +2025-03-10 13:46:38,441 - INFO - OPENED LONG at 2069.46 | Stop loss: 2059.097757142857 | Take profit: 2100.5243142857144 +2025-03-10 13:46:38,745 - INFO - CLOSED long at 2068.58 | PnL: -0.04% | $-0.28 +2025-03-10 13:46:38,746 - INFO - OPENED SHORT at 2068.58 | Stop loss: 2078.937842857143 | Take profit: 2037.5288857142857 +2025-03-10 13:46:38,773 - INFO - CLOSED short at 2068.8 | PnL: -0.01% | $-0.22 +2025-03-10 13:46:38,773 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.4410571428575 | Take profit: 2099.8544142857145 +2025-03-10 13:46:38,926 - INFO - CLOSED long at 2069.2 | PnL: 0.02% | $-0.16 +2025-03-10 13:46:38,927 - INFO - OPENED SHORT at 2069.2 | Stop loss: 2079.5609428571424 | Take profit: 2038.1395857142854 +2025-03-10 13:46:38,965 - INFO - CLOSED short at 2070.3 | PnL: -0.05% | $-0.30 +2025-03-10 13:46:38,965 - INFO - OPENED LONG at 2070.3 | Stop loss: 2059.9335571428574 | Take profit: 2101.3769142857145 +2025-03-10 13:46:39,099 - INFO - CLOSED long at 2070.73 | PnL: 0.02% | $-0.16 +2025-03-10 13:46:39,126 - INFO - OPENED LONG at 2068.5 | Stop loss: 2058.142557142857 | Take profit: 2099.5499142857143 +2025-03-10 13:46:39,155 - INFO - CLOSED long at 2068.69 | PnL: 0.01% | $-0.18 +2025-03-10 13:46:39,155 - INFO - OPENED SHORT at 2068.69 | Stop loss: 2079.048392857143 | Take profit: 2037.6372357142857 +2025-03-10 13:46:39,183 - INFO - CLOSED short at 2067.84 | PnL: 0.04% | $-0.12 +2025-03-10 13:46:39,192 - INFO - OPENED LONG at 2067.84 | Stop loss: 2057.485857142857 | Take profit: 2098.8800142857144 +2025-03-10 13:46:39,988 - INFO - CLOSED long at 2063.59 | PnL: -0.21% | $-0.60 +2025-03-10 13:46:39,989 - INFO - OPENED SHORT at 2063.59 | Stop loss: 2073.922892857143 | Take profit: 2032.613735714286 +2025-03-10 13:46:40,014 - INFO - CLOSED short at 2064.96 | PnL: -0.07% | $-0.32 +2025-03-10 13:46:40,014 - INFO - OPENED LONG at 2064.96 | Stop loss: 2054.620257142857 | Take profit: 2095.9568142857142 +2025-03-10 13:46:40,037 - INFO - CLOSED long at 2066.24 | PnL: 0.06% | $-0.07 +2025-03-10 13:46:40,037 - INFO - OPENED SHORT at 2066.24 | Stop loss: 2076.586142857143 | Take profit: 2035.2239857142854 +2025-03-10 13:46:40,893 - INFO - CLOSED short at 2063.39 | PnL: 0.14% | $0.07 +2025-03-10 13:46:40,894 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.058107142857 | Take profit: 2094.363264285714 +2025-03-10 13:46:40,935 - INFO - CLOSED long at 2064.79 | PnL: 0.07% | $-0.06 +2025-03-10 13:46:40,935 - INFO - OPENED SHORT at 2064.79 | Stop loss: 2075.128892857143 | Take profit: 2033.7957357142857 +2025-03-10 13:46:41,781 - INFO - CLOSED short at 2061.6 | PnL: 0.15% | $0.11 +2025-03-10 13:46:41,782 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.277057142857 | Take profit: 2092.546414285714 +2025-03-10 13:46:41,827 - INFO - CLOSED long at 2061.3 | PnL: -0.01% | $-0.22 +2025-03-10 13:46:41,827 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.621442857143 | Take profit: 2030.358085714286 +2025-03-10 13:46:41,869 - INFO - CLOSED short at 2062.69 | PnL: -0.07% | $-0.32 +2025-03-10 13:46:41,869 - INFO - OPENED LONG at 2062.69 | Stop loss: 2052.3616071428573 | Take profit: 2093.6527642857145 +2025-03-10 13:46:41,898 - INFO - CLOSED long at 2063.4 | PnL: 0.03% | $-0.13 +2025-03-10 13:46:41,899 - INFO - OPENED SHORT at 2063.4 | Stop loss: 2073.7319428571427 | Take profit: 2032.4265857142857 +2025-03-10 13:46:41,926 - INFO - CLOSED short at 2066.36 | PnL: -0.14% | $-0.47 +2025-03-10 13:46:41,926 - INFO - OPENED LONG at 2066.36 | Stop loss: 2056.013257142857 | Take profit: 2097.3778142857145 +2025-03-10 13:46:42,038 - INFO - CLOSED long at 2066.33 | PnL: -0.00% | $-0.19 +2025-03-10 13:46:42,038 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.6765928571426 | Take profit: 2035.3126357142855 +2025-03-10 13:46:42,116 - INFO - CLOSED short at 2066.79 | PnL: -0.02% | $-0.23 +2025-03-10 13:46:42,117 - INFO - OPENED LONG at 2066.79 | Stop loss: 2056.441107142857 | Take profit: 2097.814264285714 +2025-03-10 13:46:42,173 - INFO - CLOSED long at 2067.33 | PnL: 0.03% | $-0.14 +2025-03-10 13:46:42,174 - INFO - OPENED SHORT at 2067.33 | Stop loss: 2077.6815928571427 | Take profit: 2036.2976357142854 +2025-03-10 13:46:42,371 - INFO - STOP LOSS hit for short at 2077.6815928571427 | PnL: -0.50% | $-1.14 +2025-03-10 13:46:42,399 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.399992857143 | Take profit: 2043.862435714286 +2025-03-10 13:46:42,990 - INFO - CLOSED short at 2063.97 | PnL: 0.53% | $0.81 +2025-03-10 13:46:42,991 - INFO - OPENED LONG at 2063.97 | Stop loss: 2053.635207142857 | Take profit: 2094.951964285714 +2025-03-10 13:46:43,329 - INFO - CLOSED long at 2070.2 | PnL: 0.30% | $0.38 +2025-03-10 13:46:43,330 - INFO - OPENED SHORT at 2070.2 | Stop loss: 2080.5659428571425 | Take profit: 2039.1245857142856 +2025-03-10 13:46:43,756 - INFO - CLOSED short at 2070.61 | PnL: -0.02% | $-0.23 +2025-03-10 13:46:43,979 - INFO - OPENED SHORT at 2074.35 | Stop loss: 2084.7366928571428 | Take profit: 2043.2123357142855 +2025-03-10 13:46:44,419 - INFO - CLOSED short at 2065.45 | PnL: 0.43% | $0.62 +2025-03-10 13:46:44,442 - INFO - OPENED SHORT at 2068.1 | Stop loss: 2078.4554428571428 | Take profit: 2037.0560857142857 +2025-03-10 13:46:45,487 - INFO - CLOSED short at 2065.12 | PnL: 0.14% | $0.08 +2025-03-10 13:46:45,488 - INFO - OPENED LONG at 2065.12 | Stop loss: 2054.779457142857 | Take profit: 2096.1192142857144 +2025-03-10 13:46:45,512 - INFO - CLOSED long at 2068.33 | PnL: 0.16% | $0.11 +2025-03-10 13:46:45,513 - INFO - OPENED SHORT at 2068.33 | Stop loss: 2078.686592857143 | Take profit: 2037.2826357142858 +2025-03-10 13:46:45,831 - INFO - CLOSED short at 2069.34 | PnL: -0.05% | $-0.28 +2025-03-10 13:46:45,831 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.978357142857 | Take profit: 2100.4025142857145 +2025-03-10 13:46:45,864 - INFO - CLOSED long at 2069.81 | PnL: 0.02% | $-0.15 +2025-03-10 13:46:45,864 - INFO - OPENED SHORT at 2069.81 | Stop loss: 2080.173992857143 | Take profit: 2038.7404357142857 +2025-03-10 13:46:46,085 - INFO - STOP LOSS hit for short at 2080.173992857143 | PnL: -0.50% | $-1.14 +2025-03-10 13:46:46,465 - INFO - OPENED LONG at 2126.99 | Stop loss: 2116.340107142857 | Take profit: 2158.9172642857143 +2025-03-10 13:46:46,820 - INFO - STOP LOSS hit for long at 2116.340107142857 | PnL: -0.50% | $-1.13 +2025-03-10 13:46:46,921 - INFO - OPENED LONG at 2109.05 | Stop loss: 2098.4898071428574 | Take profit: 2140.7081642857147 +2025-03-10 13:46:47,057 - INFO - CLOSED long at 2112.46 | PnL: 0.16% | $0.11 +2025-03-10 13:46:47,058 - INFO - OPENED SHORT at 2112.46 | Stop loss: 2123.0372428571427 | Take profit: 2080.7506857142857 +2025-03-10 13:46:48,032 - INFO - CLOSED short at 2083.97 | PnL: 1.35% | $2.33 +2025-03-10 13:46:48,033 - INFO - OPENED LONG at 2083.97 | Stop loss: 2073.535207142857 | Take profit: 2115.251964285714 +2025-03-10 13:46:48,916 - INFO - CLOSED long at 2097.11 | PnL: 0.63% | $1.01 +2025-03-10 13:46:48,917 - INFO - OPENED SHORT at 2097.11 | Stop loss: 2107.6104928571426 | Take profit: 2065.630935714286 +2025-03-10 13:46:49,598 - INFO - STOP LOSS hit for short at 2107.6104928571426 | PnL: -0.50% | $-1.16 +2025-03-10 13:46:49,621 - INFO - OPENED SHORT at 2112.28 | Stop loss: 2122.856342857143 | Take profit: 2080.573385714286 +2025-03-10 13:46:50,039 - INFO - CLOSED short at 2108.99 | PnL: 0.16% | $0.11 +2025-03-10 13:46:50,040 - INFO - OPENED LONG at 2108.99 | Stop loss: 2098.4301071428567 | Take profit: 2140.647264285714 +2025-03-10 13:46:50,081 - INFO - CLOSED long at 2111.19 | PnL: 0.10% | $0.01 +2025-03-10 13:46:50,081 - INFO - OPENED SHORT at 2111.19 | Stop loss: 2121.760892857143 | Take profit: 2079.4997357142856 +2025-03-10 13:46:50,209 - INFO - CLOSED short at 2117.39 | PnL: -0.29% | $-0.75 +2025-03-10 13:46:50,210 - INFO - OPENED LONG at 2117.39 | Stop loss: 2106.788107142857 | Take profit: 2149.173264285714 +2025-03-10 13:46:50,253 - INFO - CLOSED long at 2115.3 | PnL: -0.10% | $-0.38 +2025-03-10 13:46:50,254 - INFO - OPENED SHORT at 2115.3 | Stop loss: 2125.891442857143 | Take profit: 2083.5480857142857 +2025-03-10 13:46:50,403 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.47, Avg Loss=$-0.35 +2025-03-10 13:46:50,404 - INFO - Episode 7: Reward=-112.36, Balance=$94.99, Win Rate=30.6%, Trades=49, Episode PnL=$-4.05, Total PnL=$-51.05, Max Drawdown=6.9%, Pred Accuracy=97.1% +2025-03-10 13:46:50,928 - INFO - OPENED SHORT at 2061.79 | Stop loss: 2072.1138928571427 | Take profit: 2030.8407357142858 +2025-03-10 13:46:51,387 - INFO - STOP LOSS hit for short at 2072.1138928571427 | PnL: -0.50% | $-1.19 +2025-03-10 13:46:51,433 - INFO - OPENED SHORT at 2072.91 | Stop loss: 2083.2894928571427 | Take profit: 2041.7939357142857 +2025-03-10 13:46:51,692 - INFO - CLOSED short at 2070.79 | PnL: 0.10% | $0.00 +2025-03-10 13:46:51,692 - INFO - OPENED LONG at 2070.79 | Stop loss: 2060.421107142857 | Take profit: 2101.874264285714 +2025-03-10 13:46:51,717 - INFO - CLOSED long at 2070.28 | PnL: -0.02% | $-0.24 +2025-03-10 13:46:51,718 - INFO - OPENED SHORT at 2070.28 | Stop loss: 2080.6463428571433 | Take profit: 2039.203385714286 +2025-03-10 13:46:51,838 - INFO - CLOSED short at 2070.7 | PnL: -0.02% | $-0.24 +2025-03-10 13:46:51,838 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.331557142857 | Take profit: 2101.782914285714 +2025-03-10 13:46:52,112 - INFO - CLOSED long at 2065.99 | PnL: -0.23% | $-0.64 +2025-03-10 13:46:52,112 - INFO - OPENED SHORT at 2065.99 | Stop loss: 2076.3348928571427 | Take profit: 2034.9777357142855 +2025-03-10 13:46:52,525 - INFO - CLOSED short at 2073.11 | PnL: -0.34% | $-0.86 +2025-03-10 13:46:52,526 - INFO - OPENED LONG at 2073.11 | Stop loss: 2062.729507142857 | Take profit: 2104.2290642857142 +2025-03-10 13:46:52,553 - INFO - CLOSED long at 2072.7 | PnL: -0.02% | $-0.23 +2025-03-10 13:46:52,553 - INFO - OPENED SHORT at 2072.7 | Stop loss: 2083.078442857143 | Take profit: 2041.5870857142854 +2025-03-10 13:46:52,668 - INFO - CLOSED short at 2070.4 | PnL: 0.11% | $0.02 +2025-03-10 13:46:52,669 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.033057142857 | Take profit: 2101.4784142857143 +2025-03-10 13:46:52,712 - INFO - CLOSED long at 2071.11 | PnL: 0.03% | $-0.13 +2025-03-10 13:46:52,712 - INFO - OPENED SHORT at 2071.11 | Stop loss: 2081.4804928571434 | Take profit: 2040.0209357142858 +2025-03-10 13:46:52,791 - INFO - CLOSED short at 2069.35 | PnL: 0.08% | $-0.03 +2025-03-10 13:46:52,791 - INFO - OPENED LONG at 2069.35 | Stop loss: 2058.988307142857 | Take profit: 2100.412664285714 +2025-03-10 13:46:52,836 - INFO - CLOSED long at 2068.32 | PnL: -0.05% | $-0.29 +2025-03-10 13:46:52,836 - INFO - OPENED SHORT at 2068.32 | Stop loss: 2078.676542857143 | Take profit: 2037.2727857142859 +2025-03-10 13:46:54,025 - INFO - CLOSED short at 2067.88 | PnL: 0.02% | $-0.15 +2025-03-10 13:46:54,025 - INFO - OPENED LONG at 2067.88 | Stop loss: 2057.525657142857 | Take profit: 2098.9206142857142 +2025-03-10 13:46:54,096 - INFO - CLOSED long at 2066.15 | PnL: -0.08% | $-0.35 +2025-03-10 13:46:54,096 - INFO - OPENED SHORT at 2066.15 | Stop loss: 2076.4956928571432 | Take profit: 2035.1353357142857 +2025-03-10 13:46:54,303 - INFO - CLOSED short at 2066.24 | PnL: -0.00% | $-0.20 +2025-03-10 13:46:54,303 - INFO - OPENED LONG at 2066.24 | Stop loss: 2055.8938571428566 | Take profit: 2097.256014285714 +2025-03-10 13:46:54,831 - INFO - CLOSED long at 2064.1 | PnL: -0.10% | $-0.39 +2025-03-10 13:46:54,832 - INFO - OPENED SHORT at 2064.1 | Stop loss: 2074.435442857143 | Take profit: 2033.1160857142856 +2025-03-10 13:46:55,089 - INFO - CLOSED short at 2061.09 | PnL: 0.15% | $0.09 +2025-03-10 13:46:55,090 - INFO - OPENED LONG at 2061.09 | Stop loss: 2050.7696071428572 | Take profit: 2092.0287642857143 +2025-03-10 13:46:55,109 - INFO - CLOSED long at 2059.61 | PnL: -0.07% | $-0.32 +2025-03-10 13:46:55,109 - INFO - OPENED SHORT at 2059.61 | Stop loss: 2069.922992857143 | Take profit: 2028.693435714286 +2025-03-10 13:46:55,929 - INFO - STOP LOSS hit for short at 2069.922992857143 | PnL: -0.50% | $-1.13 +2025-03-10 13:46:56,002 - INFO - OPENED SHORT at 2078.01 | Stop loss: 2088.4149928571433 | Take profit: 2046.817435714286 +2025-03-10 13:46:56,723 - INFO - CLOSED short at 2064.31 | PnL: 0.66% | $1.04 +2025-03-10 13:46:56,724 - INFO - OPENED LONG at 2064.31 | Stop loss: 2053.973507142857 | Take profit: 2095.2970642857144 +2025-03-10 13:46:56,775 - INFO - CLOSED long at 2065.5 | PnL: 0.06% | $-0.08 +2025-03-10 13:46:56,776 - INFO - OPENED SHORT at 2065.5 | Stop loss: 2075.842442857143 | Take profit: 2034.4950857142856 +2025-03-10 13:46:57,283 - INFO - CLOSED short at 2070.61 | PnL: -0.25% | $-0.65 +2025-03-10 13:46:57,284 - INFO - OPENED LONG at 2070.61 | Stop loss: 2060.2420071428573 | Take profit: 2101.6915642857143 +2025-03-10 13:46:57,309 - INFO - CLOSED long at 2071.99 | PnL: 0.07% | $-0.06 +2025-03-10 13:46:57,310 - INFO - OPENED SHORT at 2071.99 | Stop loss: 2082.3648928571424 | Take profit: 2040.8877357142856 +2025-03-10 13:46:57,338 - INFO - CLOSED short at 2068.19 | PnL: 0.18% | $0.16 +2025-03-10 13:46:57,338 - INFO - OPENED LONG at 2068.19 | Stop loss: 2057.834107142857 | Take profit: 2099.2352642857145 +2025-03-10 13:46:57,362 - INFO - CLOSED long at 2068.67 | PnL: 0.02% | $-0.14 +2025-03-10 13:46:57,362 - INFO - OPENED SHORT at 2068.67 | Stop loss: 2079.0282928571432 | Take profit: 2037.6175357142856 +2025-03-10 13:46:58,526 - INFO - CLOSED short at 2059.2 | PnL: 0.46% | $0.67 +2025-03-10 13:46:58,895 - INFO - OPENED SHORT at 2063.9 | Stop loss: 2074.234442857143 | Take profit: 2032.9190857142858 +2025-03-10 13:46:59,065 - INFO - CLOSED short at 2064.08 | PnL: -0.01% | $-0.20 +2025-03-10 13:46:59,065 - INFO - OPENED LONG at 2064.08 | Stop loss: 2053.744657142857 | Take profit: 2095.0636142857143 +2025-03-10 13:46:59,112 - INFO - CLOSED long at 2061.21 | PnL: -0.14% | $-0.45 +2025-03-10 13:46:59,112 - INFO - OPENED SHORT at 2061.21 | Stop loss: 2071.5309928571432 | Take profit: 2030.269435714286 +2025-03-10 13:46:59,409 - INFO - STOP LOSS hit for short at 2071.5309928571432 | PnL: -0.50% | $-1.12 +2025-03-10 13:46:59,806 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2526428571427 | Take profit: 2107.4244857142858 +2025-03-10 13:47:00,512 - INFO - CLOSED short at 2119.07 | PnL: 0.96% | $1.58 +2025-03-10 13:47:00,512 - INFO - OPENED LONG at 2119.07 | Stop loss: 2108.4597071428575 | Take profit: 2150.8784642857145 +2025-03-10 13:47:00,562 - INFO - STOP LOSS hit for long at 2108.4597071428575 | PnL: -0.50% | $-1.13 +2025-03-10 13:47:00,687 - INFO - OPENED SHORT at 2112.95 | Stop loss: 2123.5296928571424 | Take profit: 2081.2333357142857 +2025-03-10 13:47:01,710 - INFO - CLOSED short at 2100.02 | PnL: 0.61% | $0.95 +2025-03-10 13:47:01,710 - INFO - OPENED LONG at 2100.02 | Stop loss: 2089.504957142857 | Take profit: 2131.5427142857143 +2025-03-10 13:47:02,019 - INFO - STOP LOSS hit for long at 2089.504957142857 | PnL: -0.50% | $-1.12 +2025-03-10 13:47:02,061 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.848657142857 | Take profit: 2114.551614285714 +2025-03-10 13:47:02,164 - INFO - CLOSED long at 2082.44 | PnL: -0.04% | $-0.26 +2025-03-10 13:47:02,165 - INFO - OPENED SHORT at 2082.44 | Stop loss: 2092.867142857143 | Take profit: 2051.1809857142857 +2025-03-10 13:47:02,196 - INFO - CLOSED short at 2081.49 | PnL: 0.05% | $-0.10 +2025-03-10 13:47:02,196 - INFO - OPENED LONG at 2081.49 | Stop loss: 2071.067607142857 | Take profit: 2112.734764285714 +2025-03-10 13:47:02,463 - INFO - CLOSED long at 2085.8 | PnL: 0.21% | $0.20 +2025-03-10 13:47:02,489 - INFO - OPENED LONG at 2084.72 | Stop loss: 2074.281457142857 | Take profit: 2116.013214285714 +2025-03-10 13:47:02,539 - INFO - CLOSED long at 2085.85 | PnL: 0.05% | $-0.08 +2025-03-10 13:47:02,539 - INFO - OPENED SHORT at 2085.85 | Stop loss: 2096.2941928571427 | Take profit: 2054.539835714286 +2025-03-10 13:47:02,564 - INFO - CLOSED short at 2088.66 | PnL: -0.13% | $-0.43 +2025-03-10 13:47:02,565 - INFO - OPENED LONG at 2088.66 | Stop loss: 2078.201757142857 | Take profit: 2120.012314285714 +2025-03-10 13:47:02,635 - INFO - CLOSED long at 2089.96 | PnL: 0.06% | $-0.07 +2025-03-10 13:47:02,635 - INFO - OPENED SHORT at 2089.96 | Stop loss: 2100.424742857143 | Take profit: 2058.588185714286 +2025-03-10 13:47:02,842 - INFO - CLOSED short at 2089.79 | PnL: 0.01% | $-0.17 +2025-03-10 13:47:02,869 - INFO - OPENED SHORT at 2085.67 | Stop loss: 2096.113292857143 | Take profit: 2054.362535714286 +2025-03-10 13:47:03,012 - INFO - CLOSED short at 2097.8 | PnL: -0.58% | $-1.25 +2025-03-10 13:47:03,037 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.5048928571427 | Take profit: 2068.4677357142855 +2025-03-10 13:47:03,743 - INFO - CLOSED short at 2102.0 | PnL: -0.10% | $-0.35 +2025-03-10 13:47:03,766 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.941992857143 | Take profit: 2071.8364357142855 +2025-03-10 13:47:04,106 - INFO - STOP LOSS hit for short at 2113.941992857143 | PnL: -0.50% | $-1.08 +2025-03-10 13:47:04,178 - INFO - OPENED SHORT at 2112.28 | Stop loss: 2122.856342857143 | Take profit: 2080.573385714286 +2025-03-10 13:47:04,609 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.52, Avg Loss=$-0.46 +2025-03-10 13:47:04,610 - INFO - Episode 8: Reward=-118.55, Balance=$89.55, Win Rate=21.4%, Trades=42, Episode PnL=$-6.71, Total PnL=$-61.50, Max Drawdown=10.4%, Pred Accuracy=97.2% +2025-03-10 13:47:04,934 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.219392857143 | Take profit: 2031.9242357142857 +2025-03-10 13:47:05,347 - INFO - CLOSED short at 2071.63 | PnL: -0.42% | $-1.04 +2025-03-10 13:47:05,347 - INFO - OPENED LONG at 2071.63 | Stop loss: 2061.256907142857 | Take profit: 2102.7268642857143 +2025-03-10 13:47:05,376 - INFO - CLOSED long at 2070.99 | PnL: -0.03% | $-0.26 +2025-03-10 13:47:05,376 - INFO - OPENED SHORT at 2070.99 | Stop loss: 2081.3598928571428 | Take profit: 2039.9027357142854 +2025-03-10 13:47:05,541 - INFO - CLOSED short at 2067.69 | PnL: 0.16% | $0.12 +2025-03-10 13:47:05,541 - INFO - OPENED LONG at 2067.69 | Stop loss: 2057.3366071428572 | Take profit: 2098.727764285715 +2025-03-10 13:47:05,582 - INFO - CLOSED long at 2070.26 | PnL: 0.12% | $0.05 +2025-03-10 13:47:05,583 - INFO - OPENED SHORT at 2070.26 | Stop loss: 2080.626242857143 | Take profit: 2039.183685714286 +2025-03-10 13:47:05,625 - INFO - CLOSED short at 2071.44 | PnL: -0.06% | $-0.31 +2025-03-10 13:47:05,625 - INFO - OPENED LONG at 2071.44 | Stop loss: 2061.067857142857 | Take profit: 2102.534014285714 +2025-03-10 13:47:05,701 - INFO - CLOSED long at 2072.91 | PnL: 0.07% | $-0.06 +2025-03-10 13:47:05,702 - INFO - OPENED SHORT at 2072.91 | Stop loss: 2083.2894928571427 | Take profit: 2041.7939357142857 +2025-03-10 13:47:05,727 - INFO - CLOSED short at 2072.33 | PnL: 0.03% | $-0.14 +2025-03-10 13:47:05,727 - INFO - OPENED LONG at 2072.33 | Stop loss: 2061.953407142857 | Take profit: 2103.437364285714 +2025-03-10 13:47:06,628 - INFO - CLOSED long at 2069.96 | PnL: -0.11% | $-0.42 +2025-03-10 13:47:06,628 - INFO - OPENED SHORT at 2069.96 | Stop loss: 2080.3247428571426 | Take profit: 2038.8881857142858 +2025-03-10 13:47:06,704 - INFO - CLOSED short at 2071.39 | PnL: -0.07% | $-0.33 +2025-03-10 13:47:06,822 - INFO - OPENED SHORT at 2073.11 | Stop loss: 2083.490492857143 | Take profit: 2041.990935714286 +2025-03-10 13:47:09,248 - INFO - CLOSED short at 2061.9 | PnL: 0.54% | $0.85 +2025-03-10 13:47:10,206 - INFO - OPENED SHORT at 2062.69 | Stop loss: 2073.0183928571428 | Take profit: 2031.7272357142858 +2025-03-10 13:47:10,460 - INFO - CLOSED short at 2066.34 | PnL: -0.18% | $-0.54 +2025-03-10 13:47:10,460 - INFO - OPENED LONG at 2066.34 | Stop loss: 2055.9933571428573 | Take profit: 2097.3575142857144 +2025-03-10 13:47:10,488 - INFO - CLOSED long at 2066.79 | PnL: 0.02% | $-0.15 +2025-03-10 13:47:10,488 - INFO - OPENED SHORT at 2066.79 | Stop loss: 2077.1388928571428 | Take profit: 2035.7657357142857 +2025-03-10 13:47:10,682 - INFO - STOP LOSS hit for short at 2077.1388928571428 | PnL: -0.50% | $-1.17 +2025-03-10 13:47:10,723 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.399992857143 | Take profit: 2043.862435714286 +2025-03-10 13:47:11,414 - INFO - CLOSED short at 2064.4 | PnL: 0.51% | $0.79 +2025-03-10 13:47:11,414 - INFO - OPENED LONG at 2064.4 | Stop loss: 2054.0630571428574 | Take profit: 2095.388414285714 +2025-03-10 13:47:11,762 - INFO - CLOSED long at 2070.2 | PnL: 0.28% | $0.35 +2025-03-10 13:47:11,763 - INFO - OPENED SHORT at 2070.2 | Stop loss: 2080.5659428571425 | Take profit: 2039.1245857142856 +2025-03-10 13:47:12,210 - INFO - CLOSED short at 2074.35 | PnL: -0.20% | $-0.58 +2025-03-10 13:47:12,211 - INFO - OPENED LONG at 2074.35 | Stop loss: 2063.963307142857 | Take profit: 2105.487664285714 +2025-03-10 13:47:12,732 - INFO - CLOSED long at 2065.45 | PnL: -0.43% | $-1.02 +2025-03-10 13:47:12,824 - INFO - OPENED SHORT at 2069.0 | Stop loss: 2079.359942857143 | Take profit: 2037.9425857142858 +2025-03-10 13:47:13,243 - INFO - CLOSED short at 2064.11 | PnL: 0.24% | $0.26 +2025-03-10 13:47:13,243 - INFO - OPENED LONG at 2064.11 | Stop loss: 2053.774507142857 | Take profit: 2095.0940642857145 +2025-03-10 13:47:13,267 - INFO - CLOSED long at 2064.5 | PnL: 0.02% | $-0.16 +2025-03-10 13:47:13,267 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.837442857143 | Take profit: 2033.5100857142857 +2025-03-10 13:47:13,320 - INFO - CLOSED short at 2063.01 | PnL: 0.07% | $-0.05 +2025-03-10 13:47:13,320 - INFO - OPENED LONG at 2063.01 | Stop loss: 2052.6800071428574 | Take profit: 2093.977564285715 +2025-03-10 13:47:13,564 - INFO - CLOSED long at 2049.21 | PnL: -0.67% | $-1.47 +2025-03-10 13:47:13,565 - INFO - OPENED SHORT at 2049.21 | Stop loss: 2059.470992857143 | Take profit: 2018.4494357142858 +2025-03-10 13:47:13,614 - INFO - CLOSED short at 2049.5 | PnL: -0.01% | $-0.21 +2025-03-10 13:47:13,615 - INFO - OPENED LONG at 2049.5 | Stop loss: 2039.237557142857 | Take profit: 2080.264914285714 +2025-03-10 13:47:14,025 - INFO - CLOSED long at 2067.49 | PnL: 0.88% | $1.46 +2025-03-10 13:47:14,061 - INFO - OPENED SHORT at 2066.59 | Stop loss: 2076.937892857143 | Take profit: 2035.5687357142858 +2025-03-10 13:47:14,112 - INFO - CLOSED short at 2061.21 | PnL: 0.26% | $0.31 +2025-03-10 13:47:14,283 - INFO - OPENED SHORT at 2070.31 | Stop loss: 2080.676492857143 | Take profit: 2039.2329357142855 +2025-03-10 13:47:14,410 - INFO - CLOSED short at 2069.81 | PnL: 0.02% | $-0.15 +2025-03-10 13:47:14,473 - INFO - OPENED SHORT at 2073.49 | Stop loss: 2083.8723928571426 | Take profit: 2042.3652357142855 +2025-03-10 13:47:14,590 - INFO - CLOSED short at 2074.9 | PnL: -0.07% | $-0.32 +2025-03-10 13:47:14,618 - INFO - OPENED SHORT at 2076.08 | Stop loss: 2086.4753428571426 | Take profit: 2044.9163857142858 +2025-03-10 13:47:14,641 - INFO - CLOSED short at 2077.61 | PnL: -0.07% | $-0.33 +2025-03-10 13:47:14,678 - INFO - OPENED SHORT at 2085.56 | Stop loss: 2096.002742857143 | Take profit: 2054.2541857142855 +2025-03-10 13:47:14,789 - INFO - STOP LOSS hit for short at 2096.002742857143 | PnL: -0.50% | $-1.14 +2025-03-10 13:47:14,841 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.368442857143 | Take profit: 2098.7170857142855 +2025-03-10 13:47:14,891 - INFO - CLOSED short at 2131.78 | PnL: -0.05% | $-0.28 +2025-03-10 13:47:15,091 - INFO - OPENED LONG at 2134.78 | Stop loss: 2124.0911571428574 | Take profit: 2166.8241142857146 +2025-03-10 13:47:15,256 - INFO - STOP LOSS hit for long at 2124.0911571428574 | PnL: -0.50% | $-1.12 +2025-03-10 13:47:15,955 - INFO - OPENED SHORT at 2103.33 | Stop loss: 2113.861592857143 | Take profit: 2071.7576357142857 +2025-03-10 13:47:16,088 - INFO - CLOSED short at 2098.1 | PnL: 0.25% | $0.27 +2025-03-10 13:47:16,270 - INFO - OPENED SHORT at 2106.39 | Stop loss: 2116.936892857143 | Take profit: 2074.7717357142856 +2025-03-10 13:47:16,311 - INFO - CLOSED short at 2100.74 | PnL: 0.27% | $0.31 +2025-03-10 13:47:16,356 - INFO - OPENED SHORT at 2103.86 | Stop loss: 2114.3942428571427 | Take profit: 2072.2796857142857 +2025-03-10 13:47:16,952 - INFO - CLOSED short at 2083.41 | PnL: 0.97% | $1.62 +2025-03-10 13:47:16,952 - INFO - OPENED LONG at 2083.41 | Stop loss: 2072.9780071428568 | Take profit: 2114.6835642857145 +2025-03-10 13:47:16,980 - INFO - CLOSED long at 2085.09 | PnL: 0.08% | $-0.04 +2025-03-10 13:47:16,981 - INFO - OPENED SHORT at 2085.09 | Stop loss: 2095.530392857143 | Take profit: 2053.791235714286 +2025-03-10 13:47:17,184 - INFO - CLOSED short at 2085.85 | PnL: -0.04% | $-0.26 +2025-03-10 13:47:17,230 - INFO - OPENED SHORT at 2088.66 | Stop loss: 2099.118242857143 | Take profit: 2057.3076857142855 +2025-03-10 13:47:17,661 - INFO - CLOSED short at 2091.95 | PnL: -0.16% | $-0.49 +2025-03-10 13:47:17,661 - INFO - OPENED LONG at 2091.95 | Stop loss: 2081.4753071428568 | Take profit: 2123.351664285714 +2025-03-10 13:47:18,503 - INFO - CLOSED long at 2102.0 | PnL: 0.48% | $0.71 +2025-03-10 13:47:18,503 - INFO - OPENED SHORT at 2102.0 | Stop loss: 2112.524942857143 | Take profit: 2070.4475857142857 +2025-03-10 13:47:18,682 - INFO - CLOSED short at 2110.87 | PnL: -0.42% | $-0.99 +2025-03-10 13:47:18,682 - INFO - OPENED LONG at 2110.87 | Stop loss: 2100.300707142857 | Take profit: 2142.555464285714 +2025-03-10 13:47:18,860 - INFO - CLOSED long at 2115.26 | PnL: 0.21% | $0.20 +2025-03-10 13:47:18,861 - INFO - OPENED SHORT at 2115.26 | Stop loss: 2125.851242857143 | Take profit: 2083.508685714286 +2025-03-10 13:47:19,375 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.56, Avg Loss=$-0.50 +2025-03-10 13:47:19,377 - INFO - Episode 9: Reward=-109.72, Balance=$94.29, Win Rate=33.3%, Trades=39, Episode PnL=$-4.47, Total PnL=$-67.20, Max Drawdown=7.1%, Pred Accuracy=97.3% +2025-03-10 13:47:19,787 - INFO - OPENED LONG at 2057.89 | Stop loss: 2047.585607142857 | Take profit: 2088.7807642857138 +2025-03-10 13:47:20,139 - INFO - CLOSED long at 2070.99 | PnL: 0.64% | $1.07 +2025-03-10 13:47:20,140 - INFO - OPENED SHORT at 2070.99 | Stop loss: 2081.3598928571428 | Take profit: 2039.9027357142854 +2025-03-10 13:47:22,876 - INFO - CLOSED short at 2066.1 | PnL: 0.24% | $0.27 +2025-03-10 13:47:22,876 - INFO - OPENED LONG at 2066.1 | Stop loss: 2055.754557142857 | Take profit: 2097.113914285714 +2025-03-10 13:47:22,901 - INFO - CLOSED long at 2065.28 | PnL: -0.04% | $-0.28 +2025-03-10 13:47:22,901 - INFO - OPENED SHORT at 2065.28 | Stop loss: 2075.6213428571427 | Take profit: 2034.2783857142858 +2025-03-10 13:47:22,926 - INFO - CLOSED short at 2066.39 | PnL: -0.05% | $-0.31 +2025-03-10 13:47:22,928 - INFO - OPENED LONG at 2066.39 | Stop loss: 2056.043107142857 | Take profit: 2097.408264285714 +2025-03-10 13:47:22,955 - INFO - CLOSED long at 2064.47 | PnL: -0.09% | $-0.39 +2025-03-10 13:47:22,956 - INFO - OPENED SHORT at 2064.47 | Stop loss: 2074.8072928571423 | Take profit: 2033.4805357142855 +2025-03-10 13:47:22,981 - INFO - CLOSED short at 2070.04 | PnL: -0.27% | $-0.74 +2025-03-10 13:47:22,982 - INFO - OPENED LONG at 2070.04 | Stop loss: 2059.674857142857 | Take profit: 2101.1130142857146 +2025-03-10 13:47:23,416 - INFO - STOP LOSS hit for long at 2059.674857142857 | PnL: -0.50% | $-1.19 +2025-03-10 13:47:23,533 - INFO - OPENED LONG at 2064.96 | Stop loss: 2054.620257142857 | Take profit: 2095.9568142857142 +2025-03-10 13:47:24,014 - INFO - CLOSED long at 2059.3 | PnL: -0.27% | $-0.73 +2025-03-10 13:47:24,015 - INFO - OPENED SHORT at 2059.3 | Stop loss: 2069.6114428571427 | Take profit: 2028.3880857142858 +2025-03-10 13:47:24,048 - INFO - CLOSED short at 2060.31 | PnL: -0.05% | $-0.29 +2025-03-10 13:47:24,048 - INFO - OPENED LONG at 2060.31 | Stop loss: 2049.993507142857 | Take profit: 2091.2370642857145 +2025-03-10 13:47:24,074 - INFO - CLOSED long at 2061.8 | PnL: 0.07% | $-0.05 +2025-03-10 13:47:24,468 - INFO - OPENED LONG at 2064.79 | Stop loss: 2054.4511071428574 | Take profit: 2095.784264285714 +2025-03-10 13:47:24,827 - INFO - CLOSED long at 2059.61 | PnL: -0.25% | $-0.68 +2025-03-10 13:47:24,828 - INFO - OPENED SHORT at 2059.61 | Stop loss: 2069.922992857143 | Take profit: 2028.693435714286 +2025-03-10 13:47:24,887 - INFO - CLOSED short at 2059.02 | PnL: 0.03% | $-0.14 +2025-03-10 13:47:24,888 - INFO - OPENED LONG at 2059.02 | Stop loss: 2048.709957142857 | Take profit: 2089.927714285714 +2025-03-10 13:47:24,946 - INFO - CLOSED long at 2059.96 | PnL: 0.05% | $-0.10 +2025-03-10 13:47:24,947 - INFO - OPENED SHORT at 2059.96 | Stop loss: 2070.274742857143 | Take profit: 2029.0381857142856 +2025-03-10 13:47:25,334 - INFO - CLOSED short at 2061.66 | PnL: -0.08% | $-0.35 +2025-03-10 13:47:25,410 - INFO - OPENED LONG at 2061.3 | Stop loss: 2050.9785571428574 | Take profit: 2092.2419142857143 +2025-03-10 13:47:25,903 - INFO - CLOSED long at 2072.0 | PnL: 0.52% | $0.80 +2025-03-10 13:47:26,249 - INFO - OPENED LONG at 2068.15 | Stop loss: 2057.794307142857 | Take profit: 2099.194664285714 +2025-03-10 13:47:26,539 - INFO - CLOSED long at 2071.49 | PnL: 0.16% | $0.12 +2025-03-10 13:47:26,566 - INFO - OPENED LONG at 2069.87 | Stop loss: 2059.5057071428573 | Take profit: 2100.940464285714 +2025-03-10 13:47:28,547 - INFO - CLOSED long at 2067.19 | PnL: -0.13% | $-0.44 +2025-03-10 13:47:28,548 - INFO - OPENED SHORT at 2067.19 | Stop loss: 2077.540892857143 | Take profit: 2036.1597357142857 +2025-03-10 13:47:29,455 - INFO - CLOSED short at 2049.5 | PnL: 0.86% | $1.45 +2025-03-10 13:47:29,456 - INFO - OPENED LONG at 2049.5 | Stop loss: 2039.237557142857 | Take profit: 2080.264914285714 +2025-03-10 13:47:29,517 - INFO - CLOSED long at 2051.99 | PnL: 0.12% | $0.04 +2025-03-10 13:47:29,517 - INFO - OPENED SHORT at 2051.99 | Stop loss: 2062.2648928571425 | Take profit: 2021.1877357142855 +2025-03-10 13:47:29,578 - INFO - CLOSED short at 2058.3 | PnL: -0.31% | $-0.79 +2025-03-10 13:47:29,578 - INFO - OPENED LONG at 2058.3 | Stop loss: 2047.9935571428573 | Take profit: 2089.1969142857147 +2025-03-10 13:47:29,635 - INFO - CLOSED long at 2056.85 | PnL: -0.07% | $-0.33 +2025-03-10 13:47:29,636 - INFO - OPENED SHORT at 2056.85 | Stop loss: 2067.1491928571427 | Take profit: 2025.9748357142857 +2025-03-10 13:47:29,715 - INFO - CLOSED short at 2062.83 | PnL: -0.29% | $-0.75 +2025-03-10 13:47:29,716 - INFO - OPENED LONG at 2062.83 | Stop loss: 2052.500907142857 | Take profit: 2093.794864285714 +2025-03-10 13:47:29,743 - INFO - CLOSED long at 2063.9 | PnL: 0.05% | $-0.09 +2025-03-10 13:47:29,743 - INFO - OPENED SHORT at 2063.9 | Stop loss: 2074.234442857143 | Take profit: 2032.9190857142858 +2025-03-10 13:47:30,711 - INFO - STOP LOSS hit for short at 2074.234442857143 | PnL: -0.50% | $-1.15 +2025-03-10 13:47:30,760 - INFO - OPENED SHORT at 2076.08 | Stop loss: 2086.4753428571426 | Take profit: 2044.9163857142858 +2025-03-10 13:47:30,878 - INFO - STOP LOSS hit for short at 2086.4753428571426 | PnL: -0.50% | $-1.13 +2025-03-10 13:47:30,907 - INFO - OPENED LONG at 2103.02 | Stop loss: 2092.4899571428573 | Take profit: 2134.587714285714 +2025-03-10 13:47:30,964 - INFO - TAKE PROFIT hit for long at 2134.587714285714 | PnL: 1.50% | $2.61 +2025-03-10 13:47:30,994 - INFO - OPENED LONG at 2131.78 | Stop loss: 2121.1061571428572 | Take profit: 2163.7791142857145 +2025-03-10 13:47:31,403 - INFO - STOP LOSS hit for long at 2121.1061571428572 | PnL: -0.50% | $-1.15 +2025-03-10 13:47:31,433 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.534307142857 | Take profit: 2151.9746642857144 +2025-03-10 13:47:31,508 - INFO - CLOSED long at 2117.24 | PnL: -0.14% | $-0.45 +2025-03-10 13:47:31,607 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.315407142857 | Take profit: 2151.751364285714 +2025-03-10 13:47:31,798 - INFO - STOP LOSS hit for long at 2109.315407142857 | PnL: -0.50% | $-1.13 +2025-03-10 13:47:32,090 - INFO - OPENED SHORT at 2113.24 | Stop loss: 2123.8211428571426 | Take profit: 2081.5189857142855 +2025-03-10 13:47:32,276 - INFO - CLOSED short at 2108.71 | PnL: 0.21% | $0.21 +2025-03-10 13:47:32,277 - INFO - OPENED LONG at 2108.71 | Stop loss: 2098.151507142857 | Take profit: 2140.3630642857142 +2025-03-10 13:47:32,477 - INFO - STOP LOSS hit for long at 2098.151507142857 | PnL: -0.50% | $-1.12 +2025-03-10 13:47:32,870 - INFO - OPENED SHORT at 2103.86 | Stop loss: 2114.3942428571427 | Take profit: 2072.2796857142857 +2025-03-10 13:47:33,629 - INFO - CLOSED short at 2086.57 | PnL: 0.82% | $1.33 +2025-03-10 13:47:33,629 - INFO - OPENED LONG at 2086.57 | Stop loss: 2076.1222071428574 | Take profit: 2117.8909642857143 +2025-03-10 13:47:33,662 - INFO - CLOSED long at 2085.8 | PnL: -0.04% | $-0.26 +2025-03-10 13:47:33,662 - INFO - OPENED SHORT at 2085.8 | Stop loss: 2096.243942857143 | Take profit: 2054.4905857142858 +2025-03-10 13:47:33,913 - INFO - CLOSED short at 2087.0 | PnL: -0.06% | $-0.29 +2025-03-10 13:47:33,913 - INFO - OPENED LONG at 2087.0 | Stop loss: 2076.550057142857 | Take profit: 2118.327414285714 +2025-03-10 13:47:35,377 - INFO - CLOSED long at 2110.4 | PnL: 1.12% | $1.90 +2025-03-10 13:47:35,643 - INFO - OPENED LONG at 2113.1 | Stop loss: 2102.519557142857 | Take profit: 2144.818914285714 +2025-03-10 13:47:36,109 - INFO - CLOSED long at 2116.81 | PnL: 0.18% | $0.14 +2025-03-10 13:47:36,109 - INFO - OPENED SHORT at 2116.81 | Stop loss: 2127.4089928571425 | Take profit: 2085.035435714286 +2025-03-10 13:47:36,224 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.90, Avg Loss=$-0.57 +2025-03-10 13:47:36,224 - INFO - Episode 10: Reward=-107.47, Balance=$95.61, Win Rate=30.6%, Trades=36, Episode PnL=$-2.34, Total PnL=$-71.59, Max Drawdown=7.2%, Pred Accuracy=97.5% +2025-03-10 13:47:36,397 - INFO - Model saved to checkpoints/trading_agent_episode_10.pt +2025-03-10 13:47:36,398 - INFO - Checkpoint saved at episode 10 +2025-03-10 13:47:36,470 - ERROR - Error creating visualization: No module named 'mplfinance' +2025-03-10 13:47:36,471 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2405, in visualize_training_results + from mplfinance.original_flavor import candlestick_ohlc +ModuleNotFoundError: No module named 'mplfinance' + +2025-03-10 13:47:36,811 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.219392857143 | Take profit: 2031.9242357142857 +2025-03-10 13:47:36,834 - INFO - CLOSED short at 2060.31 | PnL: 0.13% | $0.05 +2025-03-10 13:47:36,834 - INFO - OPENED LONG at 2060.31 | Stop loss: 2049.993507142857 | Take profit: 2091.2370642857145 +2025-03-10 13:47:36,884 - INFO - CLOSED long at 2057.8 | PnL: -0.12% | $-0.44 +2025-03-10 13:47:36,884 - INFO - OPENED SHORT at 2057.8 | Stop loss: 2068.103942857143 | Take profit: 2026.9105857142858 +2025-03-10 13:47:37,064 - INFO - STOP LOSS hit for short at 2068.103942857143 | PnL: -0.50% | $-1.19 +2025-03-10 13:47:37,107 - INFO - OPENED SHORT at 2068.11 | Stop loss: 2078.465492857143 | Take profit: 2037.0659357142858 +2025-03-10 13:47:38,114 - INFO - CLOSED short at 2069.01 | PnL: -0.04% | $-0.28 +2025-03-10 13:47:38,210 - INFO - OPENED SHORT at 2066.29 | Stop loss: 2076.6363928571427 | Take profit: 2035.2732357142856 +2025-03-10 13:47:40,821 - INFO - CLOSED short at 2064.7 | PnL: 0.08% | $-0.04 +2025-03-10 13:47:40,854 - INFO - OPENED SHORT at 2062.61 | Stop loss: 2072.937992857143 | Take profit: 2031.648435714286 +2025-03-10 13:47:40,901 - INFO - CLOSED short at 2060.3 | PnL: 0.11% | $0.02 +2025-03-10 13:47:40,901 - INFO - OPENED LONG at 2060.3 | Stop loss: 2049.9835571428575 | Take profit: 2091.2269142857144 +2025-03-10 13:47:40,924 - INFO - CLOSED long at 2061.13 | PnL: 0.04% | $-0.12 +2025-03-10 13:47:40,925 - INFO - OPENED SHORT at 2061.13 | Stop loss: 2071.450592857143 | Take profit: 2030.190635714286 +2025-03-10 13:47:41,028 - INFO - CLOSED short at 2064.33 | PnL: -0.16% | $-0.50 +2025-03-10 13:47:41,058 - INFO - OPENED SHORT at 2063.39 | Stop loss: 2073.721892857143 | Take profit: 2032.4167357142856 +2025-03-10 13:47:41,272 - INFO - CLOSED short at 2062.6 | PnL: 0.04% | $-0.12 +2025-03-10 13:47:41,272 - INFO - OPENED LONG at 2062.6 | Stop loss: 2052.272057142857 | Take profit: 2093.5614142857144 +2025-03-10 13:47:41,346 - INFO - CLOSED long at 2060.7 | PnL: -0.09% | $-0.37 +2025-03-10 13:47:41,346 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.018442857143 | Take profit: 2029.7670857142855 +2025-03-10 13:47:41,425 - INFO - CLOSED short at 2059.16 | PnL: 0.07% | $-0.05 +2025-03-10 13:47:41,425 - INFO - OPENED LONG at 2059.16 | Stop loss: 2048.849257142857 | Take profit: 2090.069814285714 +2025-03-10 13:47:42,659 - INFO - CLOSED long at 2075.01 | PnL: 0.77% | $1.29 +2025-03-10 13:47:42,863 - INFO - OPENED SHORT at 2073.23 | Stop loss: 2083.611092857143 | Take profit: 2042.109135714286 +2025-03-10 13:47:43,321 - INFO - CLOSED short at 2063.95 | PnL: 0.45% | $0.68 +2025-03-10 13:47:43,322 - INFO - OPENED LONG at 2063.95 | Stop loss: 2053.615307142857 | Take profit: 2094.9316642857143 +2025-03-10 13:47:43,648 - INFO - CLOSED long at 2067.53 | PnL: 0.17% | $0.14 +2025-03-10 13:47:43,648 - INFO - OPENED SHORT at 2067.53 | Stop loss: 2077.882592857143 | Take profit: 2036.494635714286 +2025-03-10 13:47:44,390 - INFO - CLOSED short at 2068.67 | PnL: -0.06% | $-0.31 +2025-03-10 13:47:44,419 - INFO - OPENED SHORT at 2070.67 | Stop loss: 2081.0382928571426 | Take profit: 2039.5875357142857 +2025-03-10 13:47:44,786 - INFO - CLOSED short at 2075.29 | PnL: -0.22% | $-0.63 +2025-03-10 13:47:45,604 - INFO - OPENED SHORT at 2066.09 | Stop loss: 2076.4353928571427 | Take profit: 2035.0762357142858 +2025-03-10 13:47:45,627 - INFO - CLOSED short at 2063.39 | PnL: 0.13% | $0.06 +2025-03-10 13:47:45,904 - INFO - OPENED SHORT at 2063.01 | Stop loss: 2073.339992857143 | Take profit: 2032.042435714286 +2025-03-10 13:47:45,930 - INFO - CLOSED short at 2060.7 | PnL: 0.11% | $0.02 +2025-03-10 13:47:45,957 - INFO - OPENED SHORT at 2060.2 | Stop loss: 2070.515942857143 | Take profit: 2029.2745857142854 +2025-03-10 13:47:47,035 - INFO - CLOSED short at 2065.72 | PnL: -0.27% | $-0.72 +2025-03-10 13:47:47,035 - INFO - OPENED LONG at 2065.72 | Stop loss: 2055.376457142857 | Take profit: 2096.728214285714 +2025-03-10 13:47:47,088 - INFO - CLOSED long at 2070.24 | PnL: 0.22% | $0.23 +2025-03-10 13:47:47,089 - INFO - OPENED SHORT at 2070.24 | Stop loss: 2080.606142857143 | Take profit: 2039.1639857142854 +2025-03-10 13:47:47,483 - INFO - STOP LOSS hit for short at 2080.606142857143 | PnL: -0.50% | $-1.17 +2025-03-10 13:47:47,758 - INFO - OPENED LONG at 2141.3 | Stop loss: 2130.5785571428573 | Take profit: 2173.441914285714 +2025-03-10 13:47:47,873 - INFO - STOP LOSS hit for long at 2130.5785571428573 | PnL: -0.50% | $-1.15 +2025-03-10 13:47:48,273 - INFO - OPENED SHORT at 2109.05 | Stop loss: 2119.610192857143 | Take profit: 2077.3918357142857 +2025-03-10 13:47:48,409 - INFO - STOP LOSS hit for short at 2119.610192857143 | PnL: -0.50% | $-1.14 +2025-03-10 13:47:48,472 - INFO - OPENED SHORT at 2114.8 | Stop loss: 2125.388942857143 | Take profit: 2083.055585714286 +2025-03-10 13:47:48,648 - INFO - CLOSED short at 2103.33 | PnL: 0.54% | $0.83 +2025-03-10 13:47:48,674 - INFO - OPENED SHORT at 2100.5 | Stop loss: 2111.017442857143 | Take profit: 2068.9700857142857 +2025-03-10 13:47:48,794 - INFO - CLOSED short at 2102.29 | PnL: -0.09% | $-0.35 +2025-03-10 13:47:48,794 - INFO - OPENED LONG at 2102.29 | Stop loss: 2091.7636071428574 | Take profit: 2133.8467642857145 +2025-03-10 13:47:48,818 - INFO - CLOSED long at 2099.25 | PnL: -0.14% | $-0.46 +2025-03-10 13:47:48,819 - INFO - OPENED SHORT at 2099.25 | Stop loss: 2109.761192857143 | Take profit: 2067.738835714286 +2025-03-10 13:47:48,878 - INFO - CLOSED short at 2100.69 | PnL: -0.07% | $-0.32 +2025-03-10 13:47:48,878 - INFO - OPENED LONG at 2100.69 | Stop loss: 2090.1716071428573 | Take profit: 2132.222764285714 +2025-03-10 13:47:48,918 - INFO - CLOSED long at 2104.83 | PnL: 0.20% | $0.18 +2025-03-10 13:47:48,919 - INFO - OPENED SHORT at 2104.83 | Stop loss: 2115.3690928571427 | Take profit: 2073.2351357142857 +2025-03-10 13:47:49,552 - INFO - CLOSED short at 2081.25 | PnL: 1.12% | $1.91 +2025-03-10 13:47:49,638 - INFO - OPENED SHORT at 2086.57 | Stop loss: 2097.017792857143 | Take profit: 2055.249035714286 +2025-03-10 13:47:50,278 - INFO - STOP LOSS hit for short at 2097.017792857143 | PnL: -0.50% | $-1.15 +2025-03-10 13:47:50,324 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.1631428571427 | Take profit: 2070.0929857142855 +2025-03-10 13:47:51,124 - INFO - STOP LOSS hit for short at 2112.1631428571427 | PnL: -0.50% | $-1.13 +2025-03-10 13:47:51,530 - INFO - OPENED LONG at 2118.72 | Stop loss: 2108.111457142857 | Take profit: 2150.523214285714 +2025-03-10 13:47:51,749 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.49, Avg Loss=$-0.58 +2025-03-10 13:47:51,749 - INFO - Episode 11: Reward=-98.70, Balance=$93.79, Win Rate=35.5%, Trades=31, Episode PnL=$-5.37, Total PnL=$-77.80, Max Drawdown=6.2%, Pred Accuracy=97.9% +2025-03-10 13:47:52,011 - INFO - OPENED LONG at 2060.31 | Stop loss: 2049.993507142857 | Take profit: 2091.2370642857145 +2025-03-10 13:47:52,157 - INFO - CLOSED long at 2061.18 | PnL: 0.04% | $-0.11 +2025-03-10 13:47:52,183 - INFO - OPENED SHORT at 2064.32 | Stop loss: 2074.6565428571434 | Take profit: 2033.3327857142858 +2025-03-10 13:47:52,434 - INFO - CLOSED short at 2068.65 | PnL: -0.21% | $-0.61 +2025-03-10 13:47:52,434 - INFO - OPENED LONG at 2068.65 | Stop loss: 2058.291807142857 | Take profit: 2099.702164285714 +2025-03-10 13:47:52,452 - INFO - CLOSED long at 2068.99 | PnL: 0.02% | $-0.16 +2025-03-10 13:47:52,475 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.2544428571427 | Take profit: 2036.8590857142858 +2025-03-10 13:47:52,706 - INFO - CLOSED short at 2069.37 | PnL: -0.07% | $-0.34 +2025-03-10 13:47:52,706 - INFO - OPENED LONG at 2069.37 | Stop loss: 2059.008207142857 | Take profit: 2100.432964285714 +2025-03-10 13:47:52,740 - INFO - CLOSED long at 2070.9 | PnL: 0.07% | $-0.05 +2025-03-10 13:47:52,741 - INFO - OPENED SHORT at 2070.9 | Stop loss: 2081.269442857143 | Take profit: 2039.8140857142857 +2025-03-10 13:47:53,022 - INFO - CLOSED short at 2067.6 | PnL: 0.16% | $0.12 +2025-03-10 13:47:53,337 - INFO - OPENED SHORT at 2068.59 | Stop loss: 2078.947892857143 | Take profit: 2037.5387357142858 +2025-03-10 13:47:53,545 - INFO - CLOSED short at 2073.11 | PnL: -0.22% | $-0.63 +2025-03-10 13:47:53,545 - INFO - OPENED LONG at 2073.11 | Stop loss: 2062.729507142857 | Take profit: 2104.2290642857142 +2025-03-10 13:47:53,597 - INFO - CLOSED long at 2072.7 | PnL: -0.02% | $-0.23 +2025-03-10 13:47:53,597 - INFO - OPENED SHORT at 2072.7 | Stop loss: 2083.078442857143 | Take profit: 2041.5870857142854 +2025-03-10 13:47:54,109 - INFO - CLOSED short at 2069.34 | PnL: 0.16% | $0.12 +2025-03-10 13:47:54,110 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.978357142857 | Take profit: 2100.4025142857145 +2025-03-10 13:47:54,136 - INFO - CLOSED long at 2067.86 | PnL: -0.07% | $-0.33 +2025-03-10 13:47:54,136 - INFO - OPENED SHORT at 2067.86 | Stop loss: 2078.2142428571433 | Take profit: 2036.819685714286 +2025-03-10 13:47:54,780 - INFO - CLOSED short at 2067.88 | PnL: -0.00% | $-0.20 +2025-03-10 13:47:54,780 - INFO - OPENED LONG at 2067.88 | Stop loss: 2057.525657142857 | Take profit: 2098.9206142857142 +2025-03-10 13:47:54,826 - INFO - CLOSED long at 2064.99 | PnL: -0.14% | $-0.46 +2025-03-10 13:47:54,826 - INFO - OPENED SHORT at 2064.99 | Stop loss: 2075.3298928571426 | Take profit: 2033.9927357142856 +2025-03-10 13:47:55,498 - INFO - CLOSED short at 2059.3 | PnL: 0.28% | $0.34 +2025-03-10 13:47:56,059 - INFO - OPENED LONG at 2062.6 | Stop loss: 2052.272057142857 | Take profit: 2093.5614142857144 +2025-03-10 13:47:56,172 - INFO - CLOSED long at 2059.61 | PnL: -0.14% | $-0.47 +2025-03-10 13:47:56,223 - INFO - OPENED LONG at 2059.02 | Stop loss: 2048.709957142857 | Take profit: 2089.927714285714 +2025-03-10 13:47:56,376 - INFO - CLOSED long at 2058.28 | PnL: -0.04% | $-0.26 +2025-03-10 13:47:56,376 - INFO - OPENED SHORT at 2058.28 | Stop loss: 2068.586342857143 | Take profit: 2027.3833857142859 +2025-03-10 13:47:57,003 - INFO - STOP LOSS hit for short at 2068.586342857143 | PnL: -0.50% | $-1.15 +2025-03-10 13:47:57,185 - INFO - OPENED SHORT at 2072.6 | Stop loss: 2082.977942857143 | Take profit: 2041.4885857142856 +2025-03-10 13:47:57,343 - INFO - CLOSED short at 2068.39 | PnL: 0.20% | $0.20 +2025-03-10 13:47:57,343 - INFO - OPENED LONG at 2068.39 | Stop loss: 2058.033107142857 | Take profit: 2099.438264285714 +2025-03-10 13:47:58,056 - INFO - CLOSED long at 2070.9 | PnL: 0.12% | $0.04 +2025-03-10 13:47:58,057 - INFO - OPENED SHORT at 2070.9 | Stop loss: 2081.269442857143 | Take profit: 2039.8140857142857 +2025-03-10 13:47:58,440 - INFO - CLOSED short at 2073.27 | PnL: -0.11% | $-0.41 +2025-03-10 13:47:58,440 - INFO - OPENED LONG at 2073.27 | Stop loss: 2062.888707142857 | Take profit: 2104.3914642857144 +2025-03-10 13:47:58,937 - INFO - CLOSED long at 2065.5 | PnL: -0.37% | $-0.90 +2025-03-10 13:47:58,938 - INFO - OPENED SHORT at 2065.5 | Stop loss: 2075.842442857143 | Take profit: 2034.4950857142856 +2025-03-10 13:47:58,961 - INFO - CLOSED short at 2065.7 | PnL: -0.01% | $-0.21 +2025-03-10 13:47:58,962 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.356557142857 | Take profit: 2096.707914285714 +2025-03-10 13:47:59,125 - INFO - CLOSED long at 2063.98 | PnL: -0.08% | $-0.34 +2025-03-10 13:47:59,126 - INFO - OPENED SHORT at 2063.98 | Stop loss: 2074.314842857143 | Take profit: 2032.9978857142858 +2025-03-10 13:47:59,178 - INFO - CLOSED short at 2066.1 | PnL: -0.10% | $-0.38 +2025-03-10 13:47:59,178 - INFO - OPENED LONG at 2066.1 | Stop loss: 2055.754557142857 | Take profit: 2097.113914285714 +2025-03-10 13:47:59,293 - INFO - CLOSED long at 2066.33 | PnL: 0.01% | $-0.17 +2025-03-10 13:47:59,338 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3815571428568 | Take profit: 2091.632914285714 +2025-03-10 13:47:59,384 - INFO - CLOSED long at 2059.2 | PnL: -0.07% | $-0.32 +2025-03-10 13:47:59,687 - INFO - OPENED SHORT at 2057.89 | Stop loss: 2068.1943928571427 | Take profit: 2026.9992357142855 +2025-03-10 13:47:59,852 - INFO - STOP LOSS hit for short at 2068.1943928571427 | PnL: -0.50% | $-1.11 +2025-03-10 13:47:59,885 - INFO - OPENED LONG at 2067.49 | Stop loss: 2057.1376071428567 | Take profit: 2098.524764285714 +2025-03-10 13:47:59,926 - INFO - CLOSED long at 2066.59 | PnL: -0.04% | $-0.26 +2025-03-10 13:47:59,926 - INFO - OPENED SHORT at 2066.59 | Stop loss: 2076.937892857143 | Take profit: 2035.5687357142858 +2025-03-10 13:48:00,485 - INFO - STOP LOSS hit for short at 2076.937892857143 | PnL: -0.50% | $-1.09 +2025-03-10 13:48:00,840 - INFO - OPENED LONG at 2142.68 | Stop loss: 2131.951657142857 | Take profit: 2174.842614285714 +2025-03-10 13:48:00,869 - INFO - CLOSED long at 2140.01 | PnL: -0.12% | $-0.40 +2025-03-10 13:48:00,869 - INFO - OPENED SHORT at 2140.01 | Stop loss: 2150.7249928571428 | Take profit: 2107.887435714286 +2025-03-10 13:48:00,940 - INFO - CLOSED short at 2127.3 | PnL: 0.59% | $0.88 +2025-03-10 13:48:00,941 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.6485571428575 | Take profit: 2159.2319142857145 +2025-03-10 13:48:01,253 - INFO - STOP LOSS hit for long at 2116.6485571428575 | PnL: -0.50% | $-1.09 +2025-03-10 13:48:01,278 - INFO - OPENED LONG at 2107.43 | Stop loss: 2096.877907142857 | Take profit: 2139.063864285714 +2025-03-10 13:48:01,369 - INFO - CLOSED long at 2112.95 | PnL: 0.26% | $0.29 +2025-03-10 13:48:01,390 - INFO - OPENED SHORT at 2112.46 | Stop loss: 2123.0372428571427 | Take profit: 2080.7506857142857 +2025-03-10 13:48:01,415 - INFO - CLOSED short at 2113.24 | PnL: -0.04% | $-0.25 +2025-03-10 13:48:01,416 - INFO - OPENED LONG at 2113.24 | Stop loss: 2102.658857142857 | Take profit: 2144.961014285714 +2025-03-10 13:48:01,724 - INFO - STOP LOSS hit for long at 2102.658857142857 | PnL: -0.50% | $-1.07 +2025-03-10 13:48:01,745 - INFO - OPENED LONG at 2090.0 | Stop loss: 2079.535057142857 | Take profit: 2121.3724142857145 +2025-03-10 13:48:02,877 - INFO - CLOSED long at 2088.66 | PnL: -0.06% | $-0.29 +2025-03-10 13:48:02,877 - INFO - OPENED SHORT at 2088.66 | Stop loss: 2099.118242857143 | Take profit: 2057.3076857142855 +2025-03-10 13:48:03,076 - INFO - CLOSED short at 2089.79 | PnL: -0.05% | $-0.27 +2025-03-10 13:48:03,076 - INFO - OPENED LONG at 2089.79 | Stop loss: 2079.326107142857 | Take profit: 2121.1592642857145 +2025-03-10 13:48:03,123 - INFO - CLOSED long at 2085.67 | PnL: -0.20% | $-0.52 +2025-03-10 13:48:03,124 - INFO - OPENED SHORT at 2085.67 | Stop loss: 2096.113292857143 | Take profit: 2054.362535714286 +2025-03-10 13:48:03,315 - INFO - STOP LOSS hit for short at 2096.113292857143 | PnL: -0.50% | $-1.05 +2025-03-10 13:48:03,339 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.5048928571427 | Take profit: 2068.4677357142855 +2025-03-10 13:48:04,081 - INFO - STOP LOSS hit for short at 2110.5048928571427 | PnL: -0.50% | $-1.04 +2025-03-10 13:48:04,185 - INFO - OPENED SHORT at 2115.26 | Stop loss: 2125.851242857143 | Take profit: 2083.508685714286 +2025-03-10 13:48:04,684 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.28, Avg Loss=$-0.51 +2025-03-10 13:48:04,684 - INFO - Episode 12: Reward=-26.63, Balance=$85.80, Win Rate=17.9%, Trades=39, Episode PnL=$-10.18, Total PnL=$-92.00, Max Drawdown=14.2%, Pred Accuracy=98.3% +2025-03-10 13:48:04,974 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.219392857143 | Take profit: 2031.9242357142857 +2025-03-10 13:48:05,503 - INFO - CLOSED short at 2067.69 | PnL: -0.23% | $-0.66 +2025-03-10 13:48:05,503 - INFO - OPENED LONG at 2067.69 | Stop loss: 2057.3366071428572 | Take profit: 2098.727764285715 +2025-03-10 13:48:05,575 - INFO - CLOSED long at 2073.73 | PnL: 0.29% | $0.38 +2025-03-10 13:48:05,627 - INFO - OPENED SHORT at 2072.91 | Stop loss: 2083.2894928571427 | Take profit: 2041.7939357142857 +2025-03-10 13:48:05,675 - INFO - CLOSED short at 2072.33 | PnL: 0.03% | $-0.14 +2025-03-10 13:48:05,840 - INFO - OPENED SHORT at 2070.9 | Stop loss: 2081.269442857143 | Take profit: 2039.8140857142857 +2025-03-10 13:48:05,931 - INFO - CLOSED short at 2070.28 | PnL: 0.03% | $-0.14 +2025-03-10 13:48:05,991 - INFO - OPENED SHORT at 2067.2 | Stop loss: 2077.5509428571427 | Take profit: 2036.1695857142856 +2025-03-10 13:48:06,016 - INFO - CLOSED short at 2070.36 | PnL: -0.15% | $-0.50 +2025-03-10 13:48:06,774 - INFO - OPENED SHORT at 2071.36 | Stop loss: 2081.731742857143 | Take profit: 2040.2671857142857 +2025-03-10 13:48:06,798 - INFO - CLOSED short at 2072.75 | PnL: -0.07% | $-0.33 +2025-03-10 13:48:06,818 - INFO - OPENED LONG at 2073.11 | Stop loss: 2062.729507142857 | Take profit: 2104.2290642857142 +2025-03-10 13:48:06,858 - INFO - CLOSED long at 2072.7 | PnL: -0.02% | $-0.23 +2025-03-10 13:48:07,499 - INFO - OPENED LONG at 2069.2 | Stop loss: 2058.8390571428567 | Take profit: 2100.260414285714 +2025-03-10 13:48:07,527 - INFO - CLOSED long at 2070.3 | PnL: 0.05% | $-0.09 +2025-03-10 13:48:07,527 - INFO - OPENED SHORT at 2070.3 | Stop loss: 2080.666442857143 | Take profit: 2039.2230857142858 +2025-03-10 13:48:07,572 - INFO - CLOSED short at 2070.7 | PnL: -0.02% | $-0.23 +2025-03-10 13:48:07,572 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.331557142857 | Take profit: 2101.782914285714 +2025-03-10 13:48:07,918 - INFO - CLOSED long at 2064.47 | PnL: -0.30% | $-0.78 +2025-03-10 13:48:07,918 - INFO - OPENED SHORT at 2064.47 | Stop loss: 2074.8072928571423 | Take profit: 2033.4805357142855 +2025-03-10 13:48:07,942 - INFO - CLOSED short at 2070.04 | PnL: -0.27% | $-0.71 +2025-03-10 13:48:07,942 - INFO - OPENED LONG at 2070.04 | Stop loss: 2059.674857142857 | Take profit: 2101.1130142857146 +2025-03-10 13:48:07,966 - INFO - CLOSED long at 2067.8 | PnL: -0.11% | $-0.40 +2025-03-10 13:48:07,967 - INFO - OPENED SHORT at 2067.8 | Stop loss: 2078.153942857143 | Take profit: 2036.760585714286 +2025-03-10 13:48:07,989 - INFO - CLOSED short at 2068.18 | PnL: -0.02% | $-0.23 +2025-03-10 13:48:07,990 - INFO - OPENED LONG at 2068.18 | Stop loss: 2057.824157142857 | Take profit: 2099.225114285714 +2025-03-10 13:48:08,042 - INFO - CLOSED long at 2067.88 | PnL: -0.01% | $-0.22 +2025-03-10 13:48:08,043 - INFO - OPENED SHORT at 2067.88 | Stop loss: 2078.2343428571426 | Take profit: 2036.8393857142858 +2025-03-10 13:48:08,347 - INFO - CLOSED short at 2064.96 | PnL: 0.14% | $0.08 +2025-03-10 13:48:08,348 - INFO - OPENED LONG at 2064.96 | Stop loss: 2054.620257142857 | Take profit: 2095.9568142857142 +2025-03-10 13:48:08,370 - INFO - CLOSED long at 2066.24 | PnL: 0.06% | $-0.07 +2025-03-10 13:48:08,370 - INFO - OPENED SHORT at 2066.24 | Stop loss: 2076.586142857143 | Take profit: 2035.2239857142854 +2025-03-10 13:48:08,754 - INFO - CLOSED short at 2059.3 | PnL: 0.34% | $0.45 +2025-03-10 13:48:08,754 - INFO - OPENED LONG at 2059.3 | Stop loss: 2048.988557142857 | Take profit: 2090.2119142857146 +2025-03-10 13:48:08,975 - INFO - CLOSED long at 2061.9 | PnL: 0.13% | $0.05 +2025-03-10 13:48:09,493 - INFO - OPENED SHORT at 2057.4 | Stop loss: 2067.701942857143 | Take profit: 2026.5165857142858 +2025-03-10 13:48:10,120 - INFO - STOP LOSS hit for short at 2067.701942857143 | PnL: -0.50% | $-1.15 +2025-03-10 13:48:10,290 - INFO - OPENED LONG at 2071.04 | Stop loss: 2060.669857142857 | Take profit: 2102.1280142857145 +2025-03-10 13:48:10,683 - INFO - CLOSED long at 2067.33 | PnL: -0.18% | $-0.53 +2025-03-10 13:48:10,683 - INFO - OPENED SHORT at 2067.33 | Stop loss: 2077.6815928571427 | Take profit: 2036.2976357142854 +2025-03-10 13:48:10,706 - INFO - CLOSED short at 2066.38 | PnL: 0.05% | $-0.10 +2025-03-10 13:48:10,707 - INFO - OPENED LONG at 2066.38 | Stop loss: 2056.0331571428574 | Take profit: 2097.398114285714 +2025-03-10 13:48:10,801 - INFO - CLOSED long at 2063.97 | PnL: -0.12% | $-0.41 +2025-03-10 13:48:10,802 - INFO - OPENED SHORT at 2063.97 | Stop loss: 2074.3047928571423 | Take profit: 2032.9880357142854 +2025-03-10 13:48:10,859 - INFO - CLOSED short at 2065.3 | PnL: -0.06% | $-0.31 +2025-03-10 13:48:10,859 - INFO - OPENED LONG at 2065.3 | Stop loss: 2054.9585571428574 | Take profit: 2096.3019142857142 +2025-03-10 13:48:10,893 - INFO - CLOSED long at 2064.4 | PnL: -0.04% | $-0.27 +2025-03-10 13:48:10,936 - INFO - OPENED SHORT at 2064.31 | Stop loss: 2074.6464928571427 | Take profit: 2033.3229357142857 +2025-03-10 13:48:11,622 - INFO - CLOSED short at 2074.37 | PnL: -0.49% | $-1.09 +2025-03-10 13:48:11,693 - INFO - OPENED SHORT at 2074.35 | Stop loss: 2084.7366928571428 | Take profit: 2043.2123357142855 +2025-03-10 13:48:11,872 - INFO - CLOSED short at 2075.61 | PnL: -0.06% | $-0.29 +2025-03-10 13:48:11,873 - INFO - OPENED LONG at 2075.61 | Stop loss: 2065.2170071428573 | Take profit: 2106.7665642857146 +2025-03-10 13:48:11,895 - INFO - CLOSED long at 2074.0 | PnL: -0.08% | $-0.32 +2025-03-10 13:48:11,896 - INFO - OPENED SHORT at 2074.0 | Stop loss: 2084.384942857143 | Take profit: 2042.8675857142857 +2025-03-10 13:48:12,642 - INFO - CLOSED short at 2065.06 | PnL: 0.43% | $0.60 +2025-03-10 13:48:13,642 - INFO - OPENED LONG at 2069.81 | Stop loss: 2059.446007142857 | Take profit: 2100.8795642857144 +2025-03-10 13:48:13,893 - INFO - CLOSED long at 2076.08 | PnL: 0.30% | $0.37 +2025-03-10 13:48:13,894 - INFO - OPENED SHORT at 2076.08 | Stop loss: 2086.4753428571426 | Take profit: 2044.9163857142858 +2025-03-10 13:48:13,917 - INFO - CLOSED short at 2077.61 | PnL: -0.07% | $-0.32 +2025-03-10 13:48:13,939 - INFO - OPENED LONG at 2085.56 | Stop loss: 2075.1172571428574 | Take profit: 2116.865814285714 +2025-03-10 13:48:14,003 - INFO - CLOSED long at 2130.7 | PnL: 2.16% | $3.79 +2025-03-10 13:48:14,154 - INFO - OPENED LONG at 2137.59 | Stop loss: 2126.887107142857 | Take profit: 2169.6762642857143 +2025-03-10 13:48:14,231 - INFO - CLOSED long at 2141.3 | PnL: 0.17% | $0.14 +2025-03-10 13:48:14,231 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.021442857143 | Take profit: 2109.158085714286 +2025-03-10 13:48:14,302 - INFO - CLOSED short at 2134.78 | PnL: 0.30% | $0.39 +2025-03-10 13:48:14,302 - INFO - OPENED LONG at 2134.78 | Stop loss: 2124.0911571428574 | Take profit: 2166.8241142857146 +2025-03-10 13:48:14,330 - INFO - CLOSED long at 2126.99 | PnL: -0.36% | $-0.89 +2025-03-10 13:48:14,331 - INFO - OPENED SHORT at 2126.99 | Stop loss: 2137.6398928571425 | Take profit: 2095.0627357142857 +2025-03-10 13:48:15,042 - INFO - CLOSED short at 2103.33 | PnL: 1.11% | $1.93 +2025-03-10 13:48:15,042 - INFO - OPENED LONG at 2103.33 | Stop loss: 2092.798407142857 | Take profit: 2134.902364285714 +2025-03-10 13:48:15,062 - INFO - CLOSED long at 2100.5 | PnL: -0.13% | $-0.46 +2025-03-10 13:48:15,062 - INFO - OPENED SHORT at 2100.5 | Stop loss: 2111.017442857143 | Take profit: 2068.9700857142857 +2025-03-10 13:48:15,426 - INFO - CLOSED short at 2104.68 | PnL: -0.20% | $-0.58 +2025-03-10 13:48:15,596 - INFO - OPENED SHORT at 2092.46 | Stop loss: 2102.937242857143 | Take profit: 2061.0506857142855 +2025-03-10 13:48:16,826 - INFO - STOP LOSS hit for short at 2102.937242857143 | PnL: -0.50% | $-1.15 +2025-03-10 13:48:17,232 - INFO - OPENED SHORT at 2102.0 | Stop loss: 2112.524942857143 | Take profit: 2070.4475857142857 +2025-03-10 13:48:17,505 - INFO - STOP LOSS hit for short at 2112.524942857143 | PnL: -0.50% | $-1.14 +2025-03-10 13:48:17,526 - INFO - OPENED SHORT at 2113.0 | Stop loss: 2123.579942857143 | Take profit: 2081.2825857142857 +2025-03-10 13:48:17,589 - INFO - CLOSED short at 2113.1 | PnL: -0.00% | $-0.20 +2025-03-10 13:48:17,589 - INFO - OPENED LONG at 2113.1 | Stop loss: 2102.519557142857 | Take profit: 2144.818914285714 +2025-03-10 13:48:17,610 - INFO - CLOSED long at 2112.28 | PnL: -0.04% | $-0.26 +2025-03-10 13:48:17,610 - INFO - OPENED SHORT at 2112.28 | Stop loss: 2122.856342857143 | Take profit: 2080.573385714286 +2025-03-10 13:48:17,680 - INFO - CLOSED short at 2112.26 | PnL: 0.00% | $-0.18 +2025-03-10 13:48:17,680 - INFO - OPENED LONG at 2112.26 | Stop loss: 2101.6837571428573 | Take profit: 2143.9663142857144 +2025-03-10 13:48:18,012 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.82, Avg Loss=$-0.45 +2025-03-10 13:48:18,013 - INFO - Episode 13: Reward=-25.56, Balance=$93.79, Win Rate=23.8%, Trades=42, Episode PnL=$-2.29, Total PnL=$-98.21, Max Drawdown=7.6%, Pred Accuracy=98.6% +2025-03-10 13:48:18,343 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:48:18,468 - INFO - CLOSED long at 2058.11 | PnL: -0.23% | $-0.66 +2025-03-10 13:48:18,469 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.415492857143 | Take profit: 2027.215935714286 +2025-03-10 13:48:18,491 - INFO - CLOSED short at 2061.79 | PnL: -0.18% | $-0.55 +2025-03-10 13:48:18,492 - INFO - OPENED LONG at 2061.79 | Stop loss: 2051.4661071428573 | Take profit: 2092.7392642857144 +2025-03-10 13:48:18,551 - INFO - CLOSED long at 2065.86 | PnL: 0.20% | $0.19 +2025-03-10 13:48:18,574 - INFO - OPENED LONG at 2070.58 | Stop loss: 2060.212157142857 | Take profit: 2101.661114285714 +2025-03-10 13:48:18,670 - INFO - CLOSED long at 2071.63 | PnL: 0.05% | $-0.10 +2025-03-10 13:48:18,670 - INFO - OPENED SHORT at 2071.63 | Stop loss: 2082.003092857143 | Take profit: 2040.533135714286 +2025-03-10 13:48:18,710 - INFO - CLOSED short at 2070.99 | PnL: 0.03% | $-0.14 +2025-03-10 13:48:18,710 - INFO - OPENED LONG at 2070.99 | Stop loss: 2060.620107142857 | Take profit: 2102.0772642857137 +2025-03-10 13:48:18,787 - INFO - CLOSED long at 2068.65 | PnL: -0.11% | $-0.42 +2025-03-10 13:48:18,788 - INFO - OPENED SHORT at 2068.65 | Stop loss: 2079.008192857143 | Take profit: 2037.5978357142858 +2025-03-10 13:48:18,850 - INFO - CLOSED short at 2067.9 | PnL: 0.04% | $-0.12 +2025-03-10 13:48:18,851 - INFO - OPENED LONG at 2067.9 | Stop loss: 2057.5455571428574 | Take profit: 2098.9409142857144 +2025-03-10 13:48:18,873 - INFO - CLOSED long at 2067.69 | PnL: -0.01% | $-0.21 +2025-03-10 13:48:18,873 - INFO - OPENED SHORT at 2067.69 | Stop loss: 2078.0433928571433 | Take profit: 2036.6522357142858 +2025-03-10 13:48:19,192 - INFO - CLOSED short at 2072.8 | PnL: -0.25% | $-0.68 +2025-03-10 13:48:19,228 - INFO - OPENED SHORT at 2070.79 | Stop loss: 2081.1588928571427 | Take profit: 2039.7057357142855 +2025-03-10 13:48:19,588 - INFO - CLOSED short at 2065.99 | PnL: 0.23% | $0.25 +2025-03-10 13:48:19,589 - INFO - OPENED LONG at 2065.99 | Stop loss: 2055.645107142857 | Take profit: 2097.002264285714 +2025-03-10 13:48:20,406 - INFO - CLOSED long at 2065.49 | PnL: -0.02% | $-0.24 +2025-03-10 13:48:20,406 - INFO - OPENED SHORT at 2065.49 | Stop loss: 2075.8323928571426 | Take profit: 2034.4852357142856 +2025-03-10 13:48:21,338 - INFO - CLOSED short at 2062.65 | PnL: 0.14% | $0.07 +2025-03-10 13:48:21,868 - INFO - OPENED LONG at 2060.65 | Stop loss: 2050.3318071428575 | Take profit: 2091.5821642857145 +2025-03-10 13:48:22,224 - INFO - CLOSED long at 2065.36 | PnL: 0.23% | $0.25 +2025-03-10 13:48:22,225 - INFO - OPENED SHORT at 2065.36 | Stop loss: 2075.701742857143 | Take profit: 2034.3571857142858 +2025-03-10 13:48:22,265 - INFO - CLOSED short at 2064.33 | PnL: 0.05% | $-0.10 +2025-03-10 13:48:22,266 - INFO - OPENED LONG at 2064.33 | Stop loss: 2053.993407142857 | Take profit: 2095.317364285714 +2025-03-10 13:48:22,549 - INFO - CLOSED long at 2061.09 | PnL: -0.16% | $-0.50 +2025-03-10 13:48:22,573 - INFO - OPENED LONG at 2059.61 | Stop loss: 2049.297007142857 | Take profit: 2090.5265642857144 +2025-03-10 13:48:22,620 - INFO - CLOSED long at 2059.02 | PnL: -0.03% | $-0.25 +2025-03-10 13:48:22,620 - INFO - OPENED SHORT at 2059.02 | Stop loss: 2069.330042857143 | Take profit: 2028.1122857142857 +2025-03-10 13:48:22,658 - INFO - CLOSED short at 2058.89 | PnL: 0.01% | $-0.18 +2025-03-10 13:48:22,658 - INFO - OPENED LONG at 2058.89 | Stop loss: 2048.580607142857 | Take profit: 2089.795764285714 +2025-03-10 13:48:22,751 - INFO - CLOSED long at 2059.46 | PnL: 0.03% | $-0.14 +2025-03-10 13:48:22,751 - INFO - OPENED SHORT at 2059.46 | Stop loss: 2069.772242857143 | Take profit: 2028.5456857142856 +2025-03-10 13:48:22,943 - INFO - CLOSED short at 2056.71 | PnL: 0.13% | $0.06 +2025-03-10 13:48:22,943 - INFO - OPENED LONG at 2056.71 | Stop loss: 2046.4115071428573 | Take profit: 2087.583064285714 +2025-03-10 13:48:22,966 - INFO - CLOSED long at 2058.15 | PnL: 0.07% | $-0.06 +2025-03-10 13:48:22,989 - INFO - OPENED LONG at 2059.8 | Stop loss: 2049.4860571428576 | Take profit: 2090.7194142857143 +2025-03-10 13:48:23,362 - INFO - CLOSED long at 2067.33 | PnL: 0.37% | $0.51 +2025-03-10 13:48:23,362 - INFO - OPENED SHORT at 2067.33 | Stop loss: 2077.6815928571427 | Take profit: 2036.2976357142854 +2025-03-10 13:48:23,464 - INFO - CLOSED short at 2072.0 | PnL: -0.23% | $-0.63 +2025-03-10 13:48:23,465 - INFO - OPENED LONG at 2072.0 | Stop loss: 2061.6250571428573 | Take profit: 2103.1024142857145 +2025-03-10 13:48:23,672 - INFO - CLOSED long at 2071.6 | PnL: -0.02% | $-0.23 +2025-03-10 13:48:23,731 - INFO - OPENED LONG at 2068.15 | Stop loss: 2057.794307142857 | Take profit: 2099.194664285714 +2025-03-10 13:48:23,932 - INFO - CLOSED long at 2069.87 | PnL: 0.08% | $-0.03 +2025-03-10 13:48:23,933 - INFO - OPENED SHORT at 2069.87 | Stop loss: 2080.234292857143 | Take profit: 2038.7995357142856 +2025-03-10 13:48:24,689 - INFO - CLOSED short at 2068.67 | PnL: 0.06% | $-0.08 +2025-03-10 13:48:24,689 - INFO - OPENED LONG at 2068.67 | Stop loss: 2058.311707142857 | Take profit: 2099.7224642857145 +2025-03-10 13:48:24,756 - INFO - CLOSED long at 2069.78 | PnL: 0.05% | $-0.09 +2025-03-10 13:48:24,757 - INFO - OPENED SHORT at 2069.78 | Stop loss: 2080.143842857143 | Take profit: 2038.710885714286 +2025-03-10 13:48:25,041 - INFO - CLOSED short at 2074.0 | PnL: -0.20% | $-0.58 +2025-03-10 13:48:25,082 - INFO - OPENED SHORT at 2072.09 | Stop loss: 2082.4653928571433 | Take profit: 2040.9862357142858 +2025-03-10 13:48:25,125 - INFO - CLOSED short at 2069.97 | PnL: 0.10% | $0.00 +2025-03-10 13:48:26,154 - INFO - OPENED SHORT at 2056.85 | Stop loss: 2067.1491928571427 | Take profit: 2025.9748357142857 +2025-03-10 13:48:26,223 - INFO - CLOSED short at 2062.83 | PnL: -0.29% | $-0.74 +2025-03-10 13:48:26,223 - INFO - OPENED LONG at 2062.83 | Stop loss: 2052.500907142857 | Take profit: 2093.794864285714 +2025-03-10 13:48:26,372 - INFO - CLOSED long at 2062.55 | PnL: -0.01% | $-0.21 +2025-03-10 13:48:26,372 - INFO - OPENED SHORT at 2062.55 | Stop loss: 2072.877692857143 | Take profit: 2031.5893357142859 +2025-03-10 13:48:26,459 - INFO - CLOSED short at 2067.49 | PnL: -0.24% | $-0.64 +2025-03-10 13:48:26,459 - INFO - OPENED LONG at 2067.49 | Stop loss: 2057.1376071428567 | Take profit: 2098.524764285714 +2025-03-10 13:48:26,523 - INFO - CLOSED long at 2061.21 | PnL: -0.30% | $-0.75 +2025-03-10 13:48:26,524 - INFO - OPENED SHORT at 2061.21 | Stop loss: 2071.5309928571432 | Take profit: 2030.269435714286 +2025-03-10 13:48:26,590 - INFO - CLOSED short at 2061.84 | PnL: -0.03% | $-0.24 +2025-03-10 13:48:26,590 - INFO - OPENED LONG at 2061.84 | Stop loss: 2051.5158571428574 | Take profit: 2092.7900142857143 +2025-03-10 13:48:26,610 - INFO - CLOSED long at 2062.54 | PnL: 0.03% | $-0.12 +2025-03-10 13:48:26,610 - INFO - OPENED SHORT at 2062.54 | Stop loss: 2072.867642857143 | Take profit: 2031.5794857142857 +2025-03-10 13:48:26,681 - INFO - CLOSED short at 2070.31 | PnL: -0.38% | $-0.88 +2025-03-10 13:48:26,681 - INFO - OPENED LONG at 2070.31 | Stop loss: 2059.943507142857 | Take profit: 2101.387064285714 +2025-03-10 13:48:27,181 - INFO - CLOSED long at 2103.02 | PnL: 1.58% | $2.70 +2025-03-10 13:48:27,181 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.5500428571427 | Take profit: 2071.4522857142856 +2025-03-10 13:48:27,231 - INFO - STOP LOSS hit for short at 2113.5500428571427 | PnL: -0.50% | $-1.13 +2025-03-10 13:48:27,256 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2526428571427 | Take profit: 2107.4244857142858 +2025-03-10 13:48:27,683 - INFO - CLOSED short at 2118.52 | PnL: 0.98% | $1.64 +2025-03-10 13:48:27,683 - INFO - OPENED LONG at 2118.52 | Stop loss: 2107.912457142857 | Take profit: 2150.320214285714 +2025-03-10 13:48:27,767 - INFO - STOP LOSS hit for long at 2107.912457142857 | PnL: -0.50% | $-1.13 +2025-03-10 13:48:27,812 - INFO - OPENED LONG at 2109.05 | Stop loss: 2098.4898071428574 | Take profit: 2140.7081642857147 +2025-03-10 13:48:28,208 - INFO - STOP LOSS hit for long at 2098.4898071428574 | PnL: -0.50% | $-1.12 +2025-03-10 13:48:28,251 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0174071428573 | Take profit: 2131.0453642857146 +2025-03-10 13:48:28,299 - INFO - CLOSED long at 2098.1 | PnL: -0.07% | $-0.31 +2025-03-10 13:48:28,299 - INFO - OPENED SHORT at 2098.1 | Stop loss: 2108.605442857143 | Take profit: 2066.6060857142857 +2025-03-10 13:48:28,348 - INFO - CLOSED short at 2102.19 | PnL: -0.19% | $-0.54 +2025-03-10 13:48:28,348 - INFO - OPENED LONG at 2102.19 | Stop loss: 2091.664107142857 | Take profit: 2133.7452642857143 +2025-03-10 13:48:28,425 - INFO - CLOSED long at 2099.25 | PnL: -0.14% | $-0.44 +2025-03-10 13:48:28,425 - INFO - OPENED SHORT at 2099.25 | Stop loss: 2109.761192857143 | Take profit: 2067.738835714286 +2025-03-10 13:48:28,448 - INFO - CLOSED short at 2098.9 | PnL: 0.02% | $-0.15 +2025-03-10 13:48:28,448 - INFO - OPENED LONG at 2098.9 | Stop loss: 2088.3905571428572 | Take profit: 2130.4059142857145 +2025-03-10 13:48:28,671 - INFO - CLOSED long at 2100.02 | PnL: 0.05% | $-0.08 +2025-03-10 13:48:29,015 - INFO - OPENED SHORT at 2082.44 | Stop loss: 2092.867142857143 | Take profit: 2051.1809857142857 +2025-03-10 13:48:29,148 - INFO - CLOSED short at 2083.41 | PnL: -0.05% | $-0.27 +2025-03-10 13:48:29,148 - INFO - OPENED LONG at 2083.41 | Stop loss: 2072.9780071428568 | Take profit: 2114.6835642857145 +2025-03-10 13:48:29,301 - INFO - CLOSED long at 2085.83 | PnL: 0.12% | $0.03 +2025-03-10 13:48:29,302 - INFO - OPENED SHORT at 2085.83 | Stop loss: 2096.2740928571425 | Take profit: 2054.5201357142855 +2025-03-10 13:48:29,324 - INFO - CLOSED short at 2085.85 | PnL: -0.00% | $-0.18 +2025-03-10 13:48:29,324 - INFO - OPENED LONG at 2085.85 | Stop loss: 2075.405807142857 | Take profit: 2117.1601642857145 +2025-03-10 13:48:29,715 - INFO - CLOSED long at 2091.95 | PnL: 0.29% | $0.35 +2025-03-10 13:48:29,715 - INFO - OPENED SHORT at 2091.95 | Stop loss: 2102.424692857143 | Take profit: 2060.5483357142853 +2025-03-10 13:48:29,761 - INFO - CLOSED short at 2097.8 | PnL: -0.28% | $-0.69 +2025-03-10 13:48:29,762 - INFO - OPENED LONG at 2097.8 | Stop loss: 2087.2960571428575 | Take profit: 2129.289414285715 +2025-03-10 13:48:29,815 - INFO - CLOSED long at 2101.64 | PnL: 0.18% | $0.15 +2025-03-10 13:48:29,815 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.1631428571427 | Take profit: 2070.0929857142855 +2025-03-10 13:48:29,853 - INFO - CLOSED short at 2097.11 | PnL: 0.22% | $0.21 +2025-03-10 13:48:29,854 - INFO - OPENED LONG at 2097.11 | Stop loss: 2086.609507142857 | Take profit: 2128.5890642857144 +2025-03-10 13:48:29,934 - INFO - CLOSED long at 2099.89 | PnL: 0.13% | $0.06 +2025-03-10 13:48:29,935 - INFO - OPENED SHORT at 2099.89 | Stop loss: 2110.4043928571427 | Take profit: 2068.3692357142854 +2025-03-10 13:48:29,985 - INFO - CLOSED short at 2100.89 | PnL: -0.05% | $-0.27 +2025-03-10 13:48:29,985 - INFO - OPENED LONG at 2100.89 | Stop loss: 2090.370607142857 | Take profit: 2132.425764285714 +2025-03-10 13:48:30,483 - INFO - CLOSED long at 2102.0 | PnL: 0.05% | $-0.08 +2025-03-10 13:48:30,484 - INFO - OPENED SHORT at 2102.0 | Stop loss: 2112.524942857143 | Take profit: 2070.4475857142857 +2025-03-10 13:48:30,505 - INFO - CLOSED short at 2103.41 | PnL: -0.07% | $-0.30 +2025-03-10 13:48:30,505 - INFO - OPENED LONG at 2103.41 | Stop loss: 2092.878007142857 | Take profit: 2134.9835642857142 +2025-03-10 13:48:31,272 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.46, Avg Loss=$-0.39 +2025-03-10 13:48:31,273 - INFO - Episode 14: Reward=-35.98, Balance=$90.23, Win Rate=25.0%, Trades=56, Episode PnL=$-9.76, Total PnL=$-107.98, Max Drawdown=8.8%, Pred Accuracy=98.5% +2025-03-10 13:48:31,620 - INFO - OPENED LONG at 2061.79 | Stop loss: 2051.4661071428573 | Take profit: 2092.7392642857144 +2025-03-10 13:48:31,661 - INFO - CLOSED long at 2061.18 | PnL: -0.03% | $-0.26 +2025-03-10 13:48:31,661 - INFO - OPENED SHORT at 2061.18 | Stop loss: 2071.5008428571427 | Take profit: 2030.2398857142855 +2025-03-10 13:48:31,871 - INFO - STOP LOSS hit for short at 2071.5008428571427 | PnL: -0.50% | $-1.19 +2025-03-10 13:48:31,894 - INFO - OPENED SHORT at 2070.99 | Stop loss: 2081.3598928571428 | Take profit: 2039.9027357142854 +2025-03-10 13:48:31,965 - INFO - CLOSED short at 2068.99 | PnL: 0.10% | $-0.01 +2025-03-10 13:48:31,966 - INFO - OPENED LONG at 2068.99 | Stop loss: 2058.630107142857 | Take profit: 2100.047264285714 +2025-03-10 13:48:32,300 - INFO - CLOSED long at 2071.41 | PnL: 0.12% | $0.03 +2025-03-10 13:48:32,326 - INFO - OPENED LONG at 2069.37 | Stop loss: 2059.008207142857 | Take profit: 2100.432964285714 +2025-03-10 13:48:32,620 - INFO - CLOSED long at 2070.7 | PnL: 0.06% | $-0.07 +2025-03-10 13:48:32,652 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.978357142857 | Take profit: 2100.4025142857145 +2025-03-10 13:48:33,128 - INFO - CLOSED long at 2070.4 | PnL: 0.05% | $-0.10 +2025-03-10 13:48:33,369 - INFO - OPENED SHORT at 2072.15 | Stop loss: 2082.525692857143 | Take profit: 2041.045335714286 +2025-03-10 13:48:33,602 - INFO - CLOSED short at 2067.79 | PnL: 0.21% | $0.22 +2025-03-10 13:48:33,602 - INFO - OPENED LONG at 2067.79 | Stop loss: 2057.436107142857 | Take profit: 2098.8292642857145 +2025-03-10 13:48:33,641 - INFO - CLOSED long at 2067.46 | PnL: -0.02% | $-0.23 +2025-03-10 13:48:33,642 - INFO - OPENED SHORT at 2067.46 | Stop loss: 2077.812242857143 | Take profit: 2036.425685714286 +2025-03-10 13:48:33,975 - INFO - CLOSED short at 2070.3 | PnL: -0.14% | $-0.46 +2025-03-10 13:48:34,227 - INFO - OPENED SHORT at 2067.11 | Stop loss: 2077.460492857143 | Take profit: 2036.0809357142857 +2025-03-10 13:48:34,564 - INFO - CLOSED short at 2065.83 | PnL: 0.06% | $-0.07 +2025-03-10 13:48:34,565 - INFO - OPENED LONG at 2065.83 | Stop loss: 2055.485907142857 | Take profit: 2096.839864285714 +2025-03-10 13:48:34,820 - INFO - CLOSED long at 2067.1 | PnL: 0.06% | $-0.07 +2025-03-10 13:48:34,820 - INFO - OPENED SHORT at 2067.1 | Stop loss: 2077.450442857143 | Take profit: 2036.0710857142858 +2025-03-10 13:48:35,272 - INFO - CLOSED short at 2064.7 | PnL: 0.12% | $0.03 +2025-03-10 13:48:35,272 - INFO - OPENED LONG at 2064.7 | Stop loss: 2054.361557142857 | Take profit: 2095.6929142857143 +2025-03-10 13:48:35,927 - INFO - CLOSED long at 2058.89 | PnL: -0.28% | $-0.74 +2025-03-10 13:48:35,928 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.1993928571424 | Take profit: 2027.9842357142857 +2025-03-10 13:48:36,012 - INFO - CLOSED short at 2058.28 | PnL: 0.03% | $-0.14 +2025-03-10 13:48:36,012 - INFO - OPENED LONG at 2058.28 | Stop loss: 2047.9736571428573 | Take profit: 2089.1766142857145 +2025-03-10 13:48:36,055 - INFO - CLOSED long at 2056.28 | PnL: -0.10% | $-0.38 +2025-03-10 13:48:36,055 - INFO - OPENED SHORT at 2056.28 | Stop loss: 2066.576342857143 | Take profit: 2025.4133857142858 +2025-03-10 13:48:36,165 - INFO - CLOSED short at 2054.83 | PnL: 0.07% | $-0.06 +2025-03-10 13:48:36,204 - INFO - OPENED SHORT at 2056.71 | Stop loss: 2067.0084928571428 | Take profit: 2025.8369357142856 +2025-03-10 13:48:36,335 - INFO - CLOSED short at 2061.3 | PnL: -0.22% | $-0.62 +2025-03-10 13:48:36,335 - INFO - OPENED LONG at 2061.3 | Stop loss: 2050.9785571428574 | Take profit: 2092.2419142857143 +2025-03-10 13:48:36,424 - INFO - CLOSED long at 2066.01 | PnL: 0.23% | $0.24 +2025-03-10 13:48:36,424 - INFO - OPENED SHORT at 2066.01 | Stop loss: 2076.354992857143 | Take profit: 2034.9974357142858 +2025-03-10 13:48:36,549 - INFO - CLOSED short at 2066.33 | PnL: -0.02% | $-0.22 +2025-03-10 13:48:36,549 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.9834071428572 | Take profit: 2097.3473642857143 +2025-03-10 13:48:36,598 - INFO - CLOSED long at 2066.34 | PnL: 0.00% | $-0.19 +2025-03-10 13:48:36,598 - INFO - OPENED SHORT at 2066.34 | Stop loss: 2076.686642857143 | Take profit: 2035.3224857142857 +2025-03-10 13:48:36,653 - INFO - CLOSED short at 2067.33 | PnL: -0.05% | $-0.28 +2025-03-10 13:48:36,654 - INFO - OPENED LONG at 2067.33 | Stop loss: 2056.978407142857 | Take profit: 2098.362364285714 +2025-03-10 13:48:36,675 - INFO - CLOSED long at 2067.01 | PnL: -0.02% | $-0.22 +2025-03-10 13:48:36,675 - INFO - OPENED SHORT at 2067.01 | Stop loss: 2077.359992857143 | Take profit: 2035.9824357142859 +2025-03-10 13:48:36,719 - INFO - CLOSED short at 2069.79 | PnL: -0.13% | $-0.44 +2025-03-10 13:48:36,720 - INFO - OPENED LONG at 2069.79 | Stop loss: 2059.426107142857 | Take profit: 2100.8592642857143 +2025-03-10 13:48:36,743 - INFO - CLOSED long at 2072.0 | PnL: 0.11% | $0.01 +2025-03-10 13:48:36,743 - INFO - OPENED SHORT at 2072.0 | Stop loss: 2082.3749428571427 | Take profit: 2040.8975857142857 +2025-03-10 13:48:36,767 - INFO - CLOSED short at 2074.3 | PnL: -0.11% | $-0.40 +2025-03-10 13:48:36,768 - INFO - OPENED LONG at 2074.3 | Stop loss: 2063.9135571428574 | Take profit: 2105.4369142857145 +2025-03-10 13:48:36,792 - INFO - CLOSED long at 2078.01 | PnL: 0.18% | $0.15 +2025-03-10 13:48:36,793 - INFO - OPENED SHORT at 2078.01 | Stop loss: 2088.4149928571433 | Take profit: 2046.817435714286 +2025-03-10 13:48:37,302 - INFO - CLOSED short at 2066.38 | PnL: 0.56% | $0.86 +2025-03-10 13:48:37,303 - INFO - OPENED LONG at 2066.38 | Stop loss: 2056.0331571428574 | Take profit: 2097.398114285714 +2025-03-10 13:48:37,779 - INFO - CLOSED long at 2066.5 | PnL: 0.01% | $-0.18 +2025-03-10 13:48:37,780 - INFO - OPENED SHORT at 2066.5 | Stop loss: 2076.8474428571426 | Take profit: 2035.480085714286 +2025-03-10 13:48:37,819 - INFO - CLOSED short at 2068.59 | PnL: -0.10% | $-0.38 +2025-03-10 13:48:37,847 - INFO - OPENED SHORT at 2071.59 | Stop loss: 2081.962892857143 | Take profit: 2040.4937357142858 +2025-03-10 13:48:38,013 - INFO - CLOSED short at 2070.35 | PnL: 0.06% | $-0.08 +2025-03-10 13:48:38,014 - INFO - OPENED LONG at 2070.35 | Stop loss: 2059.983307142857 | Take profit: 2101.4276642857144 +2025-03-10 13:48:38,066 - INFO - CLOSED long at 2070.61 | PnL: 0.01% | $-0.16 +2025-03-10 13:48:38,066 - INFO - OPENED SHORT at 2070.61 | Stop loss: 2080.977992857143 | Take profit: 2039.5284357142857 +2025-03-10 13:48:38,317 - INFO - CLOSED short at 2075.07 | PnL: -0.22% | $-0.59 +2025-03-10 13:48:38,317 - INFO - OPENED LONG at 2075.07 | Stop loss: 2064.6797071428573 | Take profit: 2106.2184642857146 +2025-03-10 13:48:39,115 - INFO - STOP LOSS hit for long at 2064.6797071428573 | PnL: -0.50% | $-1.12 +2025-03-10 13:48:39,271 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.837442857143 | Take profit: 2033.5100857142857 +2025-03-10 13:48:39,550 - INFO - CLOSED short at 2053.01 | PnL: 0.56% | $0.84 +2025-03-10 13:48:39,690 - INFO - OPENED LONG at 2056.85 | Stop loss: 2046.5508071428571 | Take profit: 2087.7251642857145 +2025-03-10 13:48:39,833 - INFO - CLOSED long at 2063.9 | PnL: 0.34% | $0.45 +2025-03-10 13:48:40,285 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.7016428571433 | Take profit: 2038.2774857142858 +2025-03-10 13:48:40,612 - INFO - STOP LOSS hit for short at 2079.7016428571433 | PnL: -0.50% | $-1.12 +2025-03-10 13:48:40,697 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2526428571427 | Take profit: 2107.4244857142858 +2025-03-10 13:48:41,089 - INFO - CLOSED short at 2120.15 | PnL: 0.91% | $1.49 +2025-03-10 13:48:41,090 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.534307142857 | Take profit: 2151.9746642857144 +2025-03-10 13:48:41,318 - INFO - STOP LOSS hit for long at 2109.534307142857 | PnL: -0.50% | $-1.13 +2025-03-10 13:48:41,962 - INFO - OPENED SHORT at 2098.9 | Stop loss: 2109.4094428571425 | Take profit: 2067.3940857142857 +2025-03-10 13:48:42,216 - INFO - CLOSED short at 2101.51 | PnL: -0.12% | $-0.42 +2025-03-10 13:48:42,239 - INFO - OPENED SHORT at 2099.59 | Stop loss: 2110.102892857143 | Take profit: 2068.0737357142857 +2025-03-10 13:48:42,539 - INFO - CLOSED short at 2083.28 | PnL: 0.78% | $1.25 +2025-03-10 13:48:42,540 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.848657142857 | Take profit: 2114.551614285714 +2025-03-10 13:48:42,595 - INFO - CLOSED long at 2088.44 | PnL: 0.25% | $0.28 +2025-03-10 13:48:42,596 - INFO - OPENED SHORT at 2088.44 | Stop loss: 2098.897142857143 | Take profit: 2057.090985714286 +2025-03-10 13:48:43,324 - INFO - CLOSED short at 2091.05 | PnL: -0.12% | $-0.42 +2025-03-10 13:48:43,466 - INFO - OPENED LONG at 2101.64 | Stop loss: 2091.116857142857 | Take profit: 2133.187014285714 +2025-03-10 13:48:43,582 - INFO - CLOSED long at 2099.73 | PnL: -0.09% | $-0.36 +2025-03-10 13:48:43,643 - INFO - OPENED LONG at 2103.48 | Stop loss: 2092.947657142857 | Take profit: 2135.0546142857143 +2025-03-10 13:48:44,390 - INFO - CLOSED long at 2110.4 | PnL: 0.33% | $0.43 +2025-03-10 13:48:44,391 - INFO - OPENED SHORT at 2110.4 | Stop loss: 2120.9669428571433 | Take profit: 2078.721585714286 +2025-03-10 13:48:44,628 - INFO - CLOSED short at 2112.28 | PnL: -0.09% | $-0.35 +2025-03-10 13:48:44,658 - INFO - OPENED SHORT at 2112.11 | Stop loss: 2122.685492857143 | Take profit: 2080.405935714286 +2025-03-10 13:48:44,785 - INFO - CLOSED short at 2112.61 | PnL: -0.02% | $-0.23 +2025-03-10 13:48:44,785 - INFO - OPENED LONG at 2112.61 | Stop loss: 2102.0320071428573 | Take profit: 2144.3215642857144 +2025-03-10 13:48:44,978 - INFO - CLOSED long at 2117.6 | PnL: 0.24% | $0.25 +2025-03-10 13:48:45,004 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.47, Avg Loss=$-0.38 +2025-03-10 13:48:45,004 - INFO - Episode 15: Reward=-20.27, Balance=$93.85, Win Rate=29.8%, Trades=47, Episode PnL=$-4.82, Total PnL=$-114.13, Max Drawdown=7.1%, Pred Accuracy=98.3% +2025-03-10 13:48:45,334 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:48:45,376 - INFO - CLOSED long at 2059.49 | PnL: -0.16% | $-0.53 +2025-03-10 13:48:45,397 - INFO - OPENED LONG at 2057.8 | Stop loss: 2047.4960571428574 | Take profit: 2088.6894142857145 +2025-03-10 13:48:45,438 - INFO - CLOSED long at 2057.94 | PnL: 0.01% | $-0.18 +2025-03-10 13:48:45,460 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.415492857143 | Take profit: 2027.215935714286 +2025-03-10 13:48:45,482 - INFO - CLOSED short at 2061.79 | PnL: -0.18% | $-0.55 +2025-03-10 13:48:45,482 - INFO - OPENED LONG at 2061.79 | Stop loss: 2051.4661071428573 | Take profit: 2092.7392642857144 +2025-03-10 13:48:45,637 - INFO - CLOSED long at 2067.89 | PnL: 0.30% | $0.38 +2025-03-10 13:48:45,638 - INFO - OPENED SHORT at 2067.89 | Stop loss: 2078.244392857143 | Take profit: 2036.8492357142854 +2025-03-10 13:48:45,680 - INFO - CLOSED short at 2071.63 | PnL: -0.18% | $-0.55 +2025-03-10 13:48:45,681 - INFO - OPENED LONG at 2071.63 | Stop loss: 2061.256907142857 | Take profit: 2102.7268642857143 +2025-03-10 13:48:45,753 - INFO - CLOSED long at 2069.6 | PnL: -0.10% | $-0.39 +2025-03-10 13:48:45,753 - INFO - OPENED SHORT at 2069.6 | Stop loss: 2079.962942857143 | Take profit: 2038.5335857142857 +2025-03-10 13:48:45,827 - INFO - CLOSED short at 2068.99 | PnL: 0.03% | $-0.14 +2025-03-10 13:48:45,827 - INFO - OPENED LONG at 2068.99 | Stop loss: 2058.630107142857 | Take profit: 2100.047264285714 +2025-03-10 13:48:47,012 - INFO - CLOSED long at 2071.39 | PnL: 0.12% | $0.03 +2025-03-10 13:48:47,012 - INFO - OPENED SHORT at 2071.39 | Stop loss: 2081.761892857143 | Take profit: 2040.2967357142857 +2025-03-10 13:48:47,074 - INFO - CLOSED short at 2073.11 | PnL: -0.08% | $-0.36 +2025-03-10 13:48:47,074 - INFO - OPENED LONG at 2073.11 | Stop loss: 2062.729507142857 | Take profit: 2104.2290642857142 +2025-03-10 13:48:47,120 - INFO - CLOSED long at 2072.15 | PnL: -0.05% | $-0.28 +2025-03-10 13:48:47,121 - INFO - OPENED SHORT at 2072.15 | Stop loss: 2082.525692857143 | Take profit: 2041.045335714286 +2025-03-10 13:48:47,255 - INFO - CLOSED short at 2071.11 | PnL: 0.05% | $-0.10 +2025-03-10 13:48:47,256 - INFO - OPENED LONG at 2071.11 | Stop loss: 2060.7395071428573 | Take profit: 2102.1990642857145 +2025-03-10 13:48:47,292 - INFO - CLOSED long at 2069.46 | PnL: -0.08% | $-0.35 +2025-03-10 13:48:47,294 - INFO - OPENED SHORT at 2069.46 | Stop loss: 2079.822242857143 | Take profit: 2038.395685714286 +2025-03-10 13:48:47,451 - INFO - CLOSED short at 2067.46 | PnL: 0.10% | $-0.01 +2025-03-10 13:48:47,479 - INFO - OPENED LONG at 2066.8 | Stop loss: 2056.4510571428573 | Take profit: 2097.8244142857143 +2025-03-10 13:48:47,501 - INFO - CLOSED long at 2065.49 | PnL: -0.06% | $-0.31 +2025-03-10 13:48:47,598 - INFO - OPENED LONG at 2068.58 | Stop loss: 2058.222157142857 | Take profit: 2099.6311142857144 +2025-03-10 13:48:48,262 - INFO - CLOSED long at 2064.47 | PnL: -0.20% | $-0.57 +2025-03-10 13:48:48,263 - INFO - OPENED SHORT at 2064.47 | Stop loss: 2074.8072928571423 | Take profit: 2033.4805357142855 +2025-03-10 13:48:48,601 - INFO - CLOSED short at 2059.59 | PnL: 0.24% | $0.26 +2025-03-10 13:48:48,602 - INFO - OPENED LONG at 2059.59 | Stop loss: 2049.2771071428574 | Take profit: 2090.506264285714 +2025-03-10 13:48:48,940 - INFO - CLOSED long at 2061.6 | PnL: 0.10% | $-0.00 +2025-03-10 13:48:48,941 - INFO - OPENED SHORT at 2061.6 | Stop loss: 2071.922942857143 | Take profit: 2030.6535857142858 +2025-03-10 13:48:50,460 - INFO - STOP LOSS hit for short at 2071.922942857143 | PnL: -0.50% | $-1.15 +2025-03-10 13:48:50,528 - INFO - OPENED LONG at 2078.01 | Stop loss: 2067.605007142857 | Take profit: 2109.2025642857147 +2025-03-10 13:48:50,787 - INFO - CLOSED long at 2069.03 | PnL: -0.43% | $-1.01 +2025-03-10 13:48:50,787 - INFO - OPENED SHORT at 2069.03 | Stop loss: 2079.3900928571434 | Take profit: 2037.9721357142857 +2025-03-10 13:48:50,846 - INFO - CLOSED short at 2068.79 | PnL: 0.01% | $-0.17 +2025-03-10 13:48:50,886 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.610107142857 | Take profit: 2104.107264285714 +2025-03-10 13:48:51,023 - INFO - CLOSED long at 2066.38 | PnL: -0.32% | $-0.78 +2025-03-10 13:48:51,046 - INFO - OPENED SHORT at 2065.7 | Stop loss: 2076.0434428571425 | Take profit: 2034.6920857142857 +2025-03-10 13:48:52,011 - INFO - CLOSED short at 2076.9 | PnL: -0.54% | $-1.19 +2025-03-10 13:48:52,011 - INFO - OPENED LONG at 2076.9 | Stop loss: 2066.5005571428574 | Take profit: 2108.0759142857146 +2025-03-10 13:48:52,269 - INFO - STOP LOSS hit for long at 2066.5005571428574 | PnL: -0.50% | $-1.10 +2025-03-10 13:48:52,352 - INFO - OPENED SHORT at 2068.1 | Stop loss: 2078.4554428571428 | Take profit: 2037.0560857142857 +2025-03-10 13:48:52,579 - INFO - CLOSED short at 2065.07 | PnL: 0.15% | $0.08 +2025-03-10 13:48:52,579 - INFO - OPENED LONG at 2065.07 | Stop loss: 2054.7297071428575 | Take profit: 2096.0684642857145 +2025-03-10 13:48:52,615 - INFO - CLOSED long at 2066.09 | PnL: 0.05% | $-0.09 +2025-03-10 13:48:52,615 - INFO - OPENED SHORT at 2066.09 | Stop loss: 2076.4353928571427 | Take profit: 2035.0762357142858 +2025-03-10 13:48:53,828 - INFO - CLOSED short at 2069.34 | PnL: -0.16% | $-0.46 +2025-03-10 13:48:53,853 - INFO - OPENED SHORT at 2069.81 | Stop loss: 2080.173992857143 | Take profit: 2038.7404357142857 +2025-03-10 13:48:54,099 - INFO - STOP LOSS hit for short at 2080.173992857143 | PnL: -0.50% | $-1.08 +2025-03-10 13:48:54,164 - INFO - OPENED LONG at 2130.7 | Stop loss: 2120.031557142857 | Take profit: 2162.682914285714 +2025-03-10 13:48:54,191 - INFO - CLOSED long at 2139.54 | PnL: 0.41% | $0.56 +2025-03-10 13:48:54,191 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2526428571427 | Take profit: 2107.4244857142858 +2025-03-10 13:48:54,446 - INFO - CLOSED short at 2128.69 | PnL: 0.51% | $0.73 +2025-03-10 13:48:54,447 - INFO - OPENED LONG at 2128.69 | Stop loss: 2118.0316071428574 | Take profit: 2160.6427642857143 +2025-03-10 13:48:54,514 - INFO - STOP LOSS hit for long at 2118.0316071428574 | PnL: -0.50% | $-1.08 +2025-03-10 13:48:54,560 - INFO - OPENED LONG at 2121.4 | Stop loss: 2110.778057142857 | Take profit: 2153.243414285714 +2025-03-10 13:48:54,672 - INFO - STOP LOSS hit for long at 2110.778057142857 | PnL: -0.50% | $-1.07 +2025-03-10 13:48:54,698 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032057142857 | Take profit: 2142.281414285714 +2025-03-10 13:48:55,032 - INFO - STOP LOSS hit for long at 2100.032057142857 | PnL: -0.50% | $-1.06 +2025-03-10 13:48:55,053 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0174071428573 | Take profit: 2131.0453642857146 +2025-03-10 13:48:55,480 - INFO - CLOSED long at 2091.1 | PnL: -0.40% | $-0.87 +2025-03-10 13:48:55,481 - INFO - OPENED SHORT at 2091.1 | Stop loss: 2101.5704428571426 | Take profit: 2059.7110857142857 +2025-03-10 13:48:55,505 - INFO - CLOSED short at 2094.72 | PnL: -0.17% | $-0.47 +2025-03-10 13:48:55,506 - INFO - OPENED LONG at 2094.72 | Stop loss: 2084.231457142857 | Take profit: 2126.1632142857143 +2025-03-10 13:48:55,577 - INFO - STOP LOSS hit for long at 2084.231457142857 | PnL: -0.50% | $-1.03 +2025-03-10 13:48:55,672 - INFO - OPENED SHORT at 2082.44 | Stop loss: 2092.867142857143 | Take profit: 2051.1809857142857 +2025-03-10 13:48:56,230 - INFO - STOP LOSS hit for short at 2092.867142857143 | PnL: -0.50% | $-1.02 +2025-03-10 13:48:56,256 - INFO - OPENED SHORT at 2097.8 | Stop loss: 2108.303942857143 | Take profit: 2066.310585714286 +2025-03-10 13:48:56,737 - INFO - CLOSED short at 2100.0 | PnL: -0.10% | $-0.34 +2025-03-10 13:48:56,737 - INFO - OPENED LONG at 2100.0 | Stop loss: 2089.485057142857 | Take profit: 2131.522414285714 +2025-03-10 13:48:56,969 - INFO - CLOSED long at 2113.7 | PnL: 0.65% | $0.92 +2025-03-10 13:48:57,038 - INFO - OPENED LONG at 2113.61 | Stop loss: 2103.027007142857 | Take profit: 2145.3365642857143 +2025-03-10 13:48:57,347 - INFO - CLOSED long at 2117.6 | PnL: 0.19% | $0.15 +2025-03-10 13:48:57,347 - INFO - OPENED SHORT at 2117.6 | Stop loss: 2128.2029428571427 | Take profit: 2085.8135857142856 +2025-03-10 13:48:57,391 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.39, Avg Loss=$-0.59 +2025-03-10 13:48:57,391 - INFO - Episode 16: Reward=-24.70, Balance=$84.83, Win Rate=20.5%, Trades=39, Episode PnL=$-12.72, Total PnL=$-129.30, Max Drawdown=15.9%, Pred Accuracy=98.3% +2025-03-10 13:48:57,568 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:48:58,729 - INFO - CLOSED long at 2069.19 | PnL: 0.31% | $0.41 +2025-03-10 13:48:58,961 - INFO - OPENED LONG at 2065.08 | Stop loss: 2054.739657142857 | Take profit: 2096.078614285714 +2025-03-10 13:48:59,264 - INFO - CLOSED long at 2071.36 | PnL: 0.30% | $0.41 +2025-03-10 13:48:59,290 - INFO - OPENED LONG at 2072.75 | Stop loss: 2062.371307142857 | Take profit: 2103.863664285714 +2025-03-10 13:49:00,284 - INFO - CLOSED long at 2066.4 | PnL: -0.31% | $-0.81 +2025-03-10 13:49:00,284 - INFO - OPENED SHORT at 2066.4 | Stop loss: 2076.746942857143 | Take profit: 2035.3815857142858 +2025-03-10 13:49:01,009 - INFO - CLOSED short at 2062.89 | PnL: 0.17% | $0.14 +2025-03-10 13:49:01,010 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:49:01,479 - INFO - CLOSED long at 2065.36 | PnL: 0.12% | $0.04 +2025-03-10 13:49:01,557 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.058107142857 | Take profit: 2094.363264285714 +2025-03-10 13:49:01,747 - INFO - CLOSED long at 2060.7 | PnL: -0.13% | $-0.46 +2025-03-10 13:49:01,748 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.018442857143 | Take profit: 2029.7670857142855 +2025-03-10 13:49:01,798 - INFO - CLOSED short at 2059.61 | PnL: 0.05% | $-0.09 +2025-03-10 13:49:01,798 - INFO - OPENED LONG at 2059.61 | Stop loss: 2049.297007142857 | Take profit: 2090.5265642857144 +2025-03-10 13:49:02,194 - INFO - CLOSED long at 2061.66 | PnL: 0.10% | $-0.00 +2025-03-10 13:49:02,195 - INFO - OPENED SHORT at 2061.66 | Stop loss: 2071.9832428571426 | Take profit: 2030.7126857142855 +2025-03-10 13:49:02,224 - INFO - CLOSED short at 2061.5 | PnL: 0.01% | $-0.18 +2025-03-10 13:49:02,225 - INFO - OPENED LONG at 2061.5 | Stop loss: 2051.177557142857 | Take profit: 2092.4449142857143 +2025-03-10 13:49:03,175 - INFO - CLOSED long at 2072.99 | PnL: 0.56% | $0.90 +2025-03-10 13:49:03,176 - INFO - OPENED SHORT at 2072.99 | Stop loss: 2083.369892857143 | Take profit: 2041.8727357142855 +2025-03-10 13:49:03,758 - INFO - CLOSED short at 2070.2 | PnL: 0.13% | $0.07 +2025-03-10 13:49:03,758 - INFO - OPENED LONG at 2070.2 | Stop loss: 2059.834057142857 | Take profit: 2101.275414285714 +2025-03-10 13:49:04,286 - INFO - CLOSED long at 2075.32 | PnL: 0.25% | $0.29 +2025-03-10 13:49:04,678 - INFO - OPENED SHORT at 2069.0 | Stop loss: 2079.359942857143 | Take profit: 2037.9425857142858 +2025-03-10 13:49:04,756 - INFO - CLOSED short at 2070.1 | PnL: -0.05% | $-0.31 +2025-03-10 13:49:04,831 - INFO - OPENED SHORT at 2065.5 | Stop loss: 2075.842442857143 | Take profit: 2034.4950857142856 +2025-03-10 13:49:04,925 - INFO - CLOSED short at 2066.09 | PnL: -0.03% | $-0.26 +2025-03-10 13:49:05,088 - INFO - OPENED SHORT at 2064.11 | Stop loss: 2074.445492857143 | Take profit: 2033.1259357142858 +2025-03-10 13:49:05,127 - INFO - CLOSED short at 2064.5 | PnL: -0.02% | $-0.24 +2025-03-10 13:49:05,165 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.6765928571426 | Take profit: 2035.3126357142855 +2025-03-10 13:49:05,247 - INFO - CLOSED short at 2060.2 | PnL: 0.30% | $0.39 +2025-03-10 13:49:05,374 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.9490071428572 | Take profit: 2079.9705642857143 +2025-03-10 13:49:05,414 - INFO - CLOSED long at 2051.99 | PnL: 0.14% | $0.07 +2025-03-10 13:49:05,414 - INFO - OPENED SHORT at 2051.99 | Stop loss: 2062.2648928571425 | Take profit: 2021.1877357142855 +2025-03-10 13:49:05,617 - INFO - CLOSED short at 2062.83 | PnL: -0.53% | $-1.25 +2025-03-10 13:49:05,618 - INFO - OPENED LONG at 2062.83 | Stop loss: 2052.500907142857 | Take profit: 2093.794864285714 +2025-03-10 13:49:06,398 - INFO - TAKE PROFIT hit for long at 2093.794864285714 | PnL: 1.50% | $2.76 +2025-03-10 13:49:06,426 - INFO - OPENED LONG at 2130.7 | Stop loss: 2120.031557142857 | Take profit: 2162.682914285714 +2025-03-10 13:49:06,835 - INFO - STOP LOSS hit for long at 2120.031557142857 | PnL: -0.50% | $-1.22 +2025-03-10 13:49:07,347 - INFO - OPENED LONG at 2108.06 | Stop loss: 2097.504757142857 | Take profit: 2139.7033142857144 +2025-03-10 13:49:07,414 - INFO - STOP LOSS hit for long at 2097.504757142857 | PnL: -0.50% | $-1.20 +2025-03-10 13:49:07,537 - INFO - OPENED SHORT at 2102.19 | Stop loss: 2112.7158928571425 | Take profit: 2070.634735714286 +2025-03-10 13:49:07,686 - INFO - CLOSED short at 2104.83 | PnL: -0.13% | $-0.45 +2025-03-10 13:49:07,686 - INFO - OPENED LONG at 2104.83 | Stop loss: 2094.290907142857 | Take profit: 2136.424864285714 +2025-03-10 13:49:07,810 - INFO - CLOSED long at 2099.59 | PnL: -0.25% | $-0.69 +2025-03-10 13:49:07,811 - INFO - OPENED SHORT at 2099.59 | Stop loss: 2110.102892857143 | Take profit: 2068.0737357142857 +2025-03-10 13:49:07,903 - INFO - CLOSED short at 2098.39 | PnL: 0.06% | $-0.08 +2025-03-10 13:49:07,903 - INFO - OPENED LONG at 2098.39 | Stop loss: 2087.883107142857 | Take profit: 2129.8882642857143 +2025-03-10 13:49:08,145 - INFO - STOP LOSS hit for long at 2087.883107142857 | PnL: -0.50% | $-1.17 +2025-03-10 13:49:08,244 - INFO - OPENED LONG at 2082.44 | Stop loss: 2072.0128571428572 | Take profit: 2113.6990142857144 +2025-03-10 13:49:08,905 - INFO - CLOSED long at 2091.05 | PnL: 0.41% | $0.60 +2025-03-10 13:49:08,905 - INFO - OPENED SHORT at 2091.05 | Stop loss: 2101.5201928571432 | Take profit: 2059.6618357142856 +2025-03-10 13:49:08,926 - INFO - CLOSED short at 2091.05 | PnL: 0.00% | $-0.19 +2025-03-10 13:49:08,927 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.579807142857 | Take profit: 2122.4381642857143 +2025-03-10 13:49:09,155 - INFO - CLOSED long at 2097.11 | PnL: 0.29% | $0.37 +2025-03-10 13:49:09,156 - INFO - OPENED SHORT at 2097.11 | Stop loss: 2107.6104928571426 | Take profit: 2065.630935714286 +2025-03-10 13:49:09,324 - INFO - CLOSED short at 2103.48 | PnL: -0.30% | $-0.78 +2025-03-10 13:49:09,324 - INFO - OPENED LONG at 2103.48 | Stop loss: 2092.947657142857 | Take profit: 2135.0546142857143 +2025-03-10 13:49:09,648 - INFO - CLOSED long at 2103.9 | PnL: 0.02% | $-0.15 +2025-03-10 13:49:09,648 - INFO - OPENED SHORT at 2103.9 | Stop loss: 2114.4344428571426 | Take profit: 2072.319085714286 +2025-03-10 13:49:09,671 - INFO - CLOSED short at 2100.0 | PnL: 0.19% | $0.16 +2025-03-10 13:49:09,671 - INFO - OPENED LONG at 2100.0 | Stop loss: 2089.485057142857 | Take profit: 2131.522414285714 +2025-03-10 13:49:09,911 - INFO - CLOSED long at 2110.87 | PnL: 0.52% | $0.81 +2025-03-10 13:49:09,997 - INFO - OPENED LONG at 2113.7 | Stop loss: 2103.116557142857 | Take profit: 2145.4279142857145 +2025-03-10 13:49:10,352 - INFO - CLOSED long at 2115.3 | PnL: 0.08% | $-0.05 +2025-03-10 13:49:10,457 - INFO - OPENED LONG at 2117.6 | Stop loss: 2106.997057142857 | Take profit: 2149.386414285714 +2025-03-10 13:49:10,499 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.53, Avg Loss=$-0.50 +2025-03-10 13:49:10,500 - INFO - Episode 17: Reward=-8.35, Balance=$97.84, Win Rate=42.4%, Trades=33, Episode PnL=$-2.00, Total PnL=$-131.46, Max Drawdown=4.7%, Pred Accuracy=98.3% +2025-03-10 13:49:10,639 - INFO - Model saved to models/trading_agent_best_winrate.pt +2025-03-10 13:49:10,640 - INFO - New best win rate model saved: 42.4% +2025-03-10 13:49:10,819 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:49:10,890 - INFO - CLOSED long at 2057.8 | PnL: -0.25% | $-0.69 +2025-03-10 13:49:10,891 - INFO - OPENED SHORT at 2057.8 | Stop loss: 2068.103942857143 | Take profit: 2026.9105857142858 +2025-03-10 13:49:11,105 - INFO - STOP LOSS hit for short at 2068.103942857143 | PnL: -0.50% | $-1.18 +2025-03-10 13:49:11,239 - INFO - OPENED SHORT at 2071.63 | Stop loss: 2082.003092857143 | Take profit: 2040.533135714286 +2025-03-10 13:49:11,429 - INFO - CLOSED short at 2071.44 | PnL: 0.01% | $-0.18 +2025-03-10 13:49:11,429 - INFO - OPENED LONG at 2071.44 | Stop loss: 2061.067857142857 | Take profit: 2102.534014285714 +2025-03-10 13:49:11,473 - INFO - CLOSED long at 2073.73 | PnL: 0.11% | $0.02 +2025-03-10 13:49:11,474 - INFO - OPENED SHORT at 2073.73 | Stop loss: 2084.113592857143 | Take profit: 2042.6016357142857 +2025-03-10 13:49:11,550 - INFO - CLOSED short at 2072.91 | PnL: 0.04% | $-0.12 +2025-03-10 13:49:11,551 - INFO - OPENED LONG at 2072.91 | Stop loss: 2062.530507142857 | Take profit: 2104.0260642857143 +2025-03-10 13:49:11,589 - INFO - CLOSED long at 2072.33 | PnL: -0.03% | $-0.25 +2025-03-10 13:49:11,590 - INFO - OPENED SHORT at 2072.33 | Stop loss: 2082.706592857143 | Take profit: 2041.2226357142856 +2025-03-10 13:49:11,681 - INFO - CLOSED short at 2070.9 | PnL: 0.07% | $-0.06 +2025-03-10 13:49:11,681 - INFO - OPENED LONG at 2070.9 | Stop loss: 2060.530557142857 | Take profit: 2101.9859142857144 +2025-03-10 13:49:11,807 - INFO - CLOSED long at 2070.36 | PnL: -0.03% | $-0.24 +2025-03-10 13:49:12,022 - INFO - OPENED LONG at 2067.51 | Stop loss: 2057.1575071428574 | Take profit: 2098.5450642857145 +2025-03-10 13:49:12,185 - INFO - CLOSED long at 2068.76 | PnL: 0.06% | $-0.08 +2025-03-10 13:49:12,901 - INFO - OPENED SHORT at 2065.49 | Stop loss: 2075.8323928571426 | Take profit: 2034.4852357142856 +2025-03-10 13:49:13,389 - INFO - CLOSED short at 2067.86 | PnL: -0.11% | $-0.41 +2025-03-10 13:49:13,389 - INFO - OPENED LONG at 2067.86 | Stop loss: 2057.5057571428574 | Take profit: 2098.9003142857146 +2025-03-10 13:49:13,407 - INFO - CLOSED long at 2066.4 | PnL: -0.07% | $-0.33 +2025-03-10 13:49:13,408 - INFO - OPENED SHORT at 2066.4 | Stop loss: 2076.746942857143 | Take profit: 2035.3815857142858 +2025-03-10 13:49:13,493 - INFO - CLOSED short at 2065.28 | PnL: 0.05% | $-0.09 +2025-03-10 13:49:13,493 - INFO - OPENED LONG at 2065.28 | Stop loss: 2054.9386571428577 | Take profit: 2096.2816142857146 +2025-03-10 13:49:13,675 - INFO - CLOSED long at 2065.69 | PnL: 0.02% | $-0.15 +2025-03-10 13:49:13,676 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.033392857143 | Take profit: 2034.6822357142858 +2025-03-10 13:49:13,738 - INFO - CLOSED short at 2065.83 | PnL: -0.01% | $-0.20 +2025-03-10 13:49:13,738 - INFO - OPENED LONG at 2065.83 | Stop loss: 2055.485907142857 | Take profit: 2096.839864285714 +2025-03-10 13:49:14,443 - INFO - CLOSED long at 2060.65 | PnL: -0.25% | $-0.67 +2025-03-10 13:49:14,467 - INFO - OPENED LONG at 2058.89 | Stop loss: 2048.580607142857 | Take profit: 2089.795764285714 +2025-03-10 13:49:14,531 - INFO - CLOSED long at 2061.8 | PnL: 0.14% | $0.08 +2025-03-10 13:49:14,554 - INFO - OPENED LONG at 2064.7 | Stop loss: 2054.361557142857 | Take profit: 2095.6929142857143 +2025-03-10 13:49:14,854 - INFO - CLOSED long at 2064.79 | PnL: 0.00% | $-0.18 +2025-03-10 13:49:14,855 - INFO - OPENED SHORT at 2064.79 | Stop loss: 2075.128892857143 | Take profit: 2033.7957357142857 +2025-03-10 13:49:14,899 - INFO - CLOSED short at 2063.53 | PnL: 0.06% | $-0.07 +2025-03-10 13:49:14,900 - INFO - OPENED LONG at 2063.53 | Stop loss: 2053.1974071428576 | Take profit: 2094.5053642857147 +2025-03-10 13:49:14,922 - INFO - CLOSED long at 2063.0 | PnL: -0.03% | $-0.24 +2025-03-10 13:49:14,923 - INFO - OPENED SHORT at 2063.0 | Stop loss: 2073.3299428571427 | Take profit: 2032.0325857142857 +2025-03-10 13:49:15,121 - INFO - CLOSED short at 2059.16 | PnL: 0.19% | $0.16 +2025-03-10 13:49:15,122 - INFO - OPENED LONG at 2059.16 | Stop loss: 2048.849257142857 | Take profit: 2090.069814285714 +2025-03-10 13:49:15,291 - INFO - CLOSED long at 2058.28 | PnL: -0.04% | $-0.27 +2025-03-10 13:49:15,291 - INFO - OPENED SHORT at 2058.28 | Stop loss: 2068.586342857143 | Take profit: 2027.3833857142859 +2025-03-10 13:49:15,753 - INFO - CLOSED short at 2066.34 | PnL: -0.39% | $-0.93 +2025-03-10 13:49:15,754 - INFO - OPENED LONG at 2066.34 | Stop loss: 2055.9933571428573 | Take profit: 2097.3575142857144 +2025-03-10 13:49:16,478 - INFO - CLOSED long at 2065.7 | PnL: -0.03% | $-0.24 +2025-03-10 13:49:16,479 - INFO - OPENED SHORT at 2065.7 | Stop loss: 2076.0434428571425 | Take profit: 2034.6920857142857 +2025-03-10 13:49:16,571 - INFO - CLOSED short at 2064.5 | PnL: 0.06% | $-0.08 +2025-03-10 13:49:16,571 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.162557142857 | Take profit: 2095.4899142857143 +2025-03-10 13:49:16,625 - INFO - CLOSED long at 2064.4 | PnL: -0.00% | $-0.19 +2025-03-10 13:49:16,625 - INFO - OPENED SHORT at 2064.4 | Stop loss: 2074.736942857143 | Take profit: 2033.4115857142858 +2025-03-10 13:49:16,894 - INFO - CLOSED short at 2068.59 | PnL: -0.20% | $-0.56 +2025-03-10 13:49:16,895 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.2321071428573 | Take profit: 2099.6412642857144 +2025-03-10 13:49:16,938 - INFO - CLOSED long at 2070.2 | PnL: 0.08% | $-0.04 +2025-03-10 13:49:16,987 - INFO - OPENED LONG at 2070.9 | Stop loss: 2060.530557142857 | Take profit: 2101.9859142857144 +2025-03-10 13:49:17,269 - INFO - CLOSED long at 2070.67 | PnL: -0.01% | $-0.20 +2025-03-10 13:49:17,270 - INFO - OPENED SHORT at 2070.67 | Stop loss: 2081.0382928571426 | Take profit: 2039.5875357142857 +2025-03-10 13:49:17,534 - INFO - CLOSED short at 2076.9 | PnL: -0.30% | $-0.74 +2025-03-10 13:49:17,875 - INFO - OPENED LONG at 2069.0 | Stop loss: 2058.640057142857 | Take profit: 2100.0574142857145 +2025-03-10 13:49:18,473 - INFO - STOP LOSS hit for long at 2058.640057142857 | PnL: -0.50% | $-1.10 +2025-03-10 13:49:18,520 - INFO - OPENED LONG at 2056.77 | Stop loss: 2046.471207142857 | Take profit: 2087.6439642857144 +2025-03-10 13:49:18,826 - INFO - CLOSED long at 2063.9 | PnL: 0.35% | $0.44 +2025-03-10 13:49:18,826 - INFO - OPENED SHORT at 2063.9 | Stop loss: 2074.234442857143 | Take profit: 2032.9190857142858 +2025-03-10 13:49:18,849 - INFO - CLOSED short at 2065.1 | PnL: -0.06% | $-0.29 +2025-03-10 13:49:18,872 - INFO - OPENED LONG at 2062.43 | Stop loss: 2052.102907142857 | Take profit: 2093.388864285714 +2025-03-10 13:49:18,894 - INFO - CLOSED long at 2062.55 | PnL: 0.01% | $-0.17 +2025-03-10 13:49:18,894 - INFO - OPENED SHORT at 2062.55 | Stop loss: 2072.877692857143 | Take profit: 2031.5893357142859 +2025-03-10 13:49:18,986 - INFO - CLOSED short at 2066.59 | PnL: -0.20% | $-0.53 +2025-03-10 13:49:18,986 - INFO - OPENED LONG at 2066.59 | Stop loss: 2056.242107142857 | Take profit: 2097.6112642857147 +2025-03-10 13:49:19,025 - INFO - CLOSED long at 2064.08 | PnL: -0.12% | $-0.40 +2025-03-10 13:49:19,072 - INFO - OPENED SHORT at 2061.21 | Stop loss: 2071.5309928571432 | Take profit: 2030.269435714286 +2025-03-10 13:49:19,407 - INFO - STOP LOSS hit for short at 2071.5309928571432 | PnL: -0.50% | $-1.07 +2025-03-10 13:49:19,454 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.4351928571427 | Take profit: 2042.9168357142858 +2025-03-10 13:49:19,705 - INFO - STOP LOSS hit for short at 2084.4351928571427 | PnL: -0.50% | $-1.06 +2025-03-10 13:49:19,728 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.9573928571426 | Take profit: 2059.1102357142854 +2025-03-10 13:49:19,753 - INFO - STOP LOSS hit for short at 2100.9573928571426 | PnL: -0.50% | $-1.05 +2025-03-10 13:49:19,778 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.368442857143 | Take profit: 2098.7170857142855 +2025-03-10 13:49:19,959 - INFO - STOP LOSS hit for short at 2141.368442857143 | PnL: -0.50% | $-1.03 +2025-03-10 13:49:20,002 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.021442857143 | Take profit: 2109.158085714286 +2025-03-10 13:49:20,071 - INFO - CLOSED short at 2134.78 | PnL: 0.30% | $0.35 +2025-03-10 13:49:20,072 - INFO - OPENED LONG at 2134.78 | Stop loss: 2124.0911571428574 | Take profit: 2166.8241142857146 +2025-03-10 13:49:20,090 - INFO - CLOSED long at 2126.99 | PnL: -0.36% | $-0.79 +2025-03-10 13:49:20,092 - INFO - OPENED SHORT at 2126.99 | Stop loss: 2137.6398928571425 | Take profit: 2095.0627357142857 +2025-03-10 13:49:20,331 - INFO - CLOSED short at 2119.14 | PnL: 0.37% | $0.46 +2025-03-10 13:49:20,332 - INFO - OPENED LONG at 2119.14 | Stop loss: 2108.529357142857 | Take profit: 2150.949514285714 +2025-03-10 13:49:20,432 - INFO - STOP LOSS hit for long at 2108.529357142857 | PnL: -0.50% | $-1.02 +2025-03-10 13:49:20,497 - INFO - OPENED LONG at 2112.09 | Stop loss: 2101.5146071428576 | Take profit: 2143.7937642857146 +2025-03-10 13:49:20,732 - INFO - CLOSED long at 2108.71 | PnL: -0.16% | $-0.44 +2025-03-10 13:49:20,732 - INFO - OPENED SHORT at 2108.71 | Stop loss: 2119.268492857143 | Take profit: 2077.056935714286 +2025-03-10 13:49:20,804 - INFO - CLOSED short at 2108.06 | PnL: 0.03% | $-0.12 +2025-03-10 13:49:20,805 - INFO - OPENED LONG at 2108.06 | Stop loss: 2097.504757142857 | Take profit: 2139.7033142857144 +2025-03-10 13:49:20,871 - INFO - STOP LOSS hit for long at 2097.504757142857 | PnL: -0.50% | $-1.00 +2025-03-10 13:49:20,895 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0174071428573 | Take profit: 2131.0453642857146 +2025-03-10 13:49:21,355 - INFO - CLOSED long at 2092.46 | PnL: -0.34% | $-0.72 +2025-03-10 13:49:21,376 - INFO - OPENED LONG at 2091.1 | Stop loss: 2080.6295571428573 | Take profit: 2122.488914285714 +2025-03-10 13:49:21,468 - INFO - CLOSED long at 2088.35 | PnL: -0.13% | $-0.38 +2025-03-10 13:49:21,468 - INFO - OPENED SHORT at 2088.35 | Stop loss: 2098.806692857143 | Take profit: 2057.002335714286 +2025-03-10 13:49:21,917 - INFO - CLOSED short at 2088.66 | PnL: -0.01% | $-0.19 +2025-03-10 13:49:21,952 - INFO - OPENED LONG at 2088.32 | Stop loss: 2077.8634571428574 | Take profit: 2119.6672142857146 +2025-03-10 13:49:22,042 - INFO - CLOSED long at 2087.0 | PnL: -0.06% | $-0.26 +2025-03-10 13:49:22,043 - INFO - OPENED SHORT at 2087.0 | Stop loss: 2097.449942857143 | Take profit: 2055.6725857142856 +2025-03-10 13:49:22,152 - INFO - CLOSED short at 2085.67 | PnL: 0.06% | $-0.06 +2025-03-10 13:49:22,152 - INFO - OPENED LONG at 2085.67 | Stop loss: 2075.2267071428573 | Take profit: 2116.9774642857146 +2025-03-10 13:49:23,525 - INFO - TAKE PROFIT hit for long at 2116.9774642857146 | PnL: 1.50% | $2.27 +2025-03-10 13:49:23,645 - INFO - OPENED LONG at 2116.81 | Stop loss: 2106.211007142857 | Take profit: 2148.5845642857144 +2025-03-10 13:49:23,730 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.54, Avg Loss=$-0.45 +2025-03-10 13:49:23,731 - INFO - Episode 18: Reward=-43.96, Balance=$83.70, Win Rate=13.5%, Trades=52, Episode PnL=$-11.97, Total PnL=$-147.76, Max Drawdown=18.2%, Pred Accuracy=98.5% +2025-03-10 13:49:24,183 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.415492857143 | Take profit: 2027.215935714286 +2025-03-10 13:49:24,399 - INFO - STOP LOSS hit for short at 2068.415492857143 | PnL: -0.50% | $-1.19 +2025-03-10 13:49:24,430 - INFO - OPENED SHORT at 2068.11 | Stop loss: 2078.465492857143 | Take profit: 2037.0659357142858 +2025-03-10 13:49:25,074 - INFO - CLOSED short at 2072.8 | PnL: -0.23% | $-0.64 +2025-03-10 13:49:25,075 - INFO - OPENED LONG at 2072.8 | Stop loss: 2062.4210571428575 | Take profit: 2103.9144142857144 +2025-03-10 13:49:25,566 - INFO - CLOSED long at 2065.99 | PnL: -0.33% | $-0.84 +2025-03-10 13:49:25,566 - INFO - OPENED SHORT at 2065.99 | Stop loss: 2076.3348928571427 | Take profit: 2034.9777357142855 +2025-03-10 13:49:25,738 - INFO - CLOSED short at 2068.51 | PnL: -0.12% | $-0.43 +2025-03-10 13:49:25,739 - INFO - OPENED LONG at 2068.51 | Stop loss: 2058.1525071428573 | Take profit: 2099.5600642857144 +2025-03-10 13:49:26,983 - INFO - CLOSED long at 2066.1 | PnL: -0.12% | $-0.42 +2025-03-10 13:49:27,014 - INFO - OPENED LONG at 2065.28 | Stop loss: 2054.9386571428577 | Take profit: 2096.2816142857146 +2025-03-10 13:49:27,101 - INFO - CLOSED long at 2064.47 | PnL: -0.04% | $-0.27 +2025-03-10 13:49:27,102 - INFO - OPENED SHORT at 2064.47 | Stop loss: 2074.8072928571423 | Take profit: 2033.4805357142855 +2025-03-10 13:49:27,326 - INFO - CLOSED short at 2065.26 | PnL: -0.04% | $-0.26 +2025-03-10 13:49:27,326 - INFO - OPENED LONG at 2065.26 | Stop loss: 2054.9187571428574 | Take profit: 2096.2613142857144 +2025-03-10 13:49:27,692 - INFO - CLOSED long at 2062.71 | PnL: -0.12% | $-0.43 +2025-03-10 13:49:27,802 - INFO - OPENED LONG at 2060.9 | Stop loss: 2050.5805571428573 | Take profit: 2091.8359142857144 +2025-03-10 13:49:28,051 - INFO - CLOSED long at 2060.91 | PnL: 0.00% | $-0.19 +2025-03-10 13:49:28,052 - INFO - OPENED SHORT at 2060.91 | Stop loss: 2071.2294928571428 | Take profit: 2029.9739357142855 +2025-03-10 13:49:28,145 - INFO - CLOSED short at 2064.1 | PnL: -0.15% | $-0.48 +2025-03-10 13:49:28,190 - INFO - OPENED SHORT at 2064.33 | Stop loss: 2074.666592857143 | Take profit: 2033.3426357142857 +2025-03-10 13:49:28,334 - INFO - CLOSED short at 2063.53 | PnL: 0.04% | $-0.12 +2025-03-10 13:49:28,464 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3815571428568 | Take profit: 2091.632914285714 +2025-03-10 13:49:28,507 - INFO - CLOSED long at 2059.61 | PnL: -0.05% | $-0.29 +2025-03-10 13:49:28,839 - INFO - OPENED LONG at 2054.83 | Stop loss: 2044.540907142857 | Take profit: 2085.674864285714 +2025-03-10 13:49:28,908 - INFO - CLOSED long at 2059.8 | PnL: 0.24% | $0.27 +2025-03-10 13:49:28,928 - INFO - OPENED LONG at 2061.66 | Stop loss: 2051.336757142857 | Take profit: 2092.607314285714 +2025-03-10 13:49:30,586 - INFO - CLOSED long at 2070.35 | PnL: 0.42% | $0.60 +2025-03-10 13:49:30,801 - INFO - OPENED SHORT at 2071.61 | Stop loss: 2081.9829928571426 | Take profit: 2040.5134357142858 +2025-03-10 13:49:30,968 - INFO - CLOSED short at 2076.9 | PnL: -0.26% | $-0.67 +2025-03-10 13:49:30,968 - INFO - OPENED LONG at 2076.9 | Stop loss: 2066.5005571428574 | Take profit: 2108.0759142857146 +2025-03-10 13:49:31,216 - INFO - STOP LOSS hit for long at 2066.5005571428574 | PnL: -0.50% | $-1.13 +2025-03-10 13:49:31,327 - INFO - OPENED LONG at 2069.0 | Stop loss: 2058.640057142857 | Take profit: 2100.0574142857145 +2025-03-10 13:49:31,955 - INFO - STOP LOSS hit for long at 2058.640057142857 | PnL: -0.50% | $-1.12 +2025-03-10 13:49:32,331 - INFO - OPENED LONG at 2062.43 | Stop loss: 2052.102907142857 | Take profit: 2093.388864285714 +2025-03-10 13:49:33,039 - INFO - TAKE PROFIT hit for long at 2093.388864285714 | PnL: 1.50% | $2.57 +2025-03-10 13:49:33,359 - INFO - OPENED SHORT at 2127.3 | Stop loss: 2137.951442857143 | Take profit: 2095.368085714286 +2025-03-10 13:49:33,864 - INFO - CLOSED short at 2120.81 | PnL: 0.31% | $0.39 +2025-03-10 13:49:33,864 - INFO - OPENED LONG at 2120.81 | Stop loss: 2110.191007142857 | Take profit: 2152.6445642857143 +2025-03-10 13:49:33,998 - INFO - STOP LOSS hit for long at 2110.191007142857 | PnL: -0.50% | $-1.14 +2025-03-10 13:49:34,478 - INFO - OPENED SHORT at 2101.51 | Stop loss: 2112.032492857143 | Take profit: 2069.964935714286 +2025-03-10 13:49:35,133 - INFO - CLOSED short at 2085.09 | PnL: 0.78% | $1.27 +2025-03-10 13:49:35,134 - INFO - OPENED LONG at 2085.09 | Stop loss: 2074.6496071428573 | Take profit: 2116.3887642857144 +2025-03-10 13:49:36,813 - INFO - CLOSED long at 2112.26 | PnL: 1.30% | $2.28 +2025-03-10 13:49:36,988 - INFO - OPENED LONG at 2115.89 | Stop loss: 2105.295607142857 | Take profit: 2147.650764285714 +2025-03-10 13:49:37,068 - INFO - CLOSED long at 2114.71 | PnL: -0.06% | $-0.30 +2025-03-10 13:49:37,069 - INFO - OPENED SHORT at 2114.71 | Stop loss: 2125.2984928571427 | Take profit: 2082.9669357142857 +2025-03-10 13:49:37,156 - INFO - CLOSED short at 2117.6 | PnL: -0.14% | $-0.46 +2025-03-10 13:49:37,193 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.23, Avg Loss=$-0.58 +2025-03-10 13:49:37,193 - INFO - Episode 19: Reward=-14.38, Balance=$97.02, Win Rate=25.0%, Trades=24, Episode PnL=$-1.38, Total PnL=$-150.74, Max Drawdown=7.6%, Pred Accuracy=98.6% +2025-03-10 13:49:37,450 - INFO - OPENED SHORT at 2057.8 | Stop loss: 2068.103942857143 | Take profit: 2026.9105857142858 +2025-03-10 13:49:37,626 - INFO - STOP LOSS hit for short at 2068.103942857143 | PnL: -0.50% | $-1.19 +2025-03-10 13:49:38,015 - INFO - OPENED LONG at 2075.1 | Stop loss: 2064.709557142857 | Take profit: 2106.248914285714 +2025-03-10 13:49:38,757 - INFO - CLOSED long at 2068.51 | PnL: -0.32% | $-0.82 +2025-03-10 13:49:38,780 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.2321071428573 | Take profit: 2099.6412642857144 +2025-03-10 13:49:40,626 - INFO - CLOSED long at 2067.1 | PnL: -0.07% | $-0.33 +2025-03-10 13:49:41,591 - INFO - OPENED LONG at 2058.89 | Stop loss: 2048.580607142857 | Take profit: 2089.795764285714 +2025-03-10 13:49:43,145 - INFO - CLOSED long at 2067.53 | PnL: 0.42% | $0.62 +2025-03-10 13:49:43,145 - INFO - OPENED SHORT at 2067.53 | Stop loss: 2077.882592857143 | Take profit: 2036.494635714286 +2025-03-10 13:49:43,167 - INFO - CLOSED short at 2065.29 | PnL: 0.11% | $0.02 +2025-03-10 13:49:43,167 - INFO - OPENED LONG at 2065.29 | Stop loss: 2054.948607142857 | Take profit: 2096.2917642857146 +2025-03-10 13:49:43,659 - INFO - CLOSED long at 2074.37 | PnL: 0.44% | $0.66 +2025-03-10 13:49:45,116 - INFO - OPENED SHORT at 2058.3 | Stop loss: 2068.606442857143 | Take profit: 2027.403085714286 +2025-03-10 13:49:45,216 - INFO - CLOSED short at 2062.83 | PnL: -0.22% | $-0.63 +2025-03-10 13:49:45,327 - INFO - OPENED LONG at 2062.55 | Stop loss: 2052.2223071428575 | Take profit: 2093.5106642857145 +2025-03-10 13:49:46,023 - INFO - CLOSED long at 2076.08 | PnL: 0.66% | $1.09 +2025-03-10 13:49:46,023 - INFO - OPENED SHORT at 2076.08 | Stop loss: 2086.4753428571426 | Take profit: 2044.9163857142858 +2025-03-10 13:49:46,090 - INFO - STOP LOSS hit for short at 2086.4753428571426 | PnL: -0.50% | $-1.19 +2025-03-10 13:49:46,385 - INFO - OPENED LONG at 2134.78 | Stop loss: 2124.0911571428574 | Take profit: 2166.8241142857146 +2025-03-10 13:49:46,473 - INFO - STOP LOSS hit for long at 2124.0911571428574 | PnL: -0.50% | $-1.17 +2025-03-10 13:49:46,493 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.534307142857 | Take profit: 2151.9746642857144 +2025-03-10 13:49:46,700 - INFO - STOP LOSS hit for long at 2109.534307142857 | PnL: -0.50% | $-1.16 +2025-03-10 13:49:46,737 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032057142857 | Take profit: 2142.281414285714 +2025-03-10 13:49:46,778 - INFO - CLOSED long at 2109.05 | PnL: -0.07% | $-0.33 +2025-03-10 13:49:46,778 - INFO - OPENED SHORT at 2109.05 | Stop loss: 2119.610192857143 | Take profit: 2077.3918357142857 +2025-03-10 13:49:46,813 - INFO - CLOSED short at 2112.09 | PnL: -0.14% | $-0.46 +2025-03-10 13:49:46,814 - INFO - OPENED LONG at 2112.09 | Stop loss: 2101.5146071428576 | Take profit: 2143.7937642857146 +2025-03-10 13:49:47,197 - INFO - STOP LOSS hit for long at 2101.5146071428576 | PnL: -0.50% | $-1.13 +2025-03-10 13:49:47,244 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0174071428573 | Take profit: 2131.0453642857146 +2025-03-10 13:49:47,366 - INFO - CLOSED long at 2100.69 | PnL: 0.06% | $-0.08 +2025-03-10 13:49:47,389 - INFO - OPENED LONG at 2104.83 | Stop loss: 2094.290907142857 | Take profit: 2136.424864285714 +2025-03-10 13:49:47,674 - INFO - STOP LOSS hit for long at 2094.290907142857 | PnL: -0.50% | $-1.12 +2025-03-10 13:49:47,785 - INFO - OPENED LONG at 2094.08 | Stop loss: 2083.594657142857 | Take profit: 2125.513614285714 +2025-03-10 13:49:47,862 - INFO - STOP LOSS hit for long at 2083.594657142857 | PnL: -0.50% | $-1.11 +2025-03-10 13:49:47,901 - INFO - OPENED LONG at 2088.44 | Stop loss: 2077.982857142857 | Take profit: 2119.789014285714 +2025-03-10 13:49:50,041 - INFO - CLOSED long at 2114.71 | PnL: 1.26% | $2.11 +2025-03-10 13:49:50,042 - INFO - OPENED SHORT at 2114.71 | Stop loss: 2125.2984928571427 | Take profit: 2082.9669357142857 +2025-03-10 13:49:50,107 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.90, Avg Loss=$-0.83 +2025-03-10 13:49:50,108 - INFO - Episode 20: Reward=-3.49, Balance=$93.76, Win Rate=27.8%, Trades=18, Episode PnL=$-9.72, Total PnL=$-156.98, Max Drawdown=8.3%, Pred Accuracy=98.6% +2025-03-10 13:49:50,249 - INFO - Model saved to checkpoints/trading_agent_episode_20.pt +2025-03-10 13:49:50,250 - INFO - Checkpoint saved at episode 20 +2025-03-10 13:49:50,251 - INFO - Reducing learning rate to 0.000090 +2025-03-10 13:49:50,316 - ERROR - Error creating visualization: No module named 'mplfinance' +2025-03-10 13:49:50,317 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2405, in visualize_training_results + from mplfinance.original_flavor import candlestick_ohlc +ModuleNotFoundError: No module named 'mplfinance' + +2025-03-10 13:49:50,545 - INFO - OPENED SHORT at 2059.49 | Stop loss: 2069.802392857143 | Take profit: 2028.5752357142856 +2025-03-10 13:49:50,627 - INFO - CLOSED short at 2057.94 | PnL: 0.08% | $-0.05 +2025-03-10 13:49:50,627 - INFO - OPENED LONG at 2057.94 | Stop loss: 2047.6353571428572 | Take profit: 2088.831514285714 +2025-03-10 13:49:50,679 - INFO - CLOSED long at 2061.79 | PnL: 0.19% | $0.17 +2025-03-10 13:49:50,680 - INFO - OPENED SHORT at 2061.79 | Stop loss: 2072.1138928571427 | Take profit: 2030.8407357142858 +2025-03-10 13:49:50,917 - INFO - CLOSED short at 2071.63 | PnL: -0.48% | $-1.15 +2025-03-10 13:49:50,917 - INFO - OPENED LONG at 2071.63 | Stop loss: 2061.256907142857 | Take profit: 2102.7268642857143 +2025-03-10 13:49:51,834 - INFO - CLOSED long at 2066.19 | PnL: -0.26% | $-0.71 +2025-03-10 13:49:51,857 - INFO - OPENED LONG at 2066.29 | Stop loss: 2055.943607142857 | Take profit: 2097.306764285714 +2025-03-10 13:49:51,876 - INFO - CLOSED long at 2065.08 | PnL: -0.06% | $-0.31 +2025-03-10 13:49:51,876 - INFO - OPENED SHORT at 2065.08 | Stop loss: 2075.420342857143 | Take profit: 2034.0813857142857 +2025-03-10 13:49:51,924 - INFO - CLOSED short at 2068.76 | PnL: -0.18% | $-0.54 +2025-03-10 13:49:51,924 - INFO - OPENED LONG at 2068.76 | Stop loss: 2058.4012571428575 | Take profit: 2099.8138142857147 +2025-03-10 13:49:52,097 - INFO - CLOSED long at 2070.4 | PnL: 0.08% | $-0.04 +2025-03-10 13:49:52,144 - INFO - OPENED LONG at 2069.96 | Stop loss: 2059.595257142857 | Take profit: 2101.0318142857145 +2025-03-10 13:49:52,302 - INFO - CLOSED long at 2072.7 | PnL: 0.13% | $0.06 +2025-03-10 13:49:52,303 - INFO - OPENED SHORT at 2072.7 | Stop loss: 2083.078442857143 | Take profit: 2041.5870857142854 +2025-03-10 13:49:52,542 - INFO - CLOSED short at 2069.35 | PnL: 0.16% | $0.12 +2025-03-10 13:49:52,543 - INFO - OPENED LONG at 2069.35 | Stop loss: 2058.988307142857 | Take profit: 2100.412664285714 +2025-03-10 13:49:53,174 - INFO - CLOSED long at 2067.11 | PnL: -0.11% | $-0.40 +2025-03-10 13:49:53,174 - INFO - OPENED SHORT at 2067.11 | Stop loss: 2077.460492857143 | Take profit: 2036.0809357142857 +2025-03-10 13:49:53,243 - INFO - CLOSED short at 2066.4 | PnL: 0.03% | $-0.13 +2025-03-10 13:49:53,243 - INFO - OPENED LONG at 2066.4 | Stop loss: 2056.053057142857 | Take profit: 2097.4184142857143 +2025-03-10 13:49:54,880 - INFO - CLOSED long at 2062.6 | PnL: -0.18% | $-0.55 +2025-03-10 13:49:54,880 - INFO - OPENED SHORT at 2062.6 | Stop loss: 2072.927942857143 | Take profit: 2031.6385857142857 +2025-03-10 13:49:55,299 - INFO - CLOSED short at 2059.46 | PnL: 0.15% | $0.10 +2025-03-10 13:49:55,299 - INFO - OPENED LONG at 2059.46 | Stop loss: 2049.1477571428572 | Take profit: 2090.3743142857143 +2025-03-10 13:49:55,825 - INFO - CLOSED long at 2066.01 | PnL: 0.32% | $0.42 +2025-03-10 13:49:55,826 - INFO - OPENED SHORT at 2066.01 | Stop loss: 2076.354992857143 | Take profit: 2034.9974357142858 +2025-03-10 13:49:55,854 - INFO - CLOSED short at 2063.9 | PnL: 0.10% | $0.00 +2025-03-10 13:49:55,855 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.5655571428574 | Take profit: 2094.8809142857144 +2025-03-10 13:49:56,515 - INFO - CLOSED long at 2069.03 | PnL: 0.25% | $0.29 +2025-03-10 13:49:56,515 - INFO - OPENED SHORT at 2069.03 | Stop loss: 2079.3900928571434 | Take profit: 2037.9721357142857 +2025-03-10 13:49:56,586 - INFO - CLOSED short at 2068.79 | PnL: 0.01% | $-0.17 +2025-03-10 13:49:56,586 - INFO - OPENED LONG at 2068.79 | Stop loss: 2058.431107142857 | Take profit: 2099.8442642857144 +2025-03-10 13:49:56,652 - INFO - CLOSED long at 2069.87 | PnL: 0.05% | $-0.09 +2025-03-10 13:49:56,652 - INFO - OPENED SHORT at 2069.87 | Stop loss: 2080.234292857143 | Take profit: 2038.7995357142856 +2025-03-10 13:49:57,083 - INFO - CLOSED short at 2068.59 | PnL: 0.06% | $-0.07 +2025-03-10 13:49:57,084 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.2321071428573 | Take profit: 2099.6412642857144 +2025-03-10 13:49:58,264 - INFO - CLOSED long at 2065.8 | PnL: -0.13% | $-0.45 +2025-03-10 13:49:58,309 - INFO - OPENED LONG at 2066.09 | Stop loss: 2055.744607142857 | Take profit: 2097.103764285714 +2025-03-10 13:49:58,755 - INFO - STOP LOSS hit for long at 2055.744607142857 | PnL: -0.50% | $-1.15 +2025-03-10 13:49:59,087 - INFO - OPENED LONG at 2062.55 | Stop loss: 2052.2223071428575 | Take profit: 2093.5106642857145 +2025-03-10 13:49:59,714 - INFO - CLOSED long at 2076.08 | PnL: 0.66% | $1.05 +2025-03-10 13:49:59,715 - INFO - OPENED SHORT at 2076.08 | Stop loss: 2086.4753428571426 | Take profit: 2044.9163857142858 +2025-03-10 13:49:59,768 - INFO - CLOSED short at 2077.61 | PnL: -0.07% | $-0.33 +2025-03-10 13:49:59,768 - INFO - OPENED LONG at 2077.61 | Stop loss: 2067.2070071428575 | Take profit: 2108.796564285715 +2025-03-10 13:49:59,870 - INFO - TAKE PROFIT hit for long at 2108.796564285715 | PnL: 1.50% | $2.67 +2025-03-10 13:49:59,894 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.827357142857 | Take profit: 2171.655514285714 +2025-03-10 13:50:00,185 - INFO - STOP LOSS hit for long at 2128.827357142857 | PnL: -0.50% | $-1.18 +2025-03-10 13:50:00,234 - INFO - OPENED LONG at 2128.69 | Stop loss: 2118.0316071428574 | Take profit: 2160.6427642857143 +2025-03-10 13:50:00,301 - INFO - STOP LOSS hit for long at 2118.0316071428574 | PnL: -0.50% | $-1.16 +2025-03-10 13:50:00,323 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.315407142857 | Take profit: 2151.751364285714 +2025-03-10 13:50:00,460 - INFO - CLOSED long at 2115.28 | PnL: -0.22% | $-0.61 +2025-03-10 13:50:00,460 - INFO - OPENED SHORT at 2115.28 | Stop loss: 2125.871342857143 | Take profit: 2083.528385714286 +2025-03-10 13:50:00,643 - INFO - CLOSED short at 2112.46 | PnL: 0.13% | $0.06 +2025-03-10 13:50:00,643 - INFO - OPENED LONG at 2112.46 | Stop loss: 2101.882757142857 | Take profit: 2144.1693142857143 +2025-03-10 13:50:00,990 - INFO - STOP LOSS hit for long at 2101.882757142857 | PnL: -0.50% | $-1.14 +2025-03-10 13:50:01,172 - INFO - OPENED LONG at 2098.9 | Stop loss: 2088.3905571428572 | Take profit: 2130.4059142857145 +2025-03-10 13:50:01,210 - INFO - CLOSED long at 2100.69 | PnL: 0.09% | $-0.03 +2025-03-10 13:50:01,210 - INFO - OPENED SHORT at 2100.69 | Stop loss: 2111.208392857143 | Take profit: 2069.157235714286 +2025-03-10 13:50:01,298 - INFO - CLOSED short at 2106.39 | PnL: -0.27% | $-0.70 +2025-03-10 13:50:01,298 - INFO - OPENED LONG at 2106.39 | Stop loss: 2095.843107142857 | Take profit: 2138.008264285714 +2025-03-10 13:50:01,439 - INFO - CLOSED long at 2101.51 | PnL: -0.23% | $-0.62 +2025-03-10 13:50:01,439 - INFO - OPENED SHORT at 2101.51 | Stop loss: 2112.032492857143 | Take profit: 2069.964935714286 +2025-03-10 13:50:01,525 - INFO - CLOSED short at 2095.29 | PnL: 0.30% | $0.36 +2025-03-10 13:50:01,525 - INFO - OPENED LONG at 2095.29 | Stop loss: 2084.7986071428572 | Take profit: 2126.7417642857145 +2025-03-10 13:50:01,786 - INFO - STOP LOSS hit for long at 2084.7986071428572 | PnL: -0.50% | $-1.12 +2025-03-10 13:50:01,862 - INFO - OPENED LONG at 2085.3 | Stop loss: 2074.8585571428575 | Take profit: 2116.6019142857144 +2025-03-10 13:50:02,957 - INFO - CLOSED long at 2104.93 | PnL: 0.94% | $1.55 +2025-03-10 13:50:02,958 - INFO - OPENED SHORT at 2104.93 | Stop loss: 2115.4695928571427 | Take profit: 2073.3336357142857 +2025-03-10 13:50:03,002 - INFO - CLOSED short at 2103.81 | PnL: 0.05% | $-0.09 +2025-03-10 13:50:03,003 - INFO - OPENED LONG at 2103.81 | Stop loss: 2093.276007142857 | Take profit: 2135.3895642857146 +2025-03-10 13:50:04,086 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.57, Avg Loss=$-0.53 +2025-03-10 13:50:04,087 - INFO - Episode 21: Reward=-15.12, Balance=$94.07, Win Rate=33.3%, Trades=36, Episode PnL=$-6.86, Total PnL=$-162.91, Max Drawdown=7.4%, Pred Accuracy=98.6% +2025-03-10 13:50:04,089 - INFO - Reducing learning rate to 0.000081 +2025-03-10 13:50:04,871 - INFO - OPENED LONG at 2067.9 | Stop loss: 2057.5455571428574 | Take profit: 2098.9409142857144 +2025-03-10 13:50:05,216 - INFO - CLOSED long at 2070.79 | PnL: 0.14% | $0.08 +2025-03-10 13:50:05,216 - INFO - OPENED SHORT at 2070.79 | Stop loss: 2081.1588928571427 | Take profit: 2039.7057357142855 +2025-03-10 13:50:05,444 - INFO - CLOSED short at 2067.6 | PnL: 0.15% | $0.11 +2025-03-10 13:50:05,444 - INFO - OPENED LONG at 2067.6 | Stop loss: 2057.247057142857 | Take profit: 2098.636414285714 +2025-03-10 13:50:07,008 - INFO - CLOSED long at 2066.1 | PnL: -0.07% | $-0.34 +2025-03-10 13:50:07,049 - INFO - OPENED LONG at 2065.28 | Stop loss: 2054.9386571428577 | Take profit: 2096.2816142857146 +2025-03-10 13:50:08,293 - INFO - CLOSED long at 2064.33 | PnL: -0.05% | $-0.29 +2025-03-10 13:50:08,294 - INFO - OPENED SHORT at 2064.33 | Stop loss: 2074.666592857143 | Take profit: 2033.3426357142857 +2025-03-10 13:50:08,418 - INFO - CLOSED short at 2063.53 | PnL: 0.04% | $-0.12 +2025-03-10 13:50:08,418 - INFO - OPENED LONG at 2063.53 | Stop loss: 2053.1974071428576 | Take profit: 2094.5053642857147 +2025-03-10 13:50:09,448 - INFO - CLOSED long at 2074.3 | PnL: 0.52% | $0.83 +2025-03-10 13:50:09,448 - INFO - OPENED SHORT at 2074.3 | Stop loss: 2084.686442857143 | Take profit: 2043.163085714286 +2025-03-10 13:50:09,488 - INFO - CLOSED short at 2078.01 | PnL: -0.18% | $-0.56 +2025-03-10 13:50:09,488 - INFO - OPENED LONG at 2078.01 | Stop loss: 2067.605007142857 | Take profit: 2109.2025642857147 +2025-03-10 13:50:09,663 - INFO - CLOSED long at 2073.23 | PnL: -0.23% | $-0.65 +2025-03-10 13:50:09,664 - INFO - OPENED SHORT at 2073.23 | Stop loss: 2083.611092857143 | Take profit: 2042.109135714286 +2025-03-10 13:50:09,686 - INFO - CLOSED short at 2070.0 | PnL: 0.16% | $0.11 +2025-03-10 13:50:09,687 - INFO - OPENED LONG at 2070.0 | Stop loss: 2059.635057142857 | Take profit: 2101.0724142857143 +2025-03-10 13:50:10,252 - INFO - CLOSED long at 2067.53 | PnL: -0.12% | $-0.43 +2025-03-10 13:50:10,253 - INFO - OPENED SHORT at 2067.53 | Stop loss: 2077.882592857143 | Take profit: 2036.494635714286 +2025-03-10 13:50:10,305 - INFO - CLOSED short at 2065.29 | PnL: 0.11% | $0.02 +2025-03-10 13:50:10,306 - INFO - OPENED LONG at 2065.29 | Stop loss: 2054.948607142857 | Take profit: 2096.2917642857146 +2025-03-10 13:50:11,508 - INFO - CLOSED long at 2067.19 | PnL: 0.09% | $-0.02 +2025-03-10 13:50:11,509 - INFO - OPENED SHORT at 2067.19 | Stop loss: 2077.540892857143 | Take profit: 2036.1597357142857 +2025-03-10 13:50:11,573 - INFO - CLOSED short at 2065.5 | PnL: 0.08% | $-0.04 +2025-03-10 13:50:11,573 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.157557142857 | Take profit: 2096.504914285714 +2025-03-10 13:50:12,141 - INFO - STOP LOSS hit for long at 2055.157557142857 | PnL: -0.50% | $-1.18 +2025-03-10 13:50:12,871 - INFO - OPENED LONG at 2070.24 | Stop loss: 2059.873857142857 | Take profit: 2101.3160142857137 +2025-03-10 13:50:13,241 - INFO - TAKE PROFIT hit for long at 2101.3160142857137 | PnL: 1.50% | $2.71 +2025-03-10 13:50:13,263 - INFO - OPENED LONG at 2130.7 | Stop loss: 2120.031557142857 | Take profit: 2162.682914285714 +2025-03-10 13:50:13,282 - INFO - CLOSED long at 2139.54 | PnL: 0.41% | $0.63 +2025-03-10 13:50:13,282 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2526428571427 | Take profit: 2107.4244857142858 +2025-03-10 13:50:13,303 - INFO - CLOSED short at 2131.78 | PnL: 0.36% | $0.53 +2025-03-10 13:50:13,304 - INFO - OPENED LONG at 2131.78 | Stop loss: 2121.1061571428572 | Take profit: 2163.7791142857145 +2025-03-10 13:50:13,642 - INFO - STOP LOSS hit for long at 2121.1061571428572 | PnL: -0.50% | $-1.21 +2025-03-10 13:50:13,715 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.315407142857 | Take profit: 2151.751364285714 +2025-03-10 13:50:13,902 - INFO - STOP LOSS hit for long at 2109.315407142857 | PnL: -0.50% | $-1.20 +2025-03-10 13:50:14,127 - INFO - OPENED LONG at 2116.48 | Stop loss: 2105.882657142857 | Take profit: 2148.249614285714 +2025-03-10 13:50:14,299 - INFO - STOP LOSS hit for long at 2105.882657142857 | PnL: -0.50% | $-1.18 +2025-03-10 13:50:14,339 - INFO - OPENED LONG at 2100.5 | Stop loss: 2089.982557142857 | Take profit: 2132.029914285714 +2025-03-10 13:50:14,967 - INFO - STOP LOSS hit for long at 2089.982557142857 | PnL: -0.50% | $-1.17 +2025-03-10 13:50:15,085 - INFO - OPENED LONG at 2085.3 | Stop loss: 2074.8585571428575 | Take profit: 2116.6019142857144 +2025-03-10 13:50:15,997 - INFO - CLOSED long at 2099.89 | PnL: 0.70% | $1.15 +2025-03-10 13:50:15,997 - INFO - OPENED SHORT at 2099.89 | Stop loss: 2110.4043928571427 | Take profit: 2068.3692357142854 +2025-03-10 13:50:16,041 - INFO - CLOSED short at 2099.73 | PnL: 0.01% | $-0.18 +2025-03-10 13:50:16,041 - INFO - OPENED LONG at 2099.73 | Stop loss: 2089.216407142857 | Take profit: 2131.2483642857146 +2025-03-10 13:50:17,318 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.68, Avg Loss=$-0.61 +2025-03-10 13:50:17,319 - INFO - Episode 22: Reward=-3.54, Balance=$97.61, Win Rate=39.1%, Trades=23, Episode PnL=$-3.69, Total PnL=$-165.30, Max Drawdown=3.6%, Pred Accuracy=98.7% +2025-03-10 13:50:17,319 - INFO - Reducing learning rate to 0.000073 +2025-03-10 13:50:17,619 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:50:19,698 - INFO - CLOSED long at 2066.8 | PnL: 0.19% | $0.18 +2025-03-10 13:50:19,720 - INFO - OPENED LONG at 2065.49 | Stop loss: 2055.147607142857 | Take profit: 2096.494764285714 +2025-03-10 13:50:20,312 - INFO - CLOSED long at 2065.28 | PnL: -0.01% | $-0.22 +2025-03-10 13:50:20,349 - INFO - OPENED LONG at 2066.39 | Stop loss: 2056.043107142857 | Take profit: 2097.408264285714 +2025-03-10 13:50:20,764 - INFO - CLOSED long at 2061.3 | PnL: -0.25% | $-0.69 +2025-03-10 13:50:20,818 - INFO - OPENED LONG at 2064.96 | Stop loss: 2054.620257142857 | Take profit: 2095.9568142857142 +2025-03-10 13:50:21,710 - INFO - CLOSED long at 2060.7 | PnL: -0.21% | $-0.60 +2025-03-10 13:50:21,711 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.018442857143 | Take profit: 2029.7670857142855 +2025-03-10 13:50:21,734 - INFO - CLOSED short at 2061.09 | PnL: -0.02% | $-0.23 +2025-03-10 13:50:21,734 - INFO - OPENED LONG at 2061.09 | Stop loss: 2050.7696071428572 | Take profit: 2092.0287642857143 +2025-03-10 13:50:22,891 - INFO - CLOSED long at 2071.6 | PnL: 0.51% | $0.80 +2025-03-10 13:50:22,892 - INFO - OPENED SHORT at 2071.6 | Stop loss: 2081.972942857143 | Take profit: 2040.5035857142857 +2025-03-10 13:50:22,913 - INFO - CLOSED short at 2073.23 | PnL: -0.08% | $-0.35 +2025-03-10 13:50:22,914 - INFO - OPENED LONG at 2073.23 | Stop loss: 2062.848907142857 | Take profit: 2104.3508642857146 +2025-03-10 13:50:23,747 - INFO - CLOSED long at 2070.9 | PnL: -0.11% | $-0.42 +2025-03-10 13:50:23,748 - INFO - OPENED SHORT at 2070.9 | Stop loss: 2081.269442857143 | Take profit: 2039.8140857142857 +2025-03-10 13:50:23,802 - INFO - CLOSED short at 2070.7 | PnL: 0.01% | $-0.18 +2025-03-10 13:50:23,802 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.331557142857 | Take profit: 2101.782914285714 +2025-03-10 13:50:25,139 - INFO - STOP LOSS hit for long at 2060.331557142857 | PnL: -0.50% | $-1.17 +2025-03-10 13:50:25,263 - INFO - OPENED LONG at 2053.01 | Stop loss: 2042.7300071428574 | Take profit: 2083.8275642857143 +2025-03-10 13:50:25,954 - INFO - CLOSED long at 2070.24 | PnL: 0.84% | $1.43 +2025-03-10 13:50:26,008 - INFO - OPENED LONG at 2069.81 | Stop loss: 2059.446007142857 | Take profit: 2100.8795642857144 +2025-03-10 13:50:26,152 - INFO - CLOSED long at 2074.9 | PnL: 0.25% | $0.29 +2025-03-10 13:50:26,152 - INFO - OPENED SHORT at 2074.9 | Stop loss: 2085.2894428571426 | Take profit: 2043.7540857142858 +2025-03-10 13:50:26,172 - INFO - CLOSED short at 2076.08 | PnL: -0.06% | $-0.31 +2025-03-10 13:50:26,172 - INFO - OPENED LONG at 2076.08 | Stop loss: 2065.6846571428573 | Take profit: 2107.2436142857146 +2025-03-10 13:50:26,345 - INFO - TAKE PROFIT hit for long at 2107.2436142857146 | PnL: 1.50% | $2.74 +2025-03-10 13:50:26,488 - INFO - OPENED LONG at 2141.3 | Stop loss: 2130.5785571428573 | Take profit: 2173.441914285714 +2025-03-10 13:50:26,577 - INFO - STOP LOSS hit for long at 2130.5785571428573 | PnL: -0.50% | $-1.21 +2025-03-10 13:50:26,726 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.534307142857 | Take profit: 2151.9746642857144 +2025-03-10 13:50:26,929 - INFO - STOP LOSS hit for long at 2109.534307142857 | PnL: -0.50% | $-1.19 +2025-03-10 13:50:26,978 - INFO - OPENED LONG at 2109.05 | Stop loss: 2098.4898071428574 | Take profit: 2140.7081642857147 +2025-03-10 13:50:27,410 - INFO - STOP LOSS hit for long at 2098.4898071428574 | PnL: -0.50% | $-1.18 +2025-03-10 13:50:27,565 - INFO - OPENED LONG at 2102.19 | Stop loss: 2091.664107142857 | Take profit: 2133.7452642857143 +2025-03-10 13:50:28,029 - INFO - STOP LOSS hit for long at 2091.664107142857 | PnL: -0.50% | $-1.17 +2025-03-10 13:50:28,090 - INFO - OPENED LONG at 2088.35 | Stop loss: 2077.8933071428573 | Take profit: 2119.6976642857144 +2025-03-10 13:50:30,265 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.09, Avg Loss=$-0.69 +2025-03-10 13:50:30,266 - INFO - Episode 23: Reward=-7.15, Balance=$96.52, Win Rate=27.8%, Trades=18, Episode PnL=$-3.55, Total PnL=$-168.79, Max Drawdown=4.7%, Pred Accuracy=98.7% +2025-03-10 13:50:30,266 - INFO - Reducing learning rate to 0.000066 +2025-03-10 13:50:30,629 - INFO - OPENED LONG at 2057.8 | Stop loss: 2047.4960571428574 | Take profit: 2088.6894142857145 +2025-03-10 13:50:31,043 - INFO - CLOSED long at 2068.65 | PnL: 0.53% | $0.85 +2025-03-10 13:50:31,044 - INFO - OPENED SHORT at 2068.65 | Stop loss: 2079.008192857143 | Take profit: 2037.5978357142858 +2025-03-10 13:50:31,066 - INFO - CLOSED short at 2068.99 | PnL: -0.02% | $-0.23 +2025-03-10 13:50:31,067 - INFO - OPENED LONG at 2068.99 | Stop loss: 2058.630107142857 | Take profit: 2100.047264285714 +2025-03-10 13:50:34,854 - INFO - STOP LOSS hit for long at 2058.630107142857 | PnL: -0.50% | $-1.20 +2025-03-10 13:50:34,892 - INFO - OPENED LONG at 2058.28 | Stop loss: 2047.9736571428573 | Take profit: 2089.1766142857145 +2025-03-10 13:50:35,462 - INFO - CLOSED long at 2067.01 | PnL: 0.42% | $0.64 +2025-03-10 13:50:35,462 - INFO - OPENED SHORT at 2067.01 | Stop loss: 2077.359992857143 | Take profit: 2035.9824357142859 +2025-03-10 13:50:35,506 - INFO - CLOSED short at 2069.79 | PnL: -0.13% | $-0.47 +2025-03-10 13:50:35,507 - INFO - OPENED LONG at 2069.79 | Stop loss: 2059.426107142857 | Take profit: 2100.8592642857143 +2025-03-10 13:50:36,860 - INFO - CLOSED long at 2069.78 | PnL: -0.00% | $-0.20 +2025-03-10 13:50:36,930 - INFO - OPENED LONG at 2074.37 | Stop loss: 2063.9832071428573 | Take profit: 2105.5079642857145 +2025-03-10 13:50:37,129 - INFO - CLOSED long at 2074.0 | PnL: -0.02% | $-0.23 +2025-03-10 13:50:37,130 - INFO - OPENED SHORT at 2074.0 | Stop loss: 2084.384942857143 | Take profit: 2042.8675857142857 +2025-03-10 13:50:37,150 - INFO - CLOSED short at 2072.09 | PnL: 0.09% | $-0.02 +2025-03-10 13:50:37,151 - INFO - OPENED LONG at 2072.09 | Stop loss: 2061.7146071428574 | Take profit: 2103.1937642857147 +2025-03-10 13:50:37,490 - INFO - CLOSED long at 2070.1 | PnL: -0.10% | $-0.39 +2025-03-10 13:50:37,700 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.058107142857 | Take profit: 2094.363264285714 +2025-03-10 13:50:38,226 - INFO - CLOSED long at 2053.01 | PnL: -0.50% | $-1.18 +2025-03-10 13:50:38,252 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.9490071428572 | Take profit: 2079.9705642857143 +2025-03-10 13:50:38,295 - INFO - CLOSED long at 2051.99 | PnL: 0.14% | $0.07 +2025-03-10 13:50:38,321 - INFO - OPENED LONG at 2058.3 | Stop loss: 2047.9935571428573 | Take profit: 2089.1969142857147 +2025-03-10 13:50:38,668 - INFO - CLOSED long at 2066.59 | PnL: 0.40% | $0.59 +2025-03-10 13:50:38,690 - INFO - OPENED LONG at 2064.08 | Stop loss: 2053.744657142857 | Take profit: 2095.0636142857143 +2025-03-10 13:50:38,714 - INFO - CLOSED long at 2061.21 | PnL: -0.14% | $-0.47 +2025-03-10 13:50:38,739 - INFO - OPENED LONG at 2059.9 | Stop loss: 2049.5855571428574 | Take profit: 2090.8209142857145 +2025-03-10 13:50:39,294 - INFO - TAKE PROFIT hit for long at 2090.8209142857145 | PnL: 1.50% | $2.72 +2025-03-10 13:50:39,332 - INFO - OPENED LONG at 2130.7 | Stop loss: 2120.031557142857 | Take profit: 2162.682914285714 +2025-03-10 13:50:39,389 - INFO - CLOSED long at 2131.78 | PnL: 0.05% | $-0.10 +2025-03-10 13:50:39,389 - INFO - OPENED SHORT at 2131.78 | Stop loss: 2142.453842857143 | Take profit: 2099.780885714286 +2025-03-10 13:50:39,480 - INFO - CLOSED short at 2141.3 | PnL: -0.45% | $-1.09 +2025-03-10 13:50:39,481 - INFO - OPENED LONG at 2141.3 | Stop loss: 2130.5785571428573 | Take profit: 2173.441914285714 +2025-03-10 13:50:39,567 - INFO - STOP LOSS hit for long at 2130.5785571428573 | PnL: -0.50% | $-1.18 +2025-03-10 13:50:39,679 - INFO - OPENED LONG at 2121.09 | Stop loss: 2110.469607142857 | Take profit: 2152.9287642857144 +2025-03-10 13:50:39,901 - INFO - STOP LOSS hit for long at 2110.469607142857 | PnL: -0.50% | $-1.17 +2025-03-10 13:50:39,945 - INFO - OPENED LONG at 2109.05 | Stop loss: 2098.4898071428574 | Take profit: 2140.7081642857147 +2025-03-10 13:50:40,074 - INFO - CLOSED long at 2113.24 | PnL: 0.20% | $0.19 +2025-03-10 13:50:40,152 - INFO - OPENED LONG at 2120.81 | Stop loss: 2110.191007142857 | Take profit: 2152.6445642857143 +2025-03-10 13:50:40,249 - INFO - STOP LOSS hit for long at 2110.191007142857 | PnL: -0.50% | $-1.16 +2025-03-10 13:50:40,294 - INFO - OPENED LONG at 2108.06 | Stop loss: 2097.504757142857 | Take profit: 2139.7033142857144 +2025-03-10 13:50:40,367 - INFO - STOP LOSS hit for long at 2097.504757142857 | PnL: -0.50% | $-1.14 +2025-03-10 13:50:40,413 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0174071428573 | Take profit: 2131.0453642857146 +2025-03-10 13:50:41,087 - INFO - STOP LOSS hit for long at 2089.0174071428573 | PnL: -0.50% | $-1.13 +2025-03-10 13:50:41,175 - INFO - OPENED LONG at 2085.3 | Stop loss: 2074.8585571428575 | Take profit: 2116.6019142857144 +2025-03-10 13:50:43,284 - INFO - TAKE PROFIT hit for long at 2116.6019142857144 | PnL: 1.50% | $2.61 +2025-03-10 13:50:43,456 - INFO - OPENED LONG at 2114.71 | Stop loss: 2104.121507142857 | Take profit: 2146.4530642857144 +2025-03-10 13:50:43,526 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.09, Avg Loss=$-0.71 +2025-03-10 13:50:43,527 - INFO - Episode 24: Reward=-10.14, Balance=$96.30, Win Rate=30.4%, Trades=23, Episode PnL=$-4.86, Total PnL=$-172.48, Max Drawdown=6.8%, Pred Accuracy=98.8% +2025-03-10 13:50:43,528 - INFO - Reducing learning rate to 0.000059 +2025-03-10 13:50:43,868 - INFO - OPENED LONG at 2060.31 | Stop loss: 2049.993507142857 | Take profit: 2091.2370642857145 +2025-03-10 13:50:45,539 - INFO - CLOSED long at 2069.96 | PnL: 0.47% | $0.73 +2025-03-10 13:50:45,540 - INFO - OPENED SHORT at 2069.96 | Stop loss: 2080.3247428571426 | Take profit: 2038.8881857142858 +2025-03-10 13:50:45,707 - INFO - CLOSED short at 2072.15 | PnL: -0.11% | $-0.41 +2025-03-10 13:50:45,707 - INFO - OPENED LONG at 2072.15 | Stop loss: 2061.774307142857 | Take profit: 2103.254664285714 +2025-03-10 13:50:46,138 - INFO - CLOSED long at 2068.58 | PnL: -0.17% | $-0.54 +2025-03-10 13:50:46,138 - INFO - OPENED SHORT at 2068.58 | Stop loss: 2078.937842857143 | Take profit: 2037.5288857142857 +2025-03-10 13:50:46,163 - INFO - CLOSED short at 2068.8 | PnL: -0.01% | $-0.22 +2025-03-10 13:50:46,163 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.4410571428575 | Take profit: 2099.8544142857145 +2025-03-10 13:50:46,971 - INFO - CLOSED long at 2062.65 | PnL: -0.30% | $-0.79 +2025-03-10 13:50:47,152 - INFO - OPENED LONG at 2064.96 | Stop loss: 2054.620257142857 | Take profit: 2095.9568142857142 +2025-03-10 13:50:48,234 - INFO - CLOSED long at 2058.89 | PnL: -0.29% | $-0.77 +2025-03-10 13:50:48,234 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.1993928571424 | Take profit: 2027.9842357142857 +2025-03-10 13:50:48,291 - INFO - CLOSED short at 2059.96 | PnL: -0.05% | $-0.30 +2025-03-10 13:50:48,291 - INFO - OPENED LONG at 2059.96 | Stop loss: 2049.645257142857 | Take profit: 2090.881814285714 +2025-03-10 13:50:48,888 - INFO - CLOSED long at 2064.49 | PnL: 0.22% | $0.23 +2025-03-10 13:50:48,888 - INFO - OPENED SHORT at 2064.49 | Stop loss: 2074.827392857143 | Take profit: 2033.5002357142855 +2025-03-10 13:50:48,933 - INFO - CLOSED short at 2066.34 | PnL: -0.09% | $-0.37 +2025-03-10 13:50:48,934 - INFO - OPENED LONG at 2066.34 | Stop loss: 2055.9933571428573 | Take profit: 2097.3575142857144 +2025-03-10 13:50:49,726 - INFO - CLOSED long at 2063.95 | PnL: -0.12% | $-0.42 +2025-03-10 13:50:49,726 - INFO - OPENED SHORT at 2063.95 | Stop loss: 2074.2846928571425 | Take profit: 2032.9683357142856 +2025-03-10 13:50:49,749 - INFO - CLOSED short at 2063.97 | PnL: -0.00% | $-0.19 +2025-03-10 13:50:49,750 - INFO - OPENED LONG at 2063.97 | Stop loss: 2053.635207142857 | Take profit: 2094.951964285714 +2025-03-10 13:50:50,174 - INFO - CLOSED long at 2069.69 | PnL: 0.28% | $0.34 +2025-03-10 13:50:50,245 - INFO - OPENED LONG at 2070.8 | Stop loss: 2060.4310571428573 | Take profit: 2101.8844142857147 +2025-03-10 13:50:50,946 - INFO - CLOSED long at 2067.88 | PnL: -0.14% | $-0.47 +2025-03-10 13:50:50,972 - INFO - OPENED LONG at 2065.45 | Stop loss: 2055.107807142857 | Take profit: 2096.4541642857143 +2025-03-10 13:50:51,666 - INFO - STOP LOSS hit for long at 2055.107807142857 | PnL: -0.50% | $-1.16 +2025-03-10 13:50:51,709 - INFO - OPENED LONG at 2049.5 | Stop loss: 2039.237557142857 | Take profit: 2080.264914285714 +2025-03-10 13:50:52,081 - INFO - CLOSED long at 2066.59 | PnL: 0.83% | $1.39 +2025-03-10 13:50:52,105 - INFO - OPENED LONG at 2064.08 | Stop loss: 2053.744657142857 | Take profit: 2095.0636142857143 +2025-03-10 13:50:52,124 - INFO - CLOSED long at 2061.21 | PnL: -0.14% | $-0.46 +2025-03-10 13:50:52,126 - INFO - OPENED SHORT at 2061.21 | Stop loss: 2071.5309928571432 | Take profit: 2030.269435714286 +2025-03-10 13:50:52,148 - INFO - CLOSED short at 2059.9 | PnL: 0.06% | $-0.07 +2025-03-10 13:50:52,148 - INFO - OPENED LONG at 2059.9 | Stop loss: 2049.5855571428574 | Take profit: 2090.8209142857145 +2025-03-10 13:50:52,435 - INFO - CLOSED long at 2073.49 | PnL: 0.66% | $1.07 +2025-03-10 13:50:52,457 - INFO - OPENED LONG at 2074.05 | Stop loss: 2063.664807142857 | Take profit: 2105.183164285714 +2025-03-10 13:50:52,767 - INFO - TAKE PROFIT hit for long at 2105.183164285714 | PnL: 1.50% | $2.72 +2025-03-10 13:50:52,815 - INFO - OPENED LONG at 2131.78 | Stop loss: 2121.1061571428572 | Take profit: 2163.7791142857145 +2025-03-10 13:50:53,101 - INFO - STOP LOSS hit for long at 2121.1061571428572 | PnL: -0.50% | $-1.20 +2025-03-10 13:50:53,257 - INFO - OPENED LONG at 2119.14 | Stop loss: 2108.529357142857 | Take profit: 2150.949514285714 +2025-03-10 13:50:53,326 - INFO - STOP LOSS hit for long at 2108.529357142857 | PnL: -0.50% | $-1.18 +2025-03-10 13:50:53,558 - INFO - OPENED LONG at 2113.24 | Stop loss: 2102.658857142857 | Take profit: 2144.961014285714 +2025-03-10 13:50:53,814 - INFO - STOP LOSS hit for long at 2102.658857142857 | PnL: -0.50% | $-1.17 +2025-03-10 13:50:53,858 - INFO - OPENED LONG at 2090.0 | Stop loss: 2079.535057142857 | Take profit: 2121.3724142857145 +2025-03-10 13:50:55,325 - INFO - CLOSED long at 2091.05 | PnL: 0.05% | $-0.10 +2025-03-10 13:50:55,325 - INFO - OPENED SHORT at 2091.05 | Stop loss: 2101.5201928571432 | Take profit: 2059.6618357142856 +2025-03-10 13:50:55,347 - INFO - CLOSED short at 2091.95 | PnL: -0.04% | $-0.27 +2025-03-10 13:50:55,348 - INFO - OPENED LONG at 2091.95 | Stop loss: 2081.4753071428568 | Take profit: 2123.351664285714 +2025-03-10 13:50:55,672 - INFO - CLOSED long at 2103.48 | PnL: 0.55% | $0.86 +2025-03-10 13:50:55,714 - INFO - OPENED LONG at 2103.81 | Stop loss: 2093.276007142857 | Take profit: 2135.3895642857146 +2025-03-10 13:50:56,797 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.05, Avg Loss=$-0.56 +2025-03-10 13:50:56,797 - INFO - Episode 25: Reward=-12.53, Balance=$97.27, Win Rate=28.0%, Trades=25, Episode PnL=$-1.40, Total PnL=$-175.21, Max Drawdown=4.3%, Pred Accuracy=98.9% +2025-03-10 13:50:56,798 - INFO - Reducing learning rate to 0.000053 +2025-03-10 13:50:56,984 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:50:57,232 - INFO - CLOSED long at 2070.58 | PnL: 0.37% | $0.54 +2025-03-10 13:50:57,274 - INFO - OPENED LONG at 2068.11 | Stop loss: 2057.754507142857 | Take profit: 2099.1540642857144 +2025-03-10 13:50:57,449 - INFO - CLOSED long at 2068.99 | PnL: 0.04% | $-0.11 +2025-03-10 13:50:57,449 - INFO - OPENED SHORT at 2068.99 | Stop loss: 2079.3498928571425 | Take profit: 2037.9327357142854 +2025-03-10 13:50:57,517 - INFO - CLOSED short at 2070.26 | PnL: -0.06% | $-0.32 +2025-03-10 13:50:57,518 - INFO - OPENED LONG at 2070.26 | Stop loss: 2059.8937571428573 | Take profit: 2101.3363142857143 +2025-03-10 13:50:58,304 - INFO - CLOSED long at 2068.9 | PnL: -0.07% | $-0.33 +2025-03-10 13:50:58,406 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.033057142857 | Take profit: 2101.4784142857143 +2025-03-10 13:50:59,421 - INFO - CLOSED long at 2070.4 | PnL: 0.00% | $-0.20 +2025-03-10 13:50:59,421 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.766942857143 | Take profit: 2039.3215857142857 +2025-03-10 13:50:59,468 - INFO - CLOSED short at 2068.5 | PnL: 0.09% | $-0.02 +2025-03-10 13:50:59,469 - INFO - OPENED LONG at 2068.5 | Stop loss: 2058.142557142857 | Take profit: 2099.5499142857143 +2025-03-10 13:51:00,721 - INFO - CLOSED long at 2064.1 | PnL: -0.21% | $-0.62 +2025-03-10 13:51:00,743 - INFO - OPENED LONG at 2065.36 | Stop loss: 2055.0182571428572 | Take profit: 2096.362814285714 +2025-03-10 13:51:01,355 - INFO - STOP LOSS hit for long at 2055.0182571428572 | PnL: -0.50% | $-1.18 +2025-03-10 13:51:01,384 - INFO - OPENED LONG at 2054.83 | Stop loss: 2044.540907142857 | Take profit: 2085.674864285714 +2025-03-10 13:51:05,527 - INFO - TAKE PROFIT hit for long at 2085.674864285714 | PnL: 1.50% | $2.72 +2025-03-10 13:51:05,551 - INFO - OPENED LONG at 2103.02 | Stop loss: 2092.4899571428573 | Take profit: 2134.587714285714 +2025-03-10 13:51:05,613 - INFO - TAKE PROFIT hit for long at 2134.587714285714 | PnL: 1.50% | $2.80 +2025-03-10 13:51:05,658 - INFO - OPENED LONG at 2131.78 | Stop loss: 2121.1061571428572 | Take profit: 2163.7791142857145 +2025-03-10 13:51:05,945 - INFO - STOP LOSS hit for long at 2121.1061571428572 | PnL: -0.50% | $-1.23 +2025-03-10 13:51:05,967 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.534307142857 | Take profit: 2151.9746642857144 +2025-03-10 13:51:06,230 - INFO - STOP LOSS hit for long at 2109.534307142857 | PnL: -0.50% | $-1.22 +2025-03-10 13:51:06,362 - INFO - OPENED LONG at 2113.24 | Stop loss: 2102.658857142857 | Take profit: 2144.961014285714 +2025-03-10 13:51:06,668 - INFO - STOP LOSS hit for long at 2102.658857142857 | PnL: -0.50% | $-1.20 +2025-03-10 13:51:06,690 - INFO - OPENED LONG at 2090.0 | Stop loss: 2079.535057142857 | Take profit: 2121.3724142857145 +2025-03-10 13:51:08,053 - INFO - CLOSED long at 2094.7 | PnL: 0.22% | $0.25 +2025-03-10 13:51:08,121 - INFO - OPENED LONG at 2099.99 | Stop loss: 2089.475107142857 | Take profit: 2131.512264285714 +2025-03-10 13:51:08,447 - INFO - CLOSED long at 2105.83 | PnL: 0.28% | $0.35 +2025-03-10 13:51:08,447 - INFO - OPENED SHORT at 2105.83 | Stop loss: 2116.374092857143 | Take profit: 2074.220135714286 +2025-03-10 13:51:08,492 - INFO - CLOSED short at 2103.64 | PnL: 0.10% | $0.01 +2025-03-10 13:51:08,493 - INFO - OPENED LONG at 2103.64 | Stop loss: 2093.106857142857 | Take profit: 2135.217014285714 +2025-03-10 13:51:09,539 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.11, Avg Loss=$-0.64 +2025-03-10 13:51:09,540 - INFO - Episode 26: Reward=-4.81, Balance=$100.23, Win Rate=37.5%, Trades=16, Episode PnL=$0.19, Total PnL=$-174.98, Max Drawdown=3.5%, Pred Accuracy=99.0% +2025-03-10 13:51:09,541 - INFO - Reducing learning rate to 0.000048 +2025-03-10 13:51:09,911 - INFO - OPENED LONG at 2059.49 | Stop loss: 2049.177607142857 | Take profit: 2090.404764285714 +2025-03-10 13:51:11,303 - INFO - CLOSED long at 2070.4 | PnL: 0.53% | $0.85 +2025-03-10 13:51:11,392 - INFO - OPENED LONG at 2071.39 | Stop loss: 2061.018107142857 | Take profit: 2102.483264285714 +2025-03-10 13:51:12,872 - INFO - STOP LOSS hit for long at 2061.018107142857 | PnL: -0.50% | $-1.20 +2025-03-10 13:51:12,971 - INFO - OPENED LONG at 2064.96 | Stop loss: 2054.620257142857 | Take profit: 2095.9568142857142 +2025-03-10 13:51:14,214 - INFO - CLOSED long at 2055.6 | PnL: -0.45% | $-1.09 +2025-03-10 13:51:14,215 - INFO - OPENED SHORT at 2055.6 | Stop loss: 2065.8929428571428 | Take profit: 2024.7435857142855 +2025-03-10 13:51:14,240 - INFO - CLOSED short at 2054.89 | PnL: 0.03% | $-0.13 +2025-03-10 13:51:14,240 - INFO - OPENED LONG at 2054.89 | Stop loss: 2044.6006071428571 | Take profit: 2085.7357642857146 +2025-03-10 13:51:14,261 - INFO - CLOSED long at 2054.83 | PnL: -0.00% | $-0.20 +2025-03-10 13:51:14,261 - INFO - OPENED SHORT at 2054.83 | Stop loss: 2065.1190928571427 | Take profit: 2023.9851357142857 +2025-03-10 13:51:14,327 - INFO - CLOSED short at 2059.8 | PnL: -0.24% | $-0.67 +2025-03-10 13:51:14,327 - INFO - OPENED LONG at 2059.8 | Stop loss: 2049.4860571428576 | Take profit: 2090.7194142857143 +2025-03-10 13:51:15,376 - INFO - CLOSED long at 2067.44 | PnL: 0.37% | $0.52 +2025-03-10 13:51:15,376 - INFO - OPENED SHORT at 2067.44 | Stop loss: 2077.792142857143 | Take profit: 2036.4059857142859 +2025-03-10 13:51:15,443 - INFO - CLOSED short at 2071.49 | PnL: -0.20% | $-0.58 +2025-03-10 13:51:15,443 - INFO - OPENED LONG at 2071.49 | Stop loss: 2061.1176071428567 | Take profit: 2102.5847642857143 +2025-03-10 13:51:17,021 - INFO - CLOSED long at 2066.09 | PnL: -0.26% | $-0.70 +2025-03-10 13:51:17,022 - INFO - OPENED SHORT at 2066.09 | Stop loss: 2076.4353928571427 | Take profit: 2035.0762357142858 +2025-03-10 13:51:17,045 - INFO - CLOSED short at 2063.39 | PnL: 0.13% | $0.06 +2025-03-10 13:51:17,046 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.058107142857 | Take profit: 2094.363264285714 +2025-03-10 13:51:17,174 - INFO - CLOSED long at 2064.5 | PnL: 0.05% | $-0.09 +2025-03-10 13:51:17,211 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.9834071428572 | Take profit: 2097.3473642857143 +2025-03-10 13:51:17,445 - INFO - STOP LOSS hit for long at 2055.9834071428572 | PnL: -0.50% | $-1.15 +2025-03-10 13:51:17,466 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.9490071428572 | Take profit: 2079.9705642857143 +2025-03-10 13:51:18,257 - INFO - CLOSED long at 2072.99 | PnL: 1.16% | $2.01 +2025-03-10 13:51:18,258 - INFO - OPENED SHORT at 2072.99 | Stop loss: 2083.369892857143 | Take profit: 2041.8727357142855 +2025-03-10 13:51:18,280 - INFO - CLOSED short at 2071.89 | PnL: 0.05% | $-0.09 +2025-03-10 13:51:18,281 - INFO - OPENED LONG at 2071.89 | Stop loss: 2061.515607142857 | Take profit: 2102.9907642857142 +2025-03-10 13:51:18,483 - INFO - TAKE PROFIT hit for long at 2102.9907642857142 | PnL: 1.50% | $2.71 +2025-03-10 13:51:18,521 - INFO - OPENED LONG at 2130.7 | Stop loss: 2120.031557142857 | Take profit: 2162.682914285714 +2025-03-10 13:51:18,980 - INFO - STOP LOSS hit for long at 2120.031557142857 | PnL: -0.50% | $-1.20 +2025-03-10 13:51:19,004 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.315407142857 | Take profit: 2151.751364285714 +2025-03-10 13:51:19,145 - INFO - STOP LOSS hit for long at 2109.315407142857 | PnL: -0.50% | $-1.18 +2025-03-10 13:51:19,205 - INFO - OPENED LONG at 2109.05 | Stop loss: 2098.4898071428574 | Take profit: 2140.7081642857147 +2025-03-10 13:51:19,641 - INFO - STOP LOSS hit for long at 2098.4898071428574 | PnL: -0.50% | $-1.17 +2025-03-10 13:51:19,694 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0174071428573 | Take profit: 2131.0453642857146 +2025-03-10 13:51:20,286 - INFO - CLOSED long at 2091.1 | PnL: -0.40% | $-0.96 +2025-03-10 13:51:20,286 - INFO - OPENED SHORT at 2091.1 | Stop loss: 2101.5704428571426 | Take profit: 2059.7110857142857 +2025-03-10 13:51:20,308 - INFO - CLOSED short at 2094.72 | PnL: -0.17% | $-0.52 +2025-03-10 13:51:20,308 - INFO - OPENED LONG at 2094.72 | Stop loss: 2084.231457142857 | Take profit: 2126.1632142857143 +2025-03-10 13:51:20,380 - INFO - STOP LOSS hit for long at 2084.231457142857 | PnL: -0.50% | $-1.14 +2025-03-10 13:51:20,451 - INFO - OPENED LONG at 2083.97 | Stop loss: 2073.535207142857 | Take profit: 2115.251964285714 +2025-03-10 13:51:20,822 - INFO - CLOSED long at 2088.66 | PnL: 0.23% | $0.23 +2025-03-10 13:51:20,822 - INFO - OPENED SHORT at 2088.66 | Stop loss: 2099.118242857143 | Take profit: 2057.3076857142855 +2025-03-10 13:51:21,038 - INFO - CLOSED short at 2086.81 | PnL: 0.09% | $-0.02 +2025-03-10 13:51:21,038 - INFO - OPENED LONG at 2086.81 | Stop loss: 2076.361007142857 | Take profit: 2118.1345642857145 +2025-03-10 13:51:21,289 - INFO - CLOSED long at 2099.99 | PnL: 0.63% | $1.00 +2025-03-10 13:51:21,290 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.5048928571427 | Take profit: 2068.4677357142855 +2025-03-10 13:51:21,413 - INFO - CLOSED short at 2099.89 | PnL: 0.00% | $-0.18 +2025-03-10 13:51:21,414 - INFO - OPENED LONG at 2099.89 | Stop loss: 2089.375607142857 | Take profit: 2131.410764285714 +2025-03-10 13:51:21,624 - INFO - CLOSED long at 2101.5 | PnL: 0.08% | $-0.04 +2025-03-10 13:51:21,625 - INFO - OPENED SHORT at 2101.5 | Stop loss: 2112.0224428571432 | Take profit: 2069.955085714286 +2025-03-10 13:51:21,857 - INFO - CLOSED short at 2100.0 | PnL: 0.07% | $-0.05 +2025-03-10 13:51:21,858 - INFO - OPENED LONG at 2100.0 | Stop loss: 2089.485057142857 | Take profit: 2131.522414285714 +2025-03-10 13:51:22,712 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.06, Avg Loss=$-0.62 +2025-03-10 13:51:22,713 - INFO - Episode 27: Reward=-12.96, Balance=$95.03, Win Rate=25.9%, Trades=27, Episode PnL=$-5.74, Total PnL=$-179.95, Max Drawdown=6.7%, Pred Accuracy=99.0% +2025-03-10 13:51:22,713 - INFO - Reducing learning rate to 0.000043 +2025-03-10 13:51:23,026 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:51:24,455 - INFO - CLOSED long at 2068.51 | PnL: 0.27% | $0.34 +2025-03-10 13:51:24,500 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.2321071428573 | Take profit: 2099.6412642857144 +2025-03-10 13:51:24,718 - INFO - CLOSED long at 2072.7 | PnL: 0.20% | $0.20 +2025-03-10 13:51:24,719 - INFO - OPENED SHORT at 2072.7 | Stop loss: 2083.078442857143 | Take profit: 2041.5870857142854 +2025-03-10 13:51:24,796 - INFO - CLOSED short at 2073.9 | PnL: -0.06% | $-0.32 +2025-03-10 13:51:24,797 - INFO - OPENED LONG at 2073.9 | Stop loss: 2063.5155571428572 | Take profit: 2105.0309142857145 +2025-03-10 13:51:26,019 - INFO - CLOSED long at 2065.69 | PnL: -0.40% | $-0.99 +2025-03-10 13:51:26,202 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:51:26,342 - INFO - CLOSED long at 2066.24 | PnL: 0.16% | $0.12 +2025-03-10 13:51:26,342 - INFO - OPENED SHORT at 2066.24 | Stop loss: 2076.586142857143 | Take profit: 2035.2239857142854 +2025-03-10 13:51:26,562 - INFO - CLOSED short at 2062.71 | PnL: 0.17% | $0.14 +2025-03-10 13:51:26,563 - INFO - OPENED LONG at 2062.71 | Stop loss: 2052.381507142857 | Take profit: 2093.673064285714 +2025-03-10 13:51:26,787 - INFO - CLOSED long at 2061.8 | PnL: -0.04% | $-0.28 +2025-03-10 13:51:26,832 - INFO - OPENED LONG at 2064.7 | Stop loss: 2054.361557142857 | Take profit: 2095.6929142857143 +2025-03-10 13:51:30,692 - INFO - STOP LOSS hit for long at 2054.361557142857 | PnL: -0.50% | $-1.18 +2025-03-10 13:51:30,716 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.9490071428572 | Take profit: 2079.9705642857143 +2025-03-10 13:51:31,084 - INFO - CLOSED long at 2067.49 | PnL: 0.89% | $1.54 +2025-03-10 13:51:31,085 - INFO - OPENED SHORT at 2067.49 | Stop loss: 2077.8423928571424 | Take profit: 2036.4552357142857 +2025-03-10 13:51:31,150 - INFO - CLOSED short at 2061.21 | PnL: 0.30% | $0.40 +2025-03-10 13:51:31,152 - INFO - OPENED LONG at 2061.21 | Stop loss: 2050.8890071428573 | Take profit: 2092.150564285714 +2025-03-10 13:51:31,290 - INFO - CLOSED long at 2062.54 | PnL: 0.06% | $-0.07 +2025-03-10 13:51:31,290 - INFO - OPENED SHORT at 2062.54 | Stop loss: 2072.867642857143 | Take profit: 2031.5794857142857 +2025-03-10 13:51:31,329 - INFO - CLOSED short at 2065.72 | PnL: -0.15% | $-0.50 +2025-03-10 13:51:31,330 - INFO - OPENED LONG at 2065.72 | Stop loss: 2055.376457142857 | Take profit: 2096.728214285714 +2025-03-10 13:51:31,776 - INFO - TAKE PROFIT hit for long at 2096.728214285714 | PnL: 1.50% | $2.77 +2025-03-10 13:51:31,798 - INFO - OPENED LONG at 2130.7 | Stop loss: 2120.031557142857 | Take profit: 2162.682914285714 +2025-03-10 13:51:32,215 - INFO - STOP LOSS hit for long at 2120.031557142857 | PnL: -0.50% | $-1.22 +2025-03-10 13:51:32,262 - INFO - OPENED LONG at 2121.4 | Stop loss: 2110.778057142857 | Take profit: 2153.243414285714 +2025-03-10 13:51:32,372 - INFO - STOP LOSS hit for long at 2110.778057142857 | PnL: -0.50% | $-1.20 +2025-03-10 13:51:32,792 - INFO - OPENED LONG at 2100.5 | Stop loss: 2089.982557142857 | Take profit: 2132.029914285714 +2025-03-10 13:51:33,475 - INFO - STOP LOSS hit for long at 2089.982557142857 | PnL: -0.50% | $-1.19 +2025-03-10 13:51:33,497 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.848657142857 | Take profit: 2114.551614285714 +2025-03-10 13:51:34,804 - INFO - CLOSED long at 2100.0 | PnL: 0.80% | $1.37 +2025-03-10 13:51:34,804 - INFO - OPENED SHORT at 2100.0 | Stop loss: 2110.514942857143 | Take profit: 2068.477585714286 +2025-03-10 13:51:34,851 - INFO - CLOSED short at 2102.7 | PnL: -0.13% | $-0.45 +2025-03-10 13:51:34,852 - INFO - OPENED LONG at 2102.7 | Stop loss: 2092.171557142857 | Take profit: 2134.262914285714 +2025-03-10 13:51:35,675 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.86, Avg Loss=$-0.74 +2025-03-10 13:51:35,676 - INFO - Episode 28: Reward=-0.83, Balance=$99.48, Win Rate=44.4%, Trades=18, Episode PnL=$-3.69, Total PnL=$-180.48, Max Drawdown=3.5%, Pred Accuracy=99.2% +2025-03-10 13:51:35,833 - INFO - Model saved to models/trading_agent_best_winrate.pt +2025-03-10 13:51:35,834 - INFO - New best win rate model saved: 44.4% +2025-03-10 13:51:35,834 - INFO - Reducing learning rate to 0.000039 +2025-03-10 13:51:36,469 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.8045071428571 | Take profit: 2089.004064285715 +2025-03-10 13:51:36,759 - INFO - CLOSED long at 2070.99 | PnL: 0.63% | $1.04 +2025-03-10 13:51:36,759 - INFO - OPENED SHORT at 2070.99 | Stop loss: 2081.3598928571428 | Take profit: 2039.9027357142854 +2025-03-10 13:51:36,782 - INFO - CLOSED short at 2069.6 | PnL: 0.07% | $-0.07 +2025-03-10 13:51:36,782 - INFO - OPENED LONG at 2069.6 | Stop loss: 2059.237057142857 | Take profit: 2100.6664142857144 +2025-03-10 13:51:37,700 - INFO - CLOSED long at 2068.51 | PnL: -0.05% | $-0.31 +2025-03-10 13:51:37,701 - INFO - OPENED SHORT at 2068.51 | Stop loss: 2078.867492857143 | Take profit: 2037.4599357142858 +2025-03-10 13:51:37,741 - INFO - CLOSED short at 2069.7 | PnL: -0.06% | $-0.31 +2025-03-10 13:51:37,741 - INFO - OPENED LONG at 2069.7 | Stop loss: 2059.3365571428567 | Take profit: 2100.767914285714 +2025-03-10 13:51:38,144 - INFO - CLOSED long at 2069.46 | PnL: -0.01% | $-0.22 +2025-03-10 13:51:38,144 - INFO - OPENED SHORT at 2069.46 | Stop loss: 2079.822242857143 | Take profit: 2038.395685714286 +2025-03-10 13:51:38,217 - INFO - CLOSED short at 2068.32 | PnL: 0.06% | $-0.09 +2025-03-10 13:51:38,219 - INFO - OPENED LONG at 2068.32 | Stop loss: 2057.9634571428574 | Take profit: 2099.3672142857145 +2025-03-10 13:51:39,891 - INFO - CLOSED long at 2062.61 | PnL: -0.28% | $-0.75 +2025-03-10 13:51:39,891 - INFO - OPENED SHORT at 2062.61 | Stop loss: 2072.937992857143 | Take profit: 2031.648435714286 +2025-03-10 13:51:39,987 - INFO - CLOSED short at 2061.13 | PnL: 0.07% | $-0.06 +2025-03-10 13:51:39,988 - INFO - OPENED LONG at 2061.13 | Stop loss: 2050.8094071428573 | Take profit: 2092.0693642857145 +2025-03-10 13:51:40,892 - INFO - CLOSED long at 2061.5 | PnL: 0.02% | $-0.16 +2025-03-10 13:51:40,893 - INFO - OPENED SHORT at 2061.5 | Stop loss: 2071.822442857143 | Take profit: 2030.5550857142857 +2025-03-10 13:51:40,967 - INFO - CLOSED short at 2062.69 | PnL: -0.06% | $-0.31 +2025-03-10 13:51:40,968 - INFO - OPENED LONG at 2062.69 | Stop loss: 2052.3616071428573 | Take profit: 2093.6527642857145 +2025-03-10 13:51:41,088 - INFO - CLOSED long at 2066.01 | PnL: 0.16% | $0.12 +2025-03-10 13:51:41,128 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.5655571428574 | Take profit: 2094.8809142857144 +2025-03-10 13:51:41,203 - INFO - CLOSED long at 2066.34 | PnL: 0.12% | $0.04 +2025-03-10 13:51:41,231 - INFO - OPENED LONG at 2066.79 | Stop loss: 2056.441107142857 | Take profit: 2097.814264285714 +2025-03-10 13:51:43,469 - INFO - CLOSED long at 2069.0 | PnL: 0.11% | $0.01 +2025-03-10 13:51:43,517 - INFO - OPENED LONG at 2070.19 | Stop loss: 2059.8241071428574 | Take profit: 2101.2652642857142 +2025-03-10 13:51:44,030 - INFO - STOP LOSS hit for long at 2059.8241071428574 | PnL: -0.50% | $-1.18 +2025-03-10 13:51:44,076 - INFO - OPENED LONG at 2058.65 | Stop loss: 2048.3418071428573 | Take profit: 2089.5521642857143 +2025-03-10 13:51:44,118 - INFO - CLOSED long at 2053.01 | PnL: -0.27% | $-0.73 +2025-03-10 13:51:44,239 - INFO - OPENED LONG at 2058.3 | Stop loss: 2047.9935571428573 | Take profit: 2089.1969142857147 +2025-03-10 13:51:44,389 - INFO - CLOSED long at 2063.9 | PnL: 0.27% | $0.33 +2025-03-10 13:51:44,414 - INFO - OPENED LONG at 2065.1 | Stop loss: 2054.759557142857 | Take profit: 2096.0989142857143 +2025-03-10 13:51:44,862 - INFO - CLOSED long at 2069.34 | PnL: 0.21% | $0.20 +2025-03-10 13:51:44,862 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.7016428571433 | Take profit: 2038.2774857142858 +2025-03-10 13:51:44,885 - INFO - CLOSED short at 2069.81 | PnL: -0.02% | $-0.24 +2025-03-10 13:51:44,885 - INFO - OPENED LONG at 2069.81 | Stop loss: 2059.446007142857 | Take profit: 2100.8795642857144 +2025-03-10 13:51:45,114 - INFO - CLOSED long at 2074.9 | PnL: 0.25% | $0.28 +2025-03-10 13:51:45,115 - INFO - OPENED SHORT at 2074.9 | Stop loss: 2085.2894428571426 | Take profit: 2043.7540857142858 +2025-03-10 13:51:45,177 - INFO - CLOSED short at 2077.61 | PnL: -0.13% | $-0.45 +2025-03-10 13:51:45,177 - INFO - OPENED LONG at 2077.61 | Stop loss: 2067.2070071428575 | Take profit: 2108.796564285715 +2025-03-10 13:51:45,275 - INFO - TAKE PROFIT hit for long at 2108.796564285715 | PnL: 1.50% | $2.70 +2025-03-10 13:51:45,339 - INFO - OPENED LONG at 2133.95 | Stop loss: 2123.265307142857 | Take profit: 2165.9816642857145 +2025-03-10 13:51:45,732 - INFO - STOP LOSS hit for long at 2123.265307142857 | PnL: -0.50% | $-1.19 +2025-03-10 13:51:45,770 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.534307142857 | Take profit: 2151.9746642857144 +2025-03-10 13:51:46,019 - INFO - STOP LOSS hit for long at 2109.534307142857 | PnL: -0.50% | $-1.18 +2025-03-10 13:51:46,043 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032057142857 | Take profit: 2142.281414285714 +2025-03-10 13:51:46,370 - INFO - CLOSED long at 2108.71 | PnL: -0.09% | $-0.37 +2025-03-10 13:51:46,371 - INFO - OPENED SHORT at 2108.71 | Stop loss: 2119.268492857143 | Take profit: 2077.056935714286 +2025-03-10 13:51:46,395 - INFO - CLOSED short at 2106.49 | PnL: 0.11% | $0.01 +2025-03-10 13:51:46,396 - INFO - OPENED LONG at 2106.49 | Stop loss: 2095.942607142857 | Take profit: 2138.1097642857144 +2025-03-10 13:51:46,497 - INFO - STOP LOSS hit for long at 2095.942607142857 | PnL: -0.50% | $-1.16 +2025-03-10 13:51:46,521 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0174071428573 | Take profit: 2131.0453642857146 +2025-03-10 13:51:46,950 - INFO - CLOSED long at 2095.29 | PnL: -0.20% | $-0.58 +2025-03-10 13:51:47,105 - INFO - OPENED LONG at 2091.1 | Stop loss: 2080.6295571428573 | Take profit: 2122.488914285714 +2025-03-10 13:51:47,364 - INFO - STOP LOSS hit for long at 2080.6295571428573 | PnL: -0.50% | $-1.14 +2025-03-10 13:51:47,581 - INFO - OPENED LONG at 2086.57 | Stop loss: 2076.1222071428574 | Take profit: 2117.8909642857143 +2025-03-10 13:51:49,400 - INFO - TAKE PROFIT hit for long at 2117.8909642857143 | PnL: 1.50% | $2.62 +2025-03-10 13:51:49,445 - INFO - OPENED LONG at 2117.39 | Stop loss: 2106.788107142857 | Take profit: 2149.173264285714 +2025-03-10 13:51:49,642 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.74, Avg Loss=$-0.55 +2025-03-10 13:51:49,643 - INFO - Episode 29: Reward=-10.70, Balance=$96.89, Win Rate=34.5%, Trades=29, Episode PnL=$-2.83, Total PnL=$-183.58, Max Drawdown=5.7%, Pred Accuracy=99.4% +2025-03-10 13:51:49,644 - INFO - Reducing learning rate to 0.000035 +2025-03-10 13:51:49,824 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:51:50,031 - INFO - CLOSED long at 2064.32 | PnL: 0.07% | $-0.06 +2025-03-10 13:51:50,031 - INFO - OPENED SHORT at 2064.32 | Stop loss: 2074.6565428571434 | Take profit: 2033.3327857142858 +2025-03-10 13:51:50,067 - INFO - CLOSED short at 2065.86 | PnL: -0.07% | $-0.35 +2025-03-10 13:51:50,068 - INFO - OPENED LONG at 2065.86 | Stop loss: 2055.515757142857 | Take profit: 2096.8703142857144 +2025-03-10 13:51:50,190 - INFO - CLOSED long at 2067.89 | PnL: 0.10% | $-0.00 +2025-03-10 13:51:50,217 - INFO - OPENED LONG at 2071.63 | Stop loss: 2061.256907142857 | Take profit: 2102.7268642857143 +2025-03-10 13:51:51,135 - INFO - CLOSED long at 2066.18 | PnL: -0.26% | $-0.72 +2025-03-10 13:51:51,135 - INFO - OPENED SHORT at 2066.18 | Stop loss: 2076.525842857143 | Take profit: 2035.1648857142857 +2025-03-10 13:51:51,158 - INFO - CLOSED short at 2068.76 | PnL: -0.12% | $-0.44 +2025-03-10 13:51:51,158 - INFO - OPENED LONG at 2068.76 | Stop loss: 2058.4012571428575 | Take profit: 2099.8138142857147 +2025-03-10 13:51:52,054 - INFO - CLOSED long at 2067.86 | PnL: -0.04% | $-0.28 +2025-03-10 13:51:52,090 - INFO - OPENED LONG at 2067.59 | Stop loss: 2057.237107142857 | Take profit: 2098.6262642857146 +2025-03-10 13:51:52,966 - INFO - CLOSED long at 2059.59 | PnL: -0.39% | $-0.95 +2025-03-10 13:51:52,989 - INFO - OPENED LONG at 2061.3 | Stop loss: 2050.9785571428574 | Take profit: 2092.2419142857143 +2025-03-10 13:51:55,216 - INFO - CLOSED long at 2069.69 | PnL: 0.41% | $0.59 +2025-03-10 13:51:55,217 - INFO - OPENED SHORT at 2069.69 | Stop loss: 2080.053392857143 | Take profit: 2038.6222357142858 +2025-03-10 13:51:55,273 - INFO - CLOSED short at 2069.03 | PnL: 0.03% | $-0.13 +2025-03-10 13:51:55,274 - INFO - OPENED LONG at 2069.03 | Stop loss: 2058.669907142857 | Take profit: 2100.0878642857147 +2025-03-10 13:51:56,509 - INFO - CLOSED long at 2076.9 | PnL: 0.38% | $0.54 +2025-03-10 13:51:56,509 - INFO - OPENED SHORT at 2076.9 | Stop loss: 2087.299442857143 | Take profit: 2045.7240857142858 +2025-03-10 13:51:56,542 - INFO - CLOSED short at 2075.61 | PnL: 0.06% | $-0.07 +2025-03-10 13:51:56,543 - INFO - OPENED LONG at 2075.61 | Stop loss: 2065.2170071428573 | Take profit: 2106.7665642857146 +2025-03-10 13:51:57,031 - INFO - STOP LOSS hit for long at 2065.2170071428573 | PnL: -0.50% | $-1.17 +2025-03-10 13:51:57,055 - INFO - OPENED LONG at 2066.09 | Stop loss: 2055.744607142857 | Take profit: 2097.103764285714 +2025-03-10 13:51:57,471 - INFO - STOP LOSS hit for long at 2055.744607142857 | PnL: -0.50% | $-1.16 +2025-03-10 13:51:57,498 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.9490071428572 | Take profit: 2079.9705642857143 +2025-03-10 13:51:57,780 - INFO - CLOSED long at 2063.9 | PnL: 0.72% | $1.17 +2025-03-10 13:51:57,806 - INFO - OPENED LONG at 2065.1 | Stop loss: 2054.759557142857 | Take profit: 2096.0989142857143 +2025-03-10 13:51:58,647 - INFO - TAKE PROFIT hit for long at 2096.0989142857143 | PnL: 1.50% | $2.70 +2025-03-10 13:51:58,671 - INFO - OPENED LONG at 2130.7 | Stop loss: 2120.031557142857 | Take profit: 2162.682914285714 +2025-03-10 13:51:59,085 - INFO - STOP LOSS hit for long at 2120.031557142857 | PnL: -0.50% | $-1.19 +2025-03-10 13:51:59,115 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.315407142857 | Take profit: 2151.751364285714 +2025-03-10 13:51:59,332 - INFO - STOP LOSS hit for long at 2109.315407142857 | PnL: -0.50% | $-1.17 +2025-03-10 13:51:59,360 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032057142857 | Take profit: 2142.281414285714 +2025-03-10 13:51:59,805 - INFO - STOP LOSS hit for long at 2100.032057142857 | PnL: -0.50% | $-1.16 +2025-03-10 13:51:59,828 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0174071428573 | Take profit: 2131.0453642857146 +2025-03-10 13:52:00,456 - INFO - STOP LOSS hit for long at 2089.0174071428573 | PnL: -0.50% | $-1.15 +2025-03-10 13:52:00,500 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.848657142857 | Take profit: 2114.551614285714 +2025-03-10 13:52:00,741 - INFO - CLOSED long at 2083.59 | PnL: 0.01% | $-0.16 +2025-03-10 13:52:00,742 - INFO - OPENED SHORT at 2083.59 | Stop loss: 2094.022892857143 | Take profit: 2052.313735714286 +2025-03-10 13:52:00,774 - INFO - CLOSED short at 2086.57 | PnL: -0.14% | $-0.46 +2025-03-10 13:52:00,774 - INFO - OPENED LONG at 2086.57 | Stop loss: 2076.1222071428574 | Take profit: 2117.8909642857143 +2025-03-10 13:52:01,057 - INFO - CLOSED long at 2087.47 | PnL: 0.04% | $-0.11 +2025-03-10 13:52:01,057 - INFO - OPENED SHORT at 2087.47 | Stop loss: 2097.9222928571426 | Take profit: 2056.1355357142857 +2025-03-10 13:52:01,099 - INFO - CLOSED short at 2086.81 | PnL: 0.03% | $-0.13 +2025-03-10 13:52:01,100 - INFO - OPENED LONG at 2086.81 | Stop loss: 2076.361007142857 | Take profit: 2118.1345642857145 +2025-03-10 13:52:01,492 - INFO - CLOSED long at 2100.89 | PnL: 0.67% | $1.07 +2025-03-10 13:52:01,493 - INFO - OPENED SHORT at 2100.89 | Stop loss: 2111.409392857143 | Take profit: 2069.3542357142856 +2025-03-10 13:52:01,515 - INFO - CLOSED short at 2099.73 | PnL: 0.06% | $-0.08 +2025-03-10 13:52:01,515 - INFO - OPENED LONG at 2099.73 | Stop loss: 2089.216407142857 | Take profit: 2131.2483642857146 +2025-03-10 13:52:02,716 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.22, Avg Loss=$-0.55 +2025-03-10 13:52:02,716 - INFO - Episode 30: Reward=80.91, Balance=$95.14, Win Rate=20.0%, Trades=25, Episode PnL=$-6.03, Total PnL=$-188.44, Max Drawdown=5.0%, Pred Accuracy=99.5% +2025-03-10 13:52:02,856 - INFO - Model saved to checkpoints/trading_agent_episode_30.pt +2025-03-10 13:52:02,857 - INFO - Checkpoint saved at episode 30 +2025-03-10 13:52:02,858 - INFO - Reducing learning rate to 0.000031 +2025-03-10 13:52:02,924 - ERROR - Error creating visualization: No module named 'mplfinance' +2025-03-10 13:52:02,925 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2405, in visualize_training_results + from mplfinance.original_flavor import candlestick_ohlc +ModuleNotFoundError: No module named 'mplfinance' + +2025-03-10 13:52:03,324 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:52:04,845 - INFO - CLOSED long at 2069.7 | PnL: 0.33% | $0.46 +2025-03-10 13:52:04,846 - INFO - OPENED SHORT at 2069.7 | Stop loss: 2080.0634428571425 | Take profit: 2038.6320857142855 +2025-03-10 13:52:04,927 - INFO - CLOSED short at 2069.96 | PnL: -0.01% | $-0.22 +2025-03-10 13:52:04,927 - INFO - OPENED LONG at 2069.96 | Stop loss: 2059.595257142857 | Take profit: 2101.0318142857145 +2025-03-10 13:52:05,868 - INFO - CLOSED long at 2070.73 | PnL: 0.04% | $-0.12 +2025-03-10 13:52:05,892 - INFO - OPENED LONG at 2068.5 | Stop loss: 2058.142557142857 | Take profit: 2099.5499142857143 +2025-03-10 13:52:06,836 - INFO - CLOSED long at 2061.6 | PnL: -0.33% | $-0.86 +2025-03-10 13:52:06,892 - INFO - OPENED LONG at 2060.9 | Stop loss: 2050.5805571428573 | Take profit: 2091.8359142857144 +2025-03-10 13:52:07,496 - INFO - CLOSED long at 2059.61 | PnL: -0.06% | $-0.32 +2025-03-10 13:52:07,516 - INFO - OPENED LONG at 2059.16 | Stop loss: 2048.849257142857 | Take profit: 2090.069814285714 +2025-03-10 13:52:07,535 - INFO - CLOSED long at 2059.02 | PnL: -0.01% | $-0.21 +2025-03-10 13:52:07,535 - INFO - OPENED SHORT at 2059.02 | Stop loss: 2069.330042857143 | Take profit: 2028.1122857142857 +2025-03-10 13:52:07,600 - INFO - CLOSED short at 2059.96 | PnL: -0.05% | $-0.29 +2025-03-10 13:52:07,601 - INFO - OPENED LONG at 2059.96 | Stop loss: 2049.645257142857 | Take profit: 2090.881814285714 +2025-03-10 13:52:07,636 - INFO - CLOSED long at 2059.46 | PnL: -0.02% | $-0.24 +2025-03-10 13:52:07,676 - INFO - OPENED LONG at 2057.4 | Stop loss: 2047.0980571428572 | Take profit: 2088.283414285714 +2025-03-10 13:52:08,319 - INFO - CLOSED long at 2065.69 | PnL: 0.40% | $0.59 +2025-03-10 13:52:08,349 - INFO - OPENED LONG at 2069.79 | Stop loss: 2059.426107142857 | Take profit: 2100.8592642857143 +2025-03-10 13:52:11,007 - INFO - STOP LOSS hit for long at 2059.426107142857 | PnL: -0.50% | $-1.18 +2025-03-10 13:52:11,029 - INFO - OPENED LONG at 2058.09 | Stop loss: 2047.784607142857 | Take profit: 2088.9837642857146 +2025-03-10 13:52:11,158 - INFO - CLOSED long at 2051.99 | PnL: -0.30% | $-0.77 +2025-03-10 13:52:11,159 - INFO - OPENED SHORT at 2051.99 | Stop loss: 2062.2648928571425 | Take profit: 2021.1877357142855 +2025-03-10 13:52:11,197 - INFO - CLOSED short at 2058.3 | PnL: -0.31% | $-0.78 +2025-03-10 13:52:11,197 - INFO - OPENED LONG at 2058.3 | Stop loss: 2047.9935571428573 | Take profit: 2089.1969142857147 +2025-03-10 13:52:11,235 - INFO - CLOSED long at 2056.85 | PnL: -0.07% | $-0.33 +2025-03-10 13:52:11,236 - INFO - OPENED SHORT at 2056.85 | Stop loss: 2067.1491928571427 | Take profit: 2025.9748357142857 +2025-03-10 13:52:11,314 - INFO - CLOSED short at 2057.89 | PnL: -0.05% | $-0.29 +2025-03-10 13:52:11,314 - INFO - OPENED LONG at 2057.89 | Stop loss: 2047.585607142857 | Take profit: 2088.7807642857138 +2025-03-10 13:52:12,134 - INFO - TAKE PROFIT hit for long at 2088.7807642857138 | PnL: 1.50% | $2.66 +2025-03-10 13:52:12,164 - INFO - OPENED LONG at 2103.02 | Stop loss: 2092.4899571428573 | Take profit: 2134.587714285714 +2025-03-10 13:52:12,212 - INFO - TAKE PROFIT hit for long at 2134.587714285714 | PnL: 1.50% | $2.73 +2025-03-10 13:52:12,242 - INFO - OPENED LONG at 2131.78 | Stop loss: 2121.1061571428572 | Take profit: 2163.7791142857145 +2025-03-10 13:52:12,551 - INFO - STOP LOSS hit for long at 2121.1061571428572 | PnL: -0.50% | $-1.20 +2025-03-10 13:52:12,573 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.534307142857 | Take profit: 2151.9746642857144 +2025-03-10 13:52:12,736 - INFO - STOP LOSS hit for long at 2109.534307142857 | PnL: -0.50% | $-1.19 +2025-03-10 13:52:12,763 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032057142857 | Take profit: 2142.281414285714 +2025-03-10 13:52:13,062 - INFO - CLOSED long at 2108.71 | PnL: -0.09% | $-0.37 +2025-03-10 13:52:13,084 - INFO - OPENED LONG at 2106.49 | Stop loss: 2095.942607142857 | Take profit: 2138.1097642857144 +2025-03-10 13:52:13,129 - INFO - CLOSED long at 2103.33 | PnL: -0.15% | $-0.49 +2025-03-10 13:52:13,158 - INFO - OPENED LONG at 2100.5 | Stop loss: 2089.982557142857 | Take profit: 2132.029914285714 +2025-03-10 13:52:13,324 - INFO - CLOSED long at 2102.19 | PnL: 0.08% | $-0.04 +2025-03-10 13:52:13,325 - INFO - OPENED SHORT at 2102.19 | Stop loss: 2112.7158928571425 | Take profit: 2070.634735714286 +2025-03-10 13:52:13,358 - INFO - CLOSED short at 2102.29 | PnL: -0.00% | $-0.20 +2025-03-10 13:52:13,358 - INFO - OPENED LONG at 2102.29 | Stop loss: 2091.7636071428574 | Take profit: 2133.8467642857145 +2025-03-10 13:52:13,835 - INFO - STOP LOSS hit for long at 2091.7636071428574 | PnL: -0.50% | $-1.16 +2025-03-10 13:52:13,859 - INFO - OPENED LONG at 2094.72 | Stop loss: 2084.231457142857 | Take profit: 2126.1632142857143 +2025-03-10 13:52:13,934 - INFO - STOP LOSS hit for long at 2084.231457142857 | PnL: -0.50% | $-1.15 +2025-03-10 13:52:13,981 - INFO - OPENED LONG at 2088.44 | Stop loss: 2077.982857142857 | Take profit: 2119.789014285714 +2025-03-10 13:52:14,102 - INFO - CLOSED long at 2082.44 | PnL: -0.29% | $-0.73 +2025-03-10 13:52:14,147 - INFO - OPENED LONG at 2081.49 | Stop loss: 2071.067607142857 | Take profit: 2112.734764285714 +2025-03-10 13:52:15,548 - INFO - CLOSED long at 2106.28 | PnL: 1.19% | $2.04 +2025-03-10 13:52:15,593 - INFO - OPENED LONG at 2108.0 | Stop loss: 2097.445057142857 | Take profit: 2139.642414285714 +2025-03-10 13:52:16,215 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.69, Avg Loss=$-0.58 +2025-03-10 13:52:16,216 - INFO - Episode 31: Reward=76.26, Balance=$96.33, Win Rate=19.2%, Trades=26, Episode PnL=$-2.78, Total PnL=$-192.11, Max Drawdown=6.5%, Pred Accuracy=99.6% +2025-03-10 13:52:16,217 - INFO - Reducing learning rate to 0.000028 +2025-03-10 13:52:16,398 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:52:16,775 - INFO - CLOSED long at 2067.89 | PnL: 0.24% | $0.28 +2025-03-10 13:52:16,799 - INFO - OPENED LONG at 2071.63 | Stop loss: 2061.256907142857 | Take profit: 2102.7268642857143 +2025-03-10 13:52:17,933 - INFO - CLOSED long at 2071.4 | PnL: -0.01% | $-0.22 +2025-03-10 13:52:17,933 - INFO - OPENED SHORT at 2071.4 | Stop loss: 2081.7719428571427 | Take profit: 2040.3065857142858 +2025-03-10 13:52:17,960 - INFO - CLOSED short at 2071.39 | PnL: 0.00% | $-0.20 +2025-03-10 13:52:17,961 - INFO - OPENED LONG at 2071.39 | Stop loss: 2061.018107142857 | Take profit: 2102.483264285714 +2025-03-10 13:52:18,111 - INFO - CLOSED long at 2073.9 | PnL: 0.12% | $0.04 +2025-03-10 13:52:18,139 - INFO - OPENED LONG at 2071.92 | Stop loss: 2061.5454571428572 | Take profit: 2103.0212142857144 +2025-03-10 13:52:19,229 - INFO - CLOSED long at 2067.8 | PnL: -0.20% | $-0.59 +2025-03-10 13:52:19,229 - INFO - OPENED SHORT at 2067.8 | Stop loss: 2078.153942857143 | Take profit: 2036.760585714286 +2025-03-10 13:52:19,253 - INFO - CLOSED short at 2068.18 | PnL: -0.02% | $-0.23 +2025-03-10 13:52:19,254 - INFO - OPENED LONG at 2068.18 | Stop loss: 2057.824157142857 | Take profit: 2099.225114285714 +2025-03-10 13:52:20,258 - INFO - CLOSED long at 2061.9 | PnL: -0.30% | $-0.79 +2025-03-10 13:52:20,334 - INFO - OPENED LONG at 2065.36 | Stop loss: 2055.0182571428572 | Take profit: 2096.362814285714 +2025-03-10 13:52:20,887 - INFO - STOP LOSS hit for long at 2055.0182571428572 | PnL: -0.50% | $-1.17 +2025-03-10 13:52:20,907 - INFO - OPENED SHORT at 2054.83 | Stop loss: 2065.1190928571427 | Take profit: 2023.9851357142857 +2025-03-10 13:52:20,929 - INFO - CLOSED short at 2056.71 | PnL: -0.09% | $-0.37 +2025-03-10 13:52:20,929 - INFO - OPENED LONG at 2056.71 | Stop loss: 2046.4115071428573 | Take profit: 2087.583064285714 +2025-03-10 13:52:20,954 - INFO - CLOSED long at 2058.15 | PnL: 0.07% | $-0.06 +2025-03-10 13:52:20,995 - INFO - OPENED LONG at 2059.8 | Stop loss: 2049.4860571428576 | Take profit: 2090.7194142857143 +2025-03-10 13:52:21,832 - INFO - CLOSED long at 2068.79 | PnL: 0.44% | $0.65 +2025-03-10 13:52:21,867 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.610107142857 | Take profit: 2104.107264285714 +2025-03-10 13:52:22,552 - INFO - CLOSED long at 2070.61 | PnL: -0.11% | $-0.42 +2025-03-10 13:52:22,608 - INFO - OPENED LONG at 2071.99 | Stop loss: 2061.615107142857 | Take profit: 2103.092264285714 +2025-03-10 13:52:23,169 - INFO - CLOSED long at 2067.0 | PnL: -0.24% | $-0.66 +2025-03-10 13:52:23,195 - INFO - OPENED LONG at 2067.9 | Stop loss: 2057.5455571428574 | Take profit: 2098.9409142857144 +2025-03-10 13:52:23,303 - INFO - CLOSED long at 2068.1 | PnL: 0.01% | $-0.17 +2025-03-10 13:52:23,329 - INFO - OPENED LONG at 2069.0 | Stop loss: 2058.640057142857 | Take profit: 2100.0574142857145 +2025-03-10 13:52:23,659 - INFO - CLOSED long at 2063.98 | PnL: -0.24% | $-0.65 +2025-03-10 13:52:23,687 - INFO - OPENED LONG at 2066.1 | Stop loss: 2055.754557142857 | Take profit: 2097.113914285714 +2025-03-10 13:52:24,039 - INFO - STOP LOSS hit for long at 2055.754557142857 | PnL: -0.50% | $-1.14 +2025-03-10 13:52:24,065 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.9490071428572 | Take profit: 2079.9705642857143 +2025-03-10 13:52:24,507 - INFO - CLOSED long at 2067.49 | PnL: 0.89% | $1.48 +2025-03-10 13:52:24,508 - INFO - OPENED SHORT at 2067.49 | Stop loss: 2077.8423928571424 | Take profit: 2036.4552357142857 +2025-03-10 13:52:24,527 - INFO - CLOSED short at 2066.59 | PnL: 0.04% | $-0.11 +2025-03-10 13:52:24,549 - INFO - OPENED SHORT at 2064.08 | Stop loss: 2074.415342857143 | Take profit: 2033.0963857142856 +2025-03-10 13:52:24,599 - INFO - CLOSED short at 2061.21 | PnL: 0.14% | $0.07 +2025-03-10 13:52:24,599 - INFO - OPENED LONG at 2061.21 | Stop loss: 2050.8890071428573 | Take profit: 2092.150564285714 +2025-03-10 13:52:25,248 - INFO - TAKE PROFIT hit for long at 2092.150564285714 | PnL: 1.50% | $2.66 +2025-03-10 13:52:25,273 - INFO - OPENED LONG at 2130.7 | Stop loss: 2120.031557142857 | Take profit: 2162.682914285714 +2025-03-10 13:52:25,681 - INFO - STOP LOSS hit for long at 2120.031557142857 | PnL: -0.50% | $-1.17 +2025-03-10 13:52:25,707 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.315407142857 | Take profit: 2151.751364285714 +2025-03-10 13:52:25,889 - INFO - STOP LOSS hit for long at 2109.315407142857 | PnL: -0.50% | $-1.16 +2025-03-10 13:52:25,922 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032057142857 | Take profit: 2142.281414285714 +2025-03-10 13:52:26,355 - INFO - STOP LOSS hit for long at 2100.032057142857 | PnL: -0.50% | $-1.15 +2025-03-10 13:52:26,379 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0174071428573 | Take profit: 2131.0453642857146 +2025-03-10 13:52:26,973 - INFO - STOP LOSS hit for long at 2089.0174071428573 | PnL: -0.50% | $-1.13 +2025-03-10 13:52:27,018 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.848657142857 | Take profit: 2114.551614285714 +2025-03-10 13:52:28,813 - INFO - TAKE PROFIT hit for long at 2114.551614285714 | PnL: 1.50% | $2.61 +2025-03-10 13:52:28,840 - INFO - OPENED LONG at 2113.61 | Stop loss: 2103.027007142857 | Take profit: 2145.3365642857143 +2025-03-10 13:52:29,264 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.11, Avg Loss=$-0.63 +2025-03-10 13:52:29,265 - INFO - Episode 32: Reward=84.23, Balance=$96.41, Win Rate=28.0%, Trades=25, Episode PnL=$-4.26, Total PnL=$-195.70, Max Drawdown=6.5%, Pred Accuracy=99.6% +2025-03-10 13:52:29,266 - INFO - Reducing learning rate to 0.000025 +2025-03-10 13:52:29,597 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:52:29,883 - INFO - CLOSED long at 2064.32 | PnL: 0.07% | $-0.06 +2025-03-10 13:52:29,919 - INFO - OPENED LONG at 2065.86 | Stop loss: 2055.515757142857 | Take profit: 2096.8703142857144 +2025-03-10 13:52:30,415 - INFO - CLOSED long at 2071.38 | PnL: 0.27% | $0.33 +2025-03-10 13:52:30,416 - INFO - OPENED SHORT at 2071.38 | Stop loss: 2081.751842857143 | Take profit: 2040.2868857142857 +2025-03-10 13:52:30,439 - INFO - CLOSED short at 2071.41 | PnL: -0.00% | $-0.20 +2025-03-10 13:52:30,439 - INFO - OPENED LONG at 2071.41 | Stop loss: 2061.0380071428567 | Take profit: 2102.5035642857138 +2025-03-10 13:52:32,666 - INFO - CLOSED long at 2067.88 | PnL: -0.17% | $-0.54 +2025-03-10 13:52:32,701 - INFO - OPENED LONG at 2064.99 | Stop loss: 2054.650107142857 | Take profit: 2095.987264285714 +2025-03-10 13:52:33,157 - INFO - CLOSED long at 2062.71 | PnL: -0.11% | $-0.42 +2025-03-10 13:52:33,181 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:52:36,748 - INFO - CLOSED long at 2066.89 | PnL: 0.19% | $0.18 +2025-03-10 13:52:36,775 - INFO - OPENED LONG at 2067.88 | Stop loss: 2057.525657142857 | Take profit: 2098.9206142857142 +2025-03-10 13:52:37,546 - INFO - STOP LOSS hit for long at 2057.525657142857 | PnL: -0.50% | $-1.18 +2025-03-10 13:52:37,570 - INFO - OPENED LONG at 2053.01 | Stop loss: 2042.7300071428574 | Take profit: 2083.8275642857143 +2025-03-10 13:52:38,520 - INFO - TAKE PROFIT hit for long at 2083.8275642857143 | PnL: 1.50% | $2.73 +2025-03-10 13:52:38,546 - INFO - OPENED LONG at 2090.49 | Stop loss: 2080.022607142857 | Take profit: 2121.869764285714 +2025-03-10 13:52:38,638 - INFO - TAKE PROFIT hit for long at 2121.869764285714 | PnL: 1.50% | $2.81 +2025-03-10 13:52:38,683 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.827357142857 | Take profit: 2171.655514285714 +2025-03-10 13:52:38,904 - INFO - STOP LOSS hit for long at 2128.827357142857 | PnL: -0.50% | $-1.24 +2025-03-10 13:52:38,926 - INFO - OPENED SHORT at 2127.3 | Stop loss: 2137.951442857143 | Take profit: 2095.368085714286 +2025-03-10 13:52:38,955 - INFO - CLOSED short at 2128.69 | PnL: -0.07% | $-0.34 +2025-03-10 13:52:38,955 - INFO - OPENED LONG at 2128.69 | Stop loss: 2118.0316071428574 | Take profit: 2160.6427642857143 +2025-03-10 13:52:39,063 - INFO - STOP LOSS hit for long at 2118.0316071428574 | PnL: -0.50% | $-1.22 +2025-03-10 13:52:39,100 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.315407142857 | Take profit: 2151.751364285714 +2025-03-10 13:52:39,240 - INFO - STOP LOSS hit for long at 2109.315407142857 | PnL: -0.50% | $-1.20 +2025-03-10 13:52:39,261 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032057142857 | Take profit: 2142.281414285714 +2025-03-10 13:52:39,284 - INFO - CLOSED long at 2109.05 | PnL: -0.07% | $-0.34 +2025-03-10 13:52:39,306 - INFO - OPENED LONG at 2112.09 | Stop loss: 2101.5146071428576 | Take profit: 2143.7937642857146 +2025-03-10 13:52:39,645 - INFO - STOP LOSS hit for long at 2101.5146071428576 | PnL: -0.50% | $-1.18 +2025-03-10 13:52:39,670 - INFO - OPENED LONG at 2090.0 | Stop loss: 2079.535057142857 | Take profit: 2121.3724142857145 +2025-03-10 13:52:40,119 - INFO - CLOSED long at 2098.39 | PnL: 0.40% | $0.59 +2025-03-10 13:52:40,119 - INFO - OPENED SHORT at 2098.39 | Stop loss: 2108.8968928571426 | Take profit: 2066.8917357142855 +2025-03-10 13:52:40,149 - INFO - CLOSED short at 2095.29 | PnL: 0.15% | $0.09 +2025-03-10 13:52:40,149 - INFO - OPENED LONG at 2095.29 | Stop loss: 2084.7986071428572 | Take profit: 2126.7417642857145 +2025-03-10 13:52:40,408 - INFO - STOP LOSS hit for long at 2084.7986071428572 | PnL: -0.50% | $-1.18 +2025-03-10 13:52:40,432 - INFO - OPENED LONG at 2088.44 | Stop loss: 2077.982857142857 | Take profit: 2119.789014285714 +2025-03-10 13:52:41,162 - INFO - CLOSED long at 2091.05 | PnL: 0.12% | $0.05 +2025-03-10 13:52:41,189 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.579807142857 | Take profit: 2122.4381642857143 +2025-03-10 13:52:42,270 - INFO - CLOSED long at 2112.11 | PnL: 1.01% | $1.76 +2025-03-10 13:52:42,271 - INFO - OPENED SHORT at 2112.11 | Stop loss: 2122.685492857143 | Take profit: 2080.405935714286 +2025-03-10 13:52:42,314 - INFO - CLOSED short at 2112.26 | PnL: -0.01% | $-0.21 +2025-03-10 13:52:42,315 - INFO - OPENED LONG at 2112.26 | Stop loss: 2101.6837571428573 | Take profit: 2143.9663142857144 +2025-03-10 13:52:42,674 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.07, Avg Loss=$-0.72 +2025-03-10 13:52:42,675 - INFO - Episode 33: Reward=92.93, Balance=$99.23, Win Rate=38.1%, Trades=21, Episode PnL=$-3.45, Total PnL=$-196.47, Max Drawdown=5.8%, Pred Accuracy=99.6% +2025-03-10 13:52:42,675 - INFO - Reducing learning rate to 0.000023 +2025-03-10 13:52:42,914 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:52:44,264 - INFO - CLOSED long at 2068.76 | PnL: 0.28% | $0.37 +2025-03-10 13:52:44,289 - INFO - OPENED LONG at 2068.9 | Stop loss: 2058.5405571428573 | Take profit: 2099.9559142857142 +2025-03-10 13:52:44,488 - INFO - CLOSED long at 2071.39 | PnL: 0.12% | $0.04 +2025-03-10 13:52:44,526 - INFO - OPENED LONG at 2071.36 | Stop loss: 2060.9882571428575 | Take profit: 2102.4528142857143 +2025-03-10 13:52:44,552 - INFO - CLOSED long at 2072.75 | PnL: 0.07% | $-0.07 +2025-03-10 13:52:44,552 - INFO - OPENED SHORT at 2072.75 | Stop loss: 2083.128692857143 | Take profit: 2041.6363357142857 +2025-03-10 13:52:44,573 - INFO - CLOSED short at 2073.11 | PnL: -0.02% | $-0.23 +2025-03-10 13:52:44,574 - INFO - OPENED LONG at 2073.11 | Stop loss: 2062.729507142857 | Take profit: 2104.2290642857142 +2025-03-10 13:52:45,098 - INFO - CLOSED long at 2068.8 | PnL: -0.21% | $-0.61 +2025-03-10 13:52:45,099 - INFO - OPENED SHORT at 2068.8 | Stop loss: 2079.1589428571433 | Take profit: 2037.7455857142859 +2025-03-10 13:52:45,128 - INFO - CLOSED short at 2069.34 | PnL: -0.03% | $-0.25 +2025-03-10 13:52:45,128 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.978357142857 | Take profit: 2100.4025142857145 +2025-03-10 13:52:46,833 - INFO - STOP LOSS hit for long at 2058.978357142857 | PnL: -0.50% | $-1.18 +2025-03-10 13:52:46,857 - INFO - OPENED LONG at 2059.3 | Stop loss: 2048.988557142857 | Take profit: 2090.2119142857146 +2025-03-10 13:52:48,407 - INFO - CLOSED long at 2071.04 | PnL: 0.57% | $0.92 +2025-03-10 13:52:48,408 - INFO - OPENED SHORT at 2071.04 | Stop loss: 2081.410142857143 | Take profit: 2039.9519857142857 +2025-03-10 13:52:48,429 - INFO - CLOSED short at 2070.01 | PnL: 0.05% | $-0.10 +2025-03-10 13:52:48,429 - INFO - OPENED LONG at 2070.01 | Stop loss: 2059.645007142857 | Take profit: 2101.082564285715 +2025-03-10 13:52:49,612 - INFO - CLOSED long at 2074.37 | PnL: 0.21% | $0.22 +2025-03-10 13:52:49,633 - INFO - OPENED LONG at 2075.07 | Stop loss: 2064.6797071428573 | Take profit: 2106.2184642857146 +2025-03-10 13:52:50,422 - INFO - STOP LOSS hit for long at 2064.6797071428573 | PnL: -0.50% | $-1.18 +2025-03-10 13:52:50,449 - INFO - OPENED LONG at 2062.34 | Stop loss: 2052.0133571428573 | Take profit: 2093.2975142857144 +2025-03-10 13:52:50,787 - INFO - CLOSED long at 2059.2 | PnL: -0.15% | $-0.49 +2025-03-10 13:52:50,811 - INFO - OPENED LONG at 2058.09 | Stop loss: 2047.784607142857 | Take profit: 2088.9837642857146 +2025-03-10 13:52:51,956 - INFO - TAKE PROFIT hit for long at 2088.9837642857146 | PnL: 1.50% | $2.71 +2025-03-10 13:52:51,984 - INFO - OPENED LONG at 2103.02 | Stop loss: 2092.4899571428573 | Take profit: 2134.587714285714 +2025-03-10 13:52:52,029 - INFO - TAKE PROFIT hit for long at 2134.587714285714 | PnL: 1.50% | $2.79 +2025-03-10 13:52:52,051 - INFO - OPENED LONG at 2131.78 | Stop loss: 2121.1061571428572 | Take profit: 2163.7791142857145 +2025-03-10 13:52:52,149 - INFO - CLOSED long at 2141.3 | PnL: 0.45% | $0.71 +2025-03-10 13:52:52,150 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.021442857143 | Take profit: 2109.158085714286 +2025-03-10 13:52:52,196 - INFO - CLOSED short at 2142.68 | PnL: -0.06% | $-0.34 +2025-03-10 13:52:52,197 - INFO - OPENED LONG at 2142.68 | Stop loss: 2131.951657142857 | Take profit: 2174.842614285714 +2025-03-10 13:52:52,330 - INFO - STOP LOSS hit for long at 2131.951657142857 | PnL: -0.50% | $-1.23 +2025-03-10 13:52:52,377 - INFO - OPENED LONG at 2128.69 | Stop loss: 2118.0316071428574 | Take profit: 2160.6427642857143 +2025-03-10 13:52:52,451 - INFO - STOP LOSS hit for long at 2118.0316071428574 | PnL: -0.50% | $-1.22 +2025-03-10 13:52:52,479 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.315407142857 | Take profit: 2151.751364285714 +2025-03-10 13:52:52,692 - INFO - STOP LOSS hit for long at 2109.315407142857 | PnL: -0.50% | $-1.20 +2025-03-10 13:52:52,741 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032057142857 | Take profit: 2142.281414285714 +2025-03-10 13:52:53,171 - INFO - STOP LOSS hit for long at 2100.032057142857 | PnL: -0.50% | $-1.19 +2025-03-10 13:52:53,192 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0174071428573 | Take profit: 2131.0453642857146 +2025-03-10 13:52:53,781 - INFO - STOP LOSS hit for long at 2089.0174071428573 | PnL: -0.50% | $-1.17 +2025-03-10 13:52:53,821 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.848657142857 | Take profit: 2114.551614285714 +2025-03-10 13:52:53,863 - INFO - CLOSED long at 2088.44 | PnL: 0.25% | $0.29 +2025-03-10 13:52:53,864 - INFO - OPENED SHORT at 2088.44 | Stop loss: 2098.897142857143 | Take profit: 2057.090985714286 +2025-03-10 13:52:53,909 - INFO - CLOSED short at 2083.97 | PnL: 0.21% | $0.22 +2025-03-10 13:52:53,909 - INFO - OPENED LONG at 2083.97 | Stop loss: 2073.535207142857 | Take profit: 2115.251964285714 +2025-03-10 13:52:55,763 - INFO - TAKE PROFIT hit for long at 2115.251964285714 | PnL: 1.50% | $2.72 +2025-03-10 13:52:55,817 - INFO - OPENED LONG at 2113.61 | Stop loss: 2103.027007142857 | Take profit: 2145.3365642857143 +2025-03-10 13:52:55,947 - INFO - CLOSED long at 2112.11 | PnL: -0.07% | $-0.34 +2025-03-10 13:52:55,975 - INFO - OPENED LONG at 2112.26 | Stop loss: 2101.6837571428573 | Take profit: 2143.9663142857144 +2025-03-10 13:52:56,141 - INFO - CLOSED long at 2115.3 | PnL: 0.14% | $0.09 +2025-03-10 13:52:56,141 - INFO - OPENED SHORT at 2115.3 | Stop loss: 2125.891442857143 | Take profit: 2083.5480857142857 +2025-03-10 13:52:56,183 - INFO - CLOSED short at 2115.89 | PnL: -0.03% | $-0.25 +2025-03-10 13:52:56,184 - INFO - OPENED LONG at 2115.89 | Stop loss: 2105.295607142857 | Take profit: 2147.650764285714 +2025-03-10 13:52:56,346 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.01, Avg Loss=$-0.69 +2025-03-10 13:52:56,347 - INFO - Episode 34: Reward=92.34, Balance=$99.99, Win Rate=40.7%, Trades=27, Episode PnL=$-1.33, Total PnL=$-196.48, Max Drawdown=5.5%, Pred Accuracy=99.8% +2025-03-10 13:52:56,347 - INFO - Reducing learning rate to 0.000021 +2025-03-10 13:52:56,534 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:52:56,849 - INFO - CLOSED long at 2068.29 | PnL: 0.26% | $0.32 +2025-03-10 13:52:56,850 - INFO - OPENED SHORT at 2068.29 | Stop loss: 2078.6463928571425 | Take profit: 2037.2432357142857 +2025-03-10 13:52:56,894 - INFO - CLOSED short at 2067.89 | PnL: 0.02% | $-0.16 +2025-03-10 13:52:56,895 - INFO - OPENED LONG at 2067.89 | Stop loss: 2057.5356071428573 | Take profit: 2098.930764285714 +2025-03-10 13:52:58,213 - INFO - CLOSED long at 2072.75 | PnL: 0.24% | $0.27 +2025-03-10 13:52:58,237 - INFO - OPENED LONG at 2073.11 | Stop loss: 2062.729507142857 | Take profit: 2104.2290642857142 +2025-03-10 13:52:58,256 - INFO - CLOSED long at 2072.7 | PnL: -0.02% | $-0.24 +2025-03-10 13:52:58,281 - INFO - OPENED LONG at 2072.15 | Stop loss: 2061.774307142857 | Take profit: 2103.254664285714 +2025-03-10 13:52:59,362 - INFO - CLOSED long at 2070.04 | PnL: -0.10% | $-0.40 +2025-03-10 13:52:59,363 - INFO - OPENED SHORT at 2070.04 | Stop loss: 2080.405142857143 | Take profit: 2038.9669857142858 +2025-03-10 13:52:59,387 - INFO - CLOSED short at 2067.8 | PnL: 0.11% | $0.02 +2025-03-10 13:52:59,387 - INFO - OPENED LONG at 2067.8 | Stop loss: 2057.446057142857 | Take profit: 2098.8394142857146 +2025-03-10 13:52:59,799 - INFO - CLOSED long at 2067.1 | PnL: -0.03% | $-0.27 +2025-03-10 13:52:59,819 - INFO - OPENED LONG at 2065.54 | Stop loss: 2055.197357142857 | Take profit: 2096.5455142857145 +2025-03-10 13:53:00,697 - INFO - CLOSED long at 2061.09 | PnL: -0.22% | $-0.62 +2025-03-10 13:53:00,719 - INFO - OPENED LONG at 2059.61 | Stop loss: 2049.297007142857 | Take profit: 2090.5265642857144 +2025-03-10 13:53:03,579 - INFO - CLOSED long at 2066.89 | PnL: 0.35% | $0.50 +2025-03-10 13:53:03,580 - INFO - OPENED SHORT at 2066.89 | Stop loss: 2077.239392857143 | Take profit: 2035.8642357142858 +2025-03-10 13:53:03,614 - INFO - CLOSED short at 2067.88 | PnL: -0.05% | $-0.29 +2025-03-10 13:53:03,615 - INFO - OPENED LONG at 2067.88 | Stop loss: 2057.525657142857 | Take profit: 2098.9206142857142 +2025-03-10 13:53:04,323 - INFO - STOP LOSS hit for long at 2057.525657142857 | PnL: -0.50% | $-1.18 +2025-03-10 13:53:04,362 - INFO - OPENED LONG at 2053.01 | Stop loss: 2042.7300071428574 | Take profit: 2083.8275642857143 +2025-03-10 13:53:05,415 - INFO - TAKE PROFIT hit for long at 2083.8275642857143 | PnL: 1.50% | $2.72 +2025-03-10 13:53:05,444 - INFO - OPENED LONG at 2090.49 | Stop loss: 2080.022607142857 | Take profit: 2121.869764285714 +2025-03-10 13:53:05,490 - INFO - TAKE PROFIT hit for long at 2121.869764285714 | PnL: 1.50% | $2.80 +2025-03-10 13:53:05,513 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.827357142857 | Take profit: 2171.655514285714 +2025-03-10 13:53:05,603 - INFO - CLOSED long at 2137.59 | PnL: -0.09% | $-0.39 +2025-03-10 13:53:05,643 - INFO - OPENED LONG at 2141.41 | Stop loss: 2130.6880071428573 | Take profit: 2173.5535642857144 +2025-03-10 13:53:05,786 - INFO - STOP LOSS hit for long at 2130.6880071428573 | PnL: -0.50% | $-1.23 +2025-03-10 13:53:05,814 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.6485571428575 | Take profit: 2159.2319142857145 +2025-03-10 13:53:06,175 - INFO - STOP LOSS hit for long at 2116.6485571428575 | PnL: -0.50% | $-1.22 +2025-03-10 13:53:06,205 - INFO - OPENED LONG at 2107.43 | Stop loss: 2096.877907142857 | Take profit: 2139.063864285714 +2025-03-10 13:53:06,579 - INFO - CLOSED long at 2110.9 | PnL: 0.16% | $0.13 +2025-03-10 13:53:06,604 - INFO - OPENED LONG at 2108.71 | Stop loss: 2098.151507142857 | Take profit: 2140.3630642857142 +2025-03-10 13:53:06,724 - INFO - CLOSED long at 2090.0 | PnL: -0.89% | $-1.98 +2025-03-10 13:53:06,725 - INFO - OPENED SHORT at 2090.0 | Stop loss: 2100.464942857143 | Take profit: 2058.6275857142855 +2025-03-10 13:53:06,772 - INFO - CLOSED short at 2099.53 | PnL: -0.46% | $-1.09 +2025-03-10 13:53:06,772 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0174071428573 | Take profit: 2131.0453642857146 +2025-03-10 13:53:07,357 - INFO - CLOSED long at 2093.46 | PnL: -0.29% | $-0.75 +2025-03-10 13:53:07,357 - INFO - OPENED SHORT at 2093.46 | Stop loss: 2103.942242857143 | Take profit: 2062.0356857142856 +2025-03-10 13:53:07,380 - INFO - CLOSED short at 2093.33 | PnL: 0.01% | $-0.18 +2025-03-10 13:53:07,381 - INFO - OPENED LONG at 2093.33 | Stop loss: 2082.848407142857 | Take profit: 2124.752364285714 +2025-03-10 13:53:07,671 - INFO - STOP LOSS hit for long at 2082.848407142857 | PnL: -0.50% | $-1.15 +2025-03-10 13:53:07,720 - INFO - OPENED LONG at 2081.49 | Stop loss: 2071.067607142857 | Take profit: 2112.734764285714 +2025-03-10 13:53:09,015 - INFO - CLOSED long at 2102.7 | PnL: 1.02% | $1.74 +2025-03-10 13:53:09,015 - INFO - OPENED SHORT at 2102.7 | Stop loss: 2113.228442857143 | Take profit: 2071.1370857142856 +2025-03-10 13:53:09,038 - INFO - CLOSED short at 2102.0 | PnL: 0.03% | $-0.13 +2025-03-10 13:53:09,039 - INFO - OPENED LONG at 2102.0 | Stop loss: 2091.475057142857 | Take profit: 2133.5524142857143 +2025-03-10 13:53:09,906 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.06, Avg Loss=$-0.71 +2025-03-10 13:53:09,907 - INFO - Episode 35: Reward=83.42, Balance=$97.22, Win Rate=33.3%, Trades=24, Episode PnL=$-2.22, Total PnL=$-199.26, Max Drawdown=7.6%, Pred Accuracy=99.6% +2025-03-10 13:53:09,907 - INFO - Reducing learning rate to 0.000019 +2025-03-10 13:53:10,235 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:53:11,467 - INFO - CLOSED long at 2069.34 | PnL: 0.31% | $0.42 +2025-03-10 13:53:11,468 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.7016428571433 | Take profit: 2038.2774857142858 +2025-03-10 13:53:11,497 - INFO - CLOSED short at 2069.19 | PnL: 0.01% | $-0.18 +2025-03-10 13:53:11,497 - INFO - OPENED LONG at 2069.19 | Stop loss: 2058.829107142857 | Take profit: 2100.2502642857144 +2025-03-10 13:53:11,884 - INFO - CLOSED long at 2068.76 | PnL: -0.02% | $-0.24 +2025-03-10 13:53:11,911 - INFO - OPENED LONG at 2068.9 | Stop loss: 2058.5405571428573 | Take profit: 2099.9559142857142 +2025-03-10 13:53:14,575 - INFO - CLOSED long at 2065.36 | PnL: -0.17% | $-0.54 +2025-03-10 13:53:14,576 - INFO - OPENED SHORT at 2065.36 | Stop loss: 2075.701742857143 | Take profit: 2034.3571857142858 +2025-03-10 13:53:14,607 - INFO - CLOSED short at 2064.33 | PnL: 0.05% | $-0.10 +2025-03-10 13:53:14,607 - INFO - OPENED LONG at 2064.33 | Stop loss: 2053.993407142857 | Take profit: 2095.317364285714 +2025-03-10 13:53:15,688 - INFO - CLOSED long at 2066.33 | PnL: 0.10% | $-0.01 +2025-03-10 13:53:15,729 - INFO - OPENED LONG at 2066.34 | Stop loss: 2055.9933571428573 | Take profit: 2097.3575142857144 +2025-03-10 13:53:18,764 - INFO - STOP LOSS hit for long at 2055.9933571428573 | PnL: -0.50% | $-1.19 +2025-03-10 13:53:18,811 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.9490071428572 | Take profit: 2079.9705642857143 +2025-03-10 13:53:19,829 - INFO - TAKE PROFIT hit for long at 2079.9705642857143 | PnL: 1.50% | $2.73 +2025-03-10 13:53:19,851 - INFO - OPENED LONG at 2090.49 | Stop loss: 2080.022607142857 | Take profit: 2121.869764285714 +2025-03-10 13:53:19,902 - INFO - TAKE PROFIT hit for long at 2121.869764285714 | PnL: 1.50% | $2.81 +2025-03-10 13:53:19,926 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.827357142857 | Take profit: 2171.655514285714 +2025-03-10 13:53:20,214 - INFO - STOP LOSS hit for long at 2128.827357142857 | PnL: -0.50% | $-1.24 +2025-03-10 13:53:20,242 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.6485571428575 | Take profit: 2159.2319142857145 +2025-03-10 13:53:20,560 - INFO - STOP LOSS hit for long at 2116.6485571428575 | PnL: -0.50% | $-1.22 +2025-03-10 13:53:20,585 - INFO - OPENED LONG at 2107.43 | Stop loss: 2096.877907142857 | Take profit: 2139.063864285714 +2025-03-10 13:53:20,671 - INFO - CLOSED long at 2112.95 | PnL: 0.26% | $0.33 +2025-03-10 13:53:20,672 - INFO - OPENED SHORT at 2112.95 | Stop loss: 2123.5296928571424 | Take profit: 2081.2333357142857 +2025-03-10 13:53:20,699 - INFO - CLOSED short at 2112.46 | PnL: 0.02% | $-0.15 +2025-03-10 13:53:20,699 - INFO - OPENED LONG at 2112.46 | Stop loss: 2101.882757142857 | Take profit: 2144.1693142857143 +2025-03-10 13:53:21,049 - INFO - STOP LOSS hit for long at 2101.882757142857 | PnL: -0.50% | $-1.21 +2025-03-10 13:53:21,076 - INFO - OPENED LONG at 2090.0 | Stop loss: 2079.535057142857 | Take profit: 2121.3724142857145 +2025-03-10 13:53:21,125 - INFO - CLOSED long at 2098.1 | PnL: 0.39% | $0.57 +2025-03-10 13:53:21,204 - INFO - OPENED LONG at 2102.29 | Stop loss: 2091.7636071428574 | Take profit: 2133.8467642857145 +2025-03-10 13:53:21,241 - INFO - CLOSED long at 2099.25 | PnL: -0.14% | $-0.49 +2025-03-10 13:53:21,241 - INFO - OPENED SHORT at 2099.25 | Stop loss: 2109.761192857143 | Take profit: 2067.738835714286 +2025-03-10 13:53:21,299 - INFO - CLOSED short at 2098.9 | PnL: 0.02% | $-0.17 +2025-03-10 13:53:21,300 - INFO - OPENED LONG at 2098.9 | Stop loss: 2088.3905571428572 | Take profit: 2130.4059142857145 +2025-03-10 13:53:21,782 - INFO - STOP LOSS hit for long at 2088.3905571428572 | PnL: -0.50% | $-1.19 +2025-03-10 13:53:21,801 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.848657142857 | Take profit: 2114.551614285714 +2025-03-10 13:53:23,094 - INFO - CLOSED long at 2101.5 | PnL: 0.87% | $1.52 +2025-03-10 13:53:23,094 - INFO - OPENED SHORT at 2101.5 | Stop loss: 2112.0224428571432 | Take profit: 2069.955085714286 +2025-03-10 13:53:23,117 - INFO - CLOSED short at 2105.83 | PnL: -0.21% | $-0.61 +2025-03-10 13:53:23,117 - INFO - OPENED LONG at 2105.83 | Stop loss: 2095.285907142857 | Take profit: 2137.4398642857145 +2025-03-10 13:53:24,231 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.40, Avg Loss=$-0.61 +2025-03-10 13:53:24,232 - INFO - Episode 36: Reward=88.22, Balance=$99.84, Win Rate=30.0%, Trades=20, Episode PnL=$-1.40, Total PnL=$-199.42, Max Drawdown=4.6%, Pred Accuracy=99.7% +2025-03-10 13:53:24,232 - INFO - Reducing learning rate to 0.000017 +2025-03-10 13:53:24,527 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:53:28,001 - INFO - CLOSED long at 2063.59 | PnL: 0.03% | $-0.13 +2025-03-10 13:53:28,001 - INFO - OPENED SHORT at 2063.59 | Stop loss: 2073.922892857143 | Take profit: 2032.613735714286 +2025-03-10 13:53:28,041 - INFO - CLOSED short at 2064.96 | PnL: -0.07% | $-0.33 +2025-03-10 13:53:28,042 - INFO - OPENED LONG at 2064.96 | Stop loss: 2054.620257142857 | Take profit: 2095.9568142857142 +2025-03-10 13:53:30,240 - INFO - CLOSED long at 2069.69 | PnL: 0.23% | $0.26 +2025-03-10 13:53:30,268 - INFO - OPENED LONG at 2069.03 | Stop loss: 2058.669907142857 | Take profit: 2100.0878642857147 +2025-03-10 13:53:30,465 - INFO - CLOSED long at 2067.33 | PnL: -0.08% | $-0.36 +2025-03-10 13:53:30,465 - INFO - OPENED SHORT at 2067.33 | Stop loss: 2077.6815928571427 | Take profit: 2036.2976357142854 +2025-03-10 13:53:30,507 - INFO - CLOSED short at 2066.38 | PnL: 0.05% | $-0.11 +2025-03-10 13:53:30,508 - INFO - OPENED LONG at 2066.38 | Stop loss: 2056.0331571428574 | Take profit: 2097.398114285714 +2025-03-10 13:53:30,807 - INFO - CLOSED long at 2065.29 | PnL: -0.05% | $-0.30 +2025-03-10 13:53:30,857 - INFO - OPENED LONG at 2065.31 | Stop loss: 2054.968507142857 | Take profit: 2096.3120642857143 +2025-03-10 13:53:32,655 - INFO - CLOSED long at 2056.77 | PnL: -0.41% | $-1.01 +2025-03-10 13:53:32,679 - INFO - OPENED LONG at 2053.01 | Stop loss: 2042.7300071428574 | Take profit: 2083.8275642857143 +2025-03-10 13:53:33,151 - INFO - CLOSED long at 2066.59 | PnL: 0.66% | $1.09 +2025-03-10 13:53:33,151 - INFO - OPENED SHORT at 2066.59 | Stop loss: 2076.937892857143 | Take profit: 2035.5687357142858 +2025-03-10 13:53:33,195 - INFO - CLOSED short at 2064.08 | PnL: 0.12% | $0.04 +2025-03-10 13:53:33,196 - INFO - OPENED LONG at 2064.08 | Stop loss: 2053.744657142857 | Take profit: 2095.0636142857143 +2025-03-10 13:53:33,459 - INFO - CLOSED long at 2069.81 | PnL: 0.28% | $0.35 +2025-03-10 13:53:33,488 - INFO - OPENED LONG at 2070.41 | Stop loss: 2060.043007142857 | Take profit: 2101.488564285714 +2025-03-10 13:53:33,817 - INFO - TAKE PROFIT hit for long at 2101.488564285714 | PnL: 1.50% | $2.77 +2025-03-10 13:53:33,843 - INFO - OPENED LONG at 2130.7 | Stop loss: 2120.031557142857 | Take profit: 2162.682914285714 +2025-03-10 13:53:33,984 - INFO - CLOSED long at 2141.41 | PnL: 0.50% | $0.82 +2025-03-10 13:53:33,984 - INFO - OPENED SHORT at 2141.41 | Stop loss: 2152.131992857143 | Take profit: 2109.2664357142858 +2025-03-10 13:53:34,039 - INFO - CLOSED short at 2141.3 | PnL: 0.01% | $-0.19 +2025-03-10 13:53:34,039 - INFO - OPENED LONG at 2141.3 | Stop loss: 2130.5785571428573 | Take profit: 2173.441914285714 +2025-03-10 13:53:34,176 - INFO - STOP LOSS hit for long at 2130.5785571428573 | PnL: -0.50% | $-1.23 +2025-03-10 13:53:34,199 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.6485571428575 | Take profit: 2159.2319142857145 +2025-03-10 13:53:34,512 - INFO - STOP LOSS hit for long at 2116.6485571428575 | PnL: -0.50% | $-1.21 +2025-03-10 13:53:34,542 - INFO - OPENED LONG at 2107.43 | Stop loss: 2096.877907142857 | Take profit: 2139.063864285714 +2025-03-10 13:53:35,008 - INFO - STOP LOSS hit for long at 2096.877907142857 | PnL: -0.50% | $-1.20 +2025-03-10 13:53:35,050 - INFO - OPENED LONG at 2098.1 | Stop loss: 2087.594557142857 | Take profit: 2129.593914285714 +2025-03-10 13:53:35,400 - INFO - CLOSED long at 2099.59 | PnL: 0.07% | $-0.06 +2025-03-10 13:53:35,423 - INFO - OPENED LONG at 2100.02 | Stop loss: 2089.504957142857 | Take profit: 2131.5427142857143 +2025-03-10 13:53:35,672 - INFO - STOP LOSS hit for long at 2089.504957142857 | PnL: -0.50% | $-1.18 +2025-03-10 13:53:35,709 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.848657142857 | Take profit: 2114.551614285714 +2025-03-10 13:53:36,896 - INFO - CLOSED long at 2105.83 | PnL: 1.08% | $1.91 +2025-03-10 13:53:36,951 - INFO - OPENED LONG at 2105.2 | Stop loss: 2094.659057142857 | Take profit: 2136.800414285714 +2025-03-10 13:53:37,979 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.03, Avg Loss=$-0.61 +2025-03-10 13:53:37,979 - INFO - Episode 37: Reward=92.33, Balance=$99.92, Win Rate=36.8%, Trades=19, Episode PnL=$-1.49, Total PnL=$-199.50, Max Drawdown=4.2%, Pred Accuracy=99.6% +2025-03-10 13:53:37,980 - INFO - Reducing learning rate to 0.000015 +2025-03-10 13:53:38,291 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:53:41,605 - INFO - CLOSED long at 2067.88 | PnL: 0.24% | $0.28 +2025-03-10 13:53:41,605 - INFO - OPENED SHORT at 2067.88 | Stop loss: 2078.2343428571426 | Take profit: 2036.8393857142858 +2025-03-10 13:53:41,626 - INFO - CLOSED short at 2064.99 | PnL: 0.14% | $0.08 +2025-03-10 13:53:41,626 - INFO - OPENED LONG at 2064.99 | Stop loss: 2054.650107142857 | Take profit: 2095.987264285714 +2025-03-10 13:53:42,898 - INFO - CLOSED long at 2061.09 | PnL: -0.19% | $-0.58 +2025-03-10 13:53:42,937 - INFO - OPENED LONG at 2059.61 | Stop loss: 2049.297007142857 | Take profit: 2090.5265642857144 +2025-03-10 13:53:43,463 - INFO - CLOSED long at 2061.6 | PnL: 0.10% | $-0.01 +2025-03-10 13:53:43,464 - INFO - OPENED SHORT at 2061.6 | Stop loss: 2071.922942857143 | Take profit: 2030.6535857142858 +2025-03-10 13:53:43,510 - INFO - CLOSED short at 2061.3 | PnL: 0.01% | $-0.17 +2025-03-10 13:53:43,510 - INFO - OPENED LONG at 2061.3 | Stop loss: 2050.9785571428574 | Take profit: 2092.2419142857143 +2025-03-10 13:53:45,248 - INFO - CLOSED long at 2075.07 | PnL: 0.67% | $1.12 +2025-03-10 13:53:45,271 - INFO - OPENED LONG at 2074.35 | Stop loss: 2063.963307142857 | Take profit: 2105.487664285714 +2025-03-10 13:53:45,977 - INFO - STOP LOSS hit for long at 2063.963307142857 | PnL: -0.50% | $-1.20 +2025-03-10 13:53:46,001 - INFO - OPENED LONG at 2062.34 | Stop loss: 2052.0133571428573 | Take profit: 2093.2975142857144 +2025-03-10 13:53:46,505 - INFO - STOP LOSS hit for long at 2052.0133571428573 | PnL: -0.50% | $-1.19 +2025-03-10 13:53:46,542 - INFO - OPENED LONG at 2049.5 | Stop loss: 2039.237557142857 | Take profit: 2080.264914285714 +2025-03-10 13:53:47,329 - INFO - CLOSED long at 2072.99 | PnL: 1.15% | $2.04 +2025-03-10 13:53:47,329 - INFO - OPENED SHORT at 2072.99 | Stop loss: 2083.369892857143 | Take profit: 2041.8727357142855 +2025-03-10 13:53:47,353 - INFO - CLOSED short at 2071.89 | PnL: 0.05% | $-0.09 +2025-03-10 13:53:47,353 - INFO - OPENED LONG at 2071.89 | Stop loss: 2061.515607142857 | Take profit: 2102.9907642857142 +2025-03-10 13:53:47,515 - INFO - TAKE PROFIT hit for long at 2102.9907642857142 | PnL: 1.50% | $2.79 +2025-03-10 13:53:47,559 - INFO - OPENED LONG at 2130.7 | Stop loss: 2120.031557142857 | Take profit: 2162.682914285714 +2025-03-10 13:53:47,795 - INFO - CLOSED long at 2140.01 | PnL: 0.44% | $0.69 +2025-03-10 13:53:47,795 - INFO - OPENED SHORT at 2140.01 | Stop loss: 2150.7249928571428 | Take profit: 2107.887435714286 +2025-03-10 13:53:47,822 - INFO - CLOSED short at 2134.78 | PnL: 0.24% | $0.30 +2025-03-10 13:53:47,822 - INFO - OPENED LONG at 2134.78 | Stop loss: 2124.0911571428574 | Take profit: 2166.8241142857146 +2025-03-10 13:53:47,916 - INFO - STOP LOSS hit for long at 2124.0911571428574 | PnL: -0.50% | $-1.24 +2025-03-10 13:53:47,972 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.534307142857 | Take profit: 2151.9746642857144 +2025-03-10 13:53:48,243 - INFO - STOP LOSS hit for long at 2109.534307142857 | PnL: -0.50% | $-1.23 +2025-03-10 13:53:48,271 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032057142857 | Take profit: 2142.281414285714 +2025-03-10 13:53:48,505 - INFO - CLOSED long at 2112.99 | PnL: 0.11% | $0.03 +2025-03-10 13:53:48,506 - INFO - OPENED SHORT at 2112.99 | Stop loss: 2123.5698928571423 | Take profit: 2081.2727357142853 +2025-03-10 13:53:48,536 - INFO - CLOSED short at 2120.81 | PnL: -0.37% | $-0.95 +2025-03-10 13:53:48,537 - INFO - OPENED LONG at 2120.81 | Stop loss: 2110.191007142857 | Take profit: 2152.6445642857143 +2025-03-10 13:53:48,624 - INFO - STOP LOSS hit for long at 2110.191007142857 | PnL: -0.50% | $-1.20 +2025-03-10 13:53:48,648 - INFO - OPENED LONG at 2106.49 | Stop loss: 2095.942607142857 | Take profit: 2138.1097642857144 +2025-03-10 13:53:48,751 - INFO - STOP LOSS hit for long at 2095.942607142857 | PnL: -0.50% | $-1.19 +2025-03-10 13:53:48,789 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0174071428573 | Take profit: 2131.0453642857146 +2025-03-10 13:53:49,394 - INFO - STOP LOSS hit for long at 2089.0174071428573 | PnL: -0.50% | $-1.17 +2025-03-10 13:53:49,416 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.848657142857 | Take profit: 2114.551614285714 +2025-03-10 13:53:50,861 - INFO - CLOSED long at 2102.7 | PnL: 0.93% | $1.60 +2025-03-10 13:53:50,924 - INFO - OPENED LONG at 2103.41 | Stop loss: 2092.878007142857 | Take profit: 2134.9835642857142 +2025-03-10 13:53:51,658 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.99, Avg Loss=$-0.85 +2025-03-10 13:53:51,658 - INFO - Episode 38: Reward=98.67, Balance=$98.72, Win Rate=42.9%, Trades=21, Episode PnL=$-4.31, Total PnL=$-200.77, Max Drawdown=5.8%, Pred Accuracy=99.8% +2025-03-10 13:53:51,659 - INFO - Reducing learning rate to 0.000014 +2025-03-10 13:53:51,888 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:53:52,134 - INFO - CLOSED long at 2070.58 | PnL: 0.37% | $0.54 +2025-03-10 13:53:52,177 - INFO - OPENED LONG at 2068.11 | Stop loss: 2057.754507142857 | Take profit: 2099.1540642857144 +2025-03-10 13:53:52,336 - INFO - CLOSED long at 2069.6 | PnL: 0.07% | $-0.06 +2025-03-10 13:53:52,362 - INFO - OPENED LONG at 2068.65 | Stop loss: 2058.291807142857 | Take profit: 2099.702164285714 +2025-03-10 13:53:52,499 - INFO - CLOSED long at 2073.73 | PnL: 0.25% | $0.29 +2025-03-10 13:53:52,499 - INFO - OPENED SHORT at 2073.73 | Stop loss: 2084.113592857143 | Take profit: 2042.6016357142857 +2025-03-10 13:53:52,535 - INFO - CLOSED short at 2075.1 | PnL: -0.07% | $-0.33 +2025-03-10 13:53:52,536 - INFO - OPENED LONG at 2075.1 | Stop loss: 2064.709557142857 | Take profit: 2106.248914285714 +2025-03-10 13:53:54,105 - INFO - STOP LOSS hit for long at 2064.709557142857 | PnL: -0.50% | $-1.20 +2025-03-10 13:53:54,134 - INFO - OPENED LONG at 2065.26 | Stop loss: 2054.9187571428574 | Take profit: 2096.2613142857144 +2025-03-10 13:53:54,977 - INFO - CLOSED long at 2065.26 | PnL: 0.00% | $-0.20 +2025-03-10 13:53:55,023 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:53:55,961 - INFO - CLOSED long at 2064.79 | PnL: 0.09% | $-0.02 +2025-03-10 13:53:55,985 - INFO - OPENED LONG at 2065.89 | Stop loss: 2055.545607142857 | Take profit: 2096.900764285714 +2025-03-10 13:53:56,115 - INFO - CLOSED long at 2060.7 | PnL: -0.25% | $-0.69 +2025-03-10 13:53:56,116 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.018442857143 | Take profit: 2029.7670857142855 +2025-03-10 13:53:56,165 - INFO - CLOSED short at 2061.09 | PnL: -0.02% | $-0.23 +2025-03-10 13:53:56,165 - INFO - OPENED LONG at 2061.09 | Stop loss: 2050.7696071428572 | Take profit: 2092.0287642857143 +2025-03-10 13:53:56,651 - INFO - CLOSED long at 2061.5 | PnL: 0.02% | $-0.16 +2025-03-10 13:53:56,688 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.277057142857 | Take profit: 2092.546414285714 +2025-03-10 13:53:56,912 - INFO - CLOSED long at 2066.79 | PnL: 0.25% | $0.30 +2025-03-10 13:53:56,913 - INFO - OPENED SHORT at 2066.79 | Stop loss: 2077.1388928571428 | Take profit: 2035.7657357142857 +2025-03-10 13:53:56,957 - INFO - CLOSED short at 2067.33 | PnL: -0.03% | $-0.25 +2025-03-10 13:53:56,958 - INFO - OPENED LONG at 2067.33 | Stop loss: 2056.978407142857 | Take profit: 2098.362364285714 +2025-03-10 13:53:58,016 - INFO - CLOSED long at 2066.5 | PnL: -0.04% | $-0.27 +2025-03-10 13:53:58,043 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.2321071428573 | Take profit: 2099.6412642857144 +2025-03-10 13:53:58,351 - INFO - CLOSED long at 2071.99 | PnL: 0.16% | $0.12 +2025-03-10 13:53:58,351 - INFO - OPENED SHORT at 2071.99 | Stop loss: 2082.3648928571424 | Take profit: 2040.8877357142856 +2025-03-10 13:53:58,373 - INFO - CLOSED short at 2068.19 | PnL: 0.18% | $0.16 +2025-03-10 13:53:58,373 - INFO - OPENED LONG at 2068.19 | Stop loss: 2057.834107142857 | Take profit: 2099.2352642857145 +2025-03-10 13:53:59,789 - INFO - STOP LOSS hit for long at 2057.834107142857 | PnL: -0.50% | $-1.17 +2025-03-10 13:53:59,829 - INFO - OPENED LONG at 2053.01 | Stop loss: 2042.7300071428574 | Take profit: 2083.8275642857143 +2025-03-10 13:54:00,850 - INFO - TAKE PROFIT hit for long at 2083.8275642857143 | PnL: 1.50% | $2.69 +2025-03-10 13:54:00,871 - INFO - OPENED LONG at 2090.49 | Stop loss: 2080.022607142857 | Take profit: 2121.869764285714 +2025-03-10 13:54:00,918 - INFO - TAKE PROFIT hit for long at 2121.869764285714 | PnL: 1.50% | $2.77 +2025-03-10 13:54:00,955 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.827357142857 | Take profit: 2171.655514285714 +2025-03-10 13:54:01,203 - INFO - STOP LOSS hit for long at 2128.827357142857 | PnL: -0.50% | $-1.22 +2025-03-10 13:54:01,228 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.6485571428575 | Take profit: 2159.2319142857145 +2025-03-10 13:54:01,522 - INFO - STOP LOSS hit for long at 2116.6485571428575 | PnL: -0.50% | $-1.21 +2025-03-10 13:54:01,548 - INFO - OPENED LONG at 2107.43 | Stop loss: 2096.877907142857 | Take profit: 2139.063864285714 +2025-03-10 13:54:01,985 - INFO - STOP LOSS hit for long at 2096.877907142857 | PnL: -0.50% | $-1.19 +2025-03-10 13:54:02,014 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0174071428573 | Take profit: 2131.0453642857146 +2025-03-10 13:54:02,637 - INFO - STOP LOSS hit for long at 2089.0174071428573 | PnL: -0.50% | $-1.18 +2025-03-10 13:54:02,684 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.848657142857 | Take profit: 2114.551614285714 +2025-03-10 13:54:04,448 - INFO - TAKE PROFIT hit for long at 2114.551614285714 | PnL: 1.50% | $2.71 +2025-03-10 13:54:04,471 - INFO - OPENED LONG at 2113.61 | Stop loss: 2103.027007142857 | Take profit: 2145.3365642857143 +2025-03-10 13:54:04,974 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.20, Avg Loss=$-0.62 +2025-03-10 13:54:04,975 - INFO - Episode 39: Reward=88.75, Balance=$100.23, Win Rate=34.8%, Trades=23, Episode PnL=$0.21, Total PnL=$-200.54, Max Drawdown=4.7%, Pred Accuracy=99.6% +2025-03-10 13:54:04,975 - INFO - Reducing learning rate to 0.000012 +2025-03-10 13:54:05,257 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:54:05,620 - INFO - CLOSED long at 2071.63 | PnL: 0.42% | $0.64 +2025-03-10 13:54:05,663 - INFO - OPENED LONG at 2070.99 | Stop loss: 2060.620107142857 | Take profit: 2102.0772642857137 +2025-03-10 13:54:07,119 - INFO - CLOSED long at 2067.0 | PnL: -0.19% | $-0.58 +2025-03-10 13:54:07,120 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.3499428571427 | Take profit: 2035.9725857142857 +2025-03-10 13:54:07,145 - INFO - CLOSED short at 2067.79 | PnL: -0.04% | $-0.27 +2025-03-10 13:54:07,145 - INFO - OPENED LONG at 2067.79 | Stop loss: 2057.436107142857 | Take profit: 2098.8292642857145 +2025-03-10 13:54:07,393 - INFO - CLOSED long at 2067.59 | PnL: -0.01% | $-0.22 +2025-03-10 13:54:07,394 - INFO - OPENED SHORT at 2067.59 | Stop loss: 2077.942892857143 | Take profit: 2036.553735714286 +2025-03-10 13:54:07,420 - INFO - CLOSED short at 2069.2 | PnL: -0.08% | $-0.35 +2025-03-10 13:54:07,420 - INFO - OPENED LONG at 2069.2 | Stop loss: 2058.8390571428567 | Take profit: 2100.260414285714 +2025-03-10 13:54:07,468 - INFO - CLOSED long at 2071.59 | PnL: 0.12% | $0.03 +2025-03-10 13:54:07,497 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.331557142857 | Take profit: 2101.782914285714 +2025-03-10 13:54:08,104 - INFO - STOP LOSS hit for long at 2060.331557142857 | PnL: -0.50% | $-1.18 +2025-03-10 13:54:08,132 - INFO - OPENED LONG at 2061.3 | Stop loss: 2050.9785571428574 | Take profit: 2092.2419142857143 +2025-03-10 13:54:09,997 - INFO - CLOSED long at 2067.33 | PnL: 0.29% | $0.37 +2025-03-10 13:54:09,997 - INFO - OPENED SHORT at 2067.33 | Stop loss: 2077.6815928571427 | Take profit: 2036.2976357142854 +2025-03-10 13:54:10,022 - INFO - CLOSED short at 2067.01 | PnL: 0.02% | $-0.17 +2025-03-10 13:54:10,022 - INFO - OPENED LONG at 2067.01 | Stop loss: 2056.6600071428575 | Take profit: 2098.037564285715 +2025-03-10 13:54:11,236 - INFO - CLOSED long at 2070.9 | PnL: 0.19% | $0.17 +2025-03-10 13:54:11,237 - INFO - OPENED SHORT at 2070.9 | Stop loss: 2081.269442857143 | Take profit: 2039.8140857142857 +2025-03-10 13:54:11,261 - INFO - CLOSED short at 2069.69 | PnL: 0.06% | $-0.08 +2025-03-10 13:54:11,261 - INFO - OPENED LONG at 2069.69 | Stop loss: 2059.326607142857 | Take profit: 2100.7577642857145 +2025-03-10 13:54:11,425 - INFO - CLOSED long at 2071.99 | PnL: 0.11% | $0.02 +2025-03-10 13:54:11,426 - INFO - OPENED SHORT at 2071.99 | Stop loss: 2082.3648928571424 | Take profit: 2040.8877357142856 +2025-03-10 13:54:11,479 - INFO - CLOSED short at 2068.19 | PnL: 0.18% | $0.16 +2025-03-10 13:54:11,479 - INFO - OPENED LONG at 2068.19 | Stop loss: 2057.834107142857 | Take profit: 2099.2352642857145 +2025-03-10 13:54:11,943 - INFO - CLOSED long at 2072.09 | PnL: 0.19% | $0.17 +2025-03-10 13:54:11,944 - INFO - OPENED SHORT at 2072.09 | Stop loss: 2082.4653928571433 | Take profit: 2040.9862357142858 +2025-03-10 13:54:11,972 - INFO - CLOSED short at 2069.97 | PnL: 0.10% | $0.00 +2025-03-10 13:54:11,973 - INFO - OPENED LONG at 2069.97 | Stop loss: 2059.6052071428567 | Take profit: 2101.041964285714 +2025-03-10 13:54:11,999 - INFO - CLOSED long at 2067.7 | PnL: -0.11% | $-0.41 +2025-03-10 13:54:11,999 - INFO - OPENED SHORT at 2067.7 | Stop loss: 2078.0534428571427 | Take profit: 2036.6620857142855 +2025-03-10 13:54:12,029 - INFO - CLOSED short at 2067.0 | PnL: 0.03% | $-0.13 +2025-03-10 13:54:12,029 - INFO - OPENED LONG at 2067.0 | Stop loss: 2056.6500571428573 | Take profit: 2098.0274142857143 +2025-03-10 13:54:12,974 - INFO - STOP LOSS hit for long at 2056.6500571428573 | PnL: -0.50% | $-1.17 +2025-03-10 13:54:13,017 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.9490071428572 | Take profit: 2079.9705642857143 +2025-03-10 13:54:13,285 - INFO - CLOSED long at 2062.43 | PnL: 0.65% | $1.05 +2025-03-10 13:54:13,285 - INFO - OPENED SHORT at 2062.43 | Stop loss: 2072.7570928571427 | Take profit: 2031.4711357142855 +2025-03-10 13:54:13,321 - INFO - CLOSED short at 2062.55 | PnL: -0.01% | $-0.21 +2025-03-10 13:54:13,321 - INFO - OPENED LONG at 2062.55 | Stop loss: 2052.2223071428575 | Take profit: 2093.5106642857145 +2025-03-10 13:54:14,136 - INFO - CLOSED long at 2103.02 | PnL: 1.96% | $3.62 +2025-03-10 13:54:14,136 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.5500428571427 | Take profit: 2071.4522857142856 +2025-03-10 13:54:14,185 - INFO - CLOSED short at 2130.7 | PnL: -1.32% | $-2.85 +2025-03-10 13:54:14,185 - INFO - OPENED LONG at 2130.7 | Stop loss: 2120.031557142857 | Take profit: 2162.682914285714 +2025-03-10 13:54:14,733 - INFO - STOP LOSS hit for long at 2120.031557142857 | PnL: -0.50% | $-1.18 +2025-03-10 13:54:14,756 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.315407142857 | Take profit: 2151.751364285714 +2025-03-10 13:54:14,893 - INFO - STOP LOSS hit for long at 2109.315407142857 | PnL: -0.50% | $-1.16 +2025-03-10 13:54:15,017 - INFO - OPENED LONG at 2112.09 | Stop loss: 2101.5146071428576 | Take profit: 2143.7937642857146 +2025-03-10 13:54:15,376 - INFO - STOP LOSS hit for long at 2101.5146071428576 | PnL: -0.50% | $-1.15 +2025-03-10 13:54:15,416 - INFO - OPENED LONG at 2090.0 | Stop loss: 2079.535057142857 | Take profit: 2121.3724142857145 +2025-03-10 13:54:16,010 - INFO - CLOSED long at 2094.08 | PnL: 0.20% | $0.18 +2025-03-10 13:54:16,038 - INFO - OPENED LONG at 2088.35 | Stop loss: 2077.8933071428573 | Take profit: 2119.6976642857144 +2025-03-10 13:54:18,267 - INFO - CLOSED long at 2115.3 | PnL: 1.29% | $2.25 +2025-03-10 13:54:18,306 - INFO - OPENED LONG at 2115.89 | Stop loss: 2105.295607142857 | Take profit: 2147.650764285714 +2025-03-10 13:54:18,413 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.72, Avg Loss=$-0.74 +2025-03-10 13:54:18,414 - INFO - Episode 40: Reward=95.43, Balance=$97.57, Win Rate=44.4%, Trades=27, Episode PnL=$-6.63, Total PnL=$-202.98, Max Drawdown=5.5%, Pred Accuracy=99.7% +2025-03-10 13:54:18,549 - INFO - Model saved to checkpoints/trading_agent_episode_40.pt +2025-03-10 13:54:18,550 - INFO - Checkpoint saved at episode 40 +2025-03-10 13:54:18,550 - INFO - Reducing learning rate to 0.000011 +2025-03-10 13:54:18,613 - ERROR - Error creating visualization: No module named 'mplfinance' +2025-03-10 13:54:18,613 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2405, in visualize_training_results + from mplfinance.original_flavor import candlestick_ohlc +ModuleNotFoundError: No module named 'mplfinance' + +2025-03-10 13:54:18,911 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:54:19,023 - INFO - CLOSED long at 2057.94 | PnL: -0.24% | $-0.68 +2025-03-10 13:54:19,048 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.8045071428571 | Take profit: 2089.004064285715 +2025-03-10 13:54:19,121 - INFO - CLOSED long at 2064.32 | PnL: 0.30% | $0.40 +2025-03-10 13:54:19,121 - INFO - OPENED SHORT at 2064.32 | Stop loss: 2074.6565428571434 | Take profit: 2033.3327857142858 +2025-03-10 13:54:19,171 - INFO - CLOSED short at 2065.86 | PnL: -0.07% | $-0.35 +2025-03-10 13:54:19,172 - INFO - OPENED LONG at 2065.86 | Stop loss: 2055.515757142857 | Take profit: 2096.8703142857144 +2025-03-10 13:54:19,458 - INFO - CLOSED long at 2067.9 | PnL: 0.10% | $-0.00 +2025-03-10 13:54:19,483 - INFO - OPENED LONG at 2067.69 | Stop loss: 2057.3366071428572 | Take profit: 2098.727764285715 +2025-03-10 13:54:19,903 - INFO - CLOSED long at 2070.28 | PnL: 0.13% | $0.05 +2025-03-10 13:54:19,903 - INFO - OPENED SHORT at 2070.28 | Stop loss: 2080.6463428571433 | Take profit: 2039.203385714286 +2025-03-10 13:54:19,952 - INFO - CLOSED short at 2068.02 | PnL: 0.11% | $0.02 +2025-03-10 13:54:19,952 - INFO - OPENED LONG at 2068.02 | Stop loss: 2057.664957142857 | Take profit: 2099.0627142857143 +2025-03-10 13:54:20,518 - INFO - CLOSED long at 2068.76 | PnL: 0.04% | $-0.13 +2025-03-10 13:54:20,543 - INFO - OPENED LONG at 2068.9 | Stop loss: 2058.5405571428573 | Take profit: 2099.9559142857142 +2025-03-10 13:54:20,952 - INFO - CLOSED long at 2073.9 | PnL: 0.24% | $0.28 +2025-03-10 13:54:21,025 - INFO - OPENED LONG at 2071.11 | Stop loss: 2060.7395071428573 | Take profit: 2102.1990642857145 +2025-03-10 13:54:22,298 - INFO - STOP LOSS hit for long at 2060.7395071428573 | PnL: -0.50% | $-1.19 +2025-03-10 13:54:22,328 - INFO - OPENED LONG at 2061.3 | Stop loss: 2050.9785571428574 | Take profit: 2092.2419142857143 +2025-03-10 13:54:22,972 - INFO - CLOSED long at 2064.7 | PnL: 0.16% | $0.13 +2025-03-10 13:54:22,973 - INFO - OPENED SHORT at 2064.7 | Stop loss: 2075.038442857143 | Take profit: 2033.7070857142853 +2025-03-10 13:54:22,995 - INFO - CLOSED short at 2062.61 | PnL: 0.10% | $0.00 +2025-03-10 13:54:22,995 - INFO - OPENED LONG at 2062.61 | Stop loss: 2052.2820071428573 | Take profit: 2093.5715642857144 +2025-03-10 13:54:23,610 - INFO - CLOSED long at 2059.96 | PnL: -0.13% | $-0.45 +2025-03-10 13:54:23,655 - INFO - OPENED LONG at 2059.46 | Stop loss: 2049.1477571428572 | Take profit: 2090.3743142857143 +2025-03-10 13:54:23,718 - INFO - CLOSED long at 2058.28 | PnL: -0.06% | $-0.31 +2025-03-10 13:54:23,718 - INFO - OPENED SHORT at 2058.28 | Stop loss: 2068.586342857143 | Take profit: 2027.3833857142859 +2025-03-10 13:54:23,765 - INFO - CLOSED short at 2055.6 | PnL: 0.13% | $0.06 +2025-03-10 13:54:23,765 - INFO - OPENED LONG at 2055.6 | Stop loss: 2045.307057142857 | Take profit: 2086.456414285714 +2025-03-10 13:54:23,812 - INFO - CLOSED long at 2054.83 | PnL: -0.04% | $-0.27 +2025-03-10 13:54:23,812 - INFO - OPENED SHORT at 2054.83 | Stop loss: 2065.1190928571427 | Take profit: 2023.9851357142857 +2025-03-10 13:54:23,840 - INFO - CLOSED short at 2056.71 | PnL: -0.09% | $-0.37 +2025-03-10 13:54:23,840 - INFO - OPENED LONG at 2056.71 | Stop loss: 2046.4115071428573 | Take profit: 2087.583064285714 +2025-03-10 13:54:23,891 - INFO - CLOSED long at 2059.8 | PnL: 0.15% | $0.10 +2025-03-10 13:54:23,892 - INFO - OPENED SHORT at 2059.8 | Stop loss: 2070.113942857143 | Take profit: 2028.8805857142859 +2025-03-10 13:54:23,928 - INFO - CLOSED short at 2061.66 | PnL: -0.09% | $-0.37 +2025-03-10 13:54:23,929 - INFO - OPENED LONG at 2061.66 | Stop loss: 2051.336757142857 | Take profit: 2092.607314285714 +2025-03-10 13:54:24,198 - INFO - CLOSED long at 2063.9 | PnL: 0.11% | $0.02 +2025-03-10 13:54:24,199 - INFO - OPENED SHORT at 2063.9 | Stop loss: 2074.234442857143 | Take profit: 2032.9190857142858 +2025-03-10 13:54:24,221 - INFO - CLOSED short at 2064.49 | PnL: -0.03% | $-0.25 +2025-03-10 13:54:24,223 - INFO - OPENED LONG at 2064.49 | Stop loss: 2054.1526071428566 | Take profit: 2095.479764285714 +2025-03-10 13:54:24,380 - INFO - CLOSED long at 2065.69 | PnL: 0.06% | $-0.08 +2025-03-10 13:54:24,380 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.033392857143 | Take profit: 2034.6822357142858 +2025-03-10 13:54:24,420 - INFO - CLOSED short at 2069.79 | PnL: -0.20% | $-0.57 +2025-03-10 13:54:24,420 - INFO - OPENED LONG at 2069.79 | Stop loss: 2059.426107142857 | Take profit: 2100.8592642857143 +2025-03-10 13:54:24,562 - INFO - CLOSED long at 2075.01 | PnL: 0.25% | $0.29 +2025-03-10 13:54:24,564 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.399992857143 | Take profit: 2043.862435714286 +2025-03-10 13:54:24,661 - INFO - CLOSED short at 2071.6 | PnL: 0.16% | $0.12 +2025-03-10 13:54:24,661 - INFO - OPENED LONG at 2071.6 | Stop loss: 2061.227057142857 | Take profit: 2102.6964142857146 +2025-03-10 13:54:24,683 - INFO - CLOSED long at 2073.23 | PnL: 0.08% | $-0.04 +2025-03-10 13:54:24,684 - INFO - OPENED SHORT at 2073.23 | Stop loss: 2083.611092857143 | Take profit: 2042.109135714286 +2025-03-10 13:54:24,715 - INFO - CLOSED short at 2070.0 | PnL: 0.16% | $0.11 +2025-03-10 13:54:24,715 - INFO - OPENED LONG at 2070.0 | Stop loss: 2059.635057142857 | Take profit: 2101.0724142857143 +2025-03-10 13:54:24,965 - INFO - CLOSED long at 2067.44 | PnL: -0.12% | $-0.43 +2025-03-10 13:54:24,966 - INFO - OPENED SHORT at 2067.44 | Stop loss: 2077.792142857143 | Take profit: 2036.4059857142859 +2025-03-10 13:54:25,049 - INFO - CLOSED short at 2071.49 | PnL: -0.20% | $-0.56 +2025-03-10 13:54:25,049 - INFO - OPENED LONG at 2071.49 | Stop loss: 2061.1176071428567 | Take profit: 2102.5847642857143 +2025-03-10 13:54:25,145 - INFO - CLOSED long at 2066.38 | PnL: -0.25% | $-0.66 +2025-03-10 13:54:25,145 - INFO - OPENED SHORT at 2066.38 | Stop loss: 2076.726842857143 | Take profit: 2035.3618857142858 +2025-03-10 13:54:25,252 - INFO - CLOSED short at 2065.66 | PnL: 0.03% | $-0.12 +2025-03-10 13:54:25,253 - INFO - OPENED LONG at 2065.66 | Stop loss: 2055.316757142857 | Take profit: 2096.6673142857144 +2025-03-10 13:54:25,396 - INFO - CLOSED long at 2064.4 | PnL: -0.06% | $-0.30 +2025-03-10 13:54:25,396 - INFO - OPENED SHORT at 2064.4 | Stop loss: 2074.736942857143 | Take profit: 2033.4115857142858 +2025-03-10 13:54:25,419 - INFO - CLOSED short at 2064.31 | PnL: 0.00% | $-0.18 +2025-03-10 13:54:25,419 - INFO - OPENED LONG at 2064.31 | Stop loss: 2053.973507142857 | Take profit: 2095.2970642857144 +2025-03-10 13:54:25,440 - INFO - CLOSED long at 2065.5 | PnL: 0.06% | $-0.08 +2025-03-10 13:54:25,466 - INFO - OPENED SHORT at 2067.53 | Stop loss: 2077.882592857143 | Take profit: 2036.494635714286 +2025-03-10 13:54:25,492 - INFO - CLOSED short at 2065.29 | PnL: 0.11% | $0.02 +2025-03-10 13:54:25,492 - INFO - OPENED LONG at 2065.29 | Stop loss: 2054.948607142857 | Take profit: 2096.2917642857146 +2025-03-10 13:54:25,577 - INFO - CLOSED long at 2066.8 | PnL: 0.07% | $-0.05 +2025-03-10 13:54:25,578 - INFO - OPENED SHORT at 2066.8 | Stop loss: 2077.1489428571426 | Take profit: 2035.7755857142859 +2025-03-10 13:54:25,628 - INFO - CLOSED short at 2066.5 | PnL: 0.01% | $-0.16 +2025-03-10 13:54:25,628 - INFO - OPENED LONG at 2066.5 | Stop loss: 2056.152557142857 | Take profit: 2097.519914285714 +2025-03-10 13:54:25,674 - INFO - CLOSED long at 2068.59 | PnL: 0.10% | $0.00 +2025-03-10 13:54:25,674 - INFO - OPENED SHORT at 2068.59 | Stop loss: 2078.947892857143 | Take profit: 2037.5387357142858 +2025-03-10 13:54:25,784 - INFO - CLOSED short at 2070.9 | PnL: -0.11% | $-0.40 +2025-03-10 13:54:25,809 - INFO - OPENED LONG at 2069.69 | Stop loss: 2059.326607142857 | Take profit: 2100.7577642857145 +2025-03-10 13:54:25,915 - INFO - CLOSED long at 2070.61 | PnL: 0.04% | $-0.10 +2025-03-10 13:54:25,915 - INFO - OPENED SHORT at 2070.61 | Stop loss: 2080.977992857143 | Take profit: 2039.5284357142857 +2025-03-10 13:54:25,966 - INFO - CLOSED short at 2071.99 | PnL: -0.07% | $-0.31 +2025-03-10 13:54:25,967 - INFO - OPENED LONG at 2071.99 | Stop loss: 2061.615107142857 | Take profit: 2103.092264285714 +2025-03-10 13:54:26,060 - INFO - CLOSED long at 2068.67 | PnL: -0.16% | $-0.48 +2025-03-10 13:54:26,060 - INFO - OPENED SHORT at 2068.67 | Stop loss: 2079.0282928571432 | Take profit: 2037.6175357142856 +2025-03-10 13:54:26,132 - INFO - CLOSED short at 2069.78 | PnL: -0.05% | $-0.28 +2025-03-10 13:54:26,133 - INFO - OPENED LONG at 2069.78 | Stop loss: 2059.416157142857 | Take profit: 2100.8491142857147 +2025-03-10 13:54:26,159 - INFO - CLOSED long at 2071.61 | PnL: 0.09% | $-0.02 +2025-03-10 13:54:26,159 - INFO - OPENED SHORT at 2071.61 | Stop loss: 2081.9829928571426 | Take profit: 2040.5134357142858 +2025-03-10 13:54:26,182 - INFO - CLOSED short at 2074.37 | PnL: -0.13% | $-0.43 +2025-03-10 13:54:26,182 - INFO - OPENED LONG at 2074.37 | Stop loss: 2063.9832071428573 | Take profit: 2105.5079642857145 +2025-03-10 13:54:26,228 - INFO - CLOSED long at 2074.35 | PnL: -0.00% | $-0.18 +2025-03-10 13:54:26,229 - INFO - OPENED SHORT at 2074.35 | Stop loss: 2084.7366928571428 | Take profit: 2043.2123357142855 +2025-03-10 13:54:26,258 - INFO - CLOSED short at 2073.27 | PnL: 0.05% | $-0.09 +2025-03-10 13:54:26,258 - INFO - OPENED LONG at 2073.27 | Stop loss: 2062.888707142857 | Take profit: 2104.3914642857144 +2025-03-10 13:54:26,451 - INFO - CLOSED long at 2074.0 | PnL: 0.04% | $-0.12 +2025-03-10 13:54:26,451 - INFO - OPENED SHORT at 2074.0 | Stop loss: 2084.384942857143 | Take profit: 2042.8675857142857 +2025-03-10 13:54:26,512 - INFO - CLOSED short at 2072.09 | PnL: 0.09% | $-0.01 +2025-03-10 13:54:26,512 - INFO - OPENED LONG at 2072.09 | Stop loss: 2061.7146071428574 | Take profit: 2103.1937642857147 +2025-03-10 13:54:26,608 - INFO - CLOSED long at 2067.9 | PnL: -0.20% | $-0.55 +2025-03-10 13:54:26,608 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.2544428571427 | Take profit: 2036.8590857142858 +2025-03-10 13:54:26,633 - INFO - CLOSED short at 2066.4 | PnL: 0.07% | $-0.05 +2025-03-10 13:54:26,634 - INFO - OPENED LONG at 2066.4 | Stop loss: 2056.053057142857 | Take profit: 2097.4184142857143 +2025-03-10 13:54:26,684 - INFO - CLOSED long at 2067.88 | PnL: 0.07% | $-0.05 +2025-03-10 13:54:26,684 - INFO - OPENED SHORT at 2067.88 | Stop loss: 2078.2343428571426 | Take profit: 2036.8393857142858 +2025-03-10 13:54:26,709 - INFO - CLOSED short at 2065.45 | PnL: 0.12% | $0.03 +2025-03-10 13:54:26,709 - INFO - OPENED LONG at 2065.45 | Stop loss: 2055.107807142857 | Take profit: 2096.4541642857143 +2025-03-10 13:54:26,812 - INFO - CLOSED long at 2069.0 | PnL: 0.17% | $0.13 +2025-03-10 13:54:26,812 - INFO - OPENED SHORT at 2069.0 | Stop loss: 2079.359942857143 | Take profit: 2037.9425857142858 +2025-03-10 13:54:26,862 - INFO - CLOSED short at 2070.19 | PnL: -0.06% | $-0.28 +2025-03-10 13:54:26,862 - INFO - OPENED LONG at 2070.19 | Stop loss: 2059.8241071428574 | Take profit: 2101.2652642857142 +2025-03-10 13:54:26,939 - INFO - CLOSED long at 2067.19 | PnL: -0.14% | $-0.44 +2025-03-10 13:54:26,939 - INFO - OPENED SHORT at 2067.19 | Stop loss: 2077.540892857143 | Take profit: 2036.1597357142857 +2025-03-10 13:54:26,962 - INFO - CLOSED short at 2065.5 | PnL: 0.08% | $-0.03 +2025-03-10 13:54:26,962 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.157557142857 | Take profit: 2096.504914285714 +2025-03-10 13:54:27,016 - INFO - CLOSED long at 2065.8 | PnL: 0.01% | $-0.15 +2025-03-10 13:54:27,017 - INFO - OPENED SHORT at 2065.8 | Stop loss: 2076.143942857143 | Take profit: 2034.7905857142857 +2025-03-10 13:54:27,041 - INFO - CLOSED short at 2065.07 | PnL: 0.04% | $-0.12 +2025-03-10 13:54:27,042 - INFO - OPENED LONG at 2065.07 | Stop loss: 2054.7297071428575 | Take profit: 2096.0684642857145 +2025-03-10 13:54:27,321 - INFO - CLOSED long at 2064.5 | PnL: -0.03% | $-0.23 +2025-03-10 13:54:27,347 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.9834071428572 | Take profit: 2097.3473642857143 +2025-03-10 13:54:27,485 - INFO - CLOSED long at 2058.65 | PnL: -0.37% | $-0.84 +2025-03-10 13:54:27,486 - INFO - OPENED SHORT at 2058.65 | Stop loss: 2068.958192857143 | Take profit: 2027.7478357142857 +2025-03-10 13:54:27,509 - INFO - CLOSED short at 2056.77 | PnL: 0.09% | $-0.02 +2025-03-10 13:54:27,510 - INFO - OPENED LONG at 2056.77 | Stop loss: 2046.471207142857 | Take profit: 2087.6439642857144 +2025-03-10 13:54:27,801 - INFO - CLOSED long at 2062.83 | PnL: 0.29% | $0.34 +2025-03-10 13:54:27,801 - INFO - OPENED SHORT at 2062.83 | Stop loss: 2073.1590928571427 | Take profit: 2031.8651357142855 +2025-03-10 13:54:27,824 - INFO - CLOSED short at 2063.9 | PnL: -0.05% | $-0.27 +2025-03-10 13:54:27,824 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.5655571428574 | Take profit: 2094.8809142857144 +2025-03-10 13:54:27,896 - INFO - CLOSED long at 2062.55 | PnL: -0.07% | $-0.29 +2025-03-10 13:54:27,896 - INFO - OPENED SHORT at 2062.55 | Stop loss: 2072.877692857143 | Take profit: 2031.5893357142859 +2025-03-10 13:54:27,942 - INFO - CLOSED short at 2065.12 | PnL: -0.12% | $-0.40 +2025-03-10 13:54:27,942 - INFO - OPENED LONG at 2065.12 | Stop loss: 2054.779457142857 | Take profit: 2096.1192142857144 +2025-03-10 13:54:28,174 - INFO - CLOSED long at 2060.7 | PnL: -0.21% | $-0.55 +2025-03-10 13:54:28,174 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.018442857143 | Take profit: 2029.7670857142855 +2025-03-10 13:54:28,201 - INFO - CLOSED short at 2061.84 | PnL: -0.06% | $-0.27 +2025-03-10 13:54:28,202 - INFO - OPENED LONG at 2061.84 | Stop loss: 2051.5158571428574 | Take profit: 2092.7900142857143 +2025-03-10 13:54:28,256 - INFO - CLOSED long at 2065.72 | PnL: 0.19% | $0.15 +2025-03-10 13:54:28,256 - INFO - OPENED SHORT at 2065.72 | Stop loss: 2076.0635428571427 | Take profit: 2034.7117857142855 +2025-03-10 13:54:28,344 - INFO - CLOSED short at 2069.34 | PnL: -0.18% | $-0.48 +2025-03-10 13:54:28,345 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.978357142857 | Take profit: 2100.4025142857145 +2025-03-10 13:54:28,485 - INFO - CLOSED long at 2073.49 | PnL: 0.20% | $0.17 +2025-03-10 13:54:28,485 - INFO - OPENED SHORT at 2073.49 | Stop loss: 2083.8723928571426 | Take profit: 2042.3652357142855 +2025-03-10 13:54:28,524 - INFO - CLOSED short at 2074.05 | PnL: -0.03% | $-0.22 +2025-03-10 13:54:28,525 - INFO - OPENED LONG at 2074.05 | Stop loss: 2063.664807142857 | Take profit: 2105.183164285714 +2025-03-10 13:54:28,683 - INFO - CLOSED long at 2077.61 | PnL: 0.17% | $0.12 +2025-03-10 13:54:28,684 - INFO - OPENED SHORT at 2077.61 | Stop loss: 2088.012992857143 | Take profit: 2046.423435714286 +2025-03-10 13:54:28,716 - INFO - CLOSED short at 2085.56 | PnL: -0.38% | $-0.84 +2025-03-10 13:54:28,716 - INFO - OPENED LONG at 2085.56 | Stop loss: 2075.1172571428574 | Take profit: 2116.865814285714 +2025-03-10 13:54:28,874 - INFO - TAKE PROFIT hit for long at 2116.865814285714 | PnL: 1.50% | $2.41 +2025-03-10 13:54:28,914 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2526428571427 | Take profit: 2107.4244857142858 +2025-03-10 13:54:28,943 - INFO - CLOSED short at 2131.78 | PnL: 0.36% | $0.46 +2025-03-10 13:54:28,943 - INFO - OPENED LONG at 2131.78 | Stop loss: 2121.1061571428572 | Take profit: 2163.7791142857145 +2025-03-10 13:54:28,965 - INFO - CLOSED long at 2133.95 | PnL: 0.10% | $0.00 +2025-03-10 13:54:28,989 - INFO - OPENED LONG at 2137.59 | Stop loss: 2126.887107142857 | Take profit: 2169.6762642857143 +2025-03-10 13:54:29,013 - INFO - CLOSED long at 2141.41 | PnL: 0.18% | $0.14 +2025-03-10 13:54:29,014 - INFO - OPENED SHORT at 2141.41 | Stop loss: 2152.131992857143 | Take profit: 2109.2664357142858 +2025-03-10 13:54:29,090 - INFO - CLOSED short at 2140.01 | PnL: 0.07% | $-0.06 +2025-03-10 13:54:29,090 - INFO - OPENED LONG at 2140.01 | Stop loss: 2129.2950071428572 | Take profit: 2172.1325642857146 +2025-03-10 13:54:29,191 - INFO - CLOSED long at 2126.99 | PnL: -0.61% | $-1.26 +2025-03-10 13:54:29,191 - INFO - OPENED SHORT at 2126.99 | Stop loss: 2137.6398928571425 | Take profit: 2095.0627357142857 +2025-03-10 13:54:29,299 - INFO - CLOSED short at 2128.69 | PnL: -0.08% | $-0.31 +2025-03-10 13:54:29,300 - INFO - OPENED LONG at 2128.69 | Stop loss: 2118.0316071428574 | Take profit: 2160.6427642857143 +2025-03-10 13:54:29,358 - INFO - CLOSED long at 2120.15 | PnL: -0.40% | $-0.87 +2025-03-10 13:54:29,359 - INFO - OPENED SHORT at 2120.15 | Stop loss: 2130.7656928571428 | Take profit: 2088.3253357142858 +2025-03-10 13:54:29,381 - INFO - CLOSED short at 2117.24 | PnL: 0.14% | $0.06 +2025-03-10 13:54:29,382 - INFO - OPENED LONG at 2117.24 | Stop loss: 2106.638857142857 | Take profit: 2149.021014285714 +2025-03-10 13:54:29,409 - INFO - CLOSED long at 2119.93 | PnL: 0.13% | $0.05 +2025-03-10 13:54:29,410 - INFO - OPENED SHORT at 2119.93 | Stop loss: 2130.544592857143 | Take profit: 2088.1086357142854 +2025-03-10 13:54:29,439 - INFO - CLOSED short at 2121.4 | PnL: -0.07% | $-0.29 +2025-03-10 13:54:29,440 - INFO - OPENED LONG at 2121.4 | Stop loss: 2110.778057142857 | Take profit: 2153.243414285714 +2025-03-10 13:54:29,626 - INFO - STOP LOSS hit for long at 2110.778057142857 | PnL: -0.50% | $-1.04 +2025-03-10 13:54:29,676 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032057142857 | Take profit: 2142.281414285714 +2025-03-10 13:54:29,714 - INFO - CLOSED long at 2109.05 | PnL: -0.07% | $-0.30 +2025-03-10 13:54:29,714 - INFO - OPENED SHORT at 2109.05 | Stop loss: 2119.610192857143 | Take profit: 2077.3918357142857 +2025-03-10 13:54:29,791 - INFO - CLOSED short at 2112.46 | PnL: -0.16% | $-0.44 +2025-03-10 13:54:29,792 - INFO - OPENED LONG at 2112.46 | Stop loss: 2101.882757142857 | Take profit: 2144.1693142857143 +2025-03-10 13:54:29,920 - INFO - CLOSED long at 2114.8 | PnL: 0.11% | $0.02 +2025-03-10 13:54:29,920 - INFO - OPENED SHORT at 2114.8 | Stop loss: 2125.388942857143 | Take profit: 2083.055585714286 +2025-03-10 13:54:30,011 - INFO - CLOSED short at 2108.71 | PnL: 0.29% | $0.32 +2025-03-10 13:54:30,011 - INFO - OPENED LONG at 2108.71 | Stop loss: 2098.151507142857 | Take profit: 2140.3630642857142 +2025-03-10 13:54:30,180 - INFO - CLOSED long at 2090.0 | PnL: -0.89% | $-1.67 +2025-03-10 13:54:30,180 - INFO - OPENED SHORT at 2090.0 | Stop loss: 2100.464942857143 | Take profit: 2058.6275857142855 +2025-03-10 13:54:30,204 - INFO - CLOSED short at 2099.53 | PnL: -0.46% | $-0.92 +2025-03-10 13:54:30,205 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0174071428573 | Take profit: 2131.0453642857146 +2025-03-10 13:54:30,302 - INFO - CLOSED long at 2099.25 | PnL: -0.01% | $-0.19 +2025-03-10 13:54:30,302 - INFO - OPENED SHORT at 2099.25 | Stop loss: 2109.761192857143 | Take profit: 2067.738835714286 +2025-03-10 13:54:30,440 - INFO - CLOSED short at 2104.83 | PnL: -0.27% | $-0.60 +2025-03-10 13:54:30,441 - INFO - OPENED LONG at 2104.83 | Stop loss: 2094.290907142857 | Take profit: 2136.424864285714 +2025-03-10 13:54:30,493 - INFO - CLOSED long at 2106.39 | PnL: 0.07% | $-0.04 +2025-03-10 13:54:30,494 - INFO - OPENED SHORT at 2106.39 | Stop loss: 2116.936892857143 | Take profit: 2074.7717357142856 +2025-03-10 13:54:30,520 - INFO - CLOSED short at 2100.74 | PnL: 0.27% | $0.27 +2025-03-10 13:54:30,520 - INFO - OPENED LONG at 2100.74 | Stop loss: 2090.221357142857 | Take profit: 2132.273514285714 +2025-03-10 13:54:30,714 - INFO - CLOSED long at 2093.46 | PnL: -0.35% | $-0.73 +2025-03-10 13:54:30,714 - INFO - OPENED SHORT at 2093.46 | Stop loss: 2103.942242857143 | Take profit: 2062.0356857142856 +2025-03-10 13:54:30,751 - INFO - CLOSED short at 2093.33 | PnL: 0.01% | $-0.15 +2025-03-10 13:54:30,751 - INFO - OPENED LONG at 2093.33 | Stop loss: 2082.848407142857 | Take profit: 2124.752364285714 +2025-03-10 13:54:30,799 - INFO - CLOSED long at 2092.46 | PnL: -0.04% | $-0.23 +2025-03-10 13:54:30,845 - INFO - OPENED LONG at 2091.1 | Stop loss: 2080.6295571428573 | Take profit: 2122.488914285714 +2025-03-10 13:54:30,942 - INFO - CLOSED long at 2088.35 | PnL: -0.13% | $-0.37 +2025-03-10 13:54:30,943 - INFO - OPENED SHORT at 2088.35 | Stop loss: 2098.806692857143 | Take profit: 2057.002335714286 +2025-03-10 13:54:30,966 - INFO - CLOSED short at 2083.28 | PnL: 0.24% | $0.23 +2025-03-10 13:54:30,966 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.848657142857 | Take profit: 2114.551614285714 +2025-03-10 13:54:31,297 - INFO - CLOSED long at 2083.59 | PnL: 0.01% | $-0.14 +2025-03-10 13:54:31,297 - INFO - OPENED SHORT at 2083.59 | Stop loss: 2094.022892857143 | Take profit: 2052.313735714286 +2025-03-10 13:54:31,320 - INFO - CLOSED short at 2086.57 | PnL: -0.14% | $-0.39 +2025-03-10 13:54:31,320 - INFO - OPENED LONG at 2086.57 | Stop loss: 2076.1222071428574 | Take profit: 2117.8909642857143 +2025-03-10 13:54:31,634 - INFO - CLOSED long at 2086.81 | PnL: 0.01% | $-0.14 +2025-03-10 13:54:31,635 - INFO - OPENED SHORT at 2086.81 | Stop loss: 2097.258992857143 | Take profit: 2055.485435714286 +2025-03-10 13:54:31,673 - INFO - CLOSED short at 2089.79 | PnL: -0.14% | $-0.39 +2025-03-10 13:54:31,673 - INFO - OPENED LONG at 2089.79 | Stop loss: 2079.326107142857 | Take profit: 2121.1592642857145 +2025-03-10 13:54:31,818 - INFO - CLOSED long at 2094.7 | PnL: 0.23% | $0.21 +2025-03-10 13:54:31,819 - INFO - OPENED SHORT at 2094.7 | Stop loss: 2105.1884428571425 | Take profit: 2063.2570857142855 +2025-03-10 13:54:31,866 - INFO - CLOSED short at 2099.99 | PnL: -0.25% | $-0.56 +2025-03-10 13:54:31,866 - INFO - OPENED LONG at 2099.99 | Stop loss: 2089.475107142857 | Take profit: 2131.512264285714 +2025-03-10 13:54:31,892 - INFO - CLOSED long at 2101.64 | PnL: 0.08% | $-0.03 +2025-03-10 13:54:31,892 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.1631428571427 | Take profit: 2070.0929857142855 +2025-03-10 13:54:31,931 - INFO - CLOSED short at 2097.11 | PnL: 0.22% | $0.18 +2025-03-10 13:54:31,932 - INFO - OPENED LONG at 2097.11 | Stop loss: 2086.609507142857 | Take profit: 2128.5890642857144 +2025-03-10 13:54:32,024 - INFO - CLOSED long at 2099.89 | PnL: 0.13% | $0.05 +2025-03-10 13:54:32,025 - INFO - OPENED SHORT at 2099.89 | Stop loss: 2110.4043928571427 | Take profit: 2068.3692357142854 +2025-03-10 13:54:32,069 - INFO - CLOSED short at 2100.89 | PnL: -0.05% | $-0.23 +2025-03-10 13:54:32,069 - INFO - OPENED LONG at 2100.89 | Stop loss: 2090.370607142857 | Take profit: 2132.425764285714 +2025-03-10 13:54:32,155 - INFO - CLOSED long at 2103.48 | PnL: 0.12% | $0.04 +2025-03-10 13:54:32,155 - INFO - OPENED SHORT at 2103.48 | Stop loss: 2114.012342857143 | Take profit: 2071.905385714286 +2025-03-10 13:54:32,176 - INFO - CLOSED short at 2104.93 | PnL: -0.07% | $-0.27 +2025-03-10 13:54:32,177 - INFO - OPENED LONG at 2104.93 | Stop loss: 2094.390407142857 | Take profit: 2136.526364285714 +2025-03-10 13:54:32,426 - INFO - CLOSED long at 2105.21 | PnL: 0.01% | $-0.14 +2025-03-10 13:54:32,426 - INFO - OPENED SHORT at 2105.21 | Stop loss: 2115.750992857143 | Take profit: 2073.6094357142856 +2025-03-10 13:54:32,477 - INFO - CLOSED short at 2103.9 | PnL: 0.06% | $-0.06 +2025-03-10 13:54:32,478 - INFO - OPENED LONG at 2103.9 | Stop loss: 2093.365557142857 | Take profit: 2135.4809142857143 +2025-03-10 13:54:32,667 - INFO - CLOSED long at 2106.28 | PnL: 0.11% | $0.02 +2025-03-10 13:54:32,668 - INFO - OPENED SHORT at 2106.28 | Stop loss: 2116.826342857143 | Take profit: 2074.663385714286 +2025-03-10 13:54:32,808 - INFO - CLOSED short at 2110.4 | PnL: -0.20% | $-0.46 +2025-03-10 13:54:32,808 - INFO - OPENED LONG at 2110.4 | Stop loss: 2099.8330571428573 | Take profit: 2142.0784142857146 +2025-03-10 13:54:33,088 - INFO - CLOSED long at 2108.99 | PnL: -0.07% | $-0.26 +2025-03-10 13:54:33,089 - INFO - OPENED SHORT at 2108.99 | Stop loss: 2119.549892857143 | Take profit: 2077.3327357142857 +2025-03-10 13:54:33,141 - INFO - CLOSED short at 2111.19 | PnL: -0.10% | $-0.32 +2025-03-10 13:54:33,141 - INFO - OPENED LONG at 2111.19 | Stop loss: 2100.619107142857 | Take profit: 2142.8802642857145 +2025-03-10 13:54:33,287 - INFO - CLOSED long at 2117.39 | PnL: 0.29% | $0.30 +2025-03-10 13:54:33,288 - INFO - OPENED SHORT at 2117.39 | Stop loss: 2127.991892857143 | Take profit: 2085.6067357142856 +2025-03-10 13:54:33,316 - INFO - CLOSED short at 2115.3 | PnL: 0.10% | $-0.00 +2025-03-10 13:54:33,316 - INFO - OPENED LONG at 2115.3 | Stop loss: 2104.7085571428574 | Take profit: 2147.0519142857142 +2025-03-10 13:54:33,452 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.20, Avg Loss=$-0.34 +2025-03-10 13:54:33,452 - INFO - Episode 41: Reward=21.94, Balance=$78.35, Win Rate=30.0%, Trades=120, Episode PnL=$-12.33, Total PnL=$-224.63, Max Drawdown=18.9%, Pred Accuracy=99.8% +2025-03-10 13:54:33,453 - INFO - Reducing learning rate to 0.000010 +2025-03-10 13:54:33,756 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:54:33,845 - INFO - CLOSED long at 2057.89 | PnL: -0.24% | $-0.68 +2025-03-10 13:54:33,845 - INFO - OPENED SHORT at 2057.89 | Stop loss: 2068.1943928571427 | Take profit: 2026.9992357142855 +2025-03-10 13:54:33,923 - INFO - CLOSED short at 2061.79 | PnL: -0.19% | $-0.57 +2025-03-10 13:54:33,923 - INFO - OPENED LONG at 2061.79 | Stop loss: 2051.4661071428573 | Take profit: 2092.7392642857144 +2025-03-10 13:54:33,961 - INFO - CLOSED long at 2061.18 | PnL: -0.03% | $-0.25 +2025-03-10 13:54:33,961 - INFO - OPENED SHORT at 2061.18 | Stop loss: 2071.5008428571427 | Take profit: 2030.2398857142855 +2025-03-10 13:54:33,994 - INFO - CLOSED short at 2064.32 | PnL: -0.15% | $-0.49 +2025-03-10 13:54:33,995 - INFO - OPENED LONG at 2064.32 | Stop loss: 2053.9834571428573 | Take profit: 2095.3072142857145 +2025-03-10 13:54:34,094 - INFO - CLOSED long at 2068.11 | PnL: 0.18% | $0.16 +2025-03-10 13:54:34,095 - INFO - OPENED SHORT at 2068.11 | Stop loss: 2078.465492857143 | Take profit: 2037.0659357142858 +2025-03-10 13:54:34,116 - INFO - CLOSED short at 2068.29 | PnL: -0.01% | $-0.21 +2025-03-10 13:54:34,116 - INFO - OPENED LONG at 2068.29 | Stop loss: 2057.933607142857 | Take profit: 2099.3367642857143 +2025-03-10 13:54:34,220 - INFO - CLOSED long at 2068.65 | PnL: 0.02% | $-0.16 +2025-03-10 13:54:34,220 - INFO - OPENED SHORT at 2068.65 | Stop loss: 2079.008192857143 | Take profit: 2037.5978357142858 +2025-03-10 13:54:34,245 - INFO - CLOSED short at 2068.99 | PnL: -0.02% | $-0.23 +2025-03-10 13:54:34,245 - INFO - OPENED LONG at 2068.99 | Stop loss: 2058.630107142857 | Take profit: 2100.047264285714 +2025-03-10 13:54:34,289 - INFO - CLOSED long at 2067.69 | PnL: -0.06% | $-0.32 +2025-03-10 13:54:34,289 - INFO - OPENED SHORT at 2067.69 | Stop loss: 2078.0433928571433 | Take profit: 2036.6522357142858 +2025-03-10 13:54:34,324 - INFO - CLOSED short at 2070.26 | PnL: -0.12% | $-0.43 +2025-03-10 13:54:34,364 - INFO - OPENED SHORT at 2071.44 | Stop loss: 2081.812142857143 | Take profit: 2040.3459857142857 +2025-03-10 13:54:34,434 - INFO - CLOSED short at 2075.1 | PnL: -0.18% | $-0.53 +2025-03-10 13:54:34,434 - INFO - OPENED LONG at 2075.1 | Stop loss: 2064.709557142857 | Take profit: 2106.248914285714 +2025-03-10 13:54:34,485 - INFO - CLOSED long at 2072.91 | PnL: -0.11% | $-0.39 +2025-03-10 13:54:34,485 - INFO - OPENED SHORT at 2072.91 | Stop loss: 2083.2894928571427 | Take profit: 2041.7939357142857 +2025-03-10 13:54:34,564 - INFO - CLOSED short at 2071.41 | PnL: 0.07% | $-0.05 +2025-03-10 13:54:34,565 - INFO - OPENED LONG at 2071.41 | Stop loss: 2061.0380071428567 | Take profit: 2102.5035642857138 +2025-03-10 13:54:34,610 - INFO - CLOSED long at 2070.9 | PnL: -0.02% | $-0.24 +2025-03-10 13:54:34,610 - INFO - OPENED SHORT at 2070.9 | Stop loss: 2081.269442857143 | Take profit: 2039.8140857142857 +2025-03-10 13:54:34,636 - INFO - CLOSED short at 2072.8 | PnL: -0.09% | $-0.36 +2025-03-10 13:54:34,636 - INFO - OPENED LONG at 2072.8 | Stop loss: 2062.4210571428575 | Take profit: 2103.9144142857144 +2025-03-10 13:54:34,834 - INFO - CLOSED long at 2070.7 | PnL: -0.10% | $-0.38 +2025-03-10 13:54:34,835 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.0684428571426 | Take profit: 2039.6170857142854 +2025-03-10 13:54:34,876 - INFO - CLOSED short at 2069.34 | PnL: 0.07% | $-0.06 +2025-03-10 13:54:34,876 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.978357142857 | Take profit: 2100.4025142857145 +2025-03-10 13:54:34,912 - INFO - CLOSED long at 2069.19 | PnL: -0.01% | $-0.20 +2025-03-10 13:54:34,937 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.4410571428575 | Take profit: 2099.8544142857145 +2025-03-10 13:54:35,051 - INFO - CLOSED long at 2065.99 | PnL: -0.14% | $-0.44 +2025-03-10 13:54:35,051 - INFO - OPENED SHORT at 2065.99 | Stop loss: 2076.3348928571427 | Take profit: 2034.9777357142855 +2025-03-10 13:54:35,074 - INFO - CLOSED short at 2066.19 | PnL: -0.01% | $-0.21 +2025-03-10 13:54:35,074 - INFO - OPENED LONG at 2066.19 | Stop loss: 2055.8441071428574 | Take profit: 2097.2052642857143 +2025-03-10 13:54:35,100 - INFO - CLOSED long at 2066.29 | PnL: 0.00% | $-0.18 +2025-03-10 13:54:35,101 - INFO - OPENED SHORT at 2066.29 | Stop loss: 2076.6363928571427 | Take profit: 2035.2732357142856 +2025-03-10 13:54:35,139 - INFO - CLOSED short at 2065.08 | PnL: 0.06% | $-0.08 +2025-03-10 13:54:35,139 - INFO - OPENED LONG at 2065.08 | Stop loss: 2054.739657142857 | Take profit: 2096.078614285714 +2025-03-10 13:54:35,406 - INFO - CLOSED long at 2071.39 | PnL: 0.31% | $0.38 +2025-03-10 13:54:35,407 - INFO - OPENED SHORT at 2071.39 | Stop loss: 2081.761892857143 | Take profit: 2040.2967357142857 +2025-03-10 13:54:35,428 - INFO - CLOSED short at 2071.36 | PnL: 0.00% | $-0.18 +2025-03-10 13:54:35,428 - INFO - OPENED LONG at 2071.36 | Stop loss: 2060.9882571428575 | Take profit: 2102.4528142857143 +2025-03-10 13:54:35,512 - INFO - CLOSED long at 2072.15 | PnL: 0.04% | $-0.12 +2025-03-10 13:54:35,513 - INFO - OPENED SHORT at 2072.15 | Stop loss: 2082.525692857143 | Take profit: 2041.045335714286 +2025-03-10 13:54:35,561 - INFO - CLOSED short at 2074.29 | PnL: -0.10% | $-0.38 +2025-03-10 13:54:35,562 - INFO - OPENED LONG at 2074.29 | Stop loss: 2063.9036071428573 | Take profit: 2105.4267642857144 +2025-03-10 13:54:35,642 - INFO - CLOSED long at 2071.92 | PnL: -0.11% | $-0.40 +2025-03-10 13:54:35,682 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.033057142857 | Take profit: 2101.4784142857143 +2025-03-10 13:54:35,754 - INFO - CLOSED long at 2069.35 | PnL: -0.05% | $-0.28 +2025-03-10 13:54:35,754 - INFO - OPENED SHORT at 2069.35 | Stop loss: 2079.7116928571427 | Take profit: 2038.2873357142855 +2025-03-10 13:54:35,774 - INFO - CLOSED short at 2068.32 | PnL: 0.05% | $-0.09 +2025-03-10 13:54:35,775 - INFO - OPENED LONG at 2068.32 | Stop loss: 2057.9634571428574 | Take profit: 2099.3672142857145 +2025-03-10 13:54:35,798 - INFO - CLOSED long at 2067.0 | PnL: -0.06% | $-0.30 +2025-03-10 13:54:35,799 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.3499428571427 | Take profit: 2035.9725857142857 +2025-03-10 13:54:35,847 - INFO - CLOSED short at 2067.46 | PnL: -0.02% | $-0.22 +2025-03-10 13:54:35,847 - INFO - OPENED LONG at 2067.46 | Stop loss: 2057.1077571428573 | Take profit: 2098.4943142857146 +2025-03-10 13:54:36,585 - INFO - CLOSED long at 2064.47 | PnL: -0.14% | $-0.45 +2025-03-10 13:54:36,585 - INFO - OPENED SHORT at 2064.47 | Stop loss: 2074.8072928571423 | Take profit: 2033.4805357142855 +2025-03-10 13:54:36,630 - INFO - CLOSED short at 2067.8 | PnL: -0.16% | $-0.48 +2025-03-10 13:54:36,632 - INFO - OPENED LONG at 2067.8 | Stop loss: 2057.446057142857 | Take profit: 2098.8394142857146 +2025-03-10 13:54:36,753 - INFO - CLOSED long at 2064.99 | PnL: -0.14% | $-0.43 +2025-03-10 13:54:36,753 - INFO - OPENED SHORT at 2064.99 | Stop loss: 2075.3298928571426 | Take profit: 2033.9927357142856 +2025-03-10 13:54:36,912 - INFO - CLOSED short at 2062.89 | PnL: 0.10% | $0.00 +2025-03-10 13:54:36,912 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:54:36,940 - INFO - CLOSED long at 2062.65 | PnL: -0.01% | $-0.20 +2025-03-10 13:54:36,940 - INFO - OPENED SHORT at 2062.65 | Stop loss: 2072.978192857143 | Take profit: 2031.6878357142857 +2025-03-10 13:54:36,966 - INFO - CLOSED short at 2061.78 | PnL: 0.04% | $-0.10 +2025-03-10 13:54:36,966 - INFO - OPENED LONG at 2061.78 | Stop loss: 2051.456157142857 | Take profit: 2092.729114285715 +2025-03-10 13:54:36,992 - INFO - CLOSED long at 2059.59 | PnL: -0.11% | $-0.37 +2025-03-10 13:54:37,015 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.621442857143 | Take profit: 2030.358085714286 +2025-03-10 13:54:37,060 - INFO - CLOSED short at 2064.96 | PnL: -0.18% | $-0.50 +2025-03-10 13:54:37,061 - INFO - OPENED LONG at 2064.96 | Stop loss: 2054.620257142857 | Take profit: 2095.9568142857142 +2025-03-10 13:54:37,221 - INFO - CLOSED long at 2066.09 | PnL: 0.05% | $-0.08 +2025-03-10 13:54:37,221 - INFO - OPENED SHORT at 2066.09 | Stop loss: 2076.4353928571427 | Take profit: 2035.0762357142858 +2025-03-10 13:54:37,282 - INFO - CLOSED short at 2064.45 | PnL: 0.08% | $-0.04 +2025-03-10 13:54:37,282 - INFO - OPENED LONG at 2064.45 | Stop loss: 2054.112807142857 | Take profit: 2095.4391642857145 +2025-03-10 13:54:37,394 - INFO - CLOSED long at 2064.5 | PnL: 0.00% | $-0.17 +2025-03-10 13:54:37,394 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.837442857143 | Take profit: 2033.5100857142857 +2025-03-10 13:54:37,420 - INFO - CLOSED short at 2063.5 | PnL: 0.05% | $-0.09 +2025-03-10 13:54:37,420 - INFO - OPENED LONG at 2063.5 | Stop loss: 2053.1675571428573 | Take profit: 2094.4749142857145 +2025-03-10 13:54:37,469 - INFO - CLOSED long at 2060.9 | PnL: -0.13% | $-0.40 +2025-03-10 13:54:37,470 - INFO - OPENED SHORT at 2060.9 | Stop loss: 2071.219442857143 | Take profit: 2029.9640857142858 +2025-03-10 13:54:37,495 - INFO - CLOSED short at 2060.65 | PnL: 0.01% | $-0.15 +2025-03-10 13:54:37,495 - INFO - OPENED LONG at 2060.65 | Stop loss: 2050.3318071428575 | Take profit: 2091.5821642857145 +2025-03-10 13:54:37,604 - INFO - CLOSED long at 2059.3 | PnL: -0.07% | $-0.29 +2025-03-10 13:54:37,604 - INFO - OPENED SHORT at 2059.3 | Stop loss: 2069.6114428571427 | Take profit: 2028.3880857142858 +2025-03-10 13:54:37,748 - INFO - CLOSED short at 2062.61 | PnL: -0.16% | $-0.46 +2025-03-10 13:54:37,749 - INFO - OPENED LONG at 2062.61 | Stop loss: 2052.2820071428573 | Take profit: 2093.5715642857144 +2025-03-10 13:54:37,798 - INFO - CLOSED long at 2060.3 | PnL: -0.11% | $-0.37 +2025-03-10 13:54:37,798 - INFO - OPENED SHORT at 2060.3 | Stop loss: 2070.616442857143 | Take profit: 2029.373085714286 +2025-03-10 13:54:37,821 - INFO - CLOSED short at 2061.13 | PnL: -0.04% | $-0.24 +2025-03-10 13:54:37,822 - INFO - OPENED LONG at 2061.13 | Stop loss: 2050.8094071428573 | Take profit: 2092.0693642857145 +2025-03-10 13:54:37,896 - INFO - CLOSED long at 2065.36 | PnL: 0.21% | $0.18 +2025-03-10 13:54:37,897 - INFO - OPENED SHORT at 2065.36 | Stop loss: 2075.701742857143 | Take profit: 2034.3571857142858 +2025-03-10 13:54:37,940 - INFO - CLOSED short at 2064.33 | PnL: 0.05% | $-0.09 +2025-03-10 13:54:37,941 - INFO - OPENED LONG at 2064.33 | Stop loss: 2053.993407142857 | Take profit: 2095.317364285714 +2025-03-10 13:54:38,159 - INFO - CLOSED long at 2062.6 | PnL: -0.08% | $-0.32 +2025-03-10 13:54:38,160 - INFO - OPENED SHORT at 2062.6 | Stop loss: 2072.927942857143 | Take profit: 2031.6385857142857 +2025-03-10 13:54:38,185 - INFO - CLOSED short at 2061.89 | PnL: 0.03% | $-0.11 +2025-03-10 13:54:38,185 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.565607142857 | Take profit: 2092.840764285714 +2025-03-10 13:54:38,235 - INFO - CLOSED long at 2060.7 | PnL: -0.06% | $-0.27 +2025-03-10 13:54:38,236 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.018442857143 | Take profit: 2029.7670857142855 +2025-03-10 13:54:38,288 - INFO - CLOSED short at 2059.61 | PnL: 0.05% | $-0.08 +2025-03-10 13:54:38,289 - INFO - OPENED LONG at 2059.61 | Stop loss: 2049.297007142857 | Take profit: 2090.5265642857144 +2025-03-10 13:54:38,529 - INFO - CLOSED long at 2058.28 | PnL: -0.06% | $-0.28 +2025-03-10 13:54:38,529 - INFO - OPENED SHORT at 2058.28 | Stop loss: 2068.586342857143 | Take profit: 2027.3833857142859 +2025-03-10 13:54:38,550 - INFO - CLOSED short at 2056.28 | PnL: 0.10% | $-0.00 +2025-03-10 13:54:38,550 - INFO - OPENED LONG at 2056.28 | Stop loss: 2045.9836571428575 | Take profit: 2087.146614285715 +2025-03-10 13:54:38,828 - INFO - CLOSED long at 2061.3 | PnL: 0.24% | $0.25 +2025-03-10 13:54:38,828 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.621442857143 | Take profit: 2030.358085714286 +2025-03-10 13:54:38,875 - INFO - CLOSED short at 2062.69 | PnL: -0.07% | $-0.29 +2025-03-10 13:54:38,876 - INFO - OPENED LONG at 2062.69 | Stop loss: 2052.3616071428573 | Take profit: 2093.6527642857145 +2025-03-10 13:54:39,036 - INFO - CLOSED long at 2066.34 | PnL: 0.18% | $0.13 +2025-03-10 13:54:39,036 - INFO - OPENED SHORT at 2066.34 | Stop loss: 2076.686642857143 | Take profit: 2035.3224857142857 +2025-03-10 13:54:39,106 - INFO - CLOSED short at 2067.01 | PnL: -0.03% | $-0.23 +2025-03-10 13:54:39,106 - INFO - OPENED LONG at 2067.01 | Stop loss: 2056.6600071428575 | Take profit: 2098.037564285715 +2025-03-10 13:54:39,187 - INFO - CLOSED long at 2069.79 | PnL: 0.13% | $0.06 +2025-03-10 13:54:39,188 - INFO - OPENED SHORT at 2069.79 | Stop loss: 2080.153892857143 | Take profit: 2038.7207357142856 +2025-03-10 13:54:39,229 - INFO - CLOSED short at 2072.0 | PnL: -0.11% | $-0.35 +2025-03-10 13:54:39,229 - INFO - OPENED LONG at 2072.0 | Stop loss: 2061.6250571428573 | Take profit: 2103.1024142857145 +2025-03-10 13:54:39,326 - INFO - CLOSED long at 2075.01 | PnL: 0.15% | $0.08 +2025-03-10 13:54:39,327 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.399992857143 | Take profit: 2043.862435714286 +2025-03-10 13:54:39,350 - INFO - CLOSED short at 2072.6 | PnL: 0.12% | $0.03 +2025-03-10 13:54:39,350 - INFO - OPENED LONG at 2072.6 | Stop loss: 2062.222057142857 | Take profit: 2103.7114142857145 +2025-03-10 13:54:39,376 - INFO - CLOSED long at 2071.04 | PnL: -0.08% | $-0.30 +2025-03-10 13:54:39,377 - INFO - OPENED SHORT at 2071.04 | Stop loss: 2081.410142857143 | Take profit: 2039.9519857142857 +2025-03-10 13:54:39,399 - INFO - CLOSED short at 2070.01 | PnL: 0.05% | $-0.09 +2025-03-10 13:54:39,399 - INFO - OPENED LONG at 2070.01 | Stop loss: 2059.645007142857 | Take profit: 2101.082564285715 +2025-03-10 13:54:39,425 - INFO - CLOSED long at 2071.6 | PnL: 0.08% | $-0.04 +2025-03-10 13:54:39,426 - INFO - OPENED SHORT at 2071.6 | Stop loss: 2081.972942857143 | Take profit: 2040.5035857142857 +2025-03-10 13:54:39,495 - INFO - CLOSED short at 2068.15 | PnL: 0.17% | $0.11 +2025-03-10 13:54:39,496 - INFO - OPENED LONG at 2068.15 | Stop loss: 2057.794307142857 | Take profit: 2099.194664285714 +2025-03-10 13:54:39,571 - INFO - CLOSED long at 2069.69 | PnL: 0.07% | $-0.04 +2025-03-10 13:54:39,571 - INFO - OPENED SHORT at 2069.69 | Stop loss: 2080.053392857143 | Take profit: 2038.6222357142858 +2025-03-10 13:54:39,651 - INFO - CLOSED short at 2067.44 | PnL: 0.11% | $0.01 +2025-03-10 13:54:39,651 - INFO - OPENED LONG at 2067.44 | Stop loss: 2057.087857142857 | Take profit: 2098.4740142857145 +2025-03-10 13:54:39,724 - INFO - CLOSED long at 2072.99 | PnL: 0.27% | $0.29 +2025-03-10 13:54:39,724 - INFO - OPENED SHORT at 2072.99 | Stop loss: 2083.369892857143 | Take profit: 2041.8727357142855 +2025-03-10 13:54:39,749 - INFO - CLOSED short at 2071.49 | PnL: 0.07% | $-0.05 +2025-03-10 13:54:39,749 - INFO - OPENED LONG at 2071.49 | Stop loss: 2061.1176071428567 | Take profit: 2102.5847642857143 +2025-03-10 13:54:39,818 - INFO - CLOSED long at 2066.38 | PnL: -0.25% | $-0.59 +2025-03-10 13:54:39,818 - INFO - OPENED SHORT at 2066.38 | Stop loss: 2076.726842857143 | Take profit: 2035.3618857142858 +2025-03-10 13:54:39,843 - INFO - CLOSED short at 2065.7 | PnL: 0.03% | $-0.11 +2025-03-10 13:54:39,843 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.356557142857 | Take profit: 2096.707914285714 +2025-03-10 13:54:39,948 - INFO - CLOSED long at 2064.5 | PnL: -0.06% | $-0.27 +2025-03-10 13:54:39,949 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.837442857143 | Take profit: 2033.5100857142857 +2025-03-10 13:54:39,982 - INFO - CLOSED short at 2065.3 | PnL: -0.04% | $-0.23 +2025-03-10 13:54:39,982 - INFO - OPENED LONG at 2065.3 | Stop loss: 2054.9585571428574 | Take profit: 2096.3019142857142 +2025-03-10 13:54:40,067 - INFO - CLOSED long at 2064.31 | PnL: -0.05% | $-0.25 +2025-03-10 13:54:40,068 - INFO - OPENED SHORT at 2064.31 | Stop loss: 2074.6464928571427 | Take profit: 2033.3229357142857 +2025-03-10 13:54:40,109 - INFO - CLOSED short at 2065.5 | PnL: -0.06% | $-0.26 +2025-03-10 13:54:40,109 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.157557142857 | Take profit: 2096.504914285714 +2025-03-10 13:54:40,132 - INFO - CLOSED long at 2067.53 | PnL: 0.10% | $-0.00 +2025-03-10 13:54:40,132 - INFO - OPENED SHORT at 2067.53 | Stop loss: 2077.882592857143 | Take profit: 2036.494635714286 +2025-03-10 13:54:40,154 - INFO - CLOSED short at 2065.29 | PnL: 0.11% | $0.01 +2025-03-10 13:54:40,154 - INFO - OPENED LONG at 2065.29 | Stop loss: 2054.948607142857 | Take profit: 2096.2917642857146 +2025-03-10 13:54:40,260 - INFO - CLOSED long at 2071.59 | PnL: 0.31% | $0.34 +2025-03-10 13:54:40,261 - INFO - OPENED SHORT at 2071.59 | Stop loss: 2081.962892857143 | Take profit: 2040.4937357142858 +2025-03-10 13:54:40,284 - INFO - CLOSED short at 2070.2 | PnL: 0.07% | $-0.06 +2025-03-10 13:54:40,284 - INFO - OPENED LONG at 2070.2 | Stop loss: 2059.834057142857 | Take profit: 2101.275414285714 +2025-03-10 13:54:40,310 - INFO - CLOSED long at 2071.35 | PnL: 0.06% | $-0.07 +2025-03-10 13:54:40,311 - INFO - OPENED SHORT at 2071.35 | Stop loss: 2081.721692857143 | Take profit: 2040.2573357142858 +2025-03-10 13:54:40,361 - INFO - CLOSED short at 2070.9 | PnL: 0.02% | $-0.13 +2025-03-10 13:54:40,362 - INFO - OPENED LONG at 2070.9 | Stop loss: 2060.530557142857 | Take profit: 2101.9859142857144 +2025-03-10 13:54:40,415 - INFO - CLOSED long at 2069.69 | PnL: -0.06% | $-0.27 +2025-03-10 13:54:40,415 - INFO - OPENED SHORT at 2069.69 | Stop loss: 2080.053392857143 | Take profit: 2038.6222357142858 +2025-03-10 13:54:40,456 - INFO - CLOSED short at 2070.7 | PnL: -0.05% | $-0.25 +2025-03-10 13:54:40,457 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.331557142857 | Take profit: 2101.782914285714 +2025-03-10 13:54:40,700 - INFO - CLOSED long at 2074.37 | PnL: 0.18% | $0.13 +2025-03-10 13:54:40,700 - INFO - OPENED SHORT at 2074.37 | Stop loss: 2084.7567928571425 | Take profit: 2043.2320357142855 +2025-03-10 13:54:40,748 - INFO - CLOSED short at 2075.07 | PnL: -0.03% | $-0.22 +2025-03-10 13:54:40,748 - INFO - OPENED LONG at 2075.07 | Stop loss: 2064.6797071428573 | Take profit: 2106.2184642857146 +2025-03-10 13:54:40,844 - INFO - CLOSED long at 2073.27 | PnL: -0.09% | $-0.31 +2025-03-10 13:54:40,845 - INFO - OPENED SHORT at 2073.27 | Stop loss: 2083.651292857143 | Take profit: 2042.1485357142858 +2025-03-10 13:54:40,930 - INFO - CLOSED short at 2075.32 | PnL: -0.10% | $-0.33 +2025-03-10 13:54:40,931 - INFO - OPENED LONG at 2075.32 | Stop loss: 2064.9284571428575 | Take profit: 2106.4722142857145 +2025-03-10 13:54:40,974 - INFO - CLOSED long at 2076.9 | PnL: 0.08% | $-0.04 +2025-03-10 13:54:40,975 - INFO - OPENED SHORT at 2076.9 | Stop loss: 2087.299442857143 | Take profit: 2045.7240857142858 +2025-03-10 13:54:41,000 - INFO - CLOSED short at 2075.61 | PnL: 0.06% | $-0.06 +2025-03-10 13:54:41,000 - INFO - OPENED LONG at 2075.61 | Stop loss: 2065.2170071428573 | Take profit: 2106.7665642857146 +2025-03-10 13:54:41,119 - INFO - CLOSED long at 2067.0 | PnL: -0.41% | $-0.85 +2025-03-10 13:54:41,119 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.3499428571427 | Take profit: 2035.9725857142857 +2025-03-10 13:54:41,174 - INFO - CLOSED short at 2067.9 | PnL: -0.04% | $-0.23 +2025-03-10 13:54:41,174 - INFO - OPENED LONG at 2067.9 | Stop loss: 2057.5455571428574 | Take profit: 2098.9409142857144 +2025-03-10 13:54:41,330 - INFO - CLOSED long at 2065.45 | PnL: -0.12% | $-0.35 +2025-03-10 13:54:41,330 - INFO - OPENED SHORT at 2065.45 | Stop loss: 2075.7921928571427 | Take profit: 2034.4458357142857 +2025-03-10 13:54:41,352 - INFO - CLOSED short at 2068.1 | PnL: -0.13% | $-0.37 +2025-03-10 13:54:41,353 - INFO - OPENED LONG at 2068.1 | Stop loss: 2057.744557142857 | Take profit: 2099.1439142857143 +2025-03-10 13:54:41,375 - INFO - CLOSED long at 2069.0 | PnL: 0.04% | $-0.09 +2025-03-10 13:54:41,375 - INFO - OPENED SHORT at 2069.0 | Stop loss: 2079.359942857143 | Take profit: 2037.9425857142858 +2025-03-10 13:54:41,420 - INFO - CLOSED short at 2070.1 | PnL: -0.05% | $-0.25 +2025-03-10 13:54:41,420 - INFO - OPENED LONG at 2070.1 | Stop loss: 2059.734557142857 | Take profit: 2101.173914285714 +2025-03-10 13:54:41,463 - INFO - CLOSED long at 2065.5 | PnL: -0.22% | $-0.52 +2025-03-10 13:54:41,464 - INFO - OPENED SHORT at 2065.5 | Stop loss: 2075.842442857143 | Take profit: 2034.4950857142856 +2025-03-10 13:54:41,490 - INFO - CLOSED short at 2065.7 | PnL: -0.01% | $-0.17 +2025-03-10 13:54:41,490 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.356557142857 | Take profit: 2096.707914285714 +2025-03-10 13:54:41,523 - INFO - CLOSED long at 2065.8 | PnL: 0.00% | $-0.15 +2025-03-10 13:54:41,524 - INFO - OPENED SHORT at 2065.8 | Stop loss: 2076.143942857143 | Take profit: 2034.7905857142857 +2025-03-10 13:54:41,566 - INFO - CLOSED short at 2065.07 | PnL: 0.04% | $-0.10 +2025-03-10 13:54:41,567 - INFO - OPENED LONG at 2065.07 | Stop loss: 2054.7297071428575 | Take profit: 2096.0684642857145 +2025-03-10 13:54:41,613 - INFO - CLOSED long at 2066.09 | PnL: 0.05% | $-0.08 +2025-03-10 13:54:41,614 - INFO - OPENED SHORT at 2066.09 | Stop loss: 2076.4353928571427 | Take profit: 2035.0762357142858 +2025-03-10 13:54:41,690 - INFO - CLOSED short at 2062.34 | PnL: 0.18% | $0.13 +2025-03-10 13:54:41,690 - INFO - OPENED LONG at 2062.34 | Stop loss: 2052.0133571428573 | Take profit: 2093.2975142857144 +2025-03-10 13:54:41,742 - INFO - CLOSED long at 2066.1 | PnL: 0.18% | $0.13 +2025-03-10 13:54:41,742 - INFO - OPENED SHORT at 2066.1 | Stop loss: 2076.445442857143 | Take profit: 2035.0860857142857 +2025-03-10 13:54:41,765 - INFO - CLOSED short at 2065.06 | PnL: 0.05% | $-0.08 +2025-03-10 13:54:41,765 - INFO - OPENED LONG at 2065.06 | Stop loss: 2054.719757142857 | Take profit: 2096.058314285714 +2025-03-10 13:54:41,877 - INFO - CLOSED long at 2060.7 | PnL: -0.21% | $-0.49 +2025-03-10 13:54:41,905 - INFO - OPENED LONG at 2060.2 | Stop loss: 2049.884057142857 | Take profit: 2091.125414285714 +2025-03-10 13:54:42,112 - INFO - CLOSED long at 2049.21 | PnL: -0.53% | $-1.00 +2025-03-10 13:54:42,113 - INFO - OPENED SHORT at 2049.21 | Stop loss: 2059.470992857143 | Take profit: 2018.4494357142858 +2025-03-10 13:54:42,136 - INFO - CLOSED short at 2049.5 | PnL: -0.01% | $-0.18 +2025-03-10 13:54:42,136 - INFO - OPENED LONG at 2049.5 | Stop loss: 2039.237557142857 | Take profit: 2080.264914285714 +2025-03-10 13:54:42,928 - INFO - CLOSED long at 2069.81 | PnL: 0.99% | $1.38 +2025-03-10 13:54:42,958 - INFO - OPENED LONG at 2070.41 | Stop loss: 2060.043007142857 | Take profit: 2101.488564285714 +2025-03-10 13:54:43,006 - INFO - CLOSED long at 2074.05 | PnL: 0.18% | $0.12 +2025-03-10 13:54:43,006 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.4351928571427 | Take profit: 2042.9168357142858 +2025-03-10 13:54:43,035 - INFO - CLOSED short at 2072.99 | PnL: 0.05% | $-0.08 +2025-03-10 13:54:43,036 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.610107142857 | Take profit: 2104.107264285714 +2025-03-10 13:54:43,116 - INFO - CLOSED long at 2074.9 | PnL: 0.09% | $-0.01 +2025-03-10 13:54:43,117 - INFO - OPENED SHORT at 2074.9 | Stop loss: 2085.2894428571426 | Take profit: 2043.7540857142858 +2025-03-10 13:54:43,166 - INFO - CLOSED short at 2076.08 | PnL: -0.06% | $-0.25 +2025-03-10 13:54:43,166 - INFO - OPENED LONG at 2076.08 | Stop loss: 2065.6846571428573 | Take profit: 2107.2436142857146 +2025-03-10 13:54:43,330 - INFO - CLOSED long at 2130.7 | PnL: 2.63% | $3.99 +2025-03-10 13:54:43,330 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.368442857143 | Take profit: 2098.7170857142855 +2025-03-10 13:54:43,352 - INFO - CLOSED short at 2139.54 | PnL: -0.41% | $-0.85 +2025-03-10 13:54:43,352 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.827357142857 | Take profit: 2171.655514285714 +2025-03-10 13:54:43,661 - INFO - STOP LOSS hit for long at 2128.827357142857 | PnL: -0.50% | $-0.98 +2025-03-10 13:54:43,732 - INFO - OPENED LONG at 2128.69 | Stop loss: 2118.0316071428574 | Take profit: 2160.6427642857143 +2025-03-10 13:54:43,814 - INFO - STOP LOSS hit for long at 2118.0316071428574 | PnL: -0.50% | $-0.97 +2025-03-10 13:54:43,838 - INFO - OPENED SHORT at 2119.93 | Stop loss: 2130.544592857143 | Take profit: 2088.1086357142854 +2025-03-10 13:54:43,910 - INFO - CLOSED short at 2118.52 | PnL: 0.07% | $-0.05 +2025-03-10 13:54:43,910 - INFO - OPENED LONG at 2118.52 | Stop loss: 2107.912457142857 | Take profit: 2150.320214285714 +2025-03-10 13:54:44,122 - INFO - STOP LOSS hit for long at 2107.912457142857 | PnL: -0.50% | $-0.96 +2025-03-10 13:54:44,148 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032057142857 | Take profit: 2142.281414285714 +2025-03-10 13:54:44,221 - INFO - CLOSED long at 2112.95 | PnL: 0.11% | $0.02 +2025-03-10 13:54:44,221 - INFO - OPENED SHORT at 2112.95 | Stop loss: 2123.5296928571424 | Take profit: 2081.2333357142857 +2025-03-10 13:54:44,266 - INFO - CLOSED short at 2113.24 | PnL: -0.01% | $-0.18 +2025-03-10 13:54:44,267 - INFO - OPENED LONG at 2113.24 | Stop loss: 2102.658857142857 | Take profit: 2144.961014285714 +2025-03-10 13:54:44,490 - INFO - CLOSED long at 2106.49 | PnL: -0.32% | $-0.66 +2025-03-10 13:54:44,490 - INFO - OPENED SHORT at 2106.49 | Stop loss: 2117.0373928571425 | Take profit: 2074.8702357142856 +2025-03-10 13:54:44,512 - INFO - CLOSED short at 2108.06 | PnL: -0.07% | $-0.27 +2025-03-10 13:54:44,512 - INFO - OPENED LONG at 2108.06 | Stop loss: 2097.504757142857 | Take profit: 2139.7033142857144 +2025-03-10 13:54:44,582 - INFO - STOP LOSS hit for long at 2097.504757142857 | PnL: -0.50% | $-0.94 +2025-03-10 13:54:44,605 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0174071428573 | Take profit: 2131.0453642857146 +2025-03-10 13:54:45,194 - INFO - CLOSED long at 2091.1 | PnL: -0.40% | $-0.77 +2025-03-10 13:54:45,195 - INFO - OPENED SHORT at 2091.1 | Stop loss: 2101.5704428571426 | Take profit: 2059.7110857142857 +2025-03-10 13:54:45,250 - INFO - CLOSED short at 2094.72 | PnL: -0.17% | $-0.42 +2025-03-10 13:54:45,250 - INFO - OPENED LONG at 2094.72 | Stop loss: 2084.231457142857 | Take profit: 2126.1632142857143 +2025-03-10 13:54:45,342 - INFO - STOP LOSS hit for long at 2084.231457142857 | PnL: -0.50% | $-0.91 +2025-03-10 13:54:45,367 - INFO - OPENED LONG at 2088.44 | Stop loss: 2077.982857142857 | Take profit: 2119.789014285714 +2025-03-10 13:54:45,689 - INFO - CLOSED long at 2085.8 | PnL: -0.13% | $-0.34 +2025-03-10 13:54:45,690 - INFO - OPENED SHORT at 2085.8 | Stop loss: 2096.243942857143 | Take profit: 2054.4905857142858 +2025-03-10 13:54:45,711 - INFO - CLOSED short at 2084.72 | PnL: 0.05% | $-0.07 +2025-03-10 13:54:45,711 - INFO - OPENED LONG at 2084.72 | Stop loss: 2074.281457142857 | Take profit: 2116.013214285714 +2025-03-10 13:54:46,054 - INFO - CLOSED long at 2091.05 | PnL: 0.30% | $0.30 +2025-03-10 13:54:46,091 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.579807142857 | Take profit: 2122.4381642857143 +2025-03-10 13:54:46,495 - INFO - CLOSED long at 2103.81 | PnL: 0.61% | $0.76 +2025-03-10 13:54:46,496 - INFO - OPENED SHORT at 2103.81 | Stop loss: 2114.343992857143 | Take profit: 2072.2304357142857 +2025-03-10 13:54:46,525 - INFO - CLOSED short at 2103.07 | PnL: 0.04% | $-0.10 +2025-03-10 13:54:46,525 - INFO - OPENED LONG at 2103.07 | Stop loss: 2092.5397071428574 | Take profit: 2134.6384642857147 +2025-03-10 13:54:46,549 - INFO - CLOSED long at 2101.5 | PnL: -0.07% | $-0.26 +2025-03-10 13:54:46,549 - INFO - OPENED SHORT at 2101.5 | Stop loss: 2112.0224428571432 | Take profit: 2069.955085714286 +2025-03-10 13:54:46,574 - INFO - CLOSED short at 2105.83 | PnL: -0.21% | $-0.46 +2025-03-10 13:54:46,574 - INFO - OPENED LONG at 2105.83 | Stop loss: 2095.285907142857 | Take profit: 2137.4398642857145 +2025-03-10 13:54:46,846 - INFO - CLOSED long at 2102.7 | PnL: -0.15% | $-0.37 +2025-03-10 13:54:46,847 - INFO - OPENED SHORT at 2102.7 | Stop loss: 2113.228442857143 | Take profit: 2071.1370857142856 +2025-03-10 13:54:46,910 - INFO - CLOSED short at 2102.0 | PnL: 0.03% | $-0.10 +2025-03-10 13:54:46,911 - INFO - OPENED LONG at 2102.0 | Stop loss: 2091.475057142857 | Take profit: 2133.5524142857143 +2025-03-10 13:54:47,170 - INFO - CLOSED long at 2110.87 | PnL: 0.42% | $0.48 +2025-03-10 13:54:47,171 - INFO - OPENED SHORT at 2110.87 | Stop loss: 2121.439292857143 | Take profit: 2079.1845357142856 +2025-03-10 13:54:47,198 - INFO - CLOSED short at 2110.4 | PnL: 0.02% | $-0.12 +2025-03-10 13:54:47,199 - INFO - OPENED LONG at 2110.4 | Stop loss: 2099.8330571428573 | Take profit: 2142.0784142857146 +2025-03-10 13:54:47,293 - INFO - CLOSED long at 2113.61 | PnL: 0.15% | $0.08 +2025-03-10 13:54:47,294 - INFO - OPENED SHORT at 2113.61 | Stop loss: 2124.192992857143 | Take profit: 2081.883435714286 +2025-03-10 13:54:47,321 - INFO - CLOSED short at 2113.1 | PnL: 0.02% | $-0.11 +2025-03-10 13:54:47,322 - INFO - OPENED LONG at 2113.1 | Stop loss: 2102.519557142857 | Take profit: 2144.818914285714 +2025-03-10 13:54:47,726 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.38, Avg Loss=$-0.29 +2025-03-10 13:54:47,726 - INFO - Episode 42: Reward=-18.49, Balance=$75.13, Win Rate=17.6%, Trades=142, Episode PnL=$-17.80, Total PnL=$-249.50, Max Drawdown=24.7%, Pred Accuracy=99.8% +2025-03-10 13:54:47,727 - INFO - Reducing learning rate to 0.000010 +2025-03-10 13:54:47,913 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:54:49,396 - INFO - CLOSED long at 2069.7 | PnL: 0.33% | $0.46 +2025-03-10 13:54:49,397 - INFO - OPENED SHORT at 2069.7 | Stop loss: 2080.0634428571425 | Take profit: 2038.6320857142855 +2025-03-10 13:54:49,457 - INFO - CLOSED short at 2070.4 | PnL: -0.03% | $-0.27 +2025-03-10 13:54:49,457 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.033057142857 | Take profit: 2101.4784142857143 +2025-03-10 13:54:50,438 - INFO - CLOSED long at 2068.5 | PnL: -0.09% | $-0.38 +2025-03-10 13:54:50,439 - INFO - OPENED SHORT at 2068.5 | Stop loss: 2078.857442857143 | Take profit: 2037.4500857142857 +2025-03-10 13:54:50,458 - INFO - CLOSED short at 2068.69 | PnL: -0.01% | $-0.22 +2025-03-10 13:54:50,459 - INFO - OPENED LONG at 2068.69 | Stop loss: 2058.331607142857 | Take profit: 2099.742764285714 +2025-03-10 13:54:51,928 - INFO - CLOSED long at 2064.79 | PnL: -0.19% | $-0.57 +2025-03-10 13:54:51,928 - INFO - OPENED SHORT at 2064.79 | Stop loss: 2075.128892857143 | Take profit: 2033.7957357142857 +2025-03-10 13:54:51,950 - INFO - CLOSED short at 2065.89 | PnL: -0.05% | $-0.30 +2025-03-10 13:54:51,950 - INFO - OPENED LONG at 2065.89 | Stop loss: 2055.545607142857 | Take profit: 2096.900764285714 +2025-03-10 13:54:52,267 - INFO - CLOSED long at 2058.89 | PnL: -0.34% | $-0.86 +2025-03-10 13:54:52,268 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.1993928571424 | Take profit: 2027.9842357142857 +2025-03-10 13:54:52,308 - INFO - CLOSED short at 2059.96 | PnL: -0.05% | $-0.30 +2025-03-10 13:54:52,308 - INFO - OPENED LONG at 2059.96 | Stop loss: 2049.645257142857 | Take profit: 2090.881814285714 +2025-03-10 13:54:53,455 - INFO - CLOSED long at 2069.03 | PnL: 0.44% | $0.66 +2025-03-10 13:54:53,501 - INFO - OPENED LONG at 2067.44 | Stop loss: 2057.087857142857 | Take profit: 2098.4740142857145 +2025-03-10 13:54:53,657 - INFO - CLOSED long at 2065.7 | PnL: -0.08% | $-0.36 +2025-03-10 13:54:53,657 - INFO - OPENED SHORT at 2065.7 | Stop loss: 2076.0434428571425 | Take profit: 2034.6920857142857 +2025-03-10 13:54:53,684 - INFO - CLOSED short at 2065.66 | PnL: 0.00% | $-0.19 +2025-03-10 13:54:53,684 - INFO - OPENED LONG at 2065.66 | Stop loss: 2055.316757142857 | Take profit: 2096.6673142857144 +2025-03-10 13:54:54,001 - INFO - CLOSED long at 2065.31 | PnL: -0.02% | $-0.23 +2025-03-10 13:54:54,001 - INFO - OPENED SHORT at 2065.31 | Stop loss: 2075.651492857143 | Take profit: 2034.3079357142858 +2025-03-10 13:54:54,022 - INFO - CLOSED short at 2066.8 | PnL: -0.07% | $-0.33 +2025-03-10 13:54:54,022 - INFO - OPENED LONG at 2066.8 | Stop loss: 2056.4510571428573 | Take profit: 2097.8244142857143 +2025-03-10 13:54:55,884 - INFO - STOP LOSS hit for long at 2056.4510571428573 | PnL: -0.50% | $-1.16 +2025-03-10 13:54:55,912 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.9490071428572 | Take profit: 2079.9705642857143 +2025-03-10 13:54:56,687 - INFO - CLOSED long at 2074.05 | PnL: 1.21% | $2.12 +2025-03-10 13:54:56,688 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.4351928571427 | Take profit: 2042.9168357142858 +2025-03-10 13:54:56,711 - INFO - CLOSED short at 2072.99 | PnL: 0.05% | $-0.10 +2025-03-10 13:54:56,711 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.610107142857 | Take profit: 2104.107264285714 +2025-03-10 13:54:56,929 - INFO - TAKE PROFIT hit for long at 2104.107264285714 | PnL: 1.50% | $2.73 +2025-03-10 13:54:56,977 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.827357142857 | Take profit: 2171.655514285714 +2025-03-10 13:54:57,210 - INFO - CLOSED long at 2134.78 | PnL: -0.22% | $-0.65 +2025-03-10 13:54:57,236 - INFO - OPENED LONG at 2126.99 | Stop loss: 2116.340107142857 | Take profit: 2158.9172642857143 +2025-03-10 13:54:57,558 - INFO - STOP LOSS hit for long at 2116.340107142857 | PnL: -0.50% | $-1.19 +2025-03-10 13:54:57,600 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032057142857 | Take profit: 2142.281414285714 +2025-03-10 13:54:58,025 - INFO - STOP LOSS hit for long at 2100.032057142857 | PnL: -0.50% | $-1.18 +2025-03-10 13:54:58,046 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0174071428573 | Take profit: 2131.0453642857146 +2025-03-10 13:54:58,723 - INFO - STOP LOSS hit for long at 2089.0174071428573 | PnL: -0.50% | $-1.17 +2025-03-10 13:54:58,746 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.848657142857 | Take profit: 2114.551614285714 +2025-03-10 13:55:00,595 - INFO - CLOSED long at 2113.0 | PnL: 1.43% | $2.54 +2025-03-10 13:55:00,595 - INFO - OPENED SHORT at 2113.0 | Stop loss: 2123.579942857143 | Take profit: 2081.2825857142857 +2025-03-10 13:55:00,642 - INFO - CLOSED short at 2115.26 | PnL: -0.11% | $-0.41 +2025-03-10 13:55:00,642 - INFO - OPENED LONG at 2115.26 | Stop loss: 2104.6687571428574 | Take profit: 2147.0113142857144 +2025-03-10 13:55:01,151 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.70, Avg Loss=$-0.55 +2025-03-10 13:55:01,152 - INFO - Episode 43: Reward=82.30, Balance=$98.66, Win Rate=21.7%, Trades=23, Episode PnL=$-4.06, Total PnL=$-250.84, Max Drawdown=4.2%, Pred Accuracy=99.7% +2025-03-10 13:55:01,153 - INFO - Reducing learning rate to 0.000010 +2025-03-10 13:55:01,340 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:55:04,332 - INFO - CLOSED long at 2066.15 | PnL: 0.16% | $0.12 +2025-03-10 13:55:04,332 - INFO - OPENED SHORT at 2066.15 | Stop loss: 2076.4956928571432 | Take profit: 2035.1353357142857 +2025-03-10 13:55:04,385 - INFO - CLOSED short at 2065.26 | PnL: 0.04% | $-0.11 +2025-03-10 13:55:04,386 - INFO - OPENED LONG at 2065.26 | Stop loss: 2054.9187571428574 | Take profit: 2096.2613142857144 +2025-03-10 13:55:04,545 - INFO - CLOSED long at 2061.3 | PnL: -0.19% | $-0.58 +2025-03-10 13:55:04,573 - INFO - OPENED LONG at 2063.59 | Stop loss: 2053.2571071428574 | Take profit: 2094.5662642857146 +2025-03-10 13:55:06,109 - INFO - CLOSED long at 2054.89 | PnL: -0.42% | $-1.03 +2025-03-10 13:55:06,109 - INFO - OPENED SHORT at 2054.89 | Stop loss: 2065.179392857143 | Take profit: 2024.0442357142856 +2025-03-10 13:55:06,135 - INFO - CLOSED short at 2054.83 | PnL: 0.00% | $-0.19 +2025-03-10 13:55:06,135 - INFO - OPENED LONG at 2054.83 | Stop loss: 2044.540907142857 | Take profit: 2085.674864285714 +2025-03-10 13:55:06,162 - INFO - CLOSED long at 2056.71 | PnL: 0.09% | $-0.02 +2025-03-10 13:55:06,162 - INFO - OPENED SHORT at 2056.71 | Stop loss: 2067.0084928571428 | Take profit: 2025.8369357142856 +2025-03-10 13:55:06,186 - INFO - CLOSED short at 2058.15 | PnL: -0.07% | $-0.33 +2025-03-10 13:55:06,186 - INFO - OPENED LONG at 2058.15 | Stop loss: 2047.8443071428574 | Take profit: 2089.0446642857146 +2025-03-10 13:55:08,352 - INFO - CLOSED long at 2076.9 | PnL: 0.91% | $1.58 +2025-03-10 13:55:08,353 - INFO - OPENED SHORT at 2076.9 | Stop loss: 2087.299442857143 | Take profit: 2045.7240857142858 +2025-03-10 13:55:08,394 - INFO - CLOSED short at 2075.61 | PnL: 0.06% | $-0.07 +2025-03-10 13:55:08,394 - INFO - OPENED LONG at 2075.61 | Stop loss: 2065.2170071428573 | Take profit: 2106.7665642857146 +2025-03-10 13:55:08,918 - INFO - STOP LOSS hit for long at 2065.2170071428573 | PnL: -0.50% | $-1.19 +2025-03-10 13:55:08,941 - INFO - OPENED LONG at 2066.09 | Stop loss: 2055.744607142857 | Take profit: 2097.103764285714 +2025-03-10 13:55:09,357 - INFO - CLOSED long at 2056.77 | PnL: -0.45% | $-1.07 +2025-03-10 13:55:09,382 - INFO - OPENED LONG at 2053.01 | Stop loss: 2042.7300071428574 | Take profit: 2083.8275642857143 +2025-03-10 13:55:10,493 - INFO - CLOSED long at 2074.9 | PnL: 1.07% | $1.86 +2025-03-10 13:55:10,519 - INFO - OPENED LONG at 2076.08 | Stop loss: 2065.6846571428573 | Take profit: 2107.2436142857146 +2025-03-10 13:55:10,635 - INFO - TAKE PROFIT hit for long at 2107.2436142857146 | PnL: 1.50% | $2.75 +2025-03-10 13:55:10,659 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.827357142857 | Take profit: 2171.655514285714 +2025-03-10 13:55:10,939 - INFO - STOP LOSS hit for long at 2128.827357142857 | PnL: -0.50% | $-1.21 +2025-03-10 13:55:10,963 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.6485571428575 | Take profit: 2159.2319142857145 +2025-03-10 13:55:11,262 - INFO - STOP LOSS hit for long at 2116.6485571428575 | PnL: -0.50% | $-1.20 +2025-03-10 13:55:11,303 - INFO - OPENED LONG at 2107.43 | Stop loss: 2096.877907142857 | Take profit: 2139.063864285714 +2025-03-10 13:55:11,453 - INFO - CLOSED long at 2112.99 | PnL: 0.26% | $0.32 +2025-03-10 13:55:11,496 - INFO - OPENED LONG at 2116.48 | Stop loss: 2105.882657142857 | Take profit: 2148.249614285714 +2025-03-10 13:55:11,703 - INFO - STOP LOSS hit for long at 2105.882657142857 | PnL: -0.50% | $-1.19 +2025-03-10 13:55:11,726 - INFO - OPENED LONG at 2100.5 | Stop loss: 2089.982557142857 | Take profit: 2132.029914285714 +2025-03-10 13:55:12,441 - INFO - STOP LOSS hit for long at 2089.982557142857 | PnL: -0.50% | $-1.17 +2025-03-10 13:55:12,484 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.848657142857 | Take profit: 2114.551614285714 +2025-03-10 13:55:13,032 - INFO - CLOSED long at 2087.0 | PnL: 0.18% | $0.15 +2025-03-10 13:55:13,058 - INFO - OPENED LONG at 2087.47 | Stop loss: 2077.017707142857 | Take profit: 2118.804464285714 +2025-03-10 13:55:13,743 - INFO - CLOSED long at 2105.83 | PnL: 0.88% | $1.51 +2025-03-10 13:55:13,768 - INFO - OPENED LONG at 2103.64 | Stop loss: 2093.106857142857 | Take profit: 2135.217014285714 +2025-03-10 13:55:13,924 - INFO - CLOSED long at 2102.7 | PnL: -0.04% | $-0.28 +2025-03-10 13:55:13,925 - INFO - OPENED SHORT at 2102.7 | Stop loss: 2113.228442857143 | Take profit: 2071.1370857142856 +2025-03-10 13:55:13,974 - INFO - CLOSED short at 2102.0 | PnL: 0.03% | $-0.13 +2025-03-10 13:55:13,974 - INFO - OPENED LONG at 2102.0 | Stop loss: 2091.475057142857 | Take profit: 2133.5524142857143 +2025-03-10 13:55:14,770 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.18, Avg Loss=$-0.65 +2025-03-10 13:55:14,771 - INFO - Episode 44: Reward=89.74, Balance=$98.51, Win Rate=31.8%, Trades=22, Episode PnL=$-1.85, Total PnL=$-252.34, Max Drawdown=4.4%, Pred Accuracy=99.7% +2025-03-10 13:55:14,771 - INFO - Reducing learning rate to 0.000010 +2025-03-10 13:55:15,051 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:55:16,015 - INFO - CLOSED long at 2070.79 | PnL: 0.38% | $0.56 +2025-03-10 13:55:16,016 - INFO - OPENED SHORT at 2070.79 | Stop loss: 2081.1588928571427 | Take profit: 2039.7057357142855 +2025-03-10 13:55:16,038 - INFO - CLOSED short at 2070.28 | PnL: 0.02% | $-0.15 +2025-03-10 13:55:16,039 - INFO - OPENED LONG at 2070.28 | Stop loss: 2059.913657142857 | Take profit: 2101.3566142857144 +2025-03-10 13:55:16,823 - INFO - CLOSED long at 2072.75 | PnL: 0.12% | $0.04 +2025-03-10 13:55:16,848 - INFO - OPENED LONG at 2073.11 | Stop loss: 2062.729507142857 | Take profit: 2104.2290642857142 +2025-03-10 13:55:18,185 - INFO - STOP LOSS hit for long at 2062.729507142857 | PnL: -0.50% | $-1.20 +2025-03-10 13:55:18,226 - INFO - OPENED LONG at 2061.78 | Stop loss: 2051.456157142857 | Take profit: 2092.729114285715 +2025-03-10 13:55:20,080 - INFO - CLOSED long at 2066.34 | PnL: 0.22% | $0.24 +2025-03-10 13:55:20,080 - INFO - OPENED SHORT at 2066.34 | Stop loss: 2076.686642857143 | Take profit: 2035.3224857142857 +2025-03-10 13:55:20,120 - INFO - CLOSED short at 2066.79 | PnL: -0.02% | $-0.24 +2025-03-10 13:55:20,121 - INFO - OPENED LONG at 2066.79 | Stop loss: 2056.441107142857 | Take profit: 2097.814264285714 +2025-03-10 13:55:20,373 - INFO - CLOSED long at 2072.6 | PnL: 0.28% | $0.36 +2025-03-10 13:55:20,374 - INFO - OPENED SHORT at 2072.6 | Stop loss: 2082.977942857143 | Take profit: 2041.4885857142856 +2025-03-10 13:55:20,395 - INFO - CLOSED short at 2071.04 | PnL: 0.08% | $-0.05 +2025-03-10 13:55:20,395 - INFO - OPENED LONG at 2071.04 | Stop loss: 2060.669857142857 | Take profit: 2102.1280142857145 +2025-03-10 13:55:21,839 - INFO - CLOSED long at 2075.32 | PnL: 0.21% | $0.21 +2025-03-10 13:55:21,881 - INFO - OPENED LONG at 2075.29 | Stop loss: 2064.898607142857 | Take profit: 2106.4417642857143 +2025-03-10 13:55:21,923 - INFO - CLOSED long at 2075.61 | PnL: 0.02% | $-0.17 +2025-03-10 13:55:21,923 - INFO - OPENED SHORT at 2075.61 | Stop loss: 2086.002992857143 | Take profit: 2044.453435714286 +2025-03-10 13:55:21,948 - INFO - CLOSED short at 2074.0 | PnL: 0.08% | $-0.04 +2025-03-10 13:55:21,949 - INFO - OPENED LONG at 2074.0 | Stop loss: 2063.615057142857 | Take profit: 2105.1324142857143 +2025-03-10 13:55:22,468 - INFO - STOP LOSS hit for long at 2063.615057142857 | PnL: -0.50% | $-1.19 +2025-03-10 13:55:22,495 - INFO - OPENED LONG at 2062.34 | Stop loss: 2052.0133571428573 | Take profit: 2093.2975142857144 +2025-03-10 13:55:22,884 - INFO - STOP LOSS hit for long at 2052.0133571428573 | PnL: -0.50% | $-1.17 +2025-03-10 13:55:22,920 - INFO - OPENED LONG at 2049.5 | Stop loss: 2039.237557142857 | Take profit: 2080.264914285714 +2025-03-10 13:55:23,116 - INFO - CLOSED long at 2062.83 | PnL: 0.65% | $1.06 +2025-03-10 13:55:23,116 - INFO - OPENED SHORT at 2062.83 | Stop loss: 2073.1590928571427 | Take profit: 2031.8651357142855 +2025-03-10 13:55:23,144 - INFO - CLOSED short at 2063.9 | PnL: -0.05% | $-0.30 +2025-03-10 13:55:23,144 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.5655571428574 | Take profit: 2094.8809142857144 +2025-03-10 13:55:23,645 - INFO - CLOSED long at 2070.41 | PnL: 0.32% | $0.42 +2025-03-10 13:55:23,687 - INFO - OPENED LONG at 2074.05 | Stop loss: 2063.664807142857 | Take profit: 2105.183164285714 +2025-03-10 13:55:24,000 - INFO - TAKE PROFIT hit for long at 2105.183164285714 | PnL: 1.50% | $2.74 +2025-03-10 13:55:24,023 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.827357142857 | Take profit: 2171.655514285714 +2025-03-10 13:55:24,312 - INFO - STOP LOSS hit for long at 2128.827357142857 | PnL: -0.50% | $-1.21 +2025-03-10 13:55:24,332 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.6485571428575 | Take profit: 2159.2319142857145 +2025-03-10 13:55:24,600 - INFO - STOP LOSS hit for long at 2116.6485571428575 | PnL: -0.50% | $-1.19 +2025-03-10 13:55:24,637 - INFO - OPENED LONG at 2107.43 | Stop loss: 2096.877907142857 | Take profit: 2139.063864285714 +2025-03-10 13:55:25,113 - INFO - STOP LOSS hit for long at 2096.877907142857 | PnL: -0.50% | $-1.18 +2025-03-10 13:55:25,136 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0174071428573 | Take profit: 2131.0453642857146 +2025-03-10 13:55:25,728 - INFO - STOP LOSS hit for long at 2089.0174071428573 | PnL: -0.50% | $-1.16 +2025-03-10 13:55:25,775 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.848657142857 | Take profit: 2114.551614285714 +2025-03-10 13:55:27,623 - INFO - TAKE PROFIT hit for long at 2114.551614285714 | PnL: 1.50% | $2.68 +2025-03-10 13:55:27,648 - INFO - OPENED LONG at 2113.61 | Stop loss: 2103.027007142857 | Take profit: 2145.3365642857143 +2025-03-10 13:55:28,073 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.92, Avg Loss=$-0.71 +2025-03-10 13:55:28,074 - INFO - Episode 45: Reward=95.80, Balance=$99.06, Win Rate=40.9%, Trades=22, Episode PnL=$-2.99, Total PnL=$-253.28, Max Drawdown=4.7%, Pred Accuracy=99.7% +2025-03-10 13:55:28,074 - INFO - Reducing learning rate to 0.000010 +2025-03-10 13:55:28,410 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:55:28,519 - INFO - CLOSED long at 2057.94 | PnL: -0.24% | $-0.68 +2025-03-10 13:55:28,519 - INFO - OPENED SHORT at 2057.94 | Stop loss: 2068.244642857143 | Take profit: 2027.0484857142858 +2025-03-10 13:55:28,539 - INFO - CLOSED short at 2058.11 | PnL: -0.01% | $-0.21 +2025-03-10 13:55:28,539 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.8045071428571 | Take profit: 2089.004064285715 +2025-03-10 13:55:28,641 - INFO - CLOSED long at 2070.58 | PnL: 0.61% | $1.00 +2025-03-10 13:55:28,642 - INFO - OPENED SHORT at 2070.58 | Stop loss: 2080.9478428571424 | Take profit: 2039.4988857142857 +2025-03-10 13:55:28,662 - INFO - CLOSED short at 2068.11 | PnL: 0.12% | $0.04 +2025-03-10 13:55:28,662 - INFO - OPENED LONG at 2068.11 | Stop loss: 2057.754507142857 | Take profit: 2099.1540642857144 +2025-03-10 13:55:29,164 - INFO - CLOSED long at 2072.8 | PnL: 0.23% | $0.25 +2025-03-10 13:55:29,165 - INFO - OPENED SHORT at 2072.8 | Stop loss: 2083.178942857143 | Take profit: 2041.685585714286 +2025-03-10 13:55:29,202 - INFO - CLOSED short at 2070.79 | PnL: 0.10% | $-0.01 +2025-03-10 13:55:29,203 - INFO - OPENED LONG at 2070.79 | Stop loss: 2060.421107142857 | Take profit: 2101.874264285714 +2025-03-10 13:55:29,748 - INFO - CLOSED long at 2068.51 | PnL: -0.11% | $-0.42 +2025-03-10 13:55:29,770 - INFO - OPENED LONG at 2068.59 | Stop loss: 2058.2321071428573 | Take profit: 2099.6412642857144 +2025-03-10 13:55:30,230 - INFO - CLOSED long at 2069.35 | PnL: 0.04% | $-0.13 +2025-03-10 13:55:30,231 - INFO - OPENED SHORT at 2069.35 | Stop loss: 2079.7116928571427 | Take profit: 2038.2873357142855 +2025-03-10 13:55:30,253 - INFO - CLOSED short at 2068.32 | PnL: 0.05% | $-0.10 +2025-03-10 13:55:30,253 - INFO - OPENED LONG at 2068.32 | Stop loss: 2057.9634571428574 | Take profit: 2099.3672142857145 +2025-03-10 13:55:32,791 - INFO - STOP LOSS hit for long at 2057.9634571428574 | PnL: -0.50% | $-1.19 +2025-03-10 13:55:32,873 - INFO - OPENED LONG at 2056.28 | Stop loss: 2045.9836571428575 | Take profit: 2087.146614285715 +2025-03-10 13:55:33,357 - INFO - CLOSED long at 2066.34 | PnL: 0.49% | $0.76 +2025-03-10 13:55:33,358 - INFO - OPENED SHORT at 2066.34 | Stop loss: 2076.686642857143 | Take profit: 2035.3224857142857 +2025-03-10 13:55:33,381 - INFO - CLOSED short at 2066.79 | PnL: -0.02% | $-0.24 +2025-03-10 13:55:33,381 - INFO - OPENED LONG at 2066.79 | Stop loss: 2056.441107142857 | Take profit: 2097.814264285714 +2025-03-10 13:55:34,506 - INFO - CLOSED long at 2066.8 | PnL: 0.00% | $-0.20 +2025-03-10 13:55:34,507 - INFO - OPENED SHORT at 2066.8 | Stop loss: 2077.1489428571426 | Take profit: 2035.7755857142859 +2025-03-10 13:55:34,530 - INFO - CLOSED short at 2066.5 | PnL: 0.01% | $-0.17 +2025-03-10 13:55:34,530 - INFO - OPENED LONG at 2066.5 | Stop loss: 2056.152557142857 | Take profit: 2097.519914285714 +2025-03-10 13:55:36,285 - INFO - STOP LOSS hit for long at 2056.152557142857 | PnL: -0.50% | $-1.18 +2025-03-10 13:55:36,332 - INFO - OPENED SHORT at 2049.21 | Stop loss: 2059.470992857143 | Take profit: 2018.4494357142858 +2025-03-10 13:55:36,383 - INFO - CLOSED short at 2049.5 | PnL: -0.01% | $-0.22 +2025-03-10 13:55:36,384 - INFO - OPENED LONG at 2049.5 | Stop loss: 2039.237557142857 | Take profit: 2080.264914285714 +2025-03-10 13:55:37,303 - INFO - CLOSED long at 2074.9 | PnL: 1.24% | $2.20 +2025-03-10 13:55:37,303 - INFO - OPENED SHORT at 2074.9 | Stop loss: 2085.2894428571426 | Take profit: 2043.7540857142858 +2025-03-10 13:55:37,324 - INFO - CLOSED short at 2076.08 | PnL: -0.06% | $-0.31 +2025-03-10 13:55:37,324 - INFO - OPENED LONG at 2076.08 | Stop loss: 2065.6846571428573 | Take profit: 2107.2436142857146 +2025-03-10 13:55:37,429 - INFO - TAKE PROFIT hit for long at 2107.2436142857146 | PnL: 1.50% | $2.76 +2025-03-10 13:55:37,469 - INFO - OPENED LONG at 2131.78 | Stop loss: 2121.1061571428572 | Take profit: 2163.7791142857145 +2025-03-10 13:55:37,775 - INFO - STOP LOSS hit for long at 2121.1061571428572 | PnL: -0.50% | $-1.22 +2025-03-10 13:55:37,797 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.534307142857 | Take profit: 2151.9746642857144 +2025-03-10 13:55:38,042 - INFO - STOP LOSS hit for long at 2109.534307142857 | PnL: -0.50% | $-1.20 +2025-03-10 13:55:38,087 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032057142857 | Take profit: 2142.281414285714 +2025-03-10 13:55:38,529 - INFO - STOP LOSS hit for long at 2100.032057142857 | PnL: -0.50% | $-1.19 +2025-03-10 13:55:38,553 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0174071428573 | Take profit: 2131.0453642857146 +2025-03-10 13:55:38,998 - INFO - CLOSED long at 2093.46 | PnL: -0.29% | $-0.76 +2025-03-10 13:55:38,998 - INFO - OPENED SHORT at 2093.46 | Stop loss: 2103.942242857143 | Take profit: 2062.0356857142856 +2025-03-10 13:55:39,024 - INFO - CLOSED short at 2093.33 | PnL: 0.01% | $-0.18 +2025-03-10 13:55:39,025 - INFO - OPENED LONG at 2093.33 | Stop loss: 2082.848407142857 | Take profit: 2124.752364285714 +2025-03-10 13:55:39,330 - INFO - STOP LOSS hit for long at 2082.848407142857 | PnL: -0.50% | $-1.16 +2025-03-10 13:55:39,355 - INFO - OPENED LONG at 2081.49 | Stop loss: 2071.067607142857 | Take profit: 2112.734764285714 +2025-03-10 13:55:40,830 - INFO - CLOSED long at 2107.25 | PnL: 1.24% | $2.17 +2025-03-10 13:55:40,879 - INFO - OPENED LONG at 2106.28 | Stop loss: 2095.7336571428573 | Take profit: 2137.8966142857143 +2025-03-10 13:55:40,920 - INFO - CLOSED long at 2112.28 | PnL: 0.28% | $0.36 +2025-03-10 13:55:40,943 - INFO - OPENED LONG at 2110.87 | Stop loss: 2100.300707142857 | Take profit: 2142.555464285714 +2025-03-10 13:55:41,532 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.19, Avg Loss=$-0.57 +2025-03-10 13:55:41,533 - INFO - Episode 46: Reward=88.64, Balance=$98.79, Win Rate=29.6%, Trades=27, Episode PnL=$-3.66, Total PnL=$-254.48, Max Drawdown=5.6%, Pred Accuracy=99.8% +2025-03-10 13:55:41,533 - INFO - Reducing learning rate to 0.000010 +2025-03-10 13:55:41,849 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:55:42,750 - INFO - CLOSED long at 2070.79 | PnL: 0.38% | $0.56 +2025-03-10 13:55:42,750 - INFO - OPENED SHORT at 2070.79 | Stop loss: 2081.1588928571427 | Take profit: 2039.7057357142855 +2025-03-10 13:55:42,769 - INFO - CLOSED short at 2070.28 | PnL: 0.02% | $-0.15 +2025-03-10 13:55:42,769 - INFO - OPENED LONG at 2070.28 | Stop loss: 2059.913657142857 | Take profit: 2101.3566142857144 +2025-03-10 13:55:42,790 - INFO - CLOSED long at 2068.02 | PnL: -0.11% | $-0.42 +2025-03-10 13:55:42,815 - INFO - OPENED LONG at 2067.2 | Stop loss: 2056.849057142857 | Take profit: 2098.2304142857142 +2025-03-10 13:55:44,059 - INFO - CLOSED long at 2067.89 | PnL: 0.03% | $-0.13 +2025-03-10 13:55:44,060 - INFO - OPENED SHORT at 2067.89 | Stop loss: 2078.244392857143 | Take profit: 2036.8492357142854 +2025-03-10 13:55:44,086 - INFO - CLOSED short at 2068.58 | PnL: -0.03% | $-0.26 +2025-03-10 13:55:44,087 - INFO - OPENED LONG at 2068.58 | Stop loss: 2058.222157142857 | Take profit: 2099.6311142857144 +2025-03-10 13:55:45,084 - INFO - CLOSED long at 2061.3 | PnL: -0.35% | $-0.89 +2025-03-10 13:55:45,084 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.621442857143 | Take profit: 2030.358085714286 +2025-03-10 13:55:45,114 - INFO - CLOSED short at 2063.59 | PnL: -0.11% | $-0.41 +2025-03-10 13:55:45,115 - INFO - OPENED LONG at 2063.59 | Stop loss: 2053.2571071428574 | Take profit: 2094.5662642857146 +2025-03-10 13:55:45,600 - INFO - CLOSED long at 2061.8 | PnL: -0.09% | $-0.36 +2025-03-10 13:55:45,628 - INFO - OPENED LONG at 2064.7 | Stop loss: 2054.361557142857 | Take profit: 2095.6929142857143 +2025-03-10 13:55:46,939 - INFO - CLOSED long at 2066.79 | PnL: 0.10% | $0.00 +2025-03-10 13:55:46,981 - INFO - OPENED LONG at 2067.33 | Stop loss: 2056.978407142857 | Take profit: 2098.362364285714 +2025-03-10 13:55:47,815 - INFO - CLOSED long at 2066.38 | PnL: -0.05% | $-0.28 +2025-03-10 13:55:47,816 - INFO - OPENED SHORT at 2066.38 | Stop loss: 2076.726842857143 | Take profit: 2035.3618857142858 +2025-03-10 13:55:47,843 - INFO - CLOSED short at 2065.7 | PnL: 0.03% | $-0.13 +2025-03-10 13:55:47,844 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.356557142857 | Take profit: 2096.707914285714 +2025-03-10 13:55:47,867 - INFO - CLOSED long at 2065.66 | PnL: -0.00% | $-0.20 +2025-03-10 13:55:47,867 - INFO - OPENED SHORT at 2065.66 | Stop loss: 2076.003242857143 | Take profit: 2034.6526857142856 +2025-03-10 13:55:47,902 - INFO - CLOSED short at 2063.95 | PnL: 0.08% | $-0.03 +2025-03-10 13:55:47,903 - INFO - OPENED LONG at 2063.95 | Stop loss: 2053.615307142857 | Take profit: 2094.9316642857143 +2025-03-10 13:55:48,939 - INFO - CLOSED long at 2074.0 | PnL: 0.49% | $0.75 +2025-03-10 13:55:48,940 - INFO - OPENED SHORT at 2074.0 | Stop loss: 2084.384942857143 | Take profit: 2042.8675857142857 +2025-03-10 13:55:48,961 - INFO - CLOSED short at 2072.09 | PnL: 0.09% | $-0.02 +2025-03-10 13:55:48,961 - INFO - OPENED LONG at 2072.09 | Stop loss: 2061.7146071428574 | Take profit: 2103.1937642857147 +2025-03-10 13:55:49,509 - INFO - CLOSED long at 2066.1 | PnL: -0.29% | $-0.76 +2025-03-10 13:55:49,509 - INFO - OPENED SHORT at 2066.1 | Stop loss: 2076.445442857143 | Take profit: 2035.0860857142857 +2025-03-10 13:55:49,552 - INFO - CLOSED short at 2065.06 | PnL: 0.05% | $-0.10 +2025-03-10 13:55:49,552 - INFO - OPENED LONG at 2065.06 | Stop loss: 2054.719757142857 | Take profit: 2096.058314285714 +2025-03-10 13:55:49,624 - INFO - CLOSED long at 2064.5 | PnL: -0.03% | $-0.25 +2025-03-10 13:55:49,624 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.837442857143 | Take profit: 2033.5100857142857 +2025-03-10 13:55:49,660 - INFO - CLOSED short at 2066.33 | PnL: -0.09% | $-0.36 +2025-03-10 13:55:49,661 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.9834071428572 | Take profit: 2097.3473642857143 +2025-03-10 13:55:49,754 - INFO - CLOSED long at 2059.2 | PnL: -0.35% | $-0.85 +2025-03-10 13:55:49,778 - INFO - OPENED LONG at 2058.09 | Stop loss: 2047.784607142857 | Take profit: 2088.9837642857146 +2025-03-10 13:55:49,956 - INFO - CLOSED long at 2051.99 | PnL: -0.30% | $-0.75 +2025-03-10 13:55:49,956 - INFO - OPENED SHORT at 2051.99 | Stop loss: 2062.2648928571425 | Take profit: 2021.1877357142855 +2025-03-10 13:55:49,999 - INFO - CLOSED short at 2058.3 | PnL: -0.31% | $-0.77 +2025-03-10 13:55:49,999 - INFO - OPENED LONG at 2058.3 | Stop loss: 2047.9935571428573 | Take profit: 2089.1969142857147 +2025-03-10 13:55:50,070 - INFO - CLOSED long at 2057.11 | PnL: -0.06% | $-0.30 +2025-03-10 13:55:50,071 - INFO - OPENED SHORT at 2057.11 | Stop loss: 2067.4104928571433 | Take profit: 2026.2309357142858 +2025-03-10 13:55:50,094 - INFO - CLOSED short at 2057.89 | PnL: -0.04% | $-0.26 +2025-03-10 13:55:50,095 - INFO - OPENED LONG at 2057.89 | Stop loss: 2047.585607142857 | Take profit: 2088.7807642857138 +2025-03-10 13:55:50,231 - INFO - CLOSED long at 2065.12 | PnL: 0.35% | $0.47 +2025-03-10 13:55:50,231 - INFO - OPENED SHORT at 2065.12 | Stop loss: 2075.4605428571426 | Take profit: 2034.1207857142856 +2025-03-10 13:55:50,258 - INFO - CLOSED short at 2068.33 | PnL: -0.16% | $-0.48 +2025-03-10 13:55:50,258 - INFO - OPENED LONG at 2068.33 | Stop loss: 2057.973407142857 | Take profit: 2099.3773642857145 +2025-03-10 13:55:50,425 - INFO - CLOSED long at 2059.9 | PnL: -0.41% | $-0.94 +2025-03-10 13:55:50,425 - INFO - OPENED SHORT at 2059.9 | Stop loss: 2070.2144428571432 | Take profit: 2028.979085714286 +2025-03-10 13:55:50,472 - INFO - CLOSED short at 2060.7 | PnL: -0.04% | $-0.26 +2025-03-10 13:55:50,472 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3815571428568 | Take profit: 2091.632914285714 +2025-03-10 13:55:50,574 - INFO - CLOSED long at 2070.31 | PnL: 0.47% | $0.67 +2025-03-10 13:55:50,575 - INFO - OPENED SHORT at 2070.31 | Stop loss: 2080.676492857143 | Take profit: 2039.2329357142855 +2025-03-10 13:55:50,601 - INFO - CLOSED short at 2070.24 | PnL: 0.00% | $-0.18 +2025-03-10 13:55:50,601 - INFO - OPENED LONG at 2070.24 | Stop loss: 2059.873857142857 | Take profit: 2101.3160142857137 +2025-03-10 13:55:51,016 - INFO - TAKE PROFIT hit for long at 2101.3160142857137 | PnL: 1.50% | $2.58 +2025-03-10 13:55:51,041 - INFO - OPENED LONG at 2130.7 | Stop loss: 2120.031557142857 | Take profit: 2162.682914285714 +2025-03-10 13:55:51,465 - INFO - STOP LOSS hit for long at 2120.031557142857 | PnL: -0.50% | $-1.14 +2025-03-10 13:55:51,486 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.315407142857 | Take profit: 2151.751364285714 +2025-03-10 13:55:51,697 - INFO - STOP LOSS hit for long at 2109.315407142857 | PnL: -0.50% | $-1.13 +2025-03-10 13:55:51,725 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032057142857 | Take profit: 2142.281414285714 +2025-03-10 13:55:51,749 - INFO - CLOSED long at 2109.05 | PnL: -0.07% | $-0.32 +2025-03-10 13:55:51,750 - INFO - OPENED SHORT at 2109.05 | Stop loss: 2119.610192857143 | Take profit: 2077.3918357142857 +2025-03-10 13:55:51,773 - INFO - CLOSED short at 2112.09 | PnL: -0.14% | $-0.45 +2025-03-10 13:55:51,773 - INFO - OPENED LONG at 2112.09 | Stop loss: 2101.5146071428576 | Take profit: 2143.7937642857146 +2025-03-10 13:55:52,194 - INFO - STOP LOSS hit for long at 2101.5146071428576 | PnL: -0.50% | $-1.10 +2025-03-10 13:55:52,219 - INFO - OPENED LONG at 2090.0 | Stop loss: 2079.535057142857 | Take profit: 2121.3724142857145 +2025-03-10 13:55:52,937 - INFO - CLOSED long at 2083.28 | PnL: -0.32% | $-0.76 +2025-03-10 13:55:52,937 - INFO - OPENED SHORT at 2083.28 | Stop loss: 2093.7113428571433 | Take profit: 2052.008385714286 +2025-03-10 13:55:52,959 - INFO - CLOSED short at 2088.44 | PnL: -0.25% | $-0.63 +2025-03-10 13:55:52,959 - INFO - OPENED LONG at 2088.44 | Stop loss: 2077.982857142857 | Take profit: 2119.789014285714 +2025-03-10 13:55:54,219 - INFO - CLOSED long at 2105.2 | PnL: 0.80% | $1.26 +2025-03-10 13:55:54,244 - INFO - OPENED SHORT at 2103.52 | Stop loss: 2114.0525428571427 | Take profit: 2071.9447857142854 +2025-03-10 13:55:54,268 - INFO - CLOSED short at 2104.4 | PnL: -0.04% | $-0.26 +2025-03-10 13:55:54,269 - INFO - OPENED LONG at 2104.4 | Stop loss: 2093.863057142857 | Take profit: 2135.9884142857145 +2025-03-10 13:55:54,451 - INFO - CLOSED long at 2102.0 | PnL: -0.11% | $-0.39 +2025-03-10 13:55:54,494 - INFO - OPENED LONG at 2103.41 | Stop loss: 2092.878007142857 | Take profit: 2134.9835642857142 +2025-03-10 13:55:54,895 - INFO - CLOSED long at 2112.26 | PnL: 0.42% | $0.58 +2025-03-10 13:55:54,896 - INFO - OPENED SHORT at 2112.26 | Stop loss: 2122.836242857143 | Take profit: 2080.5536857142856 +2025-03-10 13:55:54,919 - INFO - CLOSED short at 2110.99 | PnL: 0.06% | $-0.07 +2025-03-10 13:55:54,919 - INFO - OPENED LONG at 2110.99 | Stop loss: 2100.420107142857 | Take profit: 2142.677264285714 +2025-03-10 13:55:55,234 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.86, Avg Loss=$-0.45 +2025-03-10 13:55:55,234 - INFO - Episode 47: Reward=58.59, Balance=$91.08, Win Rate=18.6%, Trades=43, Episode PnL=$-6.36, Total PnL=$-263.40, Max Drawdown=9.4%, Pred Accuracy=99.7% +2025-03-10 13:55:55,235 - INFO - Reducing learning rate to 0.000010 +2025-03-10 13:55:55,456 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:55:55,600 - INFO - CLOSED long at 2061.79 | PnL: -0.05% | $-0.30 +2025-03-10 13:55:55,600 - INFO - OPENED SHORT at 2061.79 | Stop loss: 2072.1138928571427 | Take profit: 2030.8407357142858 +2025-03-10 13:55:55,620 - INFO - CLOSED short at 2061.18 | PnL: 0.03% | $-0.14 +2025-03-10 13:55:55,621 - INFO - OPENED LONG at 2061.18 | Stop loss: 2050.859157142857 | Take profit: 2092.120114285714 +2025-03-10 13:55:56,013 - INFO - CLOSED long at 2071.44 | PnL: 0.50% | $0.79 +2025-03-10 13:55:56,036 - INFO - OPENED LONG at 2073.73 | Stop loss: 2063.346407142857 | Take profit: 2104.8583642857143 +2025-03-10 13:55:56,386 - INFO - CLOSED long at 2067.2 | PnL: -0.31% | $-0.83 +2025-03-10 13:55:56,386 - INFO - OPENED SHORT at 2067.2 | Stop loss: 2077.5509428571427 | Take profit: 2036.1695857142856 +2025-03-10 13:55:56,407 - INFO - CLOSED short at 2070.36 | PnL: -0.15% | $-0.50 +2025-03-10 13:55:56,407 - INFO - OPENED LONG at 2070.36 | Stop loss: 2059.993257142857 | Take profit: 2101.437814285714 +2025-03-10 13:55:56,462 - INFO - CLOSED long at 2070.7 | PnL: 0.02% | $-0.16 +2025-03-10 13:55:56,463 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.0684428571426 | Take profit: 2039.6170857142854 +2025-03-10 13:55:56,509 - INFO - CLOSED short at 2069.34 | PnL: 0.07% | $-0.07 +2025-03-10 13:55:56,510 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.978357142857 | Take profit: 2100.4025142857145 +2025-03-10 13:55:57,171 - INFO - CLOSED long at 2072.75 | PnL: 0.16% | $0.13 +2025-03-10 13:55:57,172 - INFO - OPENED SHORT at 2072.75 | Stop loss: 2083.128692857143 | Take profit: 2041.6363357142857 +2025-03-10 13:55:57,197 - INFO - CLOSED short at 2073.11 | PnL: -0.02% | $-0.23 +2025-03-10 13:55:57,197 - INFO - OPENED LONG at 2073.11 | Stop loss: 2062.729507142857 | Take profit: 2104.2290642857142 +2025-03-10 13:55:58,190 - INFO - CLOSED long at 2067.86 | PnL: -0.25% | $-0.69 +2025-03-10 13:55:58,235 - INFO - OPENED LONG at 2066.4 | Stop loss: 2056.053057142857 | Take profit: 2097.4184142857143 +2025-03-10 13:55:58,277 - INFO - CLOSED long at 2066.1 | PnL: -0.01% | $-0.22 +2025-03-10 13:55:58,307 - INFO - OPENED LONG at 2065.28 | Stop loss: 2054.9386571428577 | Take profit: 2096.2816142857146 +2025-03-10 13:55:59,056 - INFO - CLOSED long at 2062.89 | PnL: -0.12% | $-0.42 +2025-03-10 13:55:59,056 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.219392857143 | Take profit: 2031.9242357142857 +2025-03-10 13:55:59,088 - INFO - CLOSED short at 2064.5 | PnL: -0.08% | $-0.34 +2025-03-10 13:55:59,088 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.162557142857 | Take profit: 2095.4899142857143 +2025-03-10 13:55:59,156 - INFO - CLOSED long at 2060.9 | PnL: -0.17% | $-0.53 +2025-03-10 13:55:59,156 - INFO - OPENED SHORT at 2060.9 | Stop loss: 2071.219442857143 | Take profit: 2029.9640857142858 +2025-03-10 13:55:59,181 - INFO - CLOSED short at 2060.65 | PnL: 0.01% | $-0.17 +2025-03-10 13:55:59,181 - INFO - OPENED LONG at 2060.65 | Stop loss: 2050.3318071428575 | Take profit: 2091.5821642857145 +2025-03-10 13:56:00,701 - INFO - CLOSED long at 2065.69 | PnL: 0.24% | $0.28 +2025-03-10 13:56:00,702 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.033392857143 | Take profit: 2034.6822357142858 +2025-03-10 13:56:00,729 - INFO - CLOSED short at 2069.79 | PnL: -0.20% | $-0.57 +2025-03-10 13:56:00,730 - INFO - OPENED LONG at 2069.79 | Stop loss: 2059.426107142857 | Take profit: 2100.8592642857143 +2025-03-10 13:56:01,129 - INFO - CLOSED long at 2067.44 | PnL: -0.11% | $-0.41 +2025-03-10 13:56:01,153 - INFO - OPENED LONG at 2068.79 | Stop loss: 2058.431107142857 | Take profit: 2099.8442642857144 +2025-03-10 13:56:01,383 - INFO - CLOSED long at 2063.97 | PnL: -0.23% | $-0.63 +2025-03-10 13:56:01,384 - INFO - OPENED SHORT at 2063.97 | Stop loss: 2074.3047928571423 | Take profit: 2032.9880357142854 +2025-03-10 13:56:01,423 - INFO - CLOSED short at 2064.5 | PnL: -0.03% | $-0.24 +2025-03-10 13:56:01,423 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.162557142857 | Take profit: 2095.4899142857143 +2025-03-10 13:56:01,569 - INFO - CLOSED long at 2065.29 | PnL: 0.04% | $-0.12 +2025-03-10 13:56:01,570 - INFO - OPENED SHORT at 2065.29 | Stop loss: 2075.631392857143 | Take profit: 2034.2882357142857 +2025-03-10 13:56:01,590 - INFO - CLOSED short at 2065.31 | PnL: -0.00% | $-0.19 +2025-03-10 13:56:01,591 - INFO - OPENED LONG at 2065.31 | Stop loss: 2054.968507142857 | Take profit: 2096.3120642857143 +2025-03-10 13:56:02,024 - INFO - CLOSED long at 2069.78 | PnL: 0.22% | $0.22 +2025-03-10 13:56:02,024 - INFO - OPENED SHORT at 2069.78 | Stop loss: 2080.143842857143 | Take profit: 2038.710885714286 +2025-03-10 13:56:02,047 - INFO - CLOSED short at 2071.61 | PnL: -0.09% | $-0.35 +2025-03-10 13:56:02,047 - INFO - OPENED LONG at 2071.61 | Stop loss: 2061.2370071428572 | Take profit: 2102.706564285714 +2025-03-10 13:56:02,136 - INFO - CLOSED long at 2074.35 | PnL: 0.13% | $0.06 +2025-03-10 13:56:02,136 - INFO - OPENED SHORT at 2074.35 | Stop loss: 2084.7366928571428 | Take profit: 2043.2123357142855 +2025-03-10 13:56:02,191 - INFO - CLOSED short at 2073.27 | PnL: 0.05% | $-0.09 +2025-03-10 13:56:02,191 - INFO - OPENED LONG at 2073.27 | Stop loss: 2062.888707142857 | Take profit: 2104.3914642857144 +2025-03-10 13:56:02,329 - INFO - CLOSED long at 2076.9 | PnL: 0.18% | $0.14 +2025-03-10 13:56:02,330 - INFO - OPENED SHORT at 2076.9 | Stop loss: 2087.299442857143 | Take profit: 2045.7240857142858 +2025-03-10 13:56:02,385 - INFO - CLOSED short at 2074.0 | PnL: 0.14% | $0.07 +2025-03-10 13:56:02,386 - INFO - OPENED LONG at 2074.0 | Stop loss: 2063.615057142857 | Take profit: 2105.1324142857143 +2025-03-10 13:56:02,524 - INFO - CLOSED long at 2067.0 | PnL: -0.34% | $-0.82 +2025-03-10 13:56:02,525 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.3499428571427 | Take profit: 2035.9725857142857 +2025-03-10 13:56:02,634 - INFO - CLOSED short at 2066.4 | PnL: 0.03% | $-0.13 +2025-03-10 13:56:02,635 - INFO - OPENED LONG at 2066.4 | Stop loss: 2056.053057142857 | Take profit: 2097.4184142857143 +2025-03-10 13:56:03,101 - INFO - CLOSED long at 2063.98 | PnL: -0.12% | $-0.40 +2025-03-10 13:56:03,101 - INFO - OPENED SHORT at 2063.98 | Stop loss: 2074.314842857143 | Take profit: 2032.9978857142858 +2025-03-10 13:56:03,124 - INFO - CLOSED short at 2066.1 | PnL: -0.10% | $-0.37 +2025-03-10 13:56:03,125 - INFO - OPENED LONG at 2066.1 | Stop loss: 2055.754557142857 | Take profit: 2097.113914285714 +2025-03-10 13:56:03,363 - INFO - CLOSED long at 2059.2 | PnL: -0.33% | $-0.80 +2025-03-10 13:56:03,364 - INFO - OPENED SHORT at 2059.2 | Stop loss: 2069.5109428571427 | Take profit: 2028.2895857142855 +2025-03-10 13:56:03,418 - INFO - CLOSED short at 2058.09 | PnL: 0.05% | $-0.08 +2025-03-10 13:56:03,419 - INFO - OPENED LONG at 2058.09 | Stop loss: 2047.784607142857 | Take profit: 2088.9837642857146 +2025-03-10 13:56:03,491 - INFO - CLOSED long at 2056.77 | PnL: -0.06% | $-0.30 +2025-03-10 13:56:03,515 - INFO - OPENED LONG at 2053.01 | Stop loss: 2042.7300071428574 | Take profit: 2083.8275642857143 +2025-03-10 13:56:03,564 - INFO - CLOSED long at 2049.5 | PnL: -0.17% | $-0.49 +2025-03-10 13:56:03,564 - INFO - OPENED SHORT at 2049.5 | Stop loss: 2059.7624428571426 | Take profit: 2018.7350857142856 +2025-03-10 13:56:03,588 - INFO - CLOSED short at 2051.99 | PnL: -0.12% | $-0.40 +2025-03-10 13:56:03,588 - INFO - OPENED LONG at 2051.99 | Stop loss: 2041.7151071428568 | Take profit: 2082.792264285714 +2025-03-10 13:56:03,677 - INFO - CLOSED long at 2057.89 | PnL: 0.29% | $0.34 +2025-03-10 13:56:03,726 - INFO - OPENED LONG at 2062.83 | Stop loss: 2052.500907142857 | Take profit: 2093.794864285714 +2025-03-10 13:56:03,885 - INFO - CLOSED long at 2062.55 | PnL: -0.01% | $-0.21 +2025-03-10 13:56:03,886 - INFO - OPENED SHORT at 2062.55 | Stop loss: 2072.877692857143 | Take profit: 2031.5893357142859 +2025-03-10 13:56:03,910 - INFO - CLOSED short at 2065.12 | PnL: -0.12% | $-0.40 +2025-03-10 13:56:03,911 - INFO - OPENED LONG at 2065.12 | Stop loss: 2054.779457142857 | Take profit: 2096.1192142857144 +2025-03-10 13:56:04,480 - INFO - CLOSED long at 2077.61 | PnL: 0.60% | $0.91 +2025-03-10 13:56:04,532 - INFO - OPENED LONG at 2085.56 | Stop loss: 2075.1172571428574 | Take profit: 2116.865814285714 +2025-03-10 13:56:04,671 - INFO - TAKE PROFIT hit for long at 2116.865814285714 | PnL: 1.50% | $2.54 +2025-03-10 13:56:04,701 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.827357142857 | Take profit: 2171.655514285714 +2025-03-10 13:56:04,791 - INFO - CLOSED long at 2141.41 | PnL: 0.09% | $-0.02 +2025-03-10 13:56:04,813 - INFO - OPENED LONG at 2141.3 | Stop loss: 2130.5785571428573 | Take profit: 2173.441914285714 +2025-03-10 13:56:04,928 - INFO - CLOSED long at 2126.99 | PnL: -0.67% | $-1.43 +2025-03-10 13:56:04,928 - INFO - OPENED SHORT at 2126.99 | Stop loss: 2137.6398928571425 | Take profit: 2095.0627357142857 +2025-03-10 13:56:04,966 - INFO - CLOSED short at 2127.3 | PnL: -0.01% | $-0.21 +2025-03-10 13:56:04,966 - INFO - OPENED LONG at 2127.3 | Stop loss: 2116.6485571428575 | Take profit: 2159.2319142857145 +2025-03-10 13:56:05,239 - INFO - STOP LOSS hit for long at 2116.6485571428575 | PnL: -0.50% | $-1.10 +2025-03-10 13:56:05,263 - INFO - OPENED LONG at 2107.43 | Stop loss: 2096.877907142857 | Take profit: 2139.063864285714 +2025-03-10 13:56:05,515 - INFO - CLOSED long at 2120.81 | PnL: 0.63% | $0.97 +2025-03-10 13:56:05,516 - INFO - OPENED SHORT at 2120.81 | Stop loss: 2131.428992857143 | Take profit: 2088.9754357142856 +2025-03-10 13:56:05,540 - INFO - CLOSED short at 2116.48 | PnL: 0.20% | $0.19 +2025-03-10 13:56:05,541 - INFO - OPENED LONG at 2116.48 | Stop loss: 2105.882657142857 | Take profit: 2148.249614285714 +2025-03-10 13:56:05,669 - INFO - STOP LOSS hit for long at 2105.882657142857 | PnL: -0.50% | $-1.10 +2025-03-10 13:56:05,707 - INFO - OPENED LONG at 2100.5 | Stop loss: 2089.982557142857 | Take profit: 2132.029914285714 +2025-03-10 13:56:06,311 - INFO - CLOSED long at 2093.33 | PnL: -0.34% | $-0.80 +2025-03-10 13:56:06,311 - INFO - OPENED SHORT at 2093.33 | Stop loss: 2103.8115928571424 | Take profit: 2061.907635714286 +2025-03-10 13:56:06,357 - INFO - CLOSED short at 2091.1 | PnL: 0.11% | $0.01 +2025-03-10 13:56:06,358 - INFO - OPENED LONG at 2091.1 | Stop loss: 2080.6295571428573 | Take profit: 2122.488914285714 +2025-03-10 13:56:06,401 - INFO - CLOSED long at 2094.08 | PnL: 0.14% | $0.08 +2025-03-10 13:56:06,424 - INFO - OPENED LONG at 2088.35 | Stop loss: 2077.8933071428573 | Take profit: 2119.6976642857144 +2025-03-10 13:56:06,657 - INFO - CLOSED long at 2080.38 | PnL: -0.38% | $-0.86 +2025-03-10 13:56:06,657 - INFO - OPENED SHORT at 2080.38 | Stop loss: 2090.796842857143 | Take profit: 2049.151885714286 +2025-03-10 13:56:06,688 - INFO - CLOSED short at 2081.25 | PnL: -0.04% | $-0.25 +2025-03-10 13:56:06,713 - INFO - OPENED LONG at 2083.41 | Stop loss: 2072.9780071428568 | Take profit: 2114.6835642857145 +2025-03-10 13:56:07,674 - INFO - CLOSED long at 2105.83 | PnL: 1.08% | $1.73 +2025-03-10 13:56:07,674 - INFO - OPENED SHORT at 2105.83 | Stop loss: 2116.374092857143 | Take profit: 2074.220135714286 +2025-03-10 13:56:07,712 - INFO - CLOSED short at 2103.64 | PnL: 0.10% | $0.01 +2025-03-10 13:56:07,712 - INFO - OPENED LONG at 2103.64 | Stop loss: 2093.106857142857 | Take profit: 2135.217014285714 +2025-03-10 13:56:08,187 - INFO - CLOSED long at 2110.87 | PnL: 0.34% | $0.44 +2025-03-10 13:56:08,188 - INFO - OPENED SHORT at 2110.87 | Stop loss: 2121.439292857143 | Take profit: 2079.1845357142856 +2025-03-10 13:56:08,257 - INFO - CLOSED short at 2110.4 | PnL: 0.02% | $-0.14 +2025-03-10 13:56:08,257 - INFO - OPENED LONG at 2110.4 | Stop loss: 2099.8330571428573 | Take profit: 2142.0784142857146 +2025-03-10 13:56:08,456 - INFO - CLOSED long at 2112.26 | PnL: 0.09% | $-0.02 +2025-03-10 13:56:08,486 - INFO - OPENED LONG at 2110.99 | Stop loss: 2100.420107142857 | Take profit: 2142.677264285714 +2025-03-10 13:56:08,832 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.52, Avg Loss=$-0.42 +2025-03-10 13:56:08,833 - INFO - Episode 48: Reward=58.24, Balance=$91.33, Win Rate=28.8%, Trades=59, Episode PnL=$-3.83, Total PnL=$-272.07, Max Drawdown=11.0%, Pred Accuracy=99.9% +2025-03-10 13:56:08,833 - INFO - Reducing learning rate to 0.000010 +2025-03-10 13:56:09,159 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.560607142857 | Take profit: 2093.855764285714 +2025-03-10 13:56:09,600 - INFO - CLOSED long at 2068.65 | PnL: 0.28% | $0.36 +2025-03-10 13:56:09,621 - INFO - OPENED LONG at 2068.99 | Stop loss: 2058.630107142857 | Take profit: 2100.047264285714 +2025-03-10 13:56:10,403 - INFO - CLOSED long at 2065.99 | PnL: -0.14% | $-0.49 +2025-03-10 13:56:10,427 - INFO - OPENED LONG at 2066.19 | Stop loss: 2055.8441071428574 | Take profit: 2097.2052642857143 +2025-03-10 13:56:12,107 - INFO - CLOSED long at 2067.8 | PnL: 0.08% | $-0.04 +2025-03-10 13:56:12,130 - INFO - OPENED LONG at 2068.18 | Stop loss: 2057.824157142857 | Take profit: 2099.225114285714 +2025-03-10 13:56:13,531 - INFO - CLOSED long at 2061.09 | PnL: -0.34% | $-0.88 +2025-03-10 13:56:13,575 - INFO - OPENED LONG at 2059.61 | Stop loss: 2049.297007142857 | Take profit: 2090.5265642857144 +2025-03-10 13:56:14,188 - INFO - CLOSED long at 2066.01 | PnL: 0.31% | $0.41 +2025-03-10 13:56:14,188 - INFO - OPENED SHORT at 2066.01 | Stop loss: 2076.354992857143 | Take profit: 2034.9974357142858 +2025-03-10 13:56:14,216 - INFO - CLOSED short at 2063.9 | PnL: 0.10% | $0.00 +2025-03-10 13:56:14,217 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.5655571428574 | Take profit: 2094.8809142857144 +2025-03-10 13:56:17,023 - INFO - CLOSED long at 2060.7 | PnL: -0.16% | $-0.50 +2025-03-10 13:56:17,048 - INFO - OPENED LONG at 2060.2 | Stop loss: 2049.884057142857 | Take profit: 2091.125414285714 +2025-03-10 13:56:17,278 - INFO - STOP LOSS hit for long at 2049.884057142857 | PnL: -0.50% | $-1.18 +2025-03-10 13:56:17,302 - INFO - OPENED LONG at 2049.5 | Stop loss: 2039.237557142857 | Take profit: 2080.264914285714 +2025-03-10 13:56:17,371 - INFO - CLOSED long at 2056.85 | PnL: 0.36% | $0.50 +2025-03-10 13:56:17,417 - INFO - OPENED LONG at 2057.89 | Stop loss: 2047.585607142857 | Take profit: 2088.7807642857138 +2025-03-10 13:56:18,286 - INFO - TAKE PROFIT hit for long at 2088.7807642857138 | PnL: 1.50% | $2.73 +2025-03-10 13:56:18,330 - INFO - OPENED LONG at 2103.02 | Stop loss: 2092.4899571428573 | Take profit: 2134.587714285714 +2025-03-10 13:56:18,410 - INFO - TAKE PROFIT hit for long at 2134.587714285714 | PnL: 1.50% | $2.81 +2025-03-10 13:56:18,452 - INFO - OPENED LONG at 2131.78 | Stop loss: 2121.1061571428572 | Take profit: 2163.7791142857145 +2025-03-10 13:56:18,773 - INFO - STOP LOSS hit for long at 2121.1061571428572 | PnL: -0.50% | $-1.24 +2025-03-10 13:56:18,821 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.534307142857 | Take profit: 2151.9746642857144 +2025-03-10 13:56:19,040 - INFO - STOP LOSS hit for long at 2109.534307142857 | PnL: -0.50% | $-1.22 +2025-03-10 13:56:19,064 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.032057142857 | Take profit: 2142.281414285714 +2025-03-10 13:56:19,413 - INFO - CLOSED long at 2106.49 | PnL: -0.19% | $-0.59 +2025-03-10 13:56:19,436 - INFO - OPENED LONG at 2108.06 | Stop loss: 2097.504757142857 | Take profit: 2139.7033142857144 +2025-03-10 13:56:19,515 - INFO - STOP LOSS hit for long at 2097.504757142857 | PnL: -0.50% | $-1.20 +2025-03-10 13:56:19,552 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0174071428573 | Take profit: 2131.0453642857146 +2025-03-10 13:56:20,186 - INFO - STOP LOSS hit for long at 2089.0174071428573 | PnL: -0.50% | $-1.19 +2025-03-10 13:56:20,209 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.848657142857 | Take profit: 2114.551614285714 +2025-03-10 13:56:22,087 - INFO - TAKE PROFIT hit for long at 2114.551614285714 | PnL: 1.50% | $2.73 +2025-03-10 13:56:22,113 - INFO - OPENED LONG at 2113.61 | Stop loss: 2103.027007142857 | Take profit: 2145.3365642857143 +2025-03-10 13:56:22,577 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.36, Avg Loss=$-0.85 +2025-03-10 13:56:22,578 - INFO - Episode 49: Reward=91.44, Balance=$101.02, Win Rate=41.2%, Trades=17, Episode PnL=$0.60, Total PnL=$-271.06, Max Drawdown=5.2%, Pred Accuracy=99.7% +2025-03-10 13:56:22,727 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 13:56:22,727 - INFO - New best PnL model saved: $0.60 +2025-03-10 13:56:22,728 - INFO - Reducing learning rate to 0.000010 +2025-03-10 13:56:22,728 - INFO - Early stopping triggered after 50 episodes without improvement +2025-03-10 13:56:22,862 - INFO - Model saved to models/trading_agent_final.pt +2025-03-10 13:56:22,977 - ERROR - Training failed: 'episode_pnls' +2025-03-10 13:56:22,978 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1935, in train_agent + plot_training_results(stats) + File "main.py", line 1977, in plot_training_results + plt.plot(stats['episode_pnls']) + ~~~~~^^^^^^^^^^^^^^^^ +KeyError: 'episode_pnls' + +2025-03-10 13:56:23,108 - INFO - Model saved to models/trading_agent_emergency.pt +2025-03-10 13:56:23,108 - INFO - Emergency model saved due to training failure +2025-03-10 13:56:23,108 - INFO - Exchange connection closed +2025-03-10 14:19:22,656 - INFO - Using GPU: NVIDIA GeForce RTX 4060 Laptop GPU +2025-03-10 14:19:22,679 - INFO - Exchange initialized with standard CCXT: mexc +2025-03-10 14:19:22,680 - INFO - Fetching initial data for ETH/USDT +2025-03-10 14:19:26,501 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 14:19:26,519 - INFO - Initialized environment with 500 candles +2025-03-10 14:19:28,950 - INFO - Starting training for 1000 episodes... +2025-03-10 14:19:28,951 - INFO - Starting training on device: cuda +2025-03-10 14:19:28,952 - INFO - Loading best model from models/trading_agent_best_pnl.pt to resume training +2025-03-10 14:19:28,952 - INFO - Loading model from models/trading_agent_best_pnl.pt +2025-03-10 14:19:29,130 - INFO - Model loaded successfully with weights_only=True +2025-03-10 14:19:29,131 - INFO - Resumed with best metrics - Reward: 202.74, PnL: $0.26, Win Rate: 44.4% +2025-03-10 14:19:30,374 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:19:30,383 - INFO - CLOSED short at 2070.7 | PnL: -0.13% | $-0.46 +2025-03-10 14:19:30,387 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.703285714286 | Take profit: 2038.2750214285716 +2025-03-10 14:19:30,394 - INFO - CLOSED short at 2068.8 | PnL: 0.03% | $-0.15 +2025-03-10 14:19:30,398 - INFO - OPENED SHORT at 2067.6 | Stop loss: 2077.9545857142857 | Take profit: 2036.5611214285714 +2025-03-10 14:19:30,402 - INFO - CLOSED short at 2067.51 | PnL: 0.00% | $-0.19 +2025-03-10 14:19:30,414 - INFO - OPENED SHORT at 2066.19 | Stop loss: 2076.5375357142857 | Take profit: 2035.1722714285715 +2025-03-10 14:19:30,425 - INFO - CLOSED short at 2066.18 | PnL: 0.00% | $-0.20 +2025-03-10 14:19:30,429 - INFO - OPENED SHORT at 2068.76 | Stop loss: 2079.120385714286 | Take profit: 2037.7037214285717 +2025-03-10 14:19:30,432 - INFO - CLOSED short at 2068.9 | PnL: -0.01% | $-0.21 +2025-03-10 14:19:30,437 - INFO - OPENED SHORT at 2068.51 | Stop loss: 2078.869135714286 | Take profit: 2037.4574714285716 +2025-03-10 14:19:30,441 - INFO - CLOSED short at 2068.59 | PnL: -0.00% | $-0.20 +2025-03-10 14:19:30,444 - INFO - OPENED SHORT at 2069.7 | Stop loss: 2080.0650857142855 | Take profit: 2038.6296214285712 +2025-03-10 14:19:30,450 - INFO - CLOSED short at 2069.96 | PnL: -0.01% | $-0.22 +2025-03-10 14:19:30,455 - INFO - OPENED SHORT at 2071.4 | Stop loss: 2081.7735857142857 | Take profit: 2040.3041214285715 +2025-03-10 14:19:30,462 - INFO - CLOSED short at 2071.36 | PnL: 0.00% | $-0.19 +2025-03-10 14:19:30,466 - INFO - OPENED SHORT at 2072.75 | Stop loss: 2083.1303357142856 | Take profit: 2041.6338714285714 +2025-03-10 14:19:30,470 - INFO - CLOSED short at 2073.11 | PnL: -0.02% | $-0.23 +2025-03-10 14:19:30,474 - INFO - OPENED SHORT at 2072.7 | Stop loss: 2083.0800857142854 | Take profit: 2041.5846214285714 +2025-03-10 14:19:30,477 - INFO - CLOSED short at 2072.15 | PnL: 0.03% | $-0.14 +2025-03-10 14:19:30,481 - INFO - OPENED SHORT at 2074.29 | Stop loss: 2084.6780357142857 | Take profit: 2043.1507714285715 +2025-03-10 14:19:30,491 - INFO - CLOSED short at 2071.11 | PnL: 0.15% | $0.10 +2025-03-10 14:19:30,492 - INFO - OPENED LONG at 2069.46 | Stop loss: 2059.096114285714 | Take profit: 2100.5267785714286 +2025-03-10 14:19:30,497 - INFO - CLOSED long at 2069.35 | PnL: -0.01% | $-0.20 +2025-03-10 14:19:30,497 - INFO - OPENED SHORT at 2069.35 | Stop loss: 2079.7133357142857 | Take profit: 2038.2848714285715 +2025-03-10 14:19:30,507 - INFO - CLOSED short at 2067.79 | PnL: 0.08% | $-0.05 +2025-03-10 14:19:30,508 - INFO - OPENED LONG at 2067.79 | Stop loss: 2057.434464285714 | Take profit: 2098.8317285714284 +2025-03-10 14:19:30,511 - INFO - CLOSED long at 2067.46 | PnL: -0.02% | $-0.22 +2025-03-10 14:19:30,511 - INFO - OPENED SHORT at 2067.46 | Stop loss: 2077.813885714286 | Take profit: 2036.4232214285714 +2025-03-10 14:19:30,522 - INFO - CLOSED short at 2063.61 | PnL: 0.19% | $0.17 +2025-03-10 14:19:30,525 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.602885714286 | Take profit: 2034.2562214285715 +2025-03-10 14:19:30,533 - INFO - CLOSED short at 2068.8 | PnL: -0.17% | $-0.53 +2025-03-10 14:19:30,533 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.4394142857145 | Take profit: 2099.8568785714288 +2025-03-10 14:19:30,536 - INFO - CLOSED long at 2069.34 | PnL: 0.03% | $-0.14 +2025-03-10 14:19:30,541 - INFO - OPENED SHORT at 2067.86 | Stop loss: 2078.215885714286 | Take profit: 2036.8172214285717 +2025-03-10 14:19:30,552 - INFO - CLOSED short at 2070.3 | PnL: -0.12% | $-0.42 +2025-03-10 14:19:30,559 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.0700857142856 | Take profit: 2039.6146214285714 +2025-03-10 14:19:30,564 - INFO - CLOSED short at 2070.4 | PnL: 0.01% | $-0.16 +2025-03-10 14:19:30,567 - INFO - OPENED SHORT at 2070.73 | Stop loss: 2081.1002357142856 | Take profit: 2039.6441714285713 +2025-03-10 14:19:30,572 - INFO - CLOSED short at 2068.5 | PnL: 0.11% | $0.01 +2025-03-10 14:19:30,579 - INFO - OPENED LONG at 2067.84 | Stop loss: 2057.484214285714 | Take profit: 2098.8824785714287 +2025-03-10 14:19:30,582 - INFO - CLOSED long at 2067.11 | PnL: -0.04% | $-0.26 +2025-03-10 14:19:30,582 - INFO - OPENED SHORT at 2067.11 | Stop loss: 2077.4621357142855 | Take profit: 2036.0784714285717 +2025-03-10 14:19:30,586 - INFO - CLOSED short at 2067.86 | PnL: -0.04% | $-0.26 +2025-03-10 14:19:30,586 - INFO - OPENED SHORT at 2066.4 | Stop loss: 2076.7485857142856 | Take profit: 2035.3791214285716 +2025-03-10 14:19:30,757 - INFO - CLOSED short at 2064.47 | PnL: 0.09% | $-0.01 +2025-03-10 14:19:30,779 - INFO - OPENED SHORT at 2070.04 | Stop loss: 2080.4067857142854 | Take profit: 2038.9645214285713 +2025-03-10 14:19:30,879 - INFO - CLOSED short at 2064.99 | PnL: 0.24% | $0.27 +2025-03-10 14:19:30,879 - INFO - OPENED LONG at 2064.99 | Stop loss: 2054.648464285714 | Take profit: 2095.9897285714283 +2025-03-10 14:19:30,895 - INFO - CLOSED long at 2065.83 | PnL: 0.04% | $-0.11 +2025-03-10 14:19:30,896 - INFO - OPENED SHORT at 2065.83 | Stop loss: 2076.1757357142856 | Take profit: 2034.8176714285712 +2025-03-10 14:19:31,241 - INFO - CLOSED short at 2064.45 | PnL: 0.07% | $-0.06 +2025-03-10 14:19:31,241 - INFO - OPENED LONG at 2064.45 | Stop loss: 2054.111164285714 | Take profit: 2095.4416285714283 +2025-03-10 14:19:31,273 - INFO - CLOSED long at 2064.08 | PnL: -0.02% | $-0.22 +2025-03-10 14:19:31,273 - INFO - OPENED SHORT at 2064.08 | Stop loss: 2074.4169857142856 | Take profit: 2033.0939214285713 +2025-03-10 14:19:31,768 - INFO - CLOSED short at 2065.89 | PnL: -0.09% | $-0.36 +2025-03-10 14:19:31,769 - INFO - OPENED LONG at 2065.89 | Stop loss: 2055.543964285714 | Take profit: 2096.9032285714284 +2025-03-10 14:19:31,793 - INFO - CLOSED long at 2063.53 | PnL: -0.11% | $-0.41 +2025-03-10 14:19:31,793 - INFO - OPENED SHORT at 2063.53 | Stop loss: 2073.8642357142858 | Take profit: 2032.5521714285717 +2025-03-10 14:19:32,220 - INFO - CLOSED short at 2056.71 | PnL: 0.33% | $0.43 +2025-03-10 14:19:32,220 - INFO - OPENED LONG at 2056.71 | Stop loss: 2046.4098642857143 | Take profit: 2087.5855285714288 +2025-03-10 14:19:32,244 - INFO - CLOSED long at 2058.15 | PnL: 0.07% | $-0.06 +2025-03-10 14:19:32,244 - INFO - OPENED SHORT at 2058.15 | Stop loss: 2068.457335714286 | Take profit: 2027.2528714285716 +2025-03-10 14:19:32,630 - INFO - STOP LOSS hit for short at 2068.457335714286 | PnL: -0.50% | $-1.14 +2025-03-10 14:19:32,673 - INFO - OPENED SHORT at 2074.3 | Stop loss: 2084.688085714286 | Take profit: 2043.1606214285716 +2025-03-10 14:19:33,728 - INFO - CLOSED short at 2071.99 | PnL: 0.11% | $0.02 +2025-03-10 14:19:33,728 - INFO - OPENED LONG at 2071.99 | Stop loss: 2061.613464285714 | Take profit: 2103.0947285714283 +2025-03-10 14:19:33,778 - INFO - CLOSED long at 2068.19 | PnL: -0.18% | $-0.53 +2025-03-10 14:19:33,778 - INFO - OPENED SHORT at 2068.19 | Stop loss: 2078.547535714286 | Take profit: 2037.1422714285713 +2025-03-10 14:19:33,915 - INFO - CLOSED short at 2074.37 | PnL: -0.30% | $-0.74 +2025-03-10 14:19:33,915 - INFO - OPENED LONG at 2074.37 | Stop loss: 2063.9815642857143 | Take profit: 2105.5104285714287 +2025-03-10 14:19:33,936 - INFO - CLOSED long at 2075.07 | PnL: 0.03% | $-0.12 +2025-03-10 14:19:33,936 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.461935714286 | Take profit: 2043.9190714285717 +2025-03-10 14:19:34,025 - INFO - CLOSED short at 2075.32 | PnL: -0.01% | $-0.21 +2025-03-10 14:19:34,065 - INFO - OPENED SHORT at 2075.29 | Stop loss: 2085.6830357142853 | Take profit: 2044.1357714285714 +2025-03-10 14:19:34,611 - INFO - CLOSED short at 2065.8 | PnL: 0.46% | $0.66 +2025-03-10 14:19:34,638 - INFO - OPENED SHORT at 2065.07 | Stop loss: 2075.411935714286 | Take profit: 2034.0690714285715 +2025-03-10 14:19:36,501 - INFO - STOP LOSS hit for short at 2075.411935714286 | PnL: -0.50% | $-1.11 +2025-03-10 14:19:36,554 - INFO - OPENED SHORT at 2077.61 | Stop loss: 2088.014635714286 | Take profit: 2046.4209714285716 +2025-03-10 14:19:36,640 - INFO - STOP LOSS hit for short at 2088.014635714286 | PnL: -0.50% | $-1.10 +2025-03-10 14:19:36,665 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.5516857142857 | Take profit: 2071.4498214285713 +2025-03-10 14:19:36,696 - INFO - STOP LOSS hit for short at 2113.5516857142857 | PnL: -0.50% | $-1.09 +2025-03-10 14:19:36,724 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2542857142857 | Take profit: 2107.4220214285715 +2025-03-10 14:19:37,763 - INFO - TAKE PROFIT hit for short at 2107.4220214285715 | PnL: 1.50% | $2.50 +2025-03-10 14:19:37,821 - INFO - OPENED SHORT at 2108.06 | Stop loss: 2118.6168857142857 | Take profit: 2076.414221428571 +2025-03-10 14:19:39,099 - INFO - CLOSED short at 2085.09 | PnL: 1.09% | $1.82 +2025-03-10 14:19:39,124 - INFO - OPENED SHORT at 2083.59 | Stop loss: 2094.024535714286 | Take profit: 2052.3112714285717 +2025-03-10 14:19:39,240 - INFO - CLOSED short at 2085.83 | PnL: -0.11% | $-0.39 +2025-03-10 14:19:39,289 - INFO - OPENED SHORT at 2085.85 | Stop loss: 2096.2958357142857 | Take profit: 2054.5373714285715 +2025-03-10 14:19:39,902 - INFO - STOP LOSS hit for short at 2096.2958357142857 | PnL: -0.50% | $-1.12 +2025-03-10 14:19:39,928 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.5065357142853 | Take profit: 2068.465271428571 +2025-03-10 14:19:40,743 - INFO - STOP LOSS hit for short at 2110.5065357142853 | PnL: -0.50% | $-1.11 +2025-03-10 14:19:40,773 - INFO - OPENED SHORT at 2110.87 | Stop loss: 2121.440935714286 | Take profit: 2079.1820714285714 +2025-03-10 14:19:41,627 - INFO - STOP LOSS hit for short at 2121.440935714286 | PnL: -0.50% | $-1.09 +2025-03-10 14:19:41,676 - INFO - OPENED SHORT at 2121.2 | Stop loss: 2131.8225857142857 | Take profit: 2089.357121428571 +2025-03-10 14:19:41,822 - INFO - STOP LOSS hit for short at 2131.8225857142857 | PnL: -0.50% | $-1.08 +2025-03-10 14:19:41,847 - INFO - OPENED SHORT at 2136.26 | Stop loss: 2146.957885714286 | Take profit: 2104.1912214285717 +2025-03-10 14:19:42,538 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 23.5% in downtrends | Avg Win=$0.67, Avg Loss=$-0.42 +2025-03-10 14:19:42,539 - INFO - Episode 0: Reward=-36.82, Balance=$89.51, Win Rate=18.8%, Trades=48, Episode PnL=$-8.35, Total PnL=$-10.49, Max Drawdown=10.5%, Pred Accuracy=96.6% +2025-03-10 14:19:42,687 - INFO - Model saved to checkpoints/trading_agent_episode_0.pt +2025-03-10 14:19:42,690 - INFO - Checkpoint saved at episode 0 +2025-03-10 14:19:42,834 - ERROR - Error creating visualization: No module named 'mplfinance' +2025-03-10 14:19:42,834 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2514, in visualize_training_results + from mplfinance.original_flavor import candlestick_ohlc +ModuleNotFoundError: No module named 'mplfinance' + +2025-03-10 14:19:43,825 - ERROR - Error creating visualization: No module named 'mplfinance' +2025-03-10 14:19:43,826 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2514, in visualize_training_results + from mplfinance.original_flavor import candlestick_ohlc +ModuleNotFoundError: No module named 'mplfinance' + +2025-03-10 14:19:44,218 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:19:44,246 - INFO - CLOSED short at 2067.2 | PnL: 0.04% | $-0.12 +2025-03-10 14:19:44,247 - INFO - OPENED LONG at 2067.2 | Stop loss: 2056.847414285714 | Take profit: 2098.2328785714285 +2025-03-10 14:19:44,276 - INFO - CLOSED long at 2070.36 | PnL: 0.15% | $0.10 +2025-03-10 14:19:44,277 - INFO - OPENED SHORT at 2070.36 | Stop loss: 2080.7283857142857 | Take profit: 2039.2797214285715 +2025-03-10 14:19:45,018 - INFO - CLOSED short at 2071.36 | PnL: -0.05% | $-0.29 +2025-03-10 14:19:45,019 - INFO - OPENED LONG at 2071.36 | Stop loss: 2060.9866142857145 | Take profit: 2102.4552785714286 +2025-03-10 14:19:45,091 - INFO - CLOSED long at 2072.75 | PnL: 0.07% | $-0.07 +2025-03-10 14:19:45,091 - INFO - OPENED SHORT at 2072.75 | Stop loss: 2083.1303357142856 | Take profit: 2041.6338714285714 +2025-03-10 14:19:45,321 - INFO - CLOSED short at 2070.4 | PnL: 0.11% | $0.03 +2025-03-10 14:19:45,321 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.031414285714 | Take profit: 2101.4808785714285 +2025-03-10 14:19:45,341 - INFO - CLOSED long at 2071.11 | PnL: 0.03% | $-0.13 +2025-03-10 14:19:45,394 - INFO - OPENED SHORT at 2069.35 | Stop loss: 2079.7133357142857 | Take profit: 2038.2848714285715 +2025-03-10 14:19:45,681 - INFO - CLOSED short at 2068.8 | PnL: 0.03% | $-0.14 +2025-03-10 14:19:45,705 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.703285714286 | Take profit: 2038.2750214285716 +2025-03-10 14:19:46,703 - INFO - CLOSED short at 2065.54 | PnL: 0.18% | $0.16 +2025-03-10 14:19:46,754 - INFO - OPENED SHORT at 2066.09 | Stop loss: 2076.437035714286 | Take profit: 2035.0737714285715 +2025-03-10 14:19:47,012 - INFO - CLOSED short at 2060.65 | PnL: 0.26% | $0.32 +2025-03-10 14:19:47,013 - INFO - OPENED LONG at 2060.65 | Stop loss: 2050.3301642857145 | Take profit: 2091.5846285714288 +2025-03-10 14:19:47,065 - INFO - CLOSED long at 2058.89 | PnL: -0.09% | $-0.37 +2025-03-10 14:19:47,066 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.201035714286 | Take profit: 2027.9817714285714 +2025-03-10 14:19:48,069 - INFO - CLOSED short at 2054.89 | PnL: 0.19% | $0.19 +2025-03-10 14:19:48,093 - INFO - OPENED SHORT at 2054.83 | Stop loss: 2065.1207357142857 | Take profit: 2023.9826714285714 +2025-03-10 14:19:48,386 - INFO - STOP LOSS hit for short at 2065.1207357142857 | PnL: -0.50% | $-1.19 +2025-03-10 14:19:48,428 - INFO - OPENED SHORT at 2066.01 | Stop loss: 2076.356635714286 | Take profit: 2034.9949714285715 +2025-03-10 14:19:48,760 - INFO - STOP LOSS hit for short at 2076.356635714286 | PnL: -0.50% | $-1.17 +2025-03-10 14:19:48,799 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.401635714286 | Take profit: 2043.8599714285717 +2025-03-10 14:19:49,017 - INFO - CLOSED short at 2069.69 | PnL: 0.26% | $0.30 +2025-03-10 14:19:49,068 - INFO - OPENED SHORT at 2069.03 | Stop loss: 2079.391735714286 | Take profit: 2037.9696714285717 +2025-03-10 14:19:50,735 - INFO - CLOSED short at 2067.19 | PnL: 0.09% | $-0.02 +2025-03-10 14:19:50,735 - INFO - OPENED LONG at 2067.19 | Stop loss: 2056.8374642857143 | Take profit: 2098.222728571429 +2025-03-10 14:19:50,784 - INFO - CLOSED long at 2065.5 | PnL: -0.08% | $-0.35 +2025-03-10 14:19:50,784 - INFO - OPENED SHORT at 2065.5 | Stop loss: 2075.844085714286 | Take profit: 2034.4926214285715 +2025-03-10 14:19:50,946 - INFO - CLOSED short at 2063.98 | PnL: 0.07% | $-0.05 +2025-03-10 14:19:50,968 - INFO - OPENED SHORT at 2066.1 | Stop loss: 2076.4470857142855 | Take profit: 2035.0836214285712 +2025-03-10 14:19:52,383 - INFO - STOP LOSS hit for short at 2076.4470857142855 | PnL: -0.50% | $-1.16 +2025-03-10 14:19:52,426 - INFO - OPENED SHORT at 2085.56 | Stop loss: 2096.0043857142855 | Take profit: 2054.2517214285713 +2025-03-10 14:19:52,473 - INFO - STOP LOSS hit for short at 2096.0043857142855 | PnL: -0.50% | $-1.14 +2025-03-10 14:19:52,496 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:19:52,519 - INFO - CLOSED short at 2139.54 | PnL: -0.41% | $-0.97 +2025-03-10 14:19:52,545 - INFO - OPENED LONG at 2131.78 | Stop loss: 2121.1045142857142 | Take profit: 2163.7815785714283 +2025-03-10 14:19:52,571 - INFO - CLOSED long at 2133.95 | PnL: 0.10% | $0.00 +2025-03-10 14:19:52,571 - INFO - OPENED SHORT at 2133.95 | Stop loss: 2144.6363357142855 | Take profit: 2101.9158714285713 +2025-03-10 14:19:52,863 - INFO - CLOSED short at 2128.69 | PnL: 0.25% | $0.27 +2025-03-10 14:19:52,889 - INFO - OPENED SHORT at 2121.09 | Stop loss: 2131.712035714286 | Take profit: 2089.2487714285717 +2025-03-10 14:19:53,186 - INFO - CLOSED short at 2110.6 | PnL: 0.49% | $0.74 +2025-03-10 14:19:53,229 - INFO - OPENED SHORT at 2109.05 | Stop loss: 2119.611835714286 | Take profit: 2077.389371428572 +2025-03-10 14:19:53,385 - INFO - STOP LOSS hit for short at 2119.611835714286 | PnL: -0.50% | $-1.13 +2025-03-10 14:19:53,406 - INFO - OPENED SHORT at 2116.48 | Stop loss: 2127.078985714286 | Take profit: 2084.7079214285714 +2025-03-10 14:19:54,005 - INFO - CLOSED short at 2100.74 | PnL: 0.74% | $1.20 +2025-03-10 14:19:54,006 - INFO - OPENED LONG at 2100.74 | Stop loss: 2090.219714285714 | Take profit: 2132.2759785714284 +2025-03-10 14:19:54,094 - INFO - CLOSED long at 2101.51 | PnL: 0.04% | $-0.12 +2025-03-10 14:19:54,094 - INFO - OPENED SHORT at 2101.51 | Stop loss: 2112.034135714286 | Take profit: 2069.9624714285715 +2025-03-10 14:19:54,904 - INFO - CLOSED short at 2088.1 | PnL: 0.64% | $1.01 +2025-03-10 14:19:54,972 - INFO - OPENED SHORT at 2087.47 | Stop loss: 2097.923935714285 | Take profit: 2056.133071428571 +2025-03-10 14:19:55,293 - INFO - STOP LOSS hit for short at 2097.923935714285 | PnL: -0.50% | $-1.14 +2025-03-10 14:19:55,518 - INFO - OPENED SHORT at 2106.15 | Stop loss: 2116.6973357142856 | Take profit: 2074.5328714285715 +2025-03-10 14:19:56,032 - INFO - CLOSED short at 2104.73 | PnL: 0.07% | $-0.06 +2025-03-10 14:19:56,033 - INFO - OPENED LONG at 2104.73 | Stop loss: 2094.1897642857143 | Take profit: 2136.3258285714287 +2025-03-10 14:19:56,055 - INFO - CLOSED long at 2107.25 | PnL: 0.12% | $0.04 +2025-03-10 14:19:56,055 - INFO - OPENED SHORT at 2107.25 | Stop loss: 2117.8028357142857 | Take profit: 2075.6163714285713 +2025-03-10 14:19:56,198 - INFO - CLOSED short at 2113.7 | PnL: -0.31% | $-0.76 +2025-03-10 14:19:56,233 - INFO - OPENED SHORT at 2113.0 | Stop loss: 2123.581585714286 | Take profit: 2081.2801214285714 +2025-03-10 14:19:57,159 - INFO - STOP LOSS hit for short at 2123.581585714286 | PnL: -0.50% | $-1.12 +2025-03-10 14:19:57,186 - INFO - OPENED SHORT at 2127.79 | Stop loss: 2138.4455357142856 | Take profit: 2095.8482714285715 +2025-03-10 14:19:57,420 - INFO - CLOSED short at 2127.47 | PnL: 0.02% | $-0.16 +2025-03-10 14:19:57,448 - INFO - OPENED SHORT at 2129.51 | Stop loss: 2140.174135714286 | Take profit: 2097.5424714285714 +2025-03-10 14:19:57,932 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 21.4% in downtrends | Avg Win=$0.36, Avg Loss=$-0.56 +2025-03-10 14:19:57,933 - INFO - Episode 1: Reward=-10.64, Balance=$92.69, Win Rate=36.4%, Trades=33, Episode PnL=$-6.55, Total PnL=$-17.80, Max Drawdown=7.3%, Pred Accuracy=96.7% +2025-03-10 14:19:58,202 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:20:00,537 - INFO - CLOSED short at 2064.96 | PnL: 0.15% | $0.10 +2025-03-10 14:20:00,568 - INFO - OPENED SHORT at 2066.24 | Stop loss: 2076.5877857142855 | Take profit: 2035.2215214285714 +2025-03-10 14:20:01,403 - INFO - CLOSED short at 2061.89 | PnL: 0.21% | $0.22 +2025-03-10 14:20:01,403 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.563964285714 | Take profit: 2092.8432285714284 +2025-03-10 14:20:01,432 - INFO - CLOSED long at 2061.7 | PnL: -0.01% | $-0.22 +2025-03-10 14:20:01,433 - INFO - OPENED SHORT at 2061.7 | Stop loss: 2072.0250857142855 | Take profit: 2030.7496214285713 +2025-03-10 14:20:01,888 - INFO - CLOSED short at 2056.71 | PnL: 0.24% | $0.28 +2025-03-10 14:20:01,889 - INFO - OPENED LONG at 2056.71 | Stop loss: 2046.4098642857143 | Take profit: 2087.5855285714288 +2025-03-10 14:20:01,948 - INFO - CLOSED long at 2058.15 | PnL: 0.07% | $-0.06 +2025-03-10 14:20:01,948 - INFO - OPENED SHORT at 2058.15 | Stop loss: 2068.457335714286 | Take profit: 2027.2528714285716 +2025-03-10 14:20:02,459 - INFO - STOP LOSS hit for short at 2068.457335714286 | PnL: -0.50% | $-1.20 +2025-03-10 14:20:02,479 - INFO - OPENED SHORT at 2072.0 | Stop loss: 2082.3765857142857 | Take profit: 2040.8951214285714 +2025-03-10 14:20:02,543 - INFO - CLOSED short at 2075.01 | PnL: -0.15% | $-0.48 +2025-03-10 14:20:02,543 - INFO - OPENED LONG at 2075.01 | Stop loss: 2064.6183642857145 | Take profit: 2106.160028571429 +2025-03-10 14:20:02,564 - INFO - CLOSED long at 2072.6 | PnL: -0.12% | $-0.42 +2025-03-10 14:20:02,565 - INFO - OPENED SHORT at 2072.6 | Stop loss: 2082.979585714286 | Take profit: 2041.4861214285713 +2025-03-10 14:20:05,291 - INFO - CLOSED short at 2051.99 | PnL: 0.99% | $1.74 +2025-03-10 14:20:05,711 - INFO - OPENED SHORT at 2066.59 | Stop loss: 2076.9395357142857 | Take profit: 2035.5662714285716 +2025-03-10 14:20:06,280 - INFO - STOP LOSS hit for short at 2076.9395357142857 | PnL: -0.50% | $-1.19 +2025-03-10 14:20:06,304 - INFO - OPENED SHORT at 2085.56 | Stop loss: 2096.0043857142855 | Take profit: 2054.2517214285713 +2025-03-10 14:20:06,354 - INFO - STOP LOSS hit for short at 2096.0043857142855 | PnL: -0.50% | $-1.18 +2025-03-10 14:20:06,379 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:20:06,582 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.16 +2025-03-10 14:20:06,629 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:20:07,109 - INFO - TAKE PROFIT hit for short at 2109.1556214285715 | PnL: 1.50% | $2.68 +2025-03-10 14:20:07,133 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:20:07,800 - INFO - CLOSED short at 2102.29 | PnL: 0.39% | $0.58 +2025-03-10 14:20:07,837 - INFO - OPENED SHORT at 2099.25 | Stop loss: 2109.7628357142858 | Take profit: 2067.736371428571 +2025-03-10 14:20:08,880 - INFO - CLOSED short at 2088.32 | PnL: 0.52% | $0.83 +2025-03-10 14:20:08,881 - INFO - OPENED LONG at 2088.32 | Stop loss: 2077.8618142857144 | Take profit: 2119.6696785714284 +2025-03-10 14:20:08,928 - INFO - CLOSED long at 2088.1 | PnL: -0.01% | $-0.22 +2025-03-10 14:20:08,928 - INFO - OPENED SHORT at 2088.1 | Stop loss: 2098.5570857142857 | Take profit: 2056.7536214285715 +2025-03-10 14:20:09,370 - INFO - STOP LOSS hit for short at 2098.5570857142857 | PnL: -0.50% | $-1.20 +2025-03-10 14:20:09,417 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.1647857142857 | Take profit: 2070.0905214285713 +2025-03-10 14:20:10,244 - INFO - STOP LOSS hit for short at 2112.1647857142857 | PnL: -0.50% | $-1.18 +2025-03-10 14:20:10,267 - INFO - OPENED SHORT at 2110.87 | Stop loss: 2121.440935714286 | Take profit: 2079.1820714285714 +2025-03-10 14:20:10,649 - INFO - CLOSED short at 2111.19 | PnL: -0.02% | $-0.22 +2025-03-10 14:20:10,671 - INFO - OPENED SHORT at 2112.61 | Stop loss: 2123.1896357142855 | Take profit: 2080.8959714285716 +2025-03-10 14:20:10,743 - INFO - CLOSED short at 2115.3 | PnL: -0.13% | $-0.44 +2025-03-10 14:20:10,767 - INFO - OPENED SHORT at 2115.89 | Stop loss: 2126.486035714285 | Take profit: 2084.1267714285714 +2025-03-10 14:20:11,118 - INFO - CLOSED short at 2125.11 | PnL: -0.44% | $-1.03 +2025-03-10 14:20:11,118 - INFO - OPENED LONG at 2125.11 | Stop loss: 2114.4678642857143 | Take profit: 2157.0115285714287 +2025-03-10 14:20:11,141 - INFO - CLOSED long at 2127.79 | PnL: 0.13% | $0.05 +2025-03-10 14:20:11,142 - INFO - OPENED SHORT at 2127.79 | Stop loss: 2138.4455357142856 | Take profit: 2095.8482714285715 +2025-03-10 14:20:11,427 - INFO - CLOSED short at 2123.23 | PnL: 0.21% | $0.22 +2025-03-10 14:20:11,427 - INFO - OPENED LONG at 2123.23 | Stop loss: 2112.597264285714 | Take profit: 2155.1033285714284 +2025-03-10 14:20:11,453 - INFO - CLOSED long at 2127.47 | PnL: 0.20% | $0.19 +2025-03-10 14:20:11,454 - INFO - OPENED SHORT at 2127.47 | Stop loss: 2138.1239357142854 | Take profit: 2095.5330714285715 +2025-03-10 14:20:11,917 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 38.5% in downtrends | Avg Win=$0.69, Avg Loss=$-0.73 +2025-03-10 14:20:11,918 - INFO - Episode 2: Reward=-5.59, Balance=$96.68, Win Rate=41.7%, Trades=24, Episode PnL=$-2.64, Total PnL=$-21.12, Max Drawdown=3.7%, Pred Accuracy=96.7% +2025-03-10 14:20:12,240 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:20:12,269 - INFO - CLOSED short at 2067.2 | PnL: 0.04% | $-0.12 +2025-03-10 14:20:12,269 - INFO - OPENED LONG at 2067.2 | Stop loss: 2056.847414285714 | Take profit: 2098.2328785714285 +2025-03-10 14:20:12,301 - INFO - CLOSED long at 2070.36 | PnL: 0.15% | $0.10 +2025-03-10 14:20:12,301 - INFO - OPENED SHORT at 2070.36 | Stop loss: 2080.7283857142857 | Take profit: 2039.2797214285715 +2025-03-10 14:20:14,382 - INFO - CLOSED short at 2067.88 | PnL: 0.12% | $0.04 +2025-03-10 14:20:14,383 - INFO - OPENED LONG at 2067.88 | Stop loss: 2057.5240142857147 | Take profit: 2098.923078571429 +2025-03-10 14:20:14,408 - INFO - CLOSED long at 2064.99 | PnL: -0.14% | $-0.48 +2025-03-10 14:20:14,408 - INFO - OPENED SHORT at 2064.99 | Stop loss: 2075.331535714285 | Take profit: 2033.990271428571 +2025-03-10 14:20:14,715 - INFO - CLOSED short at 2066.09 | PnL: -0.05% | $-0.30 +2025-03-10 14:20:14,715 - INFO - OPENED LONG at 2066.09 | Stop loss: 2055.742964285714 | Take profit: 2097.1062285714283 +2025-03-10 14:20:14,738 - INFO - CLOSED long at 2064.45 | PnL: -0.08% | $-0.35 +2025-03-10 14:20:14,738 - INFO - OPENED SHORT at 2064.45 | Stop loss: 2074.7888357142856 | Take profit: 2033.4583714285711 +2025-03-10 14:20:15,057 - INFO - CLOSED short at 2061.8 | PnL: 0.13% | $0.06 +2025-03-10 14:20:15,058 - INFO - OPENED LONG at 2061.8 | Stop loss: 2051.4744142857144 | Take profit: 2092.7518785714287 +2025-03-10 14:20:15,111 - INFO - CLOSED long at 2062.61 | PnL: 0.04% | $-0.12 +2025-03-10 14:20:15,111 - INFO - OPENED SHORT at 2062.61 | Stop loss: 2072.939635714286 | Take profit: 2031.6459714285716 +2025-03-10 14:20:16,348 - INFO - STOP LOSS hit for short at 2072.939635714286 | PnL: -0.50% | $-1.18 +2025-03-10 14:20:16,411 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.401635714286 | Take profit: 2043.8599714285717 +2025-03-10 14:20:16,854 - INFO - CLOSED short at 2065.7 | PnL: 0.45% | $0.68 +2025-03-10 14:20:16,905 - INFO - OPENED SHORT at 2063.95 | Stop loss: 2074.2863357142855 | Take profit: 2032.9658714285713 +2025-03-10 14:20:17,758 - INFO - STOP LOSS hit for short at 2074.2863357142855 | PnL: -0.50% | $-1.17 +2025-03-10 14:20:17,831 - INFO - OPENED SHORT at 2074.35 | Stop loss: 2084.7383357142858 | Take profit: 2043.2098714285712 +2025-03-10 14:20:18,217 - INFO - CLOSED short at 2066.4 | PnL: 0.38% | $0.55 +2025-03-10 14:20:18,217 - INFO - OPENED LONG at 2066.4 | Stop loss: 2056.0514142857146 | Take profit: 2097.420878571429 +2025-03-10 14:20:18,382 - INFO - CLOSED long at 2070.1 | PnL: 0.18% | $0.15 +2025-03-10 14:20:18,382 - INFO - OPENED SHORT at 2070.1 | Stop loss: 2080.4670857142855 | Take profit: 2039.0236214285712 +2025-03-10 14:20:19,914 - INFO - CLOSED short at 2074.05 | PnL: -0.19% | $-0.56 +2025-03-10 14:20:19,964 - INFO - OPENED SHORT at 2071.89 | Stop loss: 2082.2660357142854 | Take profit: 2040.7867714285715 +2025-03-10 14:20:20,133 - INFO - STOP LOSS hit for short at 2082.2660357142854 | PnL: -0.50% | $-1.16 +2025-03-10 14:20:20,173 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:20:20,211 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.15 +2025-03-10 14:20:20,234 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:20:20,372 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.13 +2025-03-10 14:20:20,422 - INFO - OPENED SHORT at 2142.68 | Stop loss: 2153.4099857142855 | Take profit: 2110.514921428571 +2025-03-10 14:20:20,843 - INFO - TAKE PROFIT hit for short at 2110.514921428571 | PnL: 1.50% | $2.61 +2025-03-10 14:20:20,893 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:20:22,127 - INFO - CLOSED short at 2083.97 | PnL: 1.26% | $2.22 +2025-03-10 14:20:22,170 - INFO - OPENED SHORT at 2085.3 | Stop loss: 2095.7430857142863 | Take profit: 2053.9956214285717 +2025-03-10 14:20:22,638 - INFO - CLOSED short at 2087.0 | PnL: -0.08% | $-0.36 +2025-03-10 14:20:22,672 - INFO - OPENED SHORT at 2087.47 | Stop loss: 2097.923935714285 | Take profit: 2056.133071428571 +2025-03-10 14:20:23,030 - INFO - STOP LOSS hit for short at 2097.923935714285 | PnL: -0.50% | $-1.17 +2025-03-10 14:20:23,085 - INFO - OPENED SHORT at 2097.11 | Stop loss: 2107.6121357142856 | Take profit: 2065.6284714285716 +2025-03-10 14:20:23,561 - INFO - CLOSED short at 2104.4 | PnL: -0.35% | $-0.86 +2025-03-10 14:20:23,589 - INFO - OPENED SHORT at 2105.21 | Stop loss: 2115.752635714286 | Take profit: 2073.6069714285713 +2025-03-10 14:20:24,363 - INFO - STOP LOSS hit for short at 2115.752635714286 | PnL: -0.50% | $-1.15 +2025-03-10 14:20:24,385 - INFO - OPENED SHORT at 2117.39 | Stop loss: 2127.993535714286 | Take profit: 2085.6042714285713 +2025-03-10 14:20:24,872 - INFO - STOP LOSS hit for short at 2127.993535714286 | PnL: -0.50% | $-1.13 +2025-03-10 14:20:24,916 - INFO - OPENED LONG at 2135.86 | Stop loss: 2125.1641142857143 | Take profit: 2167.922778571429 +2025-03-10 14:20:24,959 - INFO - CLOSED long at 2136.26 | PnL: 0.02% | $-0.15 +2025-03-10 14:20:25,015 - INFO - OPENED SHORT at 2135.51 | Stop loss: 2146.2041357142857 | Take profit: 2103.4524714285717 +2025-03-10 14:20:25,120 - INFO - CLOSED short at 2124.38 | PnL: 0.52% | $0.78 +2025-03-10 14:20:25,121 - INFO - OPENED LONG at 2124.38 | Stop loss: 2113.7415142857144 | Take profit: 2156.2705785714284 +2025-03-10 14:20:25,144 - INFO - CLOSED long at 2123.23 | PnL: -0.05% | $-0.29 +2025-03-10 14:20:25,145 - INFO - OPENED SHORT at 2123.23 | Stop loss: 2133.8627357142855 | Take profit: 2091.3566714285716 +2025-03-10 14:20:25,216 - INFO - STOP LOSS hit for short at 2133.8627357142855 | PnL: -0.50% | $-1.12 +2025-03-10 14:20:25,260 - INFO - OPENED SHORT at 2131.23 | Stop loss: 2141.902735714286 | Take profit: 2099.2366714285713 +2025-03-10 14:20:25,762 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 31.2% in downtrends | Avg Win=$0.80, Avg Loss=$-0.73 +2025-03-10 14:20:25,764 - INFO - Episode 3: Reward=-10.88, Balance=$93.23, Win Rate=32.1%, Trades=28, Episode PnL=$-5.79, Total PnL=$-27.89, Max Drawdown=6.8%, Pred Accuracy=96.8% +2025-03-10 14:20:26,014 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:20:29,890 - INFO - CLOSED short at 2054.89 | PnL: 0.63% | $1.06 +2025-03-10 14:20:29,890 - INFO - OPENED LONG at 2054.89 | Stop loss: 2044.5989642857141 | Take profit: 2085.7382285714284 +2025-03-10 14:20:29,978 - INFO - CLOSED long at 2058.15 | PnL: 0.16% | $0.12 +2025-03-10 14:20:29,978 - INFO - OPENED SHORT at 2058.15 | Stop loss: 2068.457335714286 | Take profit: 2027.2528714285716 +2025-03-10 14:20:30,294 - INFO - CLOSED short at 2063.9 | PnL: -0.28% | $-0.76 +2025-03-10 14:20:30,319 - INFO - OPENED SHORT at 2064.49 | Stop loss: 2074.8290357142855 | Take profit: 2033.4977714285712 +2025-03-10 14:20:30,645 - INFO - STOP LOSS hit for short at 2074.8290357142855 | PnL: -0.50% | $-1.20 +2025-03-10 14:20:30,674 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.401635714286 | Take profit: 2043.8599714285717 +2025-03-10 14:20:32,700 - INFO - CLOSED short at 2070.1 | PnL: 0.24% | $0.27 +2025-03-10 14:20:32,701 - INFO - OPENED LONG at 2070.1 | Stop loss: 2059.7329142857143 | Take profit: 2101.1763785714284 +2025-03-10 14:20:32,725 - INFO - CLOSED long at 2067.19 | PnL: -0.14% | $-0.47 +2025-03-10 14:20:32,726 - INFO - OPENED SHORT at 2067.19 | Stop loss: 2077.542535714286 | Take profit: 2036.1572714285714 +2025-03-10 14:20:33,540 - INFO - CLOSED short at 2057.11 | PnL: 0.49% | $0.76 +2025-03-10 14:20:33,540 - INFO - OPENED LONG at 2057.11 | Stop loss: 2046.8078642857145 | Take profit: 2087.9915285714287 +2025-03-10 14:20:33,563 - INFO - CLOSED long at 2057.89 | PnL: 0.04% | $-0.12 +2025-03-10 14:20:33,564 - INFO - OPENED SHORT at 2057.89 | Stop loss: 2068.1960357142857 | Take profit: 2026.9967714285713 +2025-03-10 14:20:33,857 - INFO - STOP LOSS hit for short at 2068.1960357142857 | PnL: -0.50% | $-1.19 +2025-03-10 14:20:33,921 - INFO - OPENED SHORT at 2066.59 | Stop loss: 2076.9395357142857 | Take profit: 2035.5662714285716 +2025-03-10 14:20:34,298 - INFO - CLOSED short at 2069.34 | PnL: -0.13% | $-0.46 +2025-03-10 14:20:34,324 - INFO - OPENED SHORT at 2069.81 | Stop loss: 2080.175635714286 | Take profit: 2038.7379714285714 +2025-03-10 14:20:34,632 - INFO - STOP LOSS hit for short at 2080.175635714286 | PnL: -0.50% | $-1.17 +2025-03-10 14:20:34,658 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:20:34,692 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.15 +2025-03-10 14:20:34,722 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:20:34,913 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.14 +2025-03-10 14:20:34,970 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:20:35,491 - INFO - TAKE PROFIT hit for short at 2109.1556214285715 | PnL: 1.50% | $2.63 +2025-03-10 14:20:35,522 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:20:36,035 - INFO - CLOSED short at 2102.19 | PnL: 0.40% | $0.58 +2025-03-10 14:20:36,035 - INFO - OPENED LONG at 2102.19 | Stop loss: 2091.662464285714 | Take profit: 2133.7477285714285 +2025-03-10 14:20:36,071 - INFO - CLOSED long at 2102.29 | PnL: 0.00% | $-0.18 +2025-03-10 14:20:36,072 - INFO - OPENED SHORT at 2102.29 | Stop loss: 2112.8180357142855 | Take profit: 2070.730771428571 +2025-03-10 14:20:36,754 - INFO - CLOSED short at 2081.49 | PnL: 0.99% | $1.72 +2025-03-10 14:20:36,776 - INFO - OPENED SHORT at 2080.38 | Stop loss: 2090.798485714286 | Take profit: 2049.1494214285717 +2025-03-10 14:20:37,323 - INFO - CLOSED short at 2091.05 | PnL: -0.51% | $-1.21 +2025-03-10 14:20:37,323 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.5781642857146 | Take profit: 2122.440628571429 +2025-03-10 14:20:37,373 - INFO - CLOSED long at 2091.05 | PnL: 0.00% | $-0.19 +2025-03-10 14:20:37,373 - INFO - OPENED SHORT at 2091.05 | Stop loss: 2101.5218357142858 | Take profit: 2059.659371428572 +2025-03-10 14:20:37,516 - INFO - CLOSED short at 2101.64 | PnL: -0.51% | $-1.18 +2025-03-10 14:20:37,565 - INFO - OPENED SHORT at 2098.49 | Stop loss: 2108.999035714285 | Take profit: 2066.9877714285712 +2025-03-10 14:20:37,585 - INFO - CLOSED short at 2099.89 | PnL: -0.07% | $-0.32 +2025-03-10 14:20:37,621 - INFO - OPENED SHORT at 2100.89 | Stop loss: 2111.411035714286 | Take profit: 2069.3517714285713 +2025-03-10 14:20:38,348 - INFO - STOP LOSS hit for short at 2111.411035714286 | PnL: -0.50% | $-1.15 +2025-03-10 14:20:38,376 - INFO - OPENED SHORT at 2110.87 | Stop loss: 2121.440935714286 | Take profit: 2079.1820714285714 +2025-03-10 14:20:39,680 - INFO - STOP LOSS hit for short at 2121.440935714286 | PnL: -0.50% | $-1.14 +2025-03-10 14:20:39,704 - INFO - OPENED SHORT at 2121.2 | Stop loss: 2131.8225857142857 | Take profit: 2089.357121428571 +2025-03-10 14:20:39,749 - INFO - CLOSED short at 2127.79 | PnL: -0.31% | $-0.77 +2025-03-10 14:20:39,750 - INFO - OPENED LONG at 2127.79 | Stop loss: 2117.1344642857143 | Take profit: 2159.7317285714284 +2025-03-10 14:20:39,773 - INFO - CLOSED long at 2129.3 | PnL: 0.07% | $-0.05 +2025-03-10 14:20:39,774 - INFO - OPENED SHORT at 2129.3 | Stop loss: 2139.9630857142856 | Take profit: 2097.335621428572 +2025-03-10 14:20:40,379 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 35.7% in downtrends | Avg Win=$1.02, Avg Loss=$-0.77 +2025-03-10 14:20:40,380 - INFO - Episode 4: Reward=-12.08, Balance=$93.28, Win Rate=28.0%, Trades=25, Episode PnL=$-5.80, Total PnL=$-34.60, Max Drawdown=6.3%, Pred Accuracy=96.8% +2025-03-10 14:20:41,284 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:20:42,187 - INFO - CLOSED short at 2067.79 | PnL: 0.01% | $-0.18 +2025-03-10 14:20:42,188 - INFO - OPENED LONG at 2067.79 | Stop loss: 2057.434464285714 | Take profit: 2098.8317285714284 +2025-03-10 14:20:42,223 - INFO - CLOSED long at 2067.46 | PnL: -0.02% | $-0.23 +2025-03-10 14:20:42,224 - INFO - OPENED SHORT at 2067.46 | Stop loss: 2077.813885714286 | Take profit: 2036.4232214285714 +2025-03-10 14:20:43,441 - INFO - CLOSED short at 2064.45 | PnL: 0.15% | $0.09 +2025-03-10 14:20:43,481 - INFO - OPENED SHORT at 2064.08 | Stop loss: 2074.4169857142856 | Take profit: 2033.0939214285713 +2025-03-10 14:20:44,569 - INFO - CLOSED short at 2054.83 | PnL: 0.45% | $0.69 +2025-03-10 14:20:44,594 - INFO - OPENED LONG at 2056.71 | Stop loss: 2046.4098642857143 | Take profit: 2087.5855285714288 +2025-03-10 14:20:44,643 - INFO - CLOSED long at 2058.15 | PnL: 0.07% | $-0.06 +2025-03-10 14:20:44,643 - INFO - OPENED SHORT at 2058.15 | Stop loss: 2068.457335714286 | Take profit: 2027.2528714285716 +2025-03-10 14:20:45,204 - INFO - STOP LOSS hit for short at 2068.457335714286 | PnL: -0.50% | $-1.20 +2025-03-10 14:20:45,228 - INFO - OPENED SHORT at 2072.0 | Stop loss: 2082.3765857142857 | Take profit: 2040.8951214285714 +2025-03-10 14:20:46,376 - INFO - CLOSED short at 2068.19 | PnL: 0.18% | $0.16 +2025-03-10 14:20:46,414 - INFO - OPENED SHORT at 2068.67 | Stop loss: 2079.029935714286 | Take profit: 2037.6150714285716 +2025-03-10 14:20:47,801 - INFO - CLOSED short at 2057.89 | PnL: 0.52% | $0.83 +2025-03-10 14:20:47,839 - INFO - OPENED SHORT at 2062.83 | Stop loss: 2073.1607357142857 | Take profit: 2031.8626714285713 +2025-03-10 14:20:48,411 - INFO - STOP LOSS hit for short at 2073.1607357142857 | PnL: -0.50% | $-1.19 +2025-03-10 14:20:48,433 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.4368357142857 | Take profit: 2042.9143714285715 +2025-03-10 14:20:48,588 - INFO - STOP LOSS hit for short at 2084.4368357142857 | PnL: -0.50% | $-1.18 +2025-03-10 14:20:48,618 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:20:48,659 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.17 +2025-03-10 14:20:48,702 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:20:48,848 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.15 +2025-03-10 14:20:48,870 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:20:49,293 - INFO - CLOSED short at 2107.43 | PnL: 1.58% | $2.81 +2025-03-10 14:20:49,316 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:20:50,422 - INFO - CLOSED short at 2094.72 | PnL: 0.75% | $1.27 +2025-03-10 14:20:50,447 - INFO - OPENED SHORT at 2094.08 | Stop loss: 2104.5669857142857 | Take profit: 2062.643921428571 +2025-03-10 14:20:51,423 - INFO - CLOSED short at 2100.89 | PnL: -0.33% | $-0.84 +2025-03-10 14:20:51,460 - INFO - OPENED SHORT at 2099.73 | Stop loss: 2110.2452357142856 | Take profit: 2068.2091714285716 +2025-03-10 14:20:51,566 - INFO - CLOSED short at 2104.93 | PnL: -0.25% | $-0.68 +2025-03-10 14:20:51,606 - INFO - OPENED SHORT at 2103.81 | Stop loss: 2114.345635714286 | Take profit: 2072.2279714285714 +2025-03-10 14:20:52,176 - INFO - STOP LOSS hit for short at 2114.345635714286 | PnL: -0.50% | $-1.17 +2025-03-10 14:20:52,232 - INFO - OPENED SHORT at 2113.1 | Stop loss: 2123.6820857142857 | Take profit: 2081.3786214285715 +2025-03-10 14:20:52,868 - INFO - STOP LOSS hit for short at 2123.6820857142857 | PnL: -0.50% | $-1.15 +2025-03-10 14:20:52,890 - INFO - OPENED SHORT at 2127.79 | Stop loss: 2138.4455357142856 | Take profit: 2095.8482714285715 +2025-03-10 14:20:53,559 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.98, Avg Loss=$-0.85 +2025-03-10 14:20:53,560 - INFO - Episode 5: Reward=0.94, Balance=$95.66, Win Rate=33.3%, Trades=18, Episode PnL=$-4.05, Total PnL=$-38.95, Max Drawdown=4.9%, Pred Accuracy=96.9% +2025-03-10 14:20:53,780 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:20:54,093 - INFO - CLOSED short at 2066.29 | PnL: 0.08% | $-0.03 +2025-03-10 14:20:54,133 - INFO - OPENED SHORT at 2065.08 | Stop loss: 2075.4219857142857 | Take profit: 2034.0789214285714 +2025-03-10 14:20:54,573 - INFO - CLOSED short at 2073.9 | PnL: -0.43% | $-1.05 +2025-03-10 14:20:54,610 - INFO - OPENED SHORT at 2071.92 | Stop loss: 2082.2961857142855 | Take profit: 2040.8163214285717 +2025-03-10 14:20:54,692 - INFO - CLOSED short at 2069.35 | PnL: 0.12% | $0.05 +2025-03-10 14:20:54,711 - INFO - OPENED SHORT at 2068.32 | Stop loss: 2078.678185714286 | Take profit: 2037.2703214285716 +2025-03-10 14:20:56,497 - INFO - CLOSED short at 2060.91 | PnL: 0.36% | $0.51 +2025-03-10 14:20:56,536 - INFO - OPENED SHORT at 2060.3 | Stop loss: 2070.618085714286 | Take profit: 2029.3706214285717 +2025-03-10 14:20:57,691 - INFO - CLOSED short at 2066.33 | PnL: -0.29% | $-0.78 +2025-03-10 14:20:57,692 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.9817642857142 | Take profit: 2097.349828571428 +2025-03-10 14:20:57,714 - INFO - CLOSED long at 2066.34 | PnL: 0.00% | $-0.19 +2025-03-10 14:20:57,737 - INFO - OPENED SHORT at 2066.79 | Stop loss: 2077.1405357142858 | Take profit: 2035.7632714285714 +2025-03-10 14:20:57,944 - INFO - STOP LOSS hit for short at 2077.1405357142858 | PnL: -0.50% | $-1.17 +2025-03-10 14:20:57,984 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.401635714286 | Take profit: 2043.8599714285717 +2025-03-10 14:20:58,550 - INFO - CLOSED short at 2064.5 | PnL: 0.51% | $0.79 +2025-03-10 14:20:58,550 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.160914285714 | Take profit: 2095.4923785714286 +2025-03-10 14:20:58,576 - INFO - CLOSED long at 2065.3 | PnL: 0.04% | $-0.12 +2025-03-10 14:20:58,576 - INFO - OPENED SHORT at 2065.3 | Stop loss: 2075.643085714286 | Take profit: 2034.2956214285716 +2025-03-10 14:20:59,392 - INFO - STOP LOSS hit for short at 2075.643085714286 | PnL: -0.50% | $-1.17 +2025-03-10 14:20:59,433 - INFO - OPENED SHORT at 2075.61 | Stop loss: 2086.004635714286 | Take profit: 2044.4509714285716 +2025-03-10 14:20:59,827 - INFO - CLOSED short at 2067.19 | PnL: 0.41% | $0.59 +2025-03-10 14:20:59,828 - INFO - OPENED LONG at 2067.19 | Stop loss: 2056.8374642857143 | Take profit: 2098.222728571429 +2025-03-10 14:20:59,872 - INFO - CLOSED long at 2065.5 | PnL: -0.08% | $-0.35 +2025-03-10 14:20:59,872 - INFO - OPENED SHORT at 2065.5 | Stop loss: 2075.844085714286 | Take profit: 2034.4926214285715 +2025-03-10 14:21:00,456 - INFO - CLOSED short at 2056.77 | PnL: 0.42% | $0.62 +2025-03-10 14:21:00,456 - INFO - OPENED LONG at 2056.77 | Stop loss: 2046.4695642857143 | Take profit: 2087.6464285714287 +2025-03-10 14:21:00,481 - INFO - CLOSED long at 2053.01 | PnL: -0.18% | $-0.55 +2025-03-10 14:21:00,481 - INFO - OPENED SHORT at 2053.01 | Stop loss: 2063.291635714286 | Take profit: 2022.1899714285717 +2025-03-10 14:21:00,772 - INFO - STOP LOSS hit for short at 2063.291635714286 | PnL: -0.50% | $-1.16 +2025-03-10 14:21:00,805 - INFO - OPENED SHORT at 2065.1 | Stop loss: 2075.442085714286 | Take profit: 2034.0986214285713 +2025-03-10 14:21:01,419 - INFO - STOP LOSS hit for short at 2075.442085714286 | PnL: -0.50% | $-1.14 +2025-03-10 14:21:01,457 - INFO - OPENED SHORT at 2077.61 | Stop loss: 2088.014635714286 | Take profit: 2046.4209714285716 +2025-03-10 14:21:01,534 - INFO - STOP LOSS hit for short at 2088.014635714286 | PnL: -0.50% | $-1.13 +2025-03-10 14:21:01,575 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.5516857142857 | Take profit: 2071.4498214285713 +2025-03-10 14:21:01,611 - INFO - STOP LOSS hit for short at 2113.5516857142857 | PnL: -0.50% | $-1.12 +2025-03-10 14:21:01,634 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2542857142857 | Take profit: 2107.4220214285715 +2025-03-10 14:21:02,499 - INFO - TAKE PROFIT hit for short at 2107.4220214285715 | PnL: 1.50% | $2.57 +2025-03-10 14:21:02,519 - INFO - OPENED SHORT at 2108.06 | Stop loss: 2118.6168857142857 | Take profit: 2076.414221428571 +2025-03-10 14:21:03,130 - INFO - CLOSED short at 2092.46 | PnL: 0.74% | $1.21 +2025-03-10 14:21:03,167 - INFO - OPENED SHORT at 2091.1 | Stop loss: 2101.5720857142855 | Take profit: 2059.7086214285714 +2025-03-10 14:21:03,725 - INFO - CLOSED short at 2088.1 | PnL: 0.14% | $0.08 +2025-03-10 14:21:03,748 - INFO - OPENED SHORT at 2089.96 | Stop loss: 2100.426385714286 | Take profit: 2058.5857214285716 +2025-03-10 14:21:04,119 - INFO - STOP LOSS hit for short at 2100.426385714286 | PnL: -0.50% | $-1.15 +2025-03-10 14:21:04,142 - INFO - OPENED SHORT at 2097.11 | Stop loss: 2107.6121357142856 | Take profit: 2065.6284714285716 +2025-03-10 14:21:04,187 - INFO - CLOSED short at 2099.89 | PnL: -0.13% | $-0.44 +2025-03-10 14:21:04,218 - INFO - OPENED SHORT at 2100.89 | Stop loss: 2111.411035714286 | Take profit: 2069.3517714285713 +2025-03-10 14:21:04,630 - INFO - CLOSED short at 2102.7 | PnL: -0.09% | $-0.35 +2025-03-10 14:21:04,668 - INFO - OPENED SHORT at 2102.0 | Stop loss: 2112.5265857142854 | Take profit: 2070.4451214285714 +2025-03-10 14:21:04,900 - INFO - STOP LOSS hit for short at 2112.5265857142854 | PnL: -0.50% | $-1.13 +2025-03-10 14:21:04,922 - INFO - OPENED SHORT at 2113.0 | Stop loss: 2123.581585714286 | Take profit: 2081.2801214285714 +2025-03-10 14:21:05,630 - INFO - STOP LOSS hit for short at 2123.581585714286 | PnL: -0.50% | $-1.11 +2025-03-10 14:21:05,656 - INFO - OPENED SHORT at 2127.79 | Stop loss: 2138.4455357142856 | Take profit: 2095.8482714285715 +2025-03-10 14:21:06,097 - INFO - CLOSED short at 2126.43 | PnL: 0.06% | $-0.07 +2025-03-10 14:21:06,098 - INFO - OPENED LONG at 2126.43 | Stop loss: 2115.7812642857143 | Take profit: 2158.3513285714284 +2025-03-10 14:21:06,120 - INFO - CLOSED long at 2124.49 | PnL: -0.09% | $-0.35 +2025-03-10 14:21:06,121 - INFO - OPENED SHORT at 2124.49 | Stop loss: 2135.1290357142852 | Take profit: 2092.597771428571 +2025-03-10 14:21:06,432 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 26.7% in downtrends | Avg Win=$0.80, Avg Loss=$-0.73 +2025-03-10 14:21:06,433 - INFO - Episode 6: Reward=-8.28, Balance=$91.86, Win Rate=28.6%, Trades=28, Episode PnL=$-6.77, Total PnL=$-47.09, Max Drawdown=7.7%, Pred Accuracy=97.0% +2025-03-10 14:21:06,620 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:21:07,288 - INFO - CLOSED short at 2073.11 | PnL: -0.25% | $-0.69 +2025-03-10 14:21:07,289 - INFO - OPENED LONG at 2073.11 | Stop loss: 2062.7278642857145 | Take profit: 2104.231528571429 +2025-03-10 14:21:07,323 - INFO - CLOSED long at 2072.7 | PnL: -0.02% | $-0.24 +2025-03-10 14:21:07,324 - INFO - OPENED SHORT at 2072.7 | Stop loss: 2083.0800857142854 | Take profit: 2041.5846214285714 +2025-03-10 14:21:07,740 - INFO - CLOSED short at 2067.89 | PnL: 0.23% | $0.26 +2025-03-10 14:21:07,776 - INFO - OPENED SHORT at 2068.58 | Stop loss: 2078.9394857142856 | Take profit: 2037.5264214285714 +2025-03-10 14:21:08,827 - INFO - CLOSED short at 2062.89 | PnL: 0.28% | $0.35 +2025-03-10 14:21:08,827 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.558964285714 | Take profit: 2093.8582285714288 +2025-03-10 14:21:08,867 - INFO - CLOSED long at 2064.5 | PnL: 0.08% | $-0.04 +2025-03-10 14:21:08,868 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.8390857142854 | Take profit: 2033.5076214285714 +2025-03-10 14:21:09,818 - INFO - CLOSED short at 2056.28 | PnL: 0.40% | $0.59 +2025-03-10 14:21:09,818 - INFO - OPENED LONG at 2056.28 | Stop loss: 2045.9820142857145 | Take profit: 2087.1490785714286 +2025-03-10 14:21:09,837 - INFO - CLOSED long at 2055.6 | PnL: -0.03% | $-0.26 +2025-03-10 14:21:09,862 - INFO - OPENED SHORT at 2054.89 | Stop loss: 2065.181035714286 | Take profit: 2024.0417714285713 +2025-03-10 14:21:10,153 - INFO - STOP LOSS hit for short at 2065.181035714286 | PnL: -0.50% | $-1.19 +2025-03-10 14:21:10,192 - INFO - OPENED SHORT at 2066.01 | Stop loss: 2076.356635714286 | Take profit: 2034.9949714285715 +2025-03-10 14:21:10,523 - INFO - STOP LOSS hit for short at 2076.356635714286 | PnL: -0.50% | $-1.18 +2025-03-10 14:21:10,562 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.401635714286 | Take profit: 2043.8599714285717 +2025-03-10 14:21:13,942 - INFO - STOP LOSS hit for short at 2085.401635714286 | PnL: -0.50% | $-1.16 +2025-03-10 14:21:13,966 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:21:13,987 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.15 +2025-03-10 14:21:14,021 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:21:14,202 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.14 +2025-03-10 14:21:14,225 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:21:14,629 - INFO - TAKE PROFIT hit for short at 2109.1556214285715 | PnL: 1.50% | $2.62 +2025-03-10 14:21:14,651 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:21:15,071 - INFO - CLOSED short at 2099.53 | PnL: 0.52% | $0.82 +2025-03-10 14:21:15,072 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.0157642857143 | Take profit: 2131.0478285714285 +2025-03-10 14:21:15,094 - INFO - CLOSED long at 2098.1 | PnL: -0.07% | $-0.33 +2025-03-10 14:21:15,094 - INFO - OPENED SHORT at 2098.1 | Stop loss: 2108.6070857142854 | Take profit: 2066.6036214285714 +2025-03-10 14:21:15,652 - INFO - CLOSED short at 2094.08 | PnL: 0.19% | $0.18 +2025-03-10 14:21:15,653 - INFO - OPENED LONG at 2094.08 | Stop loss: 2083.593014285714 | Take profit: 2125.5160785714284 +2025-03-10 14:21:15,704 - INFO - CLOSED long at 2088.35 | PnL: -0.27% | $-0.72 +2025-03-10 14:21:15,704 - INFO - OPENED SHORT at 2088.35 | Stop loss: 2098.8083357142855 | Take profit: 2056.999871428571 +2025-03-10 14:21:16,657 - INFO - STOP LOSS hit for short at 2098.8083357142855 | PnL: -0.50% | $-1.15 +2025-03-10 14:21:16,679 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.1647857142857 | Take profit: 2070.0905214285713 +2025-03-10 14:21:17,413 - INFO - STOP LOSS hit for short at 2112.1647857142857 | PnL: -0.50% | $-1.14 +2025-03-10 14:21:17,436 - INFO - OPENED SHORT at 2110.87 | Stop loss: 2121.440935714286 | Take profit: 2079.1820714285714 +2025-03-10 14:21:17,939 - INFO - CLOSED short at 2117.6 | PnL: -0.32% | $-0.78 +2025-03-10 14:21:17,959 - INFO - OPENED SHORT at 2115.21 | Stop loss: 2125.8026357142858 | Take profit: 2083.4569714285717 +2025-03-10 14:21:18,193 - INFO - STOP LOSS hit for short at 2125.8026357142858 | PnL: -0.50% | $-1.12 +2025-03-10 14:21:18,216 - INFO - OPENED SHORT at 2129.3 | Stop loss: 2139.9630857142856 | Take profit: 2097.335621428572 +2025-03-10 14:21:18,382 - INFO - CLOSED short at 2123.23 | PnL: 0.29% | $0.34 +2025-03-10 14:21:18,420 - INFO - OPENED SHORT at 2127.47 | Stop loss: 2138.1239357142854 | Take profit: 2095.5330714285715 +2025-03-10 14:21:18,490 - INFO - CLOSED short at 2135.55 | PnL: -0.38% | $-0.88 +2025-03-10 14:21:18,491 - INFO - OPENED LONG at 2135.55 | Stop loss: 2124.8556642857143 | Take profit: 2167.6081285714286 +2025-03-10 14:21:18,538 - INFO - CLOSED long at 2131.23 | PnL: -0.20% | $-0.55 +2025-03-10 14:21:18,538 - INFO - OPENED SHORT at 2131.23 | Stop loss: 2141.902735714286 | Take profit: 2099.2366714285713 +2025-03-10 14:21:18,873 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 33.3% in downtrends | Avg Win=$0.73, Avg Loss=$-0.81 +2025-03-10 14:21:18,873 - INFO - Episode 7: Reward=-8.27, Balance=$91.42, Win Rate=29.2%, Trades=24, Episode PnL=$-6.70, Total PnL=$-55.67, Max Drawdown=7.5%, Pred Accuracy=97.1% +2025-03-10 14:21:19,147 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:21:19,442 - INFO - CLOSED short at 2066.29 | PnL: 0.08% | $-0.03 +2025-03-10 14:21:19,488 - INFO - OPENED SHORT at 2065.08 | Stop loss: 2075.4219857142857 | Take profit: 2034.0789214285714 +2025-03-10 14:21:20,362 - INFO - CLOSED short at 2068.8 | PnL: -0.18% | $-0.56 +2025-03-10 14:21:20,363 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.4394142857145 | Take profit: 2099.8568785714288 +2025-03-10 14:21:20,429 - INFO - CLOSED long at 2067.86 | PnL: -0.05% | $-0.29 +2025-03-10 14:21:20,429 - INFO - OPENED SHORT at 2067.86 | Stop loss: 2078.215885714286 | Take profit: 2036.8172214285717 +2025-03-10 14:21:20,758 - INFO - CLOSED short at 2067.86 | PnL: 0.00% | $-0.20 +2025-03-10 14:21:20,758 - INFO - OPENED LONG at 2067.86 | Stop loss: 2057.5041142857144 | Take profit: 2098.902778571429 +2025-03-10 14:21:20,799 - INFO - CLOSED long at 2066.4 | PnL: -0.07% | $-0.33 +2025-03-10 14:21:20,801 - INFO - OPENED SHORT at 2066.4 | Stop loss: 2076.7485857142856 | Take profit: 2035.3791214285716 +2025-03-10 14:21:21,231 - INFO - CLOSED short at 2059.59 | PnL: 0.33% | $0.45 +2025-03-10 14:21:21,231 - INFO - OPENED LONG at 2059.59 | Stop loss: 2049.2754642857144 | Take profit: 2090.5087285714285 +2025-03-10 14:21:21,252 - INFO - CLOSED long at 2061.3 | PnL: 0.08% | $-0.03 +2025-03-10 14:21:21,252 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.623085714286 | Take profit: 2030.3556214285716 +2025-03-10 14:21:21,570 - INFO - CLOSED short at 2062.89 | PnL: -0.08% | $-0.35 +2025-03-10 14:21:21,758 - INFO - OPENED SHORT at 2060.31 | Stop loss: 2070.6281357142857 | Take profit: 2029.3804714285714 +2025-03-10 14:21:22,024 - INFO - CLOSED short at 2065.36 | PnL: -0.25% | $-0.68 +2025-03-10 14:21:22,235 - INFO - OPENED SHORT at 2061.7 | Stop loss: 2072.0250857142855 | Take profit: 2030.7496214285713 +2025-03-10 14:21:22,891 - INFO - CLOSED short at 2066.01 | PnL: -0.21% | $-0.60 +2025-03-10 14:21:22,891 - INFO - OPENED LONG at 2066.01 | Stop loss: 2055.6633642857146 | Take profit: 2097.0250285714287 +2025-03-10 14:21:22,959 - INFO - CLOSED long at 2066.33 | PnL: 0.02% | $-0.16 +2025-03-10 14:21:22,960 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.6782357142856 | Take profit: 2035.3101714285713 +2025-03-10 14:21:23,234 - INFO - STOP LOSS hit for short at 2076.6782357142856 | PnL: -0.50% | $-1.16 +2025-03-10 14:21:23,279 - INFO - OPENED SHORT at 2072.6 | Stop loss: 2082.979585714286 | Take profit: 2041.4861214285713 +2025-03-10 14:21:24,306 - INFO - CLOSED short at 2070.35 | PnL: 0.11% | $0.02 +2025-03-10 14:21:24,306 - INFO - OPENED LONG at 2070.35 | Stop loss: 2059.981664285714 | Take profit: 2101.430128571428 +2025-03-10 14:21:24,346 - INFO - CLOSED long at 2070.61 | PnL: 0.01% | $-0.17 +2025-03-10 14:21:24,347 - INFO - OPENED SHORT at 2070.61 | Stop loss: 2080.979635714286 | Take profit: 2039.5259714285714 +2025-03-10 14:21:26,569 - INFO - STOP LOSS hit for short at 2080.979635714286 | PnL: -0.50% | $-1.14 +2025-03-10 14:21:26,594 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:21:26,648 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.13 +2025-03-10 14:21:26,699 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:21:26,870 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.12 +2025-03-10 14:21:26,895 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:21:27,327 - INFO - TAKE PROFIT hit for short at 2109.1556214285715 | PnL: 1.50% | $2.57 +2025-03-10 14:21:27,348 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:21:27,741 - INFO - CLOSED short at 2090.0 | PnL: 0.98% | $1.65 +2025-03-10 14:21:27,764 - INFO - OPENED SHORT at 2099.53 | Stop loss: 2110.044235714286 | Take profit: 2068.0121714285715 +2025-03-10 14:21:29,958 - INFO - STOP LOSS hit for short at 2110.044235714286 | PnL: -0.50% | $-1.15 +2025-03-10 14:21:30,002 - INFO - OPENED SHORT at 2110.87 | Stop loss: 2121.440935714286 | Take profit: 2079.1820714285714 +2025-03-10 14:21:30,558 - INFO - CLOSED short at 2115.21 | PnL: -0.21% | $-0.58 +2025-03-10 14:21:30,582 - INFO - OPENED SHORT at 2118.19 | Stop loss: 2128.7975357142855 | Take profit: 2086.3922714285713 +2025-03-10 14:21:30,840 - INFO - STOP LOSS hit for short at 2128.7975357142855 | PnL: -0.50% | $-1.13 +2025-03-10 14:21:30,885 - INFO - OPENED SHORT at 2136.26 | Stop loss: 2146.957885714286 | Take profit: 2104.1912214285717 +2025-03-10 14:21:31,597 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 25.0% in downtrends | Avg Win=$1.17, Avg Loss=$-0.60 +2025-03-10 14:21:31,598 - INFO - Episode 8: Reward=-19.69, Balance=$93.88, Win Rate=18.2%, Trades=22, Episode PnL=$-5.13, Total PnL=$-61.78, Max Drawdown=7.5%, Pred Accuracy=97.2% +2025-03-10 14:21:31,794 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:21:32,735 - INFO - CLOSED short at 2070.4 | PnL: -0.12% | $-0.43 +2025-03-10 14:21:32,757 - INFO - OPENED SHORT at 2071.11 | Stop loss: 2081.4821357142855 | Take profit: 2040.0184714285715 +2025-03-10 14:21:33,199 - INFO - CLOSED short at 2069.2 | PnL: 0.09% | $-0.02 +2025-03-10 14:21:33,199 - INFO - OPENED LONG at 2069.2 | Stop loss: 2058.837414285714 | Take profit: 2100.2628785714282 +2025-03-10 14:21:33,242 - INFO - CLOSED long at 2070.3 | PnL: 0.05% | $-0.09 +2025-03-10 14:21:33,242 - INFO - OPENED SHORT at 2070.3 | Stop loss: 2080.6680857142856 | Take profit: 2039.2206214285716 +2025-03-10 14:21:33,353 - INFO - CLOSED short at 2070.4 | PnL: -0.00% | $-0.21 +2025-03-10 14:21:33,391 - INFO - OPENED SHORT at 2070.73 | Stop loss: 2081.1002357142856 | Take profit: 2039.6441714285713 +2025-03-10 14:21:34,165 - INFO - CLOSED short at 2065.54 | PnL: 0.25% | $0.30 +2025-03-10 14:21:34,198 - INFO - OPENED SHORT at 2066.09 | Stop loss: 2076.437035714286 | Take profit: 2035.0737714285715 +2025-03-10 14:21:34,740 - INFO - CLOSED short at 2064.33 | PnL: 0.09% | $-0.03 +2025-03-10 14:21:34,741 - INFO - OPENED LONG at 2064.33 | Stop loss: 2053.991764285714 | Take profit: 2095.319828571429 +2025-03-10 14:21:34,763 - INFO - CLOSED long at 2063.39 | PnL: -0.05% | $-0.29 +2025-03-10 14:21:34,764 - INFO - OPENED SHORT at 2063.39 | Stop loss: 2073.723535714286 | Take profit: 2032.4142714285713 +2025-03-10 14:21:34,785 - INFO - CLOSED short at 2064.79 | PnL: -0.07% | $-0.33 +2025-03-10 14:21:34,825 - INFO - OPENED SHORT at 2065.89 | Stop loss: 2076.2360357142857 | Take profit: 2034.8767714285714 +2025-03-10 14:21:34,991 - INFO - CLOSED short at 2061.7 | PnL: 0.20% | $0.20 +2025-03-10 14:21:35,015 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.0200857142854 | Take profit: 2029.7646214285712 +2025-03-10 14:21:35,902 - INFO - STOP LOSS hit for short at 2071.0200857142854 | PnL: -0.50% | $-1.18 +2025-03-10 14:21:35,927 - INFO - OPENED SHORT at 2074.3 | Stop loss: 2084.688085714286 | Take profit: 2043.1606214285716 +2025-03-10 14:21:37,483 - INFO - CLOSED short at 2075.29 | PnL: -0.05% | $-0.29 +2025-03-10 14:21:37,484 - INFO - OPENED LONG at 2075.29 | Stop loss: 2064.896964285714 | Take profit: 2106.4442285714285 +2025-03-10 14:21:37,505 - INFO - CLOSED long at 2076.9 | PnL: 0.08% | $-0.04 +2025-03-10 14:21:37,506 - INFO - OPENED SHORT at 2076.9 | Stop loss: 2087.301085714286 | Take profit: 2045.7216214285716 +2025-03-10 14:21:39,419 - INFO - STOP LOSS hit for short at 2087.301085714286 | PnL: -0.50% | $-1.16 +2025-03-10 14:21:39,443 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.5516857142857 | Take profit: 2071.4498214285713 +2025-03-10 14:21:39,465 - INFO - STOP LOSS hit for short at 2113.5516857142857 | PnL: -0.50% | $-1.15 +2025-03-10 14:21:39,486 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2542857142857 | Take profit: 2107.4220214285715 +2025-03-10 14:21:40,320 - INFO - TAKE PROFIT hit for short at 2107.4220214285715 | PnL: 1.50% | $2.65 +2025-03-10 14:21:40,342 - INFO - OPENED SHORT at 2108.06 | Stop loss: 2118.6168857142857 | Take profit: 2076.414221428571 +2025-03-10 14:21:41,686 - INFO - CLOSED short at 2087.47 | PnL: 0.98% | $1.70 +2025-03-10 14:21:41,725 - INFO - OPENED SHORT at 2087.78 | Stop loss: 2098.235485714286 | Take profit: 2056.4384214285715 +2025-03-10 14:21:41,895 - INFO - CLOSED short at 2091.95 | PnL: -0.20% | $-0.59 +2025-03-10 14:21:41,918 - INFO - OPENED SHORT at 2094.7 | Stop loss: 2105.190085714286 | Take profit: 2063.254621428571 +2025-03-10 14:21:41,960 - INFO - CLOSED short at 2099.99 | PnL: -0.25% | $-0.69 +2025-03-10 14:21:41,985 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.1647857142857 | Take profit: 2070.0905214285713 +2025-03-10 14:21:42,770 - INFO - STOP LOSS hit for short at 2112.1647857142857 | PnL: -0.50% | $-1.17 +2025-03-10 14:21:42,796 - INFO - OPENED SHORT at 2110.87 | Stop loss: 2121.440935714286 | Take profit: 2079.1820714285714 +2025-03-10 14:21:43,202 - INFO - CLOSED short at 2117.39 | PnL: -0.31% | $-0.79 +2025-03-10 14:21:43,202 - INFO - OPENED LONG at 2117.39 | Stop loss: 2106.7864642857144 | Take profit: 2149.1757285714284 +2025-03-10 14:21:43,236 - INFO - CLOSED long at 2115.3 | PnL: -0.10% | $-0.38 +2025-03-10 14:21:43,237 - INFO - OPENED SHORT at 2115.3 | Stop loss: 2125.893085714286 | Take profit: 2083.545621428572 +2025-03-10 14:21:43,636 - INFO - STOP LOSS hit for short at 2125.893085714286 | PnL: -0.50% | $-1.14 +2025-03-10 14:21:43,678 - INFO - OPENED SHORT at 2129.3 | Stop loss: 2139.9630857142856 | Take profit: 2097.335621428572 +2025-03-10 14:21:44,361 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 10.0% in downtrends | Avg Win=$1.21, Avg Loss=$-0.55 +2025-03-10 14:21:44,362 - INFO - Episode 9: Reward=-15.27, Balance=$94.87, Win Rate=18.2%, Trades=22, Episode PnL=$-4.33, Total PnL=$-66.92, Max Drawdown=5.1%, Pred Accuracy=97.4% +2025-03-10 14:21:45,373 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:21:46,231 - INFO - CLOSED short at 2073.9 | PnL: -0.28% | $-0.76 +2025-03-10 14:21:46,268 - INFO - OPENED SHORT at 2071.92 | Stop loss: 2082.2961857142855 | Take profit: 2040.8163214285717 +2025-03-10 14:21:50,872 - INFO - CLOSED short at 2067.0 | PnL: 0.24% | $0.27 +2025-03-10 14:21:50,893 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.2560857142857 | Take profit: 2036.8566214285713 +2025-03-10 14:21:50,952 - INFO - CLOSED short at 2067.88 | PnL: 0.00% | $-0.20 +2025-03-10 14:21:50,953 - INFO - OPENED LONG at 2067.88 | Stop loss: 2057.5240142857147 | Take profit: 2098.923078571429 +2025-03-10 14:21:50,973 - INFO - CLOSED long at 2065.45 | PnL: -0.12% | $-0.43 +2025-03-10 14:21:50,974 - INFO - OPENED SHORT at 2065.45 | Stop loss: 2075.7938357142853 | Take profit: 2034.4433714285713 +2025-03-10 14:21:51,751 - INFO - CLOSED short at 2057.11 | PnL: 0.40% | $0.60 +2025-03-10 14:21:51,751 - INFO - OPENED LONG at 2057.11 | Stop loss: 2046.8078642857145 | Take profit: 2087.9915285714287 +2025-03-10 14:21:51,772 - INFO - CLOSED long at 2057.89 | PnL: 0.04% | $-0.12 +2025-03-10 14:21:51,772 - INFO - OPENED SHORT at 2057.89 | Stop loss: 2068.1960357142857 | Take profit: 2026.9967714285713 +2025-03-10 14:21:51,991 - INFO - STOP LOSS hit for short at 2068.1960357142857 | PnL: -0.50% | $-1.18 +2025-03-10 14:21:52,012 - INFO - OPENED SHORT at 2067.49 | Stop loss: 2077.8440357142854 | Take profit: 2036.4527714285712 +2025-03-10 14:21:52,119 - INFO - CLOSED short at 2060.7 | PnL: 0.33% | $0.44 +2025-03-10 14:21:52,142 - INFO - OPENED SHORT at 2061.84 | Stop loss: 2072.165785714286 | Take profit: 2030.8875214285715 +2025-03-10 14:21:52,369 - INFO - STOP LOSS hit for short at 2072.165785714286 | PnL: -0.50% | $-1.18 +2025-03-10 14:21:52,395 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.4368357142857 | Take profit: 2042.9143714285715 +2025-03-10 14:21:52,538 - INFO - STOP LOSS hit for short at 2084.4368357142857 | PnL: -0.50% | $-1.16 +2025-03-10 14:21:52,558 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:21:52,580 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.15 +2025-03-10 14:21:52,620 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:21:52,802 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.13 +2025-03-10 14:21:52,829 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:21:53,271 - INFO - TAKE PROFIT hit for short at 2109.1556214285715 | PnL: 1.50% | $2.61 +2025-03-10 14:21:53,294 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:21:53,531 - INFO - CLOSED short at 2114.8 | PnL: -0.20% | $-0.57 +2025-03-10 14:21:53,531 - INFO - OPENED LONG at 2114.8 | Stop loss: 2104.2094142857145 | Take profit: 2146.546878571429 +2025-03-10 14:21:53,572 - INFO - CLOSED long at 2110.9 | PnL: -0.18% | $-0.54 +2025-03-10 14:21:53,573 - INFO - OPENED SHORT at 2110.9 | Stop loss: 2121.471085714286 | Take profit: 2079.2116214285716 +2025-03-10 14:21:54,820 - INFO - CLOSED short at 2087.0 | PnL: 1.13% | $1.96 +2025-03-10 14:21:54,842 - INFO - OPENED SHORT at 2087.47 | Stop loss: 2097.923935714285 | Take profit: 2056.133071428571 +2025-03-10 14:21:55,138 - INFO - CLOSED short at 2099.99 | PnL: -0.60% | $-1.35 +2025-03-10 14:21:55,138 - INFO - OPENED LONG at 2099.99 | Stop loss: 2089.4734642857143 | Take profit: 2131.5147285714283 +2025-03-10 14:21:55,181 - INFO - CLOSED long at 2101.64 | PnL: 0.08% | $-0.04 +2025-03-10 14:21:55,181 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.1647857142857 | Take profit: 2070.0905214285713 +2025-03-10 14:21:55,466 - INFO - CLOSED short at 2105.83 | PnL: -0.20% | $-0.57 +2025-03-10 14:21:55,466 - INFO - OPENED LONG at 2105.83 | Stop loss: 2095.284264285714 | Take profit: 2137.4423285714283 +2025-03-10 14:21:55,510 - INFO - CLOSED long at 2103.64 | PnL: -0.10% | $-0.39 +2025-03-10 14:21:55,510 - INFO - OPENED SHORT at 2103.64 | Stop loss: 2114.1747857142855 | Take profit: 2072.0605214285715 +2025-03-10 14:21:56,036 - INFO - STOP LOSS hit for short at 2114.1747857142855 | PnL: -0.50% | $-1.13 +2025-03-10 14:21:56,059 - INFO - OPENED SHORT at 2113.61 | Stop loss: 2124.194635714286 | Take profit: 2081.8809714285717 +2025-03-10 14:21:56,273 - INFO - CLOSED short at 2118.72 | PnL: -0.24% | $-0.64 +2025-03-10 14:21:56,273 - INFO - OPENED LONG at 2118.72 | Stop loss: 2108.109814285714 | Take profit: 2150.525678571428 +2025-03-10 14:21:56,312 - INFO - CLOSED long at 2117.39 | PnL: -0.06% | $-0.30 +2025-03-10 14:21:56,313 - INFO - OPENED SHORT at 2117.39 | Stop loss: 2127.993535714286 | Take profit: 2085.6042714285713 +2025-03-10 14:21:56,701 - INFO - STOP LOSS hit for short at 2127.993535714286 | PnL: -0.50% | $-1.11 +2025-03-10 14:21:56,736 - INFO - OPENED SHORT at 2135.86 | Stop loss: 2146.5558857142855 | Take profit: 2103.7972214285714 +2025-03-10 14:21:57,392 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 14.3% in downtrends | Avg Win=$1.18, Avg Loss=$-0.73 +2025-03-10 14:21:57,393 - INFO - Episode 10: Reward=-15.01, Balance=$91.92, Win Rate=20.8%, Trades=24, Episode PnL=$-6.26, Total PnL=$-75.00, Max Drawdown=8.1%, Pred Accuracy=97.6% +2025-03-10 14:21:57,559 - INFO - Model saved to checkpoints/trading_agent_episode_10.pt +2025-03-10 14:21:57,560 - INFO - Checkpoint saved at episode 10 +2025-03-10 14:21:57,668 - ERROR - Error creating visualization: No module named 'mplfinance' +2025-03-10 14:21:57,669 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2514, in visualize_training_results + from mplfinance.original_flavor import candlestick_ohlc +ModuleNotFoundError: No module named 'mplfinance' + +2025-03-10 14:21:58,622 - ERROR - Error creating visualization: No module named 'mplfinance' +2025-03-10 14:21:58,623 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2514, in visualize_training_results + from mplfinance.original_flavor import candlestick_ohlc +ModuleNotFoundError: No module named 'mplfinance' + +2025-03-10 14:21:59,089 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:21:59,194 - INFO - CLOSED short at 2069.34 | PnL: -0.06% | $-0.33 +2025-03-10 14:21:59,220 - INFO - OPENED SHORT at 2069.19 | Stop loss: 2079.5525357142856 | Take profit: 2038.1272714285715 +2025-03-10 14:22:00,135 - INFO - CLOSED short at 2065.26 | PnL: 0.19% | $0.18 +2025-03-10 14:22:00,161 - INFO - OPENED SHORT at 2067.89 | Stop loss: 2078.246035714286 | Take profit: 2036.8467714285714 +2025-03-10 14:22:00,201 - INFO - CLOSED short at 2068.8 | PnL: -0.04% | $-0.29 +2025-03-10 14:22:00,201 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.4394142857145 | Take profit: 2099.8568785714288 +2025-03-10 14:22:00,236 - INFO - CLOSED long at 2069.34 | PnL: 0.03% | $-0.15 +2025-03-10 14:22:00,236 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.703285714286 | Take profit: 2038.2750214285716 +2025-03-10 14:22:01,740 - INFO - CLOSED short at 2065.89 | PnL: 0.17% | $0.13 +2025-03-10 14:22:01,740 - INFO - OPENED LONG at 2065.89 | Stop loss: 2055.543964285714 | Take profit: 2096.9032285714284 +2025-03-10 14:22:01,763 - INFO - CLOSED long at 2063.53 | PnL: -0.11% | $-0.42 +2025-03-10 14:22:01,764 - INFO - OPENED SHORT at 2063.53 | Stop loss: 2073.8642357142858 | Take profit: 2032.5521714285717 +2025-03-10 14:22:02,755 - INFO - STOP LOSS hit for short at 2073.8642357142858 | PnL: -0.50% | $-1.18 +2025-03-10 14:22:02,787 - INFO - OPENED SHORT at 2078.01 | Stop loss: 2088.416635714286 | Take profit: 2046.8149714285717 +2025-03-10 14:22:03,628 - INFO - CLOSED short at 2066.5 | PnL: 0.55% | $0.88 +2025-03-10 14:22:03,652 - INFO - OPENED SHORT at 2068.59 | Stop loss: 2078.949535714286 | Take profit: 2037.5362714285716 +2025-03-10 14:22:05,490 - INFO - CLOSED short at 2065.12 | PnL: 0.17% | $0.13 +2025-03-10 14:22:05,513 - INFO - OPENED SHORT at 2068.33 | Stop loss: 2078.688235714286 | Take profit: 2037.2801714285713 +2025-03-10 14:22:05,769 - INFO - CLOSED short at 2070.31 | PnL: -0.10% | $-0.38 +2025-03-10 14:22:05,794 - INFO - OPENED SHORT at 2070.24 | Stop loss: 2080.6077857142855 | Take profit: 2039.1615214285712 +2025-03-10 14:22:06,056 - INFO - STOP LOSS hit for short at 2080.6077857142855 | PnL: -0.50% | $-1.18 +2025-03-10 14:22:06,092 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:22:06,125 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.16 +2025-03-10 14:22:06,161 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:22:06,231 - INFO - CLOSED short at 2133.95 | PnL: -0.15% | $-0.48 +2025-03-10 14:22:06,231 - INFO - OPENED LONG at 2133.95 | Stop loss: 2123.263664285714 | Take profit: 2165.9841285714283 +2025-03-10 14:22:06,252 - INFO - CLOSED long at 2137.59 | PnL: 0.17% | $0.13 +2025-03-10 14:22:06,253 - INFO - OPENED SHORT at 2137.59 | Stop loss: 2148.2945357142858 | Take profit: 2105.5012714285717 +2025-03-10 14:22:07,038 - INFO - TAKE PROFIT hit for short at 2105.5012714285717 | PnL: 1.50% | $2.67 +2025-03-10 14:22:07,061 - INFO - OPENED SHORT at 2100.5 | Stop loss: 2111.0190857142857 | Take profit: 2068.9676214285714 +2025-03-10 14:22:07,934 - INFO - CLOSED short at 2083.59 | PnL: 0.81% | $1.38 +2025-03-10 14:22:07,957 - INFO - OPENED SHORT at 2086.57 | Stop loss: 2097.019435714286 | Take profit: 2055.2465714285713 +2025-03-10 14:22:08,467 - INFO - STOP LOSS hit for short at 2097.019435714286 | PnL: -0.50% | $-1.19 +2025-03-10 14:22:08,512 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.5065357142853 | Take profit: 2068.465271428571 +2025-03-10 14:22:08,977 - INFO - CLOSED short at 2103.52 | PnL: -0.17% | $-0.53 +2025-03-10 14:22:08,978 - INFO - OPENED LONG at 2103.52 | Stop loss: 2092.9858142857142 | Take profit: 2135.0976785714283 +2025-03-10 14:22:09,002 - INFO - CLOSED long at 2104.4 | PnL: 0.04% | $-0.11 +2025-03-10 14:22:09,002 - INFO - OPENED SHORT at 2104.4 | Stop loss: 2114.9385857142856 | Take profit: 2072.8091214285714 +2025-03-10 14:22:09,092 - INFO - CLOSED short at 2102.7 | PnL: 0.08% | $-0.04 +2025-03-10 14:22:09,092 - INFO - OPENED LONG at 2102.7 | Stop loss: 2092.169914285714 | Take profit: 2134.2653785714288 +2025-03-10 14:22:09,117 - INFO - CLOSED long at 2102.0 | PnL: -0.03% | $-0.26 +2025-03-10 14:22:09,118 - INFO - OPENED SHORT at 2102.0 | Stop loss: 2112.5265857142854 | Take profit: 2070.4451214285714 +2025-03-10 14:22:09,371 - INFO - STOP LOSS hit for short at 2112.5265857142854 | PnL: -0.50% | $-1.17 +2025-03-10 14:22:09,392 - INFO - OPENED SHORT at 2113.0 | Stop loss: 2123.581585714286 | Take profit: 2081.2801214285714 +2025-03-10 14:22:09,590 - INFO - CLOSED short at 2112.61 | PnL: 0.02% | $-0.16 +2025-03-10 14:22:09,590 - INFO - OPENED LONG at 2112.61 | Stop loss: 2102.0303642857143 | Take profit: 2144.3240285714287 +2025-03-10 14:22:09,628 - INFO - CLOSED long at 2118.72 | PnL: 0.29% | $0.36 +2025-03-10 14:22:09,629 - INFO - OPENED SHORT at 2118.72 | Stop loss: 2129.3301857142856 | Take profit: 2086.914321428571 +2025-03-10 14:22:10,088 - INFO - STOP LOSS hit for short at 2129.3301857142856 | PnL: -0.50% | $-1.15 +2025-03-10 14:22:10,124 - INFO - OPENED SHORT at 2136.26 | Stop loss: 2146.957885714286 | Take profit: 2104.1912214285717 +2025-03-10 14:22:10,344 - INFO - CLOSED short at 2131.23 | PnL: 0.24% | $0.26 +2025-03-10 14:22:10,344 - INFO - OPENED LONG at 2131.23 | Stop loss: 2120.557264285714 | Take profit: 2163.2233285714287 +2025-03-10 14:22:10,382 - INFO - CLOSED long at 2126.43 | PnL: -0.23% | $-0.62 +2025-03-10 14:22:10,383 - INFO - OPENED SHORT at 2126.43 | Stop loss: 2137.0787357142854 | Take profit: 2094.5086714285712 +2025-03-10 14:22:10,686 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 21.4% in downtrends | Avg Win=$0.68, Avg Loss=$-0.60 +2025-03-10 14:22:10,687 - INFO - Episode 11: Reward=-9.87, Balance=$95.34, Win Rate=33.3%, Trades=27, Episode PnL=$-3.60, Total PnL=$-79.66, Max Drawdown=4.3%, Pred Accuracy=98.0% +2025-03-10 14:22:10,913 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:22:11,008 - INFO - CLOSED short at 2070.7 | PnL: -0.13% | $-0.46 +2025-03-10 14:22:11,055 - INFO - OPENED SHORT at 2069.19 | Stop loss: 2079.5525357142856 | Take profit: 2038.1272714285715 +2025-03-10 14:22:11,077 - INFO - CLOSED short at 2068.8 | PnL: 0.02% | $-0.16 +2025-03-10 14:22:11,077 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.4394142857145 | Take profit: 2099.8568785714288 +2025-03-10 14:22:11,100 - INFO - CLOSED long at 2067.6 | PnL: -0.06% | $-0.31 +2025-03-10 14:22:11,100 - INFO - OPENED SHORT at 2067.6 | Stop loss: 2077.9545857142857 | Take profit: 2036.5611214285714 +2025-03-10 14:22:11,658 - INFO - CLOSED short at 2073.9 | PnL: -0.30% | $-0.80 +2025-03-10 14:22:11,693 - INFO - OPENED SHORT at 2071.92 | Stop loss: 2082.2961857142855 | Take profit: 2040.8163214285717 +2025-03-10 14:22:12,729 - INFO - CLOSED short at 2062.89 | PnL: 0.44% | $0.65 +2025-03-10 14:22:12,730 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.558964285714 | Take profit: 2093.8582285714288 +2025-03-10 14:22:12,749 - INFO - CLOSED long at 2062.65 | PnL: -0.01% | $-0.22 +2025-03-10 14:22:12,749 - INFO - OPENED SHORT at 2062.65 | Stop loss: 2072.979835714286 | Take profit: 2031.6853714285717 +2025-03-10 14:22:13,094 - INFO - CLOSED short at 2064.5 | PnL: -0.09% | $-0.37 +2025-03-10 14:22:13,094 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.160914285714 | Take profit: 2095.4923785714286 +2025-03-10 14:22:13,117 - INFO - CLOSED long at 2063.5 | PnL: -0.05% | $-0.29 +2025-03-10 14:22:13,117 - INFO - OPENED SHORT at 2063.5 | Stop loss: 2073.8340857142857 | Take profit: 2032.5226214285715 +2025-03-10 14:22:14,660 - INFO - STOP LOSS hit for short at 2073.8340857142857 | PnL: -0.50% | $-1.17 +2025-03-10 14:22:14,681 - INFO - OPENED SHORT at 2078.01 | Stop loss: 2088.416635714286 | Take profit: 2046.8149714285717 +2025-03-10 14:22:16,613 - INFO - CLOSED short at 2066.1 | PnL: 0.57% | $0.91 +2025-03-10 14:22:16,636 - INFO - OPENED SHORT at 2065.06 | Stop loss: 2075.401885714286 | Take profit: 2034.0592214285714 +2025-03-10 14:22:16,678 - INFO - CLOSED short at 2064.5 | PnL: 0.03% | $-0.14 +2025-03-10 14:22:16,678 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.160914285714 | Take profit: 2095.4923785714286 +2025-03-10 14:22:16,699 - INFO - CLOSED long at 2066.33 | PnL: 0.09% | $-0.02 +2025-03-10 14:22:16,700 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.6782357142856 | Take profit: 2035.3101714285713 +2025-03-10 14:22:17,382 - INFO - CLOSED short at 2060.7 | PnL: 0.27% | $0.33 +2025-03-10 14:22:17,382 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.379914285714 | Take profit: 2091.635378571428 +2025-03-10 14:22:17,403 - INFO - CLOSED long at 2061.84 | PnL: 0.06% | $-0.09 +2025-03-10 14:22:17,403 - INFO - OPENED SHORT at 2061.84 | Stop loss: 2072.165785714286 | Take profit: 2030.8875214285715 +2025-03-10 14:22:17,564 - INFO - STOP LOSS hit for short at 2072.165785714286 | PnL: -0.50% | $-1.17 +2025-03-10 14:22:17,586 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.4368357142857 | Take profit: 2042.9143714285715 +2025-03-10 14:22:17,787 - INFO - STOP LOSS hit for short at 2084.4368357142857 | PnL: -0.50% | $-1.15 +2025-03-10 14:22:17,810 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:22:17,828 - INFO - CLOSED short at 2103.02 | PnL: -0.60% | $-1.33 +2025-03-10 14:22:17,851 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:22:17,956 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.12 +2025-03-10 14:22:17,979 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:22:18,362 - INFO - TAKE PROFIT hit for short at 2109.1556214285715 | PnL: 1.50% | $2.59 +2025-03-10 14:22:18,383 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:22:19,217 - INFO - CLOSED short at 2095.29 | PnL: 0.73% | $1.19 +2025-03-10 14:22:19,260 - INFO - OPENED SHORT at 2093.46 | Stop loss: 2103.943885714286 | Take profit: 2062.0332214285713 +2025-03-10 14:22:19,863 - INFO - CLOSED short at 2088.32 | PnL: 0.25% | $0.28 +2025-03-10 14:22:19,885 - INFO - OPENED SHORT at 2088.1 | Stop loss: 2098.5570857142857 | Take profit: 2056.7536214285715 +2025-03-10 14:22:20,227 - INFO - STOP LOSS hit for short at 2098.5570857142857 | PnL: -0.50% | $-1.16 +2025-03-10 14:22:20,252 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.1647857142857 | Take profit: 2070.0905214285713 +2025-03-10 14:22:20,372 - INFO - CLOSED short at 2106.15 | PnL: -0.21% | $-0.60 +2025-03-10 14:22:20,372 - INFO - OPENED LONG at 2106.15 | Stop loss: 2095.602664285714 | Take profit: 2137.7671285714287 +2025-03-10 14:22:20,394 - INFO - CLOSED long at 2103.48 | PnL: -0.13% | $-0.43 +2025-03-10 14:22:20,395 - INFO - OPENED SHORT at 2103.48 | Stop loss: 2114.013985714286 | Take profit: 2071.9029214285715 +2025-03-10 14:22:21,018 - INFO - STOP LOSS hit for short at 2114.013985714286 | PnL: -0.50% | $-1.13 +2025-03-10 14:22:21,041 - INFO - OPENED SHORT at 2113.61 | Stop loss: 2124.194635714286 | Take profit: 2081.8809714285717 +2025-03-10 14:22:21,581 - INFO - STOP LOSS hit for short at 2124.194635714286 | PnL: -0.50% | $-1.12 +2025-03-10 14:22:21,606 - INFO - OPENED SHORT at 2127.79 | Stop loss: 2138.4455357142856 | Take profit: 2095.8482714285715 +2025-03-10 14:22:22,262 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 21.4% in downtrends | Avg Win=$0.99, Avg Loss=$-0.66 +2025-03-10 14:22:22,263 - INFO - Episode 12: Reward=79.70, Balance=$92.73, Win Rate=23.1%, Trades=26, Episode PnL=$-5.92, Total PnL=$-86.94, Max Drawdown=7.3%, Pred Accuracy=98.6% +2025-03-10 14:22:22,433 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:22:22,822 - INFO - CLOSED short at 2068.76 | PnL: -0.04% | $-0.27 +2025-03-10 14:22:22,822 - INFO - OPENED LONG at 2068.76 | Stop loss: 2058.3996142857145 | Take profit: 2099.8162785714285 +2025-03-10 14:22:22,843 - INFO - CLOSED long at 2068.9 | PnL: 0.01% | $-0.18 +2025-03-10 14:22:22,843 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.261085714286 | Take profit: 2037.8416214285717 +2025-03-10 14:22:23,298 - INFO - CLOSED short at 2069.35 | PnL: -0.02% | $-0.24 +2025-03-10 14:22:23,299 - INFO - OPENED LONG at 2069.35 | Stop loss: 2058.986664285714 | Take profit: 2100.415128571429 +2025-03-10 14:22:23,321 - INFO - CLOSED long at 2068.32 | PnL: -0.05% | $-0.30 +2025-03-10 14:22:23,322 - INFO - OPENED SHORT at 2068.32 | Stop loss: 2078.678185714286 | Take profit: 2037.2703214285716 +2025-03-10 14:22:24,018 - INFO - CLOSED short at 2066.39 | PnL: 0.09% | $-0.01 +2025-03-10 14:22:24,041 - INFO - OPENED SHORT at 2064.47 | Stop loss: 2074.8089357142853 | Take profit: 2033.4780714285712 +2025-03-10 14:22:24,102 - INFO - CLOSED short at 2068.18 | PnL: -0.18% | $-0.55 +2025-03-10 14:22:24,103 - INFO - OPENED LONG at 2068.18 | Stop loss: 2057.822514285714 | Take profit: 2099.2275785714282 +2025-03-10 14:22:24,124 - INFO - CLOSED long at 2065.69 | PnL: -0.12% | $-0.43 +2025-03-10 14:22:24,124 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.0350357142856 | Take profit: 2034.6797714285715 +2025-03-10 14:22:25,195 - INFO - CLOSED short at 2063.39 | PnL: 0.11% | $0.02 +2025-03-10 14:22:25,196 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.056464285714 | Take profit: 2094.3657285714285 +2025-03-10 14:22:25,216 - INFO - CLOSED long at 2064.79 | PnL: 0.07% | $-0.06 +2025-03-10 14:22:25,217 - INFO - OPENED SHORT at 2064.79 | Stop loss: 2075.1305357142855 | Take profit: 2033.7932714285714 +2025-03-10 14:22:25,896 - INFO - CLOSED short at 2062.69 | PnL: 0.10% | $0.00 +2025-03-10 14:22:25,931 - INFO - OPENED SHORT at 2063.4 | Stop loss: 2073.733585714286 | Take profit: 2032.4241214285714 +2025-03-10 14:22:26,231 - INFO - STOP LOSS hit for short at 2073.733585714286 | PnL: -0.50% | $-1.17 +2025-03-10 14:22:26,265 - INFO - OPENED SHORT at 2078.01 | Stop loss: 2088.416635714286 | Take profit: 2046.8149714285717 +2025-03-10 14:22:26,723 - INFO - CLOSED short at 2065.7 | PnL: 0.59% | $0.95 +2025-03-10 14:22:26,781 - INFO - OPENED SHORT at 2063.95 | Stop loss: 2074.2863357142855 | Take profit: 2032.9658714285713 +2025-03-10 14:22:27,451 - INFO - STOP LOSS hit for short at 2074.2863357142855 | PnL: -0.50% | $-1.17 +2025-03-10 14:22:27,489 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.461935714286 | Take profit: 2043.9190714285717 +2025-03-10 14:22:28,930 - INFO - CLOSED short at 2064.08 | PnL: 0.53% | $0.82 +2025-03-10 14:22:28,952 - INFO - OPENED SHORT at 2061.21 | Stop loss: 2071.532635714286 | Take profit: 2030.2669714285714 +2025-03-10 14:22:29,181 - INFO - CLOSED short at 2069.34 | PnL: -0.39% | $-0.96 +2025-03-10 14:22:29,201 - INFO - OPENED SHORT at 2069.81 | Stop loss: 2080.175635714286 | Take profit: 2038.7379714285714 +2025-03-10 14:22:29,418 - INFO - STOP LOSS hit for short at 2080.175635714286 | PnL: -0.50% | $-1.15 +2025-03-10 14:22:29,461 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:22:29,506 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.14 +2025-03-10 14:22:29,551 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:22:29,674 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.12 +2025-03-10 14:22:29,702 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:22:30,135 - INFO - TAKE PROFIT hit for short at 2109.1556214285715 | PnL: 1.50% | $2.59 +2025-03-10 14:22:30,159 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:22:32,556 - INFO - CLOSED short at 2106.28 | PnL: 0.20% | $0.20 +2025-03-10 14:22:32,557 - INFO - OPENED LONG at 2106.28 | Stop loss: 2095.7320142857147 | Take profit: 2137.8990785714286 +2025-03-10 14:22:32,578 - INFO - CLOSED long at 2108.0 | PnL: 0.08% | $-0.03 +2025-03-10 14:22:32,578 - INFO - OPENED SHORT at 2108.0 | Stop loss: 2118.5565857142856 | Take profit: 2076.3551214285712 +2025-03-10 14:22:32,982 - INFO - STOP LOSS hit for short at 2118.5565857142856 | PnL: -0.50% | $-1.14 +2025-03-10 14:22:33,018 - INFO - OPENED SHORT at 2117.39 | Stop loss: 2127.993535714286 | Take profit: 2085.6042714285713 +2025-03-10 14:22:33,407 - INFO - STOP LOSS hit for short at 2127.993535714286 | PnL: -0.50% | $-1.13 +2025-03-10 14:22:33,444 - INFO - OPENED SHORT at 2135.86 | Stop loss: 2146.5558857142855 | Take profit: 2103.7972214285714 +2025-03-10 14:22:34,058 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 23.1% in downtrends | Avg Win=$0.76, Avg Loss=$-0.65 +2025-03-10 14:22:34,059 - INFO - Episode 13: Reward=84.65, Balance=$93.53, Win Rate=26.1%, Trades=23, Episode PnL=$-5.46, Total PnL=$-93.40, Max Drawdown=6.9%, Pred Accuracy=98.9% +2025-03-10 14:22:34,237 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:22:34,341 - INFO - CLOSED short at 2069.34 | PnL: -0.06% | $-0.33 +2025-03-10 14:22:34,363 - INFO - OPENED SHORT at 2069.19 | Stop loss: 2079.5525357142856 | Take profit: 2038.1272714285715 +2025-03-10 14:22:35,141 - INFO - CLOSED short at 2071.11 | PnL: -0.09% | $-0.38 +2025-03-10 14:22:35,160 - INFO - OPENED SHORT at 2069.46 | Stop loss: 2079.823885714286 | Take profit: 2038.3932214285715 +2025-03-10 14:22:35,415 - INFO - CLOSED short at 2065.26 | PnL: 0.20% | $0.20 +2025-03-10 14:22:35,416 - INFO - OPENED LONG at 2065.26 | Stop loss: 2054.9171142857144 | Take profit: 2096.2637785714287 +2025-03-10 14:22:35,456 - INFO - CLOSED long at 2068.58 | PnL: 0.16% | $0.12 +2025-03-10 14:22:35,456 - INFO - OPENED SHORT at 2068.58 | Stop loss: 2078.9394857142856 | Take profit: 2037.5264214285714 +2025-03-10 14:22:36,851 - INFO - CLOSED short at 2061.13 | PnL: 0.36% | $0.51 +2025-03-10 14:22:36,851 - INFO - OPENED LONG at 2061.13 | Stop loss: 2050.8077642857143 | Take profit: 2092.071828571429 +2025-03-10 14:22:36,887 - INFO - CLOSED long at 2061.9 | PnL: 0.04% | $-0.12 +2025-03-10 14:22:36,888 - INFO - OPENED SHORT at 2061.9 | Stop loss: 2072.226085714286 | Take profit: 2030.9466214285717 +2025-03-10 14:22:37,256 - INFO - CLOSED short at 2059.16 | PnL: 0.13% | $0.07 +2025-03-10 14:22:37,292 - INFO - OPENED SHORT at 2059.02 | Stop loss: 2069.3316857142854 | Take profit: 2028.1098214285712 +2025-03-10 14:22:37,868 - INFO - CLOSED short at 2066.34 | PnL: -0.36% | $-0.90 +2025-03-10 14:22:37,868 - INFO - OPENED LONG at 2066.34 | Stop loss: 2055.9917142857144 | Take profit: 2097.3599785714287 +2025-03-10 14:22:37,888 - INFO - CLOSED long at 2066.79 | PnL: 0.02% | $-0.15 +2025-03-10 14:22:37,889 - INFO - OPENED SHORT at 2066.79 | Stop loss: 2077.1405357142858 | Take profit: 2035.7632714285714 +2025-03-10 14:22:38,072 - INFO - STOP LOSS hit for short at 2077.1405357142858 | PnL: -0.50% | $-1.18 +2025-03-10 14:22:38,108 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.401635714286 | Take profit: 2043.8599714285717 +2025-03-10 14:22:38,214 - INFO - CLOSED short at 2071.6 | PnL: 0.16% | $0.12 +2025-03-10 14:22:38,214 - INFO - OPENED LONG at 2071.6 | Stop loss: 2061.225414285714 | Take profit: 2102.6988785714284 +2025-03-10 14:22:38,236 - INFO - CLOSED long at 2073.23 | PnL: 0.08% | $-0.04 +2025-03-10 14:22:38,237 - INFO - OPENED SHORT at 2073.23 | Stop loss: 2083.612735714286 | Take profit: 2042.1066714285714 +2025-03-10 14:22:39,118 - INFO - CLOSED short at 2071.99 | PnL: 0.06% | $-0.08 +2025-03-10 14:22:39,119 - INFO - OPENED LONG at 2071.99 | Stop loss: 2061.613464285714 | Take profit: 2103.0947285714283 +2025-03-10 14:22:39,143 - INFO - CLOSED long at 2068.19 | PnL: -0.18% | $-0.55 +2025-03-10 14:22:39,144 - INFO - OPENED SHORT at 2068.19 | Stop loss: 2078.547535714286 | Take profit: 2037.1422714285713 +2025-03-10 14:22:39,908 - INFO - CLOSED short at 2065.8 | PnL: 0.12% | $0.03 +2025-03-10 14:22:39,908 - INFO - OPENED LONG at 2065.8 | Stop loss: 2055.4544142857144 | Take profit: 2096.8118785714287 +2025-03-10 14:22:39,932 - INFO - CLOSED long at 2065.07 | PnL: -0.04% | $-0.26 +2025-03-10 14:22:39,932 - INFO - OPENED SHORT at 2065.07 | Stop loss: 2075.411935714286 | Take profit: 2034.0690714285715 +2025-03-10 14:22:41,046 - INFO - CLOSED short at 2070.31 | PnL: -0.25% | $-0.68 +2025-03-10 14:22:41,067 - INFO - OPENED SHORT at 2070.24 | Stop loss: 2080.6077857142855 | Take profit: 2039.1615214285712 +2025-03-10 14:22:41,381 - INFO - STOP LOSS hit for short at 2080.6077857142855 | PnL: -0.50% | $-1.15 +2025-03-10 14:22:41,405 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:22:41,426 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.14 +2025-03-10 14:22:41,446 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:22:41,544 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.12 +2025-03-10 14:22:41,564 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:22:41,956 - INFO - TAKE PROFIT hit for short at 2109.1556214285715 | PnL: 1.50% | $2.59 +2025-03-10 14:22:41,985 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:22:45,145 - INFO - STOP LOSS hit for short at 2121.1695857142854 | PnL: -0.50% | $-1.14 +2025-03-10 14:22:45,166 - INFO - OPENED SHORT at 2121.2 | Stop loss: 2131.8225857142857 | Take profit: 2089.357121428571 +2025-03-10 14:22:45,336 - INFO - STOP LOSS hit for short at 2131.8225857142857 | PnL: -0.50% | $-1.13 +2025-03-10 14:22:45,378 - INFO - OPENED SHORT at 2136.26 | Stop loss: 2146.957885714286 | Take profit: 2104.1912214285717 +2025-03-10 14:22:45,819 - INFO - CLOSED short at 2117.98 | PnL: 0.86% | $1.40 +2025-03-10 14:22:45,841 - INFO - OPENED SHORT at 2118.8 | Stop loss: 2129.410585714286 | Take profit: 2086.9931214285716 +2025-03-10 14:22:45,960 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 38.5% in downtrends | Avg Win=$0.63, Avg Loss=$-0.65 +2025-03-10 14:22:45,960 - INFO - Episode 14: Reward=85.67, Balance=$94.69, Win Rate=33.3%, Trades=24, Episode PnL=$-4.30, Total PnL=$-98.71, Max Drawdown=7.1%, Pred Accuracy=98.7% +2025-03-10 14:22:47,188 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:22:48,400 - INFO - CLOSED short at 2063.61 | PnL: 0.21% | $0.22 +2025-03-10 14:22:48,401 - INFO - OPENED LONG at 2063.61 | Stop loss: 2053.275364285714 | Take profit: 2094.5890285714286 +2025-03-10 14:22:48,421 - INFO - CLOSED long at 2065.26 | PnL: 0.08% | $-0.04 +2025-03-10 14:22:48,421 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.602885714286 | Take profit: 2034.2562214285715 +2025-03-10 14:22:50,902 - INFO - CLOSED short at 2066.33 | PnL: -0.05% | $-0.30 +2025-03-10 14:22:50,927 - INFO - OPENED SHORT at 2066.34 | Stop loss: 2076.688285714286 | Take profit: 2035.3200214285716 +2025-03-10 14:22:51,157 - INFO - STOP LOSS hit for short at 2076.688285714286 | PnL: -0.50% | $-1.19 +2025-03-10 14:22:51,182 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.401635714286 | Take profit: 2043.8599714285717 +2025-03-10 14:22:51,262 - INFO - CLOSED short at 2071.6 | PnL: 0.16% | $0.13 +2025-03-10 14:22:51,262 - INFO - OPENED LONG at 2071.6 | Stop loss: 2061.225414285714 | Take profit: 2102.6988785714284 +2025-03-10 14:22:51,282 - INFO - CLOSED long at 2073.23 | PnL: 0.08% | $-0.04 +2025-03-10 14:22:51,282 - INFO - OPENED SHORT at 2073.23 | Stop loss: 2083.612735714286 | Take profit: 2042.1066714285714 +2025-03-10 14:22:52,144 - INFO - CLOSED short at 2070.61 | PnL: 0.13% | $0.05 +2025-03-10 14:22:52,161 - INFO - OPENED SHORT at 2071.99 | Stop loss: 2082.3665357142854 | Take profit: 2040.8852714285713 +2025-03-10 14:22:53,083 - INFO - CLOSED short at 2063.98 | PnL: 0.39% | $0.56 +2025-03-10 14:22:53,083 - INFO - OPENED LONG at 2063.98 | Stop loss: 2053.6435142857144 | Take profit: 2094.964578571429 +2025-03-10 14:22:53,124 - INFO - CLOSED long at 2066.1 | PnL: 0.10% | $0.01 +2025-03-10 14:22:53,124 - INFO - OPENED SHORT at 2066.1 | Stop loss: 2076.4470857142855 | Take profit: 2035.0836214285712 +2025-03-10 14:22:53,912 - INFO - CLOSED short at 2061.84 | PnL: 0.21% | $0.21 +2025-03-10 14:22:53,913 - INFO - OPENED LONG at 2061.84 | Stop loss: 2051.5142142857144 | Take profit: 2092.7924785714285 +2025-03-10 14:22:53,953 - INFO - CLOSED long at 2062.54 | PnL: 0.03% | $-0.13 +2025-03-10 14:22:53,954 - INFO - OPENED SHORT at 2062.54 | Stop loss: 2072.8692857142855 | Take profit: 2031.5770214285715 +2025-03-10 14:22:54,103 - INFO - STOP LOSS hit for short at 2072.8692857142855 | PnL: -0.50% | $-1.19 +2025-03-10 14:22:54,146 - INFO - OPENED SHORT at 2072.99 | Stop loss: 2083.3715357142855 | Take profit: 2041.8702714285712 +2025-03-10 14:22:54,329 - INFO - STOP LOSS hit for short at 2083.3715357142855 | PnL: -0.50% | $-1.17 +2025-03-10 14:22:54,366 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:22:54,388 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.16 +2025-03-10 14:22:54,408 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:22:54,512 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.14 +2025-03-10 14:22:54,532 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:22:54,927 - INFO - TAKE PROFIT hit for short at 2109.1556214285715 | PnL: 1.50% | $2.64 +2025-03-10 14:22:54,946 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:22:55,069 - INFO - CLOSED short at 2112.46 | PnL: -0.09% | $-0.36 +2025-03-10 14:22:55,069 - INFO - OPENED LONG at 2112.46 | Stop loss: 2101.8811142857144 | Take profit: 2144.1717785714286 +2025-03-10 14:22:55,110 - INFO - CLOSED long at 2113.24 | PnL: 0.04% | $-0.12 +2025-03-10 14:22:55,110 - INFO - OPENED SHORT at 2113.24 | Stop loss: 2123.8227857142856 | Take profit: 2081.516521428571 +2025-03-10 14:22:55,193 - INFO - CLOSED short at 2116.48 | PnL: -0.15% | $-0.49 +2025-03-10 14:22:55,217 - INFO - OPENED SHORT at 2114.8 | Stop loss: 2125.390585714286 | Take profit: 2083.0531214285716 +2025-03-10 14:22:55,501 - INFO - CLOSED short at 2099.25 | PnL: 0.74% | $1.22 +2025-03-10 14:22:55,537 - INFO - OPENED SHORT at 2098.9 | Stop loss: 2109.4110857142855 | Take profit: 2067.3916214285714 +2025-03-10 14:22:57,559 - INFO - STOP LOSS hit for short at 2109.4110857142855 | PnL: -0.50% | $-1.16 +2025-03-10 14:22:57,581 - INFO - OPENED SHORT at 2110.87 | Stop loss: 2121.440935714286 | Take profit: 2079.1820714285714 +2025-03-10 14:22:58,361 - INFO - STOP LOSS hit for short at 2121.440935714286 | PnL: -0.50% | $-1.15 +2025-03-10 14:22:58,387 - INFO - OPENED SHORT at 2121.2 | Stop loss: 2131.8225857142857 | Take profit: 2089.357121428571 +2025-03-10 14:22:58,475 - INFO - STOP LOSS hit for short at 2131.8225857142857 | PnL: -0.50% | $-1.14 +2025-03-10 14:22:58,521 - INFO - OPENED SHORT at 2135.51 | Stop loss: 2146.2041357142857 | Take profit: 2103.4524714285717 +2025-03-10 14:22:59,089 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 35.7% in downtrends | Avg Win=$0.63, Avg Loss=$-0.72 +2025-03-10 14:22:59,090 - INFO - Episode 15: Reward=91.69, Balance=$94.24, Win Rate=34.8%, Trades=23, Episode PnL=$-5.43, Total PnL=$-104.47, Max Drawdown=5.8%, Pred Accuracy=98.5% +2025-03-10 14:22:59,327 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:22:59,873 - INFO - CLOSED short at 2071.4 | PnL: -0.16% | $-0.52 +2025-03-10 14:22:59,874 - INFO - OPENED LONG at 2071.4 | Stop loss: 2061.0264142857145 | Take profit: 2102.495878571429 +2025-03-10 14:22:59,896 - INFO - CLOSED long at 2071.39 | PnL: -0.00% | $-0.20 +2025-03-10 14:22:59,896 - INFO - OPENED SHORT at 2071.39 | Stop loss: 2081.7635357142854 | Take profit: 2040.2942714285712 +2025-03-10 14:23:00,108 - INFO - CLOSED short at 2071.92 | PnL: -0.03% | $-0.25 +2025-03-10 14:23:00,144 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.768585714286 | Take profit: 2039.3191214285714 +2025-03-10 14:23:03,147 - INFO - CLOSED short at 2078.01 | PnL: -0.37% | $-0.92 +2025-03-10 14:23:03,172 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.401635714286 | Take profit: 2043.8599714285717 +2025-03-10 14:23:04,270 - INFO - CLOSED short at 2068.67 | PnL: 0.31% | $0.40 +2025-03-10 14:23:04,270 - INFO - OPENED LONG at 2068.67 | Stop loss: 2058.3100642857144 | Take profit: 2099.724928571429 +2025-03-10 14:23:04,297 - INFO - CLOSED long at 2070.67 | PnL: 0.10% | $-0.01 +2025-03-10 14:23:04,297 - INFO - OPENED SHORT at 2070.67 | Stop loss: 2081.039935714286 | Take profit: 2039.5850714285716 +2025-03-10 14:23:05,911 - INFO - CLOSED short at 2064.08 | PnL: 0.32% | $0.43 +2025-03-10 14:23:05,935 - INFO - OPENED SHORT at 2061.21 | Stop loss: 2071.532635714286 | Take profit: 2030.2669714285714 +2025-03-10 14:23:06,283 - INFO - STOP LOSS hit for short at 2071.532635714286 | PnL: -0.50% | $-1.18 +2025-03-10 14:23:06,314 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.4368357142857 | Take profit: 2042.9143714285715 +2025-03-10 14:23:06,570 - INFO - CLOSED short at 2085.56 | PnL: -0.55% | $-1.27 +2025-03-10 14:23:06,594 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:23:06,618 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.15 +2025-03-10 14:23:06,642 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:23:06,750 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.14 +2025-03-10 14:23:06,787 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:23:06,920 - INFO - CLOSED short at 2126.99 | PnL: 0.67% | $1.06 +2025-03-10 14:23:06,921 - INFO - OPENED LONG at 2126.99 | Stop loss: 2116.338464285714 | Take profit: 2158.919728571428 +2025-03-10 14:23:06,957 - INFO - CLOSED long at 2127.3 | PnL: 0.01% | $-0.16 +2025-03-10 14:23:06,958 - INFO - OPENED SHORT at 2127.3 | Stop loss: 2137.953085714286 | Take profit: 2095.3656214285716 +2025-03-10 14:23:07,622 - INFO - TAKE PROFIT hit for short at 2095.3656214285716 | PnL: 1.50% | $2.64 +2025-03-10 14:23:07,659 - INFO - OPENED SHORT at 2099.53 | Stop loss: 2110.044235714286 | Take profit: 2068.0121714285715 +2025-03-10 14:23:07,776 - INFO - CLOSED short at 2099.25 | PnL: 0.01% | $-0.17 +2025-03-10 14:23:07,797 - INFO - OPENED SHORT at 2098.9 | Stop loss: 2109.4110857142855 | Take profit: 2067.3916214285714 +2025-03-10 14:23:08,594 - INFO - CLOSED short at 2085.83 | PnL: 0.62% | $1.01 +2025-03-10 14:23:08,594 - INFO - OPENED LONG at 2085.83 | Stop loss: 2075.3842642857144 | Take profit: 2117.1423285714286 +2025-03-10 14:23:08,615 - INFO - CLOSED long at 2085.85 | PnL: 0.00% | $-0.19 +2025-03-10 14:23:08,615 - INFO - OPENED SHORT at 2085.85 | Stop loss: 2096.2958357142857 | Take profit: 2054.5373714285715 +2025-03-10 14:23:09,014 - INFO - STOP LOSS hit for short at 2096.2958357142857 | PnL: -0.50% | $-1.17 +2025-03-10 14:23:09,038 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.5065357142853 | Take profit: 2068.465271428571 +2025-03-10 14:23:09,429 - INFO - CLOSED short at 2103.52 | PnL: -0.17% | $-0.52 +2025-03-10 14:23:09,429 - INFO - OPENED LONG at 2103.52 | Stop loss: 2092.9858142857142 | Take profit: 2135.0976785714283 +2025-03-10 14:23:09,450 - INFO - CLOSED long at 2104.4 | PnL: 0.04% | $-0.11 +2025-03-10 14:23:09,451 - INFO - OPENED SHORT at 2104.4 | Stop loss: 2114.9385857142856 | Take profit: 2072.8091214285714 +2025-03-10 14:23:09,834 - INFO - STOP LOSS hit for short at 2114.9385857142856 | PnL: -0.50% | $-1.15 +2025-03-10 14:23:09,857 - INFO - OPENED SHORT at 2113.61 | Stop loss: 2124.194635714286 | Take profit: 2081.8809714285717 +2025-03-10 14:23:10,436 - INFO - STOP LOSS hit for short at 2124.194635714286 | PnL: -0.50% | $-1.14 +2025-03-10 14:23:10,472 - INFO - OPENED SHORT at 2127.79 | Stop loss: 2138.4455357142856 | Take profit: 2095.8482714285715 +2025-03-10 14:23:11,110 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 33.3% in downtrends | Avg Win=$1.11, Avg Loss=$-0.66 +2025-03-10 14:23:11,112 - INFO - Episode 16: Reward=82.35, Balance=$94.30, Win Rate=22.7%, Trades=22, Episode PnL=$-5.03, Total PnL=$-110.17, Max Drawdown=5.8%, Pred Accuracy=98.6% +2025-03-10 14:23:11,418 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:23:11,821 - INFO - CLOSED short at 2065.08 | PnL: 0.14% | $0.08 +2025-03-10 14:23:11,844 - INFO - OPENED SHORT at 2066.18 | Stop loss: 2076.527485714286 | Take profit: 2035.1624214285712 +2025-03-10 14:23:13,493 - INFO - CLOSED short at 2064.96 | PnL: 0.06% | $-0.08 +2025-03-10 14:23:13,494 - INFO - OPENED LONG at 2064.96 | Stop loss: 2054.6186142857146 | Take profit: 2095.9592785714285 +2025-03-10 14:23:13,515 - INFO - CLOSED long at 2066.24 | PnL: 0.06% | $-0.08 +2025-03-10 14:23:13,516 - INFO - OPENED SHORT at 2066.24 | Stop loss: 2076.5877857142855 | Take profit: 2035.2215214285714 +2025-03-10 14:23:13,895 - INFO - CLOSED short at 2060.31 | PnL: 0.29% | $0.37 +2025-03-10 14:23:13,895 - INFO - OPENED LONG at 2060.31 | Stop loss: 2049.991864285714 | Take profit: 2091.2395285714283 +2025-03-10 14:23:13,918 - INFO - CLOSED long at 2061.8 | PnL: 0.07% | $-0.06 +2025-03-10 14:23:13,918 - INFO - OPENED SHORT at 2061.8 | Stop loss: 2072.125585714286 | Take profit: 2030.8481214285716 +2025-03-10 14:23:14,645 - INFO - CLOSED short at 2055.6 | PnL: 0.30% | $0.40 +2025-03-10 14:23:14,667 - INFO - OPENED SHORT at 2054.89 | Stop loss: 2065.181035714286 | Take profit: 2024.0417714285713 +2025-03-10 14:23:14,960 - INFO - STOP LOSS hit for short at 2065.181035714286 | PnL: -0.50% | $-1.20 +2025-03-10 14:23:14,982 - INFO - OPENED SHORT at 2066.01 | Stop loss: 2076.356635714286 | Take profit: 2034.9949714285715 +2025-03-10 14:23:15,234 - INFO - CLOSED short at 2074.3 | PnL: -0.40% | $-0.99 +2025-03-10 14:23:15,234 - INFO - OPENED LONG at 2074.3 | Stop loss: 2063.9119142857144 | Take profit: 2105.4393785714287 +2025-03-10 14:23:15,274 - INFO - CLOSED long at 2078.01 | PnL: 0.18% | $0.15 +2025-03-10 14:23:15,274 - INFO - OPENED SHORT at 2078.01 | Stop loss: 2088.416635714286 | Take profit: 2046.8149714285717 +2025-03-10 14:23:16,711 - INFO - CLOSED short at 2072.09 | PnL: 0.28% | $0.36 +2025-03-10 14:23:16,711 - INFO - OPENED LONG at 2072.09 | Stop loss: 2061.7129642857144 | Take profit: 2103.196228571429 +2025-03-10 14:23:16,735 - INFO - CLOSED long at 2069.97 | PnL: -0.10% | $-0.40 +2025-03-10 14:23:16,736 - INFO - OPENED SHORT at 2069.97 | Stop loss: 2080.3364357142855 | Take profit: 2038.8955714285712 +2025-03-10 14:23:18,131 - INFO - CLOSED short at 2061.84 | PnL: 0.39% | $0.57 +2025-03-10 14:23:18,131 - INFO - OPENED LONG at 2061.84 | Stop loss: 2051.5142142857144 | Take profit: 2092.7924785714285 +2025-03-10 14:23:18,166 - INFO - CLOSED long at 2062.54 | PnL: 0.03% | $-0.13 +2025-03-10 14:23:18,166 - INFO - OPENED SHORT at 2062.54 | Stop loss: 2072.8692857142855 | Take profit: 2031.5770214285715 +2025-03-10 14:23:18,321 - INFO - STOP LOSS hit for short at 2072.8692857142855 | PnL: -0.50% | $-1.18 +2025-03-10 14:23:18,342 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.4368357142857 | Take profit: 2042.9143714285715 +2025-03-10 14:23:18,563 - INFO - STOP LOSS hit for short at 2084.4368357142857 | PnL: -0.50% | $-1.17 +2025-03-10 14:23:18,583 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:23:18,605 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.15 +2025-03-10 14:23:18,629 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:23:18,730 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.14 +2025-03-10 14:23:18,750 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:23:19,141 - INFO - TAKE PROFIT hit for short at 2109.1556214285715 | PnL: 1.50% | $2.62 +2025-03-10 14:23:19,162 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:23:20,402 - INFO - CLOSED short at 2083.59 | PnL: 1.28% | $2.27 +2025-03-10 14:23:20,402 - INFO - OPENED LONG at 2083.59 | Stop loss: 2073.1554642857145 | Take profit: 2114.868728571429 +2025-03-10 14:23:20,443 - INFO - CLOSED long at 2086.57 | PnL: 0.14% | $0.08 +2025-03-10 14:23:20,443 - INFO - OPENED SHORT at 2086.57 | Stop loss: 2097.019435714286 | Take profit: 2055.2465714285713 +2025-03-10 14:23:20,945 - INFO - STOP LOSS hit for short at 2097.019435714286 | PnL: -0.50% | $-1.18 +2025-03-10 14:23:20,967 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.5065357142853 | Take profit: 2068.465271428571 +2025-03-10 14:23:21,625 - INFO - STOP LOSS hit for short at 2110.5065357142853 | PnL: -0.50% | $-1.17 +2025-03-10 14:23:21,662 - INFO - OPENED SHORT at 2110.87 | Stop loss: 2121.440935714286 | Take profit: 2079.1820714285714 +2025-03-10 14:23:21,940 - INFO - CLOSED short at 2108.99 | PnL: 0.09% | $-0.02 +2025-03-10 14:23:21,968 - INFO - OPENED SHORT at 2111.19 | Stop loss: 2121.7625357142856 | Take profit: 2079.4972714285714 +2025-03-10 14:23:22,389 - INFO - STOP LOSS hit for short at 2121.7625357142856 | PnL: -0.50% | $-1.16 +2025-03-10 14:23:22,424 - INFO - OPENED SHORT at 2121.2 | Stop loss: 2131.8225857142857 | Take profit: 2089.357121428571 +2025-03-10 14:23:22,549 - INFO - STOP LOSS hit for short at 2131.8225857142857 | PnL: -0.50% | $-1.14 +2025-03-10 14:23:22,570 - INFO - OPENED SHORT at 2136.26 | Stop loss: 2146.957885714286 | Take profit: 2104.1912214285717 +2025-03-10 14:23:22,990 - INFO - CLOSED short at 2117.98 | PnL: 0.86% | $1.42 +2025-03-10 14:23:22,991 - INFO - OPENED LONG at 2117.98 | Stop loss: 2107.3735142857145 | Take profit: 2149.7745785714287 +2025-03-10 14:23:23,010 - INFO - CLOSED long at 2118.8 | PnL: 0.04% | $-0.12 +2025-03-10 14:23:23,011 - INFO - OPENED SHORT at 2118.8 | Stop loss: 2129.410585714286 | Take profit: 2086.9931214285716 +2025-03-10 14:23:23,132 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 35.3% in downtrends | Avg Win=$0.83, Avg Loss=$-0.73 +2025-03-10 14:23:23,133 - INFO - Episode 17: Reward=94.42, Balance=$95.99, Win Rate=37.0%, Trades=27, Episode PnL=$-3.48, Total PnL=$-114.18, Max Drawdown=6.2%, Pred Accuracy=98.8% +2025-03-10 14:23:23,440 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:23:24,157 - INFO - CLOSED short at 2072.15 | PnL: -0.20% | $-0.59 +2025-03-10 14:23:24,158 - INFO - OPENED LONG at 2072.15 | Stop loss: 2061.772664285714 | Take profit: 2103.257128571429 +2025-03-10 14:23:24,178 - INFO - CLOSED long at 2074.29 | PnL: 0.10% | $0.01 +2025-03-10 14:23:24,178 - INFO - OPENED SHORT at 2074.29 | Stop loss: 2084.6780357142857 | Take profit: 2043.1507714285715 +2025-03-10 14:23:25,052 - INFO - CLOSED short at 2064.47 | PnL: 0.47% | $0.74 +2025-03-10 14:23:25,053 - INFO - OPENED LONG at 2064.47 | Stop loss: 2054.1310642857143 | Take profit: 2095.4619285714284 +2025-03-10 14:23:25,074 - INFO - CLOSED long at 2070.04 | PnL: 0.27% | $0.34 +2025-03-10 14:23:25,075 - INFO - OPENED SHORT at 2070.04 | Stop loss: 2080.4067857142854 | Take profit: 2038.9645214285713 +2025-03-10 14:23:27,548 - INFO - CLOSED short at 2068.79 | PnL: 0.06% | $-0.08 +2025-03-10 14:23:27,549 - INFO - OPENED LONG at 2068.79 | Stop loss: 2058.4294642857144 | Take profit: 2099.8467285714282 +2025-03-10 14:23:27,593 - INFO - CLOSED long at 2072.99 | PnL: 0.20% | $0.21 +2025-03-10 14:23:27,594 - INFO - OPENED SHORT at 2072.99 | Stop loss: 2083.3715357142855 | Take profit: 2041.8702714285712 +2025-03-10 14:23:28,186 - INFO - CLOSED short at 2070.9 | PnL: 0.10% | $0.00 +2025-03-10 14:23:28,207 - INFO - OPENED SHORT at 2069.69 | Stop loss: 2080.0550357142856 | Take profit: 2038.6197714285713 +2025-03-10 14:23:29,888 - INFO - CLOSED short at 2066.59 | PnL: 0.15% | $0.10 +2025-03-10 14:23:29,889 - INFO - OPENED LONG at 2066.59 | Stop loss: 2056.2404642857146 | Take profit: 2097.613728571429 +2025-03-10 14:23:29,908 - INFO - CLOSED long at 2064.08 | PnL: -0.12% | $-0.44 +2025-03-10 14:23:29,908 - INFO - OPENED SHORT at 2064.08 | Stop loss: 2074.4169857142856 | Take profit: 2033.0939214285713 +2025-03-10 14:23:30,322 - INFO - CLOSED short at 2074.9 | PnL: -0.52% | $-1.24 +2025-03-10 14:23:30,344 - INFO - OPENED SHORT at 2076.08 | Stop loss: 2086.4769857142855 | Take profit: 2044.9139214285713 +2025-03-10 14:23:30,437 - INFO - STOP LOSS hit for short at 2086.4769857142855 | PnL: -0.50% | $-1.18 +2025-03-10 14:23:30,473 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.5516857142857 | Take profit: 2071.4498214285713 +2025-03-10 14:23:30,507 - INFO - STOP LOSS hit for short at 2113.5516857142857 | PnL: -0.50% | $-1.17 +2025-03-10 14:23:30,544 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2542857142857 | Take profit: 2107.4220214285715 +2025-03-10 14:23:31,371 - INFO - TAKE PROFIT hit for short at 2107.4220214285715 | PnL: 1.50% | $2.69 +2025-03-10 14:23:31,393 - INFO - OPENED SHORT at 2108.06 | Stop loss: 2118.6168857142857 | Take profit: 2076.414221428571 +2025-03-10 14:23:31,906 - INFO - CLOSED short at 2093.33 | PnL: 0.70% | $1.18 +2025-03-10 14:23:31,906 - INFO - OPENED LONG at 2093.33 | Stop loss: 2082.8467642857145 | Take profit: 2124.754828571429 +2025-03-10 14:23:31,926 - INFO - CLOSED long at 2092.46 | PnL: -0.04% | $-0.28 +2025-03-10 14:23:31,927 - INFO - OPENED SHORT at 2092.46 | Stop loss: 2102.938885714286 | Take profit: 2061.0482214285717 +2025-03-10 14:23:33,092 - INFO - STOP LOSS hit for short at 2102.938885714286 | PnL: -0.50% | $-1.20 +2025-03-10 14:23:33,114 - INFO - OPENED SHORT at 2103.48 | Stop loss: 2114.013985714286 | Take profit: 2071.9029214285715 +2025-03-10 14:23:33,747 - INFO - STOP LOSS hit for short at 2114.013985714286 | PnL: -0.50% | $-1.18 +2025-03-10 14:23:33,769 - INFO - OPENED SHORT at 2113.61 | Stop loss: 2124.194635714286 | Take profit: 2081.8809714285717 +2025-03-10 14:23:33,987 - INFO - CLOSED short at 2117.39 | PnL: -0.18% | $-0.54 +2025-03-10 14:23:33,987 - INFO - OPENED LONG at 2117.39 | Stop loss: 2106.7864642857144 | Take profit: 2149.1757285714284 +2025-03-10 14:23:34,028 - INFO - CLOSED long at 2115.3 | PnL: -0.10% | $-0.38 +2025-03-10 14:23:34,028 - INFO - OPENED SHORT at 2115.3 | Stop loss: 2125.893085714286 | Take profit: 2083.545621428572 +2025-03-10 14:23:34,375 - INFO - STOP LOSS hit for short at 2125.893085714286 | PnL: -0.50% | $-1.16 +2025-03-10 14:23:34,412 - INFO - OPENED SHORT at 2129.3 | Stop loss: 2139.9630857142856 | Take profit: 2097.335621428572 +2025-03-10 14:23:35,044 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 33.3% in downtrends | Avg Win=$0.66, Avg Loss=$-0.79 +2025-03-10 14:23:35,045 - INFO - Episode 18: Reward=89.45, Balance=$95.81, Win Rate=40.0%, Trades=20, Episode PnL=$-3.63, Total PnL=$-118.37, Max Drawdown=4.8%, Pred Accuracy=99.0% +2025-03-10 14:23:35,224 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:23:37,182 - INFO - CLOSED short at 2063.59 | PnL: 0.21% | $0.23 +2025-03-10 14:23:37,183 - INFO - OPENED LONG at 2063.59 | Stop loss: 2053.2554642857144 | Take profit: 2094.5687285714284 +2025-03-10 14:23:37,204 - INFO - CLOSED long at 2064.96 | PnL: 0.07% | $-0.07 +2025-03-10 14:23:37,204 - INFO - OPENED SHORT at 2064.96 | Stop loss: 2075.3013857142855 | Take profit: 2033.9607214285713 +2025-03-10 14:23:38,990 - INFO - STOP LOSS hit for short at 2075.3013857142855 | PnL: -0.50% | $-1.19 +2025-03-10 14:23:39,026 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.401635714286 | Take profit: 2043.8599714285717 +2025-03-10 14:23:40,112 - INFO - CLOSED short at 2068.67 | PnL: 0.31% | $0.40 +2025-03-10 14:23:40,112 - INFO - OPENED LONG at 2068.67 | Stop loss: 2058.3100642857144 | Take profit: 2099.724928571429 +2025-03-10 14:23:40,137 - INFO - CLOSED long at 2070.67 | PnL: 0.10% | $-0.01 +2025-03-10 14:23:40,138 - INFO - OPENED SHORT at 2070.67 | Stop loss: 2081.039935714286 | Take profit: 2039.5850714285716 +2025-03-10 14:23:41,291 - INFO - CLOSED short at 2053.01 | PnL: 0.85% | $1.48 +2025-03-10 14:23:41,312 - INFO - OPENED SHORT at 2049.21 | Stop loss: 2059.472635714286 | Take profit: 2018.4469714285715 +2025-03-10 14:23:41,510 - INFO - STOP LOSS hit for short at 2059.472635714286 | PnL: -0.50% | $-1.20 +2025-03-10 14:23:41,548 - INFO - OPENED SHORT at 2063.9 | Stop loss: 2074.2360857142858 | Take profit: 2032.9166214285715 +2025-03-10 14:23:42,114 - INFO - STOP LOSS hit for short at 2074.2360857142858 | PnL: -0.50% | $-1.19 +2025-03-10 14:23:42,139 - INFO - OPENED SHORT at 2076.08 | Stop loss: 2086.4769857142855 | Take profit: 2044.9139214285713 +2025-03-10 14:23:42,235 - INFO - STOP LOSS hit for short at 2086.4769857142855 | PnL: -0.50% | $-1.17 +2025-03-10 14:23:42,272 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.5516857142857 | Take profit: 2071.4498214285713 +2025-03-10 14:23:42,310 - INFO - STOP LOSS hit for short at 2113.5516857142857 | PnL: -0.50% | $-1.16 +2025-03-10 14:23:42,347 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2542857142857 | Take profit: 2107.4220214285715 +2025-03-10 14:23:43,081 - INFO - CLOSED short at 2112.99 | PnL: 1.24% | $2.18 +2025-03-10 14:23:43,125 - INFO - OPENED SHORT at 2120.81 | Stop loss: 2131.4306357142855 | Take profit: 2088.9729714285713 +2025-03-10 14:23:43,321 - INFO - CLOSED short at 2100.5 | PnL: 0.96% | $1.67 +2025-03-10 14:23:43,322 - INFO - OPENED LONG at 2100.5 | Stop loss: 2089.9809142857143 | Take profit: 2132.0323785714286 +2025-03-10 14:23:43,345 - INFO - CLOSED long at 2090.0 | PnL: -0.50% | $-1.19 +2025-03-10 14:23:43,345 - INFO - OPENED SHORT at 2090.0 | Stop loss: 2100.4665857142854 | Take profit: 2058.625121428571 +2025-03-10 14:23:43,451 - INFO - STOP LOSS hit for short at 2100.4665857142854 | PnL: -0.50% | $-1.18 +2025-03-10 14:23:43,490 - INFO - OPENED SHORT at 2102.29 | Stop loss: 2112.8180357142855 | Take profit: 2070.730771428571 +2025-03-10 14:23:43,817 - INFO - CLOSED short at 2093.46 | PnL: 0.42% | $0.62 +2025-03-10 14:23:43,852 - INFO - OPENED SHORT at 2093.33 | Stop loss: 2103.8132357142854 | Take profit: 2061.905171428571 +2025-03-10 14:23:44,222 - INFO - CLOSED short at 2085.09 | PnL: 0.39% | $0.57 +2025-03-10 14:23:44,222 - INFO - OPENED LONG at 2085.09 | Stop loss: 2074.6479642857144 | Take profit: 2116.391228571429 +2025-03-10 14:23:44,262 - INFO - CLOSED long at 2083.59 | PnL: -0.07% | $-0.34 +2025-03-10 14:23:44,263 - INFO - OPENED SHORT at 2083.59 | Stop loss: 2094.024535714286 | Take profit: 2052.3112714285717 +2025-03-10 14:23:44,533 - INFO - CLOSED short at 2087.78 | PnL: -0.20% | $-0.59 +2025-03-10 14:23:44,533 - INFO - OPENED LONG at 2087.78 | Stop loss: 2077.3245142857145 | Take profit: 2119.121578571429 +2025-03-10 14:23:44,558 - INFO - CLOSED long at 2086.81 | PnL: -0.05% | $-0.28 +2025-03-10 14:23:44,558 - INFO - OPENED SHORT at 2086.81 | Stop loss: 2097.260635714286 | Take profit: 2055.4829714285715 +2025-03-10 14:23:44,788 - INFO - STOP LOSS hit for short at 2097.260635714286 | PnL: -0.50% | $-1.16 +2025-03-10 14:23:44,809 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.5065357142853 | Take profit: 2068.465271428571 +2025-03-10 14:23:45,478 - INFO - STOP LOSS hit for short at 2110.5065357142853 | PnL: -0.50% | $-1.15 +2025-03-10 14:23:45,514 - INFO - OPENED SHORT at 2110.87 | Stop loss: 2121.440935714286 | Take profit: 2079.1820714285714 +2025-03-10 14:23:46,141 - INFO - STOP LOSS hit for short at 2121.440935714286 | PnL: -0.50% | $-1.14 +2025-03-10 14:23:46,177 - INFO - OPENED SHORT at 2121.2 | Stop loss: 2131.8225857142857 | Take profit: 2089.357121428571 +2025-03-10 14:23:46,309 - INFO - STOP LOSS hit for short at 2131.8225857142857 | PnL: -0.50% | $-1.12 +2025-03-10 14:23:46,348 - INFO - OPENED SHORT at 2136.26 | Stop loss: 2146.957885714286 | Take profit: 2104.1912214285717 +2025-03-10 14:23:46,530 - INFO - CLOSED short at 2135.55 | PnL: 0.03% | $-0.12 +2025-03-10 14:23:46,555 - INFO - OPENED SHORT at 2131.23 | Stop loss: 2141.902735714286 | Take profit: 2099.2366714285713 +2025-03-10 14:23:46,904 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 26.7% in downtrends | Avg Win=$1.02, Avg Loss=$-0.84 +2025-03-10 14:23:46,905 - INFO - Episode 19: Reward=94.18, Balance=$92.89, Win Rate=29.2%, Trades=24, Episode PnL=$-5.22, Total PnL=$-125.48, Max Drawdown=7.9%, Pred Accuracy=99.0% +2025-03-10 14:23:47,867 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:23:48,552 - INFO - CLOSED short at 2072.75 | PnL: -0.23% | $-0.65 +2025-03-10 14:23:48,552 - INFO - OPENED LONG at 2072.75 | Stop loss: 2062.3696642857144 | Take profit: 2103.866128571429 +2025-03-10 14:23:48,587 - INFO - CLOSED long at 2073.11 | PnL: 0.02% | $-0.16 +2025-03-10 14:23:48,588 - INFO - OPENED SHORT at 2073.11 | Stop loss: 2083.4921357142857 | Take profit: 2041.9884714285715 +2025-03-10 14:23:49,003 - INFO - CLOSED short at 2065.26 | PnL: 0.38% | $0.55 +2025-03-10 14:23:49,040 - INFO - OPENED SHORT at 2067.89 | Stop loss: 2078.246035714286 | Take profit: 2036.8467714285714 +2025-03-10 14:23:49,979 - INFO - CLOSED short at 2066.24 | PnL: 0.08% | $-0.04 +2025-03-10 14:23:49,979 - INFO - OPENED LONG at 2066.24 | Stop loss: 2055.892214285714 | Take profit: 2097.2584785714284 +2025-03-10 14:23:49,999 - INFO - CLOSED long at 2067.1 | PnL: 0.04% | $-0.12 +2025-03-10 14:23:49,999 - INFO - OPENED SHORT at 2067.1 | Stop loss: 2077.4520857142857 | Take profit: 2036.0686214285715 +2025-03-10 14:23:51,286 - INFO - CLOSED short at 2062.69 | PnL: 0.21% | $0.22 +2025-03-10 14:23:51,308 - INFO - OPENED SHORT at 2063.4 | Stop loss: 2073.733585714286 | Take profit: 2032.4241214285714 +2025-03-10 14:23:51,551 - INFO - CLOSED short at 2067.01 | PnL: -0.17% | $-0.54 +2025-03-10 14:23:51,551 - INFO - OPENED LONG at 2067.01 | Stop loss: 2056.6583642857145 | Take profit: 2098.0400285714286 +2025-03-10 14:23:51,572 - INFO - CLOSED long at 2065.69 | PnL: -0.06% | $-0.32 +2025-03-10 14:23:51,572 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.0350357142856 | Take profit: 2034.6797714285715 +2025-03-10 14:23:51,651 - INFO - STOP LOSS hit for short at 2076.0350357142856 | PnL: -0.50% | $-1.18 +2025-03-10 14:23:51,672 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.401635714286 | Take profit: 2043.8599714285717 +2025-03-10 14:23:53,616 - INFO - CLOSED short at 2063.39 | PnL: 0.56% | $0.89 +2025-03-10 14:23:53,640 - INFO - OPENED SHORT at 2062.34 | Stop loss: 2072.668285714286 | Take profit: 2031.3800214285716 +2025-03-10 14:23:54,677 - INFO - STOP LOSS hit for short at 2072.668285714286 | PnL: -0.50% | $-1.18 +2025-03-10 14:23:54,709 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.4368357142857 | Take profit: 2042.9143714285715 +2025-03-10 14:23:54,872 - INFO - STOP LOSS hit for short at 2084.4368357142857 | PnL: -0.50% | $-1.16 +2025-03-10 14:23:54,892 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:23:54,914 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.15 +2025-03-10 14:23:54,935 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:23:55,094 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.13 +2025-03-10 14:23:55,131 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:23:55,529 - INFO - TAKE PROFIT hit for short at 2109.1556214285715 | PnL: 1.50% | $2.61 +2025-03-10 14:23:55,556 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:23:55,601 - INFO - CLOSED short at 2112.09 | PnL: -0.07% | $-0.33 +2025-03-10 14:23:55,621 - INFO - OPENED SHORT at 2112.95 | Stop loss: 2123.531335714286 | Take profit: 2081.2308714285714 +2025-03-10 14:23:56,684 - INFO - TAKE PROFIT hit for short at 2081.2308714285714 | PnL: 1.50% | $2.68 +2025-03-10 14:23:56,720 - INFO - OPENED SHORT at 2081.25 | Stop loss: 2091.6728357142856 | Take profit: 2050.006371428571 +2025-03-10 14:23:57,005 - INFO - CLOSED short at 2087.0 | PnL: -0.28% | $-0.74 +2025-03-10 14:23:57,005 - INFO - OPENED LONG at 2087.0 | Stop loss: 2076.5484142857144 | Take profit: 2118.3298785714287 +2025-03-10 14:23:57,043 - INFO - CLOSED long at 2087.47 | PnL: 0.02% | $-0.15 +2025-03-10 14:23:57,044 - INFO - OPENED SHORT at 2087.47 | Stop loss: 2097.923935714285 | Take profit: 2056.133071428571 +2025-03-10 14:23:57,307 - INFO - STOP LOSS hit for short at 2097.923935714285 | PnL: -0.50% | $-1.17 +2025-03-10 14:23:57,331 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.1647857142857 | Take profit: 2070.0905214285713 +2025-03-10 14:23:58,030 - INFO - STOP LOSS hit for short at 2112.1647857142857 | PnL: -0.50% | $-1.16 +2025-03-10 14:23:58,075 - INFO - OPENED SHORT at 2110.4 | Stop loss: 2120.968585714286 | Take profit: 2078.7191214285717 +2025-03-10 14:23:58,876 - INFO - STOP LOSS hit for short at 2120.968585714286 | PnL: -0.50% | $-1.14 +2025-03-10 14:23:58,901 - INFO - OPENED SHORT at 2121.2 | Stop loss: 2131.8225857142857 | Take profit: 2089.357121428571 +2025-03-10 14:23:59,021 - INFO - STOP LOSS hit for short at 2131.8225857142857 | PnL: -0.50% | $-1.13 +2025-03-10 14:23:59,069 - INFO - OPENED SHORT at 2136.26 | Stop loss: 2146.957885714286 | Take profit: 2104.1912214285717 +2025-03-10 14:23:59,644 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 13.3% in downtrends | Avg Win=$1.39, Avg Loss=$-0.75 +2025-03-10 14:23:59,645 - INFO - Episode 20: Reward=83.91, Balance=$93.51, Win Rate=21.7%, Trades=23, Episode PnL=$-5.74, Total PnL=$-131.97, Max Drawdown=6.5%, Pred Accuracy=99.1% +2025-03-10 14:23:59,792 - INFO - Model saved to checkpoints/trading_agent_episode_20.pt +2025-03-10 14:23:59,793 - INFO - Checkpoint saved at episode 20 +2025-03-10 14:23:59,793 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:23:59,854 - ERROR - Error creating visualization: No module named 'mplfinance' +2025-03-10 14:23:59,856 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2514, in visualize_training_results + from mplfinance.original_flavor import candlestick_ohlc +ModuleNotFoundError: No module named 'mplfinance' + +2025-03-10 14:24:00,691 - ERROR - Error creating visualization: No module named 'mplfinance' +2025-03-10 14:24:00,691 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2514, in visualize_training_results + from mplfinance.original_flavor import candlestick_ohlc +ModuleNotFoundError: No module named 'mplfinance' + +2025-03-10 14:24:00,859 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:24:02,712 - INFO - CLOSED short at 2061.78 | PnL: 0.30% | $0.40 +2025-03-10 14:24:02,733 - INFO - OPENED SHORT at 2059.59 | Stop loss: 2069.904535714286 | Take profit: 2028.6712714285716 +2025-03-10 14:24:02,966 - INFO - CLOSED short at 2064.45 | PnL: -0.24% | $-0.67 +2025-03-10 14:24:02,967 - INFO - OPENED LONG at 2064.45 | Stop loss: 2054.111164285714 | Take profit: 2095.4416285714283 +2025-03-10 14:24:02,987 - INFO - CLOSED long at 2064.08 | PnL: -0.02% | $-0.23 +2025-03-10 14:24:02,987 - INFO - OPENED SHORT at 2064.08 | Stop loss: 2074.4169857142856 | Take profit: 2033.0939214285713 +2025-03-10 14:24:03,527 - INFO - CLOSED short at 2065.89 | PnL: -0.09% | $-0.37 +2025-03-10 14:24:03,528 - INFO - OPENED LONG at 2065.89 | Stop loss: 2055.543964285714 | Take profit: 2096.9032285714284 +2025-03-10 14:24:03,553 - INFO - CLOSED long at 2063.53 | PnL: -0.11% | $-0.42 +2025-03-10 14:24:03,554 - INFO - OPENED SHORT at 2063.53 | Stop loss: 2073.8642357142858 | Take profit: 2032.5521714285717 +2025-03-10 14:24:03,689 - INFO - CLOSED short at 2061.7 | PnL: 0.09% | $-0.02 +2025-03-10 14:24:03,725 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.0200857142854 | Take profit: 2029.7646214285712 +2025-03-10 14:24:04,213 - INFO - CLOSED short at 2061.66 | PnL: -0.05% | $-0.29 +2025-03-10 14:24:04,214 - INFO - OPENED LONG at 2061.66 | Stop loss: 2051.335114285714 | Take profit: 2092.6097785714283 +2025-03-10 14:24:04,240 - INFO - CLOSED long at 2061.5 | PnL: -0.01% | $-0.21 +2025-03-10 14:24:04,241 - INFO - OPENED SHORT at 2061.5 | Stop loss: 2071.8240857142855 | Take profit: 2030.5526214285715 +2025-03-10 14:24:04,613 - INFO - CLOSED short at 2065.69 | PnL: -0.20% | $-0.59 +2025-03-10 14:24:04,638 - INFO - OPENED SHORT at 2069.79 | Stop loss: 2080.1555357142856 | Take profit: 2038.7182714285714 +2025-03-10 14:24:04,656 - INFO - CLOSED short at 2072.0 | PnL: -0.11% | $-0.40 +2025-03-10 14:24:04,681 - INFO - OPENED SHORT at 2074.3 | Stop loss: 2084.688085714286 | Take profit: 2043.1606214285716 +2025-03-10 14:24:06,595 - INFO - CLOSED short at 2065.07 | PnL: 0.44% | $0.67 +2025-03-10 14:24:06,597 - INFO - OPENED LONG at 2065.07 | Stop loss: 2054.7280642857145 | Take profit: 2096.070928571429 +2025-03-10 14:24:06,617 - INFO - CLOSED long at 2066.09 | PnL: 0.05% | $-0.10 +2025-03-10 14:24:06,617 - INFO - OPENED SHORT at 2066.09 | Stop loss: 2076.437035714286 | Take profit: 2035.0737714285715 +2025-03-10 14:24:07,867 - INFO - STOP LOSS hit for short at 2076.437035714286 | PnL: -0.50% | $-1.17 +2025-03-10 14:24:07,887 - INFO - OPENED SHORT at 2085.56 | Stop loss: 2096.0043857142855 | Take profit: 2054.2517214285713 +2025-03-10 14:24:07,930 - INFO - STOP LOSS hit for short at 2096.0043857142855 | PnL: -0.50% | $-1.15 +2025-03-10 14:24:07,963 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:24:08,128 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.14 +2025-03-10 14:24:08,152 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:24:08,556 - INFO - TAKE PROFIT hit for short at 2109.1556214285715 | PnL: 1.50% | $2.62 +2025-03-10 14:24:08,575 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:24:08,999 - INFO - CLOSED short at 2098.1 | PnL: 0.59% | $0.95 +2025-03-10 14:24:09,020 - INFO - OPENED SHORT at 2102.19 | Stop loss: 2112.717535714286 | Take profit: 2070.6322714285716 +2025-03-10 14:24:10,971 - INFO - CLOSED short at 2105.2 | PnL: -0.14% | $-0.47 +2025-03-10 14:24:10,971 - INFO - OPENED LONG at 2105.2 | Stop loss: 2094.6574142857144 | Take profit: 2136.802878571428 +2025-03-10 14:24:10,993 - INFO - CLOSED long at 2103.52 | PnL: -0.08% | $-0.35 +2025-03-10 14:24:10,994 - INFO - OPENED SHORT at 2103.52 | Stop loss: 2114.0541857142857 | Take profit: 2071.9423214285716 +2025-03-10 14:24:11,415 - INFO - STOP LOSS hit for short at 2114.0541857142857 | PnL: -0.50% | $-1.16 +2025-03-10 14:24:11,437 - INFO - OPENED SHORT at 2113.61 | Stop loss: 2124.194635714286 | Take profit: 2081.8809714285717 +2025-03-10 14:24:12,009 - INFO - STOP LOSS hit for short at 2124.194635714286 | PnL: -0.50% | $-1.14 +2025-03-10 14:24:12,079 - INFO - OPENED SHORT at 2129.3 | Stop loss: 2139.9630857142856 | Take profit: 2097.335621428572 +2025-03-10 14:24:12,768 - INFO - CLOSED short at 2121.53 | PnL: 0.36% | $0.50 +2025-03-10 14:24:12,812 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.6366357142856 | Take profit: 2090.1549714285716 +2025-03-10 14:24:12,853 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 18.2% in downtrends | Avg Win=$1.03, Avg Loss=$-0.58 +2025-03-10 14:24:12,854 - INFO - Episode 21: Reward=80.40, Balance=$95.25, Win Rate=22.7%, Trades=22, Episode PnL=$-3.43, Total PnL=$-136.72, Max Drawdown=6.1%, Pred Accuracy=99.1% +2025-03-10 14:24:12,855 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:24:13,113 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:24:13,296 - INFO - CLOSED short at 2067.6 | PnL: 0.02% | $-0.16 +2025-03-10 14:24:13,296 - INFO - OPENED LONG at 2067.6 | Stop loss: 2057.245414285714 | Take profit: 2098.6388785714284 +2025-03-10 14:24:13,321 - INFO - CLOSED long at 2067.51 | PnL: -0.00% | $-0.21 +2025-03-10 14:24:13,322 - INFO - OPENED SHORT at 2067.51 | Stop loss: 2077.864135714286 | Take profit: 2036.4724714285717 +2025-03-10 14:24:16,462 - INFO - CLOSED short at 2059.46 | PnL: 0.39% | $0.57 +2025-03-10 14:24:16,484 - INFO - OPENED SHORT at 2057.4 | Stop loss: 2067.7035857142855 | Take profit: 2026.5141214285716 +2025-03-10 14:24:17,173 - INFO - STOP LOSS hit for short at 2067.7035857142855 | PnL: -0.50% | $-1.19 +2025-03-10 14:24:17,195 - INFO - OPENED SHORT at 2072.0 | Stop loss: 2082.3765857142857 | Take profit: 2040.8951214285714 +2025-03-10 14:24:17,956 - INFO - CLOSED short at 2065.5 | PnL: 0.31% | $0.42 +2025-03-10 14:24:17,978 - INFO - OPENED SHORT at 2067.53 | Stop loss: 2077.8842357142858 | Take profit: 2036.4921714285717 +2025-03-10 14:24:18,579 - INFO - CLOSED short at 2074.35 | PnL: -0.33% | $-0.85 +2025-03-10 14:24:18,579 - INFO - OPENED LONG at 2074.35 | Stop loss: 2063.961664285714 | Take profit: 2105.4901285714286 +2025-03-10 14:24:18,626 - INFO - CLOSED long at 2073.27 | PnL: -0.05% | $-0.30 +2025-03-10 14:24:18,626 - INFO - OPENED SHORT at 2073.27 | Stop loss: 2083.652935714286 | Take profit: 2042.1460714285713 +2025-03-10 14:24:18,768 - INFO - CLOSED short at 2076.9 | PnL: -0.18% | $-0.54 +2025-03-10 14:24:18,769 - INFO - OPENED LONG at 2076.9 | Stop loss: 2066.4989142857144 | Take profit: 2108.078378571429 +2025-03-10 14:24:18,792 - INFO - CLOSED long at 2075.61 | PnL: -0.06% | $-0.31 +2025-03-10 14:24:18,792 - INFO - OPENED SHORT at 2075.61 | Stop loss: 2086.004635714286 | Take profit: 2044.4509714285716 +2025-03-10 14:24:20,631 - INFO - CLOSED short at 2072.99 | PnL: 0.13% | $0.05 +2025-03-10 14:24:20,632 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.608464285714 | Take profit: 2104.1097285714286 +2025-03-10 14:24:20,678 - INFO - CLOSED long at 2071.89 | PnL: -0.05% | $-0.30 +2025-03-10 14:24:20,678 - INFO - OPENED SHORT at 2071.89 | Stop loss: 2082.2660357142854 | Take profit: 2040.7867714285715 +2025-03-10 14:24:20,811 - INFO - STOP LOSS hit for short at 2082.2660357142854 | PnL: -0.50% | $-1.16 +2025-03-10 14:24:20,833 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:24:20,857 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.14 +2025-03-10 14:24:20,880 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:24:21,011 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.13 +2025-03-10 14:24:21,049 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:24:21,462 - INFO - TAKE PROFIT hit for short at 2109.1556214285715 | PnL: 1.50% | $2.61 +2025-03-10 14:24:21,503 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:24:21,585 - INFO - CLOSED short at 2112.95 | PnL: -0.11% | $-0.40 +2025-03-10 14:24:21,608 - INFO - OPENED SHORT at 2112.46 | Stop loss: 2123.038885714286 | Take profit: 2080.7482214285715 +2025-03-10 14:24:21,951 - INFO - CLOSED short at 2090.0 | PnL: 1.06% | $1.83 +2025-03-10 14:24:21,976 - INFO - OPENED SHORT at 2099.53 | Stop loss: 2110.044235714286 | Take profit: 2068.0121714285715 +2025-03-10 14:24:23,587 - INFO - CLOSED short at 2100.89 | PnL: -0.06% | $-0.32 +2025-03-10 14:24:23,588 - INFO - OPENED LONG at 2100.89 | Stop loss: 2090.368964285714 | Take profit: 2132.4282285714285 +2025-03-10 14:24:23,610 - INFO - CLOSED long at 2099.73 | PnL: -0.06% | $-0.30 +2025-03-10 14:24:23,610 - INFO - OPENED SHORT at 2099.73 | Stop loss: 2110.2452357142856 | Take profit: 2068.2091714285716 +2025-03-10 14:24:24,167 - INFO - STOP LOSS hit for short at 2110.2452357142856 | PnL: -0.50% | $-1.16 +2025-03-10 14:24:24,204 - INFO - OPENED SHORT at 2110.87 | Stop loss: 2121.440935714286 | Take profit: 2079.1820714285714 +2025-03-10 14:24:24,954 - INFO - STOP LOSS hit for short at 2121.440935714286 | PnL: -0.50% | $-1.14 +2025-03-10 14:24:25,006 - INFO - OPENED SHORT at 2121.2 | Stop loss: 2131.8225857142857 | Take profit: 2089.357121428571 +2025-03-10 14:24:25,172 - INFO - STOP LOSS hit for short at 2131.8225857142857 | PnL: -0.50% | $-1.13 +2025-03-10 14:24:25,196 - INFO - OPENED SHORT at 2136.26 | Stop loss: 2146.957885714286 | Take profit: 2104.1912214285717 +2025-03-10 14:24:25,828 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 15.4% in downtrends | Avg Win=$1.10, Avg Loss=$-0.69 +2025-03-10 14:24:25,829 - INFO - Episode 22: Reward=177.34, Balance=$93.74, Win Rate=22.7%, Trades=22, Episode PnL=$-4.85, Total PnL=$-142.98, Max Drawdown=6.5%, Pred Accuracy=99.6% +2025-03-10 14:24:25,829 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:24:26,099 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:24:26,727 - INFO - CLOSED short at 2072.75 | PnL: -0.23% | $-0.65 +2025-03-10 14:24:26,750 - INFO - OPENED SHORT at 2073.11 | Stop loss: 2083.4921357142857 | Take profit: 2041.9884714285715 +2025-03-10 14:24:27,827 - INFO - CLOSED short at 2064.47 | PnL: 0.42% | $0.62 +2025-03-10 14:24:27,854 - INFO - OPENED SHORT at 2070.04 | Stop loss: 2080.4067857142854 | Take profit: 2038.9645214285713 +2025-03-10 14:24:28,553 - INFO - CLOSED short at 2061.6 | PnL: 0.41% | $0.61 +2025-03-10 14:24:28,553 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.2754142857143 | Take profit: 2092.5488785714283 +2025-03-10 14:24:28,575 - INFO - CLOSED long at 2060.9 | PnL: -0.03% | $-0.27 +2025-03-10 14:24:28,575 - INFO - OPENED SHORT at 2060.9 | Stop loss: 2071.221085714286 | Take profit: 2029.9616214285713 +2025-03-10 14:24:28,661 - INFO - CLOSED short at 2060.31 | PnL: 0.03% | $-0.14 +2025-03-10 14:24:28,683 - INFO - OPENED SHORT at 2061.8 | Stop loss: 2072.125585714286 | Take profit: 2030.8481214285716 +2025-03-10 14:24:28,704 - INFO - CLOSED short at 2064.7 | PnL: -0.14% | $-0.48 +2025-03-10 14:24:28,726 - INFO - OPENED SHORT at 2062.61 | Stop loss: 2072.939635714286 | Take profit: 2031.6459714285716 +2025-03-10 14:24:30,058 - INFO - STOP LOSS hit for short at 2072.939635714286 | PnL: -0.50% | $-1.19 +2025-03-10 14:24:30,113 - INFO - OPENED SHORT at 2078.01 | Stop loss: 2088.416635714286 | Take profit: 2046.8149714285717 +2025-03-10 14:24:30,638 - INFO - CLOSED short at 2065.7 | PnL: 0.59% | $0.96 +2025-03-10 14:24:30,638 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.354914285714 | Take profit: 2096.7103785714285 +2025-03-10 14:24:30,660 - INFO - CLOSED long at 2065.66 | PnL: -0.00% | $-0.20 +2025-03-10 14:24:30,661 - INFO - OPENED SHORT at 2065.66 | Stop loss: 2076.0048857142856 | Take profit: 2034.6502214285713 +2025-03-10 14:24:31,605 - INFO - STOP LOSS hit for short at 2076.0048857142856 | PnL: -0.50% | $-1.18 +2025-03-10 14:24:31,642 - INFO - OPENED SHORT at 2075.61 | Stop loss: 2086.004635714286 | Take profit: 2044.4509714285716 +2025-03-10 14:24:32,701 - INFO - CLOSED short at 2057.11 | PnL: 0.89% | $1.54 +2025-03-10 14:24:32,723 - INFO - OPENED SHORT at 2057.89 | Stop loss: 2068.1960357142857 | Take profit: 2026.9967714285713 +2025-03-10 14:24:32,953 - INFO - STOP LOSS hit for short at 2068.1960357142857 | PnL: -0.50% | $-1.19 +2025-03-10 14:24:32,976 - INFO - OPENED SHORT at 2067.49 | Stop loss: 2077.8440357142854 | Take profit: 2036.4527714285712 +2025-03-10 14:24:33,510 - INFO - STOP LOSS hit for short at 2077.8440357142854 | PnL: -0.50% | $-1.17 +2025-03-10 14:24:33,532 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:24:33,577 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.16 +2025-03-10 14:24:33,618 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:24:33,763 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.15 +2025-03-10 14:24:33,787 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:24:34,209 - INFO - TAKE PROFIT hit for short at 2109.1556214285715 | PnL: 1.50% | $2.64 +2025-03-10 14:24:34,231 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:24:34,603 - INFO - CLOSED short at 2103.33 | PnL: 0.34% | $0.47 +2025-03-10 14:24:34,604 - INFO - OPENED LONG at 2103.33 | Stop loss: 2092.7967642857143 | Take profit: 2134.9048285714284 +2025-03-10 14:24:34,626 - INFO - CLOSED long at 2100.5 | PnL: -0.13% | $-0.46 +2025-03-10 14:24:34,626 - INFO - OPENED SHORT at 2100.5 | Stop loss: 2111.0190857142857 | Take profit: 2068.9676214285714 +2025-03-10 14:24:35,086 - INFO - CLOSED short at 2093.46 | PnL: 0.34% | $0.46 +2025-03-10 14:24:35,109 - INFO - OPENED SHORT at 2093.33 | Stop loss: 2103.8132357142854 | Take profit: 2061.905171428571 +2025-03-10 14:24:35,191 - INFO - CLOSED short at 2094.72 | PnL: -0.07% | $-0.32 +2025-03-10 14:24:35,236 - INFO - OPENED SHORT at 2094.08 | Stop loss: 2104.5669857142857 | Take profit: 2062.643921428571 +2025-03-10 14:24:36,376 - INFO - STOP LOSS hit for short at 2104.5669857142857 | PnL: -0.50% | $-1.17 +2025-03-10 14:24:36,414 - INFO - OPENED SHORT at 2103.48 | Stop loss: 2114.013985714286 | Take profit: 2071.9029214285715 +2025-03-10 14:24:37,117 - INFO - STOP LOSS hit for short at 2114.013985714286 | PnL: -0.50% | $-1.15 +2025-03-10 14:24:37,149 - INFO - OPENED SHORT at 2113.61 | Stop loss: 2124.194635714286 | Take profit: 2081.8809714285717 +2025-03-10 14:24:37,361 - INFO - CLOSED short at 2111.19 | PnL: 0.11% | $0.03 +2025-03-10 14:24:37,389 - INFO - OPENED SHORT at 2112.61 | Stop loss: 2123.1896357142855 | Take profit: 2080.8959714285716 +2025-03-10 14:24:37,435 - INFO - CLOSED short at 2117.39 | PnL: -0.23% | $-0.62 +2025-03-10 14:24:37,435 - INFO - OPENED LONG at 2117.39 | Stop loss: 2106.7864642857144 | Take profit: 2149.1757285714284 +2025-03-10 14:24:37,458 - INFO - CLOSED long at 2115.3 | PnL: -0.10% | $-0.37 +2025-03-10 14:24:37,458 - INFO - OPENED SHORT at 2115.3 | Stop loss: 2125.893085714286 | Take profit: 2083.545621428572 +2025-03-10 14:24:37,824 - INFO - STOP LOSS hit for short at 2125.893085714286 | PnL: -0.50% | $-1.13 +2025-03-10 14:24:37,846 - INFO - OPENED SHORT at 2129.3 | Stop loss: 2139.9630857142856 | Take profit: 2097.335621428572 +2025-03-10 14:24:38,545 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 28.6% in downtrends | Avg Win=$0.92, Avg Loss=$-0.78 +2025-03-10 14:24:38,546 - INFO - Episode 23: Reward=183.51, Balance=$93.34, Win Rate=30.8%, Trades=26, Episode PnL=$-5.36, Total PnL=$-149.64, Max Drawdown=6.8%, Pred Accuracy=99.7% +2025-03-10 14:24:38,546 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:24:38,731 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:24:39,713 - INFO - CLOSED short at 2067.79 | PnL: 0.01% | $-0.18 +2025-03-10 14:24:39,713 - INFO - OPENED LONG at 2067.79 | Stop loss: 2057.434464285714 | Take profit: 2098.8317285714284 +2025-03-10 14:24:39,735 - INFO - CLOSED long at 2067.46 | PnL: -0.02% | $-0.23 +2025-03-10 14:24:39,735 - INFO - OPENED SHORT at 2067.46 | Stop loss: 2077.813885714286 | Take profit: 2036.4232214285714 +2025-03-10 14:24:40,282 - INFO - CLOSED short at 2067.84 | PnL: -0.02% | $-0.23 +2025-03-10 14:24:40,323 - INFO - OPENED SHORT at 2067.11 | Stop loss: 2077.4621357142855 | Take profit: 2036.0784714285717 +2025-03-10 14:24:40,391 - INFO - CLOSED short at 2066.1 | PnL: 0.05% | $-0.10 +2025-03-10 14:24:40,417 - INFO - OPENED SHORT at 2065.28 | Stop loss: 2075.6229857142857 | Take profit: 2034.2759214285716 +2025-03-10 14:24:42,101 - INFO - CLOSED short at 2058.28 | PnL: 0.34% | $0.47 +2025-03-10 14:24:42,102 - INFO - OPENED LONG at 2058.28 | Stop loss: 2047.9720142857145 | Take profit: 2089.179078571429 +2025-03-10 14:24:42,124 - INFO - CLOSED long at 2056.28 | PnL: -0.10% | $-0.39 +2025-03-10 14:24:42,125 - INFO - OPENED SHORT at 2056.28 | Stop loss: 2066.577985714286 | Take profit: 2025.4109214285716 +2025-03-10 14:24:42,352 - INFO - CLOSED short at 2061.66 | PnL: -0.26% | $-0.71 +2025-03-10 14:24:42,377 - INFO - OPENED SHORT at 2061.5 | Stop loss: 2071.8240857142855 | Take profit: 2030.5526214285715 +2025-03-10 14:24:42,811 - INFO - STOP LOSS hit for short at 2071.8240857142855 | PnL: -0.50% | $-1.18 +2025-03-10 14:24:42,837 - INFO - OPENED SHORT at 2074.3 | Stop loss: 2084.688085714286 | Take profit: 2043.1606214285716 +2025-03-10 14:24:44,674 - INFO - CLOSED short at 2070.19 | PnL: 0.20% | $0.19 +2025-03-10 14:24:44,714 - INFO - OPENED SHORT at 2070.1 | Stop loss: 2080.4670857142855 | Take profit: 2039.0236214285712 +2025-03-10 14:24:46,338 - INFO - STOP LOSS hit for short at 2080.4670857142855 | PnL: -0.50% | $-1.16 +2025-03-10 14:24:46,362 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:24:46,384 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.15 +2025-03-10 14:24:46,408 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:24:46,511 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.14 +2025-03-10 14:24:46,535 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:24:46,643 - INFO - CLOSED short at 2134.78 | PnL: 0.30% | $0.38 +2025-03-10 14:24:46,644 - INFO - OPENED LONG at 2134.78 | Stop loss: 2124.0895142857144 | Take profit: 2166.826578571429 +2025-03-10 14:24:46,689 - INFO - CLOSED long at 2126.99 | PnL: -0.36% | $-0.87 +2025-03-10 14:24:46,689 - INFO - OPENED SHORT at 2126.99 | Stop loss: 2137.6415357142855 | Take profit: 2095.0602714285715 +2025-03-10 14:24:47,257 - INFO - CLOSED short at 2110.9 | PnL: 0.76% | $1.22 +2025-03-10 14:24:47,278 - INFO - OPENED SHORT at 2108.71 | Stop loss: 2119.270135714286 | Take profit: 2077.0544714285716 +2025-03-10 14:24:49,092 - INFO - CLOSED short at 2106.15 | PnL: 0.12% | $0.04 +2025-03-10 14:24:49,129 - INFO - OPENED SHORT at 2103.48 | Stop loss: 2114.013985714286 | Take profit: 2071.9029214285715 +2025-03-10 14:24:49,730 - INFO - STOP LOSS hit for short at 2114.013985714286 | PnL: -0.50% | $-1.13 +2025-03-10 14:24:49,767 - INFO - OPENED SHORT at 2113.61 | Stop loss: 2124.194635714286 | Take profit: 2081.8809714285717 +2025-03-10 14:24:50,407 - INFO - CLOSED short at 2125.11 | PnL: -0.54% | $-1.20 +2025-03-10 14:24:50,407 - INFO - OPENED LONG at 2125.11 | Stop loss: 2114.4678642857143 | Take profit: 2157.0115285714287 +2025-03-10 14:24:50,428 - INFO - CLOSED long at 2127.79 | PnL: 0.13% | $0.05 +2025-03-10 14:24:50,429 - INFO - OPENED SHORT at 2127.79 | Stop loss: 2138.4455357142856 | Take profit: 2095.8482714285715 +2025-03-10 14:24:51,189 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 22.2% in downtrends | Avg Win=$0.39, Avg Loss=$-0.74 +2025-03-10 14:24:51,191 - INFO - Episode 24: Reward=180.98, Balance=$92.68, Win Rate=31.6%, Trades=19, Episode PnL=$-5.88, Total PnL=$-156.96, Max Drawdown=6.2%, Pred Accuracy=99.9% +2025-03-10 14:24:51,191 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:24:52,117 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:24:52,555 - INFO - CLOSED short at 2068.9 | PnL: -0.04% | $-0.28 +2025-03-10 14:24:52,596 - INFO - OPENED SHORT at 2068.59 | Stop loss: 2078.949535714286 | Take profit: 2037.5362714285716 +2025-03-10 14:24:52,745 - INFO - CLOSED short at 2072.75 | PnL: -0.20% | $-0.60 +2025-03-10 14:24:52,782 - INFO - OPENED SHORT at 2073.11 | Stop loss: 2083.4921357142857 | Take profit: 2041.9884714285715 +2025-03-10 14:24:53,066 - INFO - CLOSED short at 2068.32 | PnL: 0.23% | $0.26 +2025-03-10 14:24:53,067 - INFO - OPENED LONG at 2068.32 | Stop loss: 2057.9618142857144 | Take profit: 2099.3696785714287 +2025-03-10 14:24:53,090 - INFO - CLOSED long at 2067.0 | PnL: -0.06% | $-0.32 +2025-03-10 14:24:53,090 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.3515857142856 | Take profit: 2035.9701214285715 +2025-03-10 14:24:54,185 - INFO - CLOSED short at 2059.59 | PnL: 0.36% | $0.51 +2025-03-10 14:24:54,186 - INFO - OPENED LONG at 2059.59 | Stop loss: 2049.2754642857144 | Take profit: 2090.5087285714285 +2025-03-10 14:24:54,207 - INFO - CLOSED long at 2061.3 | PnL: 0.08% | $-0.03 +2025-03-10 14:24:54,207 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.623085714286 | Take profit: 2030.3556214285716 +2025-03-10 14:24:54,270 - INFO - CLOSED short at 2066.24 | PnL: -0.24% | $-0.67 +2025-03-10 14:24:54,271 - INFO - OPENED LONG at 2066.24 | Stop loss: 2055.892214285714 | Take profit: 2097.2584785714284 +2025-03-10 14:24:54,292 - INFO - CLOSED long at 2067.1 | PnL: 0.04% | $-0.11 +2025-03-10 14:24:54,293 - INFO - OPENED SHORT at 2067.1 | Stop loss: 2077.4520857142857 | Take profit: 2036.0686214285715 +2025-03-10 14:24:54,576 - INFO - CLOSED short at 2060.9 | PnL: 0.30% | $0.39 +2025-03-10 14:24:54,576 - INFO - OPENED LONG at 2060.9 | Stop loss: 2050.5789142857143 | Take profit: 2091.8383785714286 +2025-03-10 14:24:54,597 - INFO - CLOSED long at 2060.65 | PnL: -0.01% | $-0.22 +2025-03-10 14:24:54,597 - INFO - OPENED SHORT at 2060.65 | Stop loss: 2070.969835714286 | Take profit: 2029.7153714285716 +2025-03-10 14:24:56,115 - INFO - STOP LOSS hit for short at 2070.969835714286 | PnL: -0.50% | $-1.18 +2025-03-10 14:24:56,140 - INFO - OPENED SHORT at 2074.3 | Stop loss: 2084.688085714286 | Take profit: 2043.1606214285716 +2025-03-10 14:24:57,288 - INFO - CLOSED short at 2070.8 | PnL: 0.17% | $0.13 +2025-03-10 14:24:57,325 - INFO - OPENED SHORT at 2070.35 | Stop loss: 2080.718335714286 | Take profit: 2039.2698714285714 +2025-03-10 14:24:58,023 - INFO - CLOSED short at 2068.1 | PnL: 0.11% | $0.02 +2025-03-10 14:24:58,023 - INFO - OPENED LONG at 2068.1 | Stop loss: 2057.742914285714 | Take profit: 2099.1463785714286 +2025-03-10 14:24:58,074 - INFO - CLOSED long at 2069.0 | PnL: 0.04% | $-0.11 +2025-03-10 14:24:58,074 - INFO - OPENED SHORT at 2069.0 | Stop loss: 2079.361585714286 | Take profit: 2037.9401214285715 +2025-03-10 14:25:00,013 - INFO - STOP LOSS hit for short at 2079.361585714286 | PnL: -0.50% | $-1.17 +2025-03-10 14:25:00,036 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:25:00,062 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.15 +2025-03-10 14:25:00,090 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:25:00,259 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.14 +2025-03-10 14:25:00,299 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:25:00,732 - INFO - TAKE PROFIT hit for short at 2109.1556214285715 | PnL: 1.50% | $2.62 +2025-03-10 14:25:00,755 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:25:04,649 - INFO - STOP LOSS hit for short at 2121.1695857142854 | PnL: -0.50% | $-1.16 +2025-03-10 14:25:04,681 - INFO - OPENED SHORT at 2121.2 | Stop loss: 2131.8225857142857 | Take profit: 2089.357121428571 +2025-03-10 14:25:04,789 - INFO - STOP LOSS hit for short at 2131.8225857142857 | PnL: -0.50% | $-1.14 +2025-03-10 14:25:04,813 - INFO - OPENED SHORT at 2136.26 | Stop loss: 2146.957885714286 | Take profit: 2104.1912214285717 +2025-03-10 14:25:05,416 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 41.7% in downtrends | Avg Win=$0.66, Avg Loss=$-0.66 +2025-03-10 14:25:05,417 - INFO - Episode 25: Reward=181.02, Balance=$94.65, Win Rate=30.0%, Trades=20, Episode PnL=$-4.55, Total PnL=$-162.31, Max Drawdown=5.7%, Pred Accuracy=99.7% +2025-03-10 14:25:05,418 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:25:05,612 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:25:05,667 - INFO - CLOSED short at 2070.36 | PnL: -0.11% | $-0.42 +2025-03-10 14:25:05,696 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.261085714286 | Take profit: 2037.8416214285717 +2025-03-10 14:25:05,867 - INFO - CLOSED short at 2067.51 | PnL: 0.07% | $-0.06 +2025-03-10 14:25:05,867 - INFO - OPENED LONG at 2067.51 | Stop loss: 2057.1558642857144 | Take profit: 2098.5475285714288 +2025-03-10 14:25:05,898 - INFO - CLOSED long at 2069.01 | PnL: 0.07% | $-0.05 +2025-03-10 14:25:05,899 - INFO - OPENED SHORT at 2069.01 | Stop loss: 2079.3716357142857 | Take profit: 2037.9499714285716 +2025-03-10 14:25:06,472 - INFO - CLOSED short at 2071.39 | PnL: -0.12% | $-0.42 +2025-03-10 14:25:06,536 - INFO - OPENED SHORT at 2071.36 | Stop loss: 2081.7333857142858 | Take profit: 2040.2647214285716 +2025-03-10 14:25:06,560 - INFO - CLOSED short at 2072.75 | PnL: -0.07% | $-0.33 +2025-03-10 14:25:06,560 - INFO - OPENED LONG at 2072.75 | Stop loss: 2062.3696642857144 | Take profit: 2103.866128571429 +2025-03-10 14:25:06,587 - INFO - CLOSED long at 2073.11 | PnL: 0.02% | $-0.16 +2025-03-10 14:25:06,588 - INFO - OPENED SHORT at 2073.11 | Stop loss: 2083.4921357142857 | Take profit: 2041.9884714285715 +2025-03-10 14:25:07,586 - INFO - CLOSED short at 2066.1 | PnL: 0.34% | $0.47 +2025-03-10 14:25:07,586 - INFO - OPENED LONG at 2066.1 | Stop loss: 2055.7529142857143 | Take profit: 2097.1163785714284 +2025-03-10 14:25:07,635 - INFO - CLOSED long at 2065.28 | PnL: -0.04% | $-0.27 +2025-03-10 14:25:07,637 - INFO - OPENED SHORT at 2065.28 | Stop loss: 2075.6229857142857 | Take profit: 2034.2759214285716 +2025-03-10 14:25:09,281 - INFO - CLOSED short at 2059.16 | PnL: 0.30% | $0.38 +2025-03-10 14:25:09,325 - INFO - OPENED SHORT at 2059.02 | Stop loss: 2069.3316857142854 | Take profit: 2028.1098214285712 +2025-03-10 14:25:09,437 - INFO - CLOSED short at 2058.28 | PnL: 0.04% | $-0.13 +2025-03-10 14:25:09,437 - INFO - OPENED LONG at 2058.28 | Stop loss: 2047.9720142857145 | Take profit: 2089.179078571429 +2025-03-10 14:25:09,459 - INFO - CLOSED long at 2056.28 | PnL: -0.10% | $-0.39 +2025-03-10 14:25:09,460 - INFO - OPENED SHORT at 2056.28 | Stop loss: 2066.577985714286 | Take profit: 2025.4109214285716 +2025-03-10 14:25:10,019 - INFO - STOP LOSS hit for short at 2066.577985714286 | PnL: -0.50% | $-1.18 +2025-03-10 14:25:10,074 - INFO - OPENED SHORT at 2067.33 | Stop loss: 2077.6832357142857 | Take profit: 2036.2951714285712 +2025-03-10 14:25:10,232 - INFO - STOP LOSS hit for short at 2077.6832357142857 | PnL: -0.50% | $-1.16 +2025-03-10 14:25:10,255 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.401635714286 | Take profit: 2043.8599714285717 +2025-03-10 14:25:10,994 - INFO - CLOSED short at 2064.31 | PnL: 0.52% | $0.79 +2025-03-10 14:25:11,026 - INFO - OPENED SHORT at 2065.5 | Stop loss: 2075.844085714286 | Take profit: 2034.4926214285715 +2025-03-10 14:25:12,002 - INFO - STOP LOSS hit for short at 2075.844085714286 | PnL: -0.50% | $-1.16 +2025-03-10 14:25:12,060 - INFO - OPENED SHORT at 2075.61 | Stop loss: 2086.004635714286 | Take profit: 2044.4509714285716 +2025-03-10 14:25:13,561 - INFO - CLOSED short at 2051.99 | PnL: 1.14% | $1.98 +2025-03-10 14:25:13,600 - INFO - OPENED SHORT at 2058.3 | Stop loss: 2068.6080857142856 | Take profit: 2027.4006214285716 +2025-03-10 14:25:14,143 - INFO - STOP LOSS hit for short at 2068.6080857142856 | PnL: -0.50% | $-1.17 +2025-03-10 14:25:14,191 - INFO - OPENED SHORT at 2070.24 | Stop loss: 2080.6077857142855 | Take profit: 2039.1615214285712 +2025-03-10 14:25:14,587 - INFO - STOP LOSS hit for short at 2080.6077857142855 | PnL: -0.50% | $-1.15 +2025-03-10 14:25:14,646 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:25:14,704 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.14 +2025-03-10 14:25:14,735 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:25:14,865 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.13 +2025-03-10 14:25:14,887 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:25:15,418 - INFO - TAKE PROFIT hit for short at 2109.1556214285715 | PnL: 1.50% | $2.59 +2025-03-10 14:25:15,465 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:25:15,638 - INFO - CLOSED short at 2112.99 | PnL: -0.11% | $-0.41 +2025-03-10 14:25:15,661 - INFO - OPENED SHORT at 2120.81 | Stop loss: 2131.4306357142855 | Take profit: 2088.9729714285713 +2025-03-10 14:25:16,767 - INFO - TAKE PROFIT hit for short at 2088.9729714285713 | PnL: 1.50% | $2.66 +2025-03-10 14:25:16,800 - INFO - OPENED SHORT at 2083.28 | Stop loss: 2093.712985714286 | Take profit: 2052.0059214285716 +2025-03-10 14:25:17,479 - INFO - CLOSED short at 2087.47 | PnL: -0.20% | $-0.59 +2025-03-10 14:25:17,479 - INFO - OPENED LONG at 2087.47 | Stop loss: 2077.016064285714 | Take profit: 2118.8069285714287 +2025-03-10 14:25:17,535 - INFO - CLOSED long at 2087.78 | PnL: 0.01% | $-0.16 +2025-03-10 14:25:17,536 - INFO - OPENED SHORT at 2087.78 | Stop loss: 2098.235485714286 | Take profit: 2056.4384214285715 +2025-03-10 14:25:17,840 - INFO - STOP LOSS hit for short at 2098.235485714286 | PnL: -0.50% | $-1.16 +2025-03-10 14:25:17,893 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.1647857142857 | Take profit: 2070.0905214285713 +2025-03-10 14:25:18,736 - INFO - STOP LOSS hit for short at 2112.1647857142857 | PnL: -0.50% | $-1.15 +2025-03-10 14:25:18,763 - INFO - OPENED SHORT at 2110.87 | Stop loss: 2121.440935714286 | Take profit: 2079.1820714285714 +2025-03-10 14:25:19,562 - INFO - STOP LOSS hit for short at 2121.440935714286 | PnL: -0.50% | $-1.13 +2025-03-10 14:25:19,589 - INFO - OPENED SHORT at 2121.2 | Stop loss: 2131.8225857142857 | Take profit: 2089.357121428571 +2025-03-10 14:25:19,686 - INFO - STOP LOSS hit for short at 2131.8225857142857 | PnL: -0.50% | $-1.12 +2025-03-10 14:25:19,711 - INFO - OPENED SHORT at 2136.26 | Stop loss: 2146.957885714286 | Take profit: 2104.1912214285717 +2025-03-10 14:25:20,133 - INFO - CLOSED short at 2124.49 | PnL: 0.55% | $0.83 +2025-03-10 14:25:20,186 - INFO - OPENED SHORT at 2123.37 | Stop loss: 2134.0034357142854 | Take profit: 2091.4945714285714 +2025-03-10 14:25:20,487 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 16.7% in downtrends | Avg Win=$1.39, Avg Loss=$-0.70 +2025-03-10 14:25:20,488 - INFO - Episode 26: Reward=177.93, Balance=$93.66, Win Rate=23.3%, Trades=30, Episode PnL=$-5.30, Total PnL=$-168.66, Max Drawdown=7.2%, Pred Accuracy=99.7% +2025-03-10 14:25:20,488 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:25:20,829 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:25:29,106 - INFO - STOP LOSS hit for short at 2078.376685714286 | PnL: -0.50% | $-1.19 +2025-03-10 14:25:29,140 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:25:29,193 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.18 +2025-03-10 14:25:29,239 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:25:29,385 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.16 +2025-03-10 14:25:29,407 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:25:29,915 - INFO - TAKE PROFIT hit for short at 2109.1556214285715 | PnL: 1.50% | $2.68 +2025-03-10 14:25:29,967 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:25:31,823 - INFO - CLOSED short at 2089.96 | PnL: 0.98% | $1.73 +2025-03-10 14:25:31,824 - INFO - OPENED LONG at 2089.96 | Stop loss: 2079.4936142857146 | Take profit: 2121.334278571429 +2025-03-10 14:25:31,870 - INFO - CLOSED long at 2087.0 | PnL: -0.14% | $-0.48 +2025-03-10 14:25:31,871 - INFO - OPENED SHORT at 2087.0 | Stop loss: 2097.4515857142856 | Take profit: 2055.6701214285713 +2025-03-10 14:25:32,117 - INFO - STOP LOSS hit for short at 2097.4515857142856 | PnL: -0.50% | $-1.20 +2025-03-10 14:25:32,157 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.5065357142853 | Take profit: 2068.465271428571 +2025-03-10 14:25:32,703 - INFO - CLOSED short at 2103.52 | PnL: -0.17% | $-0.53 +2025-03-10 14:25:32,703 - INFO - OPENED LONG at 2103.52 | Stop loss: 2092.9858142857142 | Take profit: 2135.0976785714283 +2025-03-10 14:25:32,730 - INFO - CLOSED long at 2104.4 | PnL: 0.04% | $-0.11 +2025-03-10 14:25:32,731 - INFO - OPENED SHORT at 2104.4 | Stop loss: 2114.9385857142856 | Take profit: 2072.8091214285714 +2025-03-10 14:25:32,802 - INFO - CLOSED short at 2100.0 | PnL: 0.21% | $0.21 +2025-03-10 14:25:32,803 - INFO - OPENED LONG at 2100.0 | Stop loss: 2089.4834142857144 | Take profit: 2131.5248785714284 +2025-03-10 14:25:32,828 - INFO - CLOSED long at 2102.7 | PnL: 0.13% | $0.06 +2025-03-10 14:25:32,830 - INFO - OPENED SHORT at 2102.7 | Stop loss: 2113.2300857142855 | Take profit: 2071.1346214285713 +2025-03-10 14:25:32,993 - INFO - CLOSED short at 2108.0 | PnL: -0.25% | $-0.69 +2025-03-10 14:25:32,994 - INFO - OPENED LONG at 2108.0 | Stop loss: 2097.4434142857144 | Take profit: 2139.6448785714288 +2025-03-10 14:25:33,044 - INFO - CLOSED long at 2112.28 | PnL: 0.20% | $0.20 +2025-03-10 14:25:33,045 - INFO - OPENED SHORT at 2112.28 | Stop loss: 2122.857985714286 | Take profit: 2080.5709214285716 +2025-03-10 14:25:33,942 - INFO - STOP LOSS hit for short at 2122.857985714286 | PnL: -0.50% | $-1.17 +2025-03-10 14:25:33,966 - INFO - OPENED SHORT at 2127.79 | Stop loss: 2138.4455357142856 | Take profit: 2095.8482714285715 +2025-03-10 14:25:34,427 - INFO - CLOSED short at 2123.37 | PnL: 0.21% | $0.21 +2025-03-10 14:25:34,450 - INFO - OPENED SHORT at 2121.73 | Stop loss: 2132.3552357142858 | Take profit: 2089.8791714285717 +2025-03-10 14:25:34,720 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 30.0% in downtrends | Avg Win=$0.85, Avg Loss=$-0.86 +2025-03-10 14:25:34,721 - INFO - Episode 27: Reward=186.98, Balance=$97.37, Win Rate=40.0%, Trades=15, Episode PnL=$-2.29, Total PnL=$-171.29, Max Drawdown=3.5%, Pred Accuracy=99.6% +2025-03-10 14:25:34,722 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:25:34,924 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:25:36,496 - INFO - CLOSED short at 2070.3 | PnL: -0.11% | $-0.42 +2025-03-10 14:25:36,496 - INFO - OPENED LONG at 2070.3 | Stop loss: 2059.9319142857144 | Take profit: 2101.379378571429 +2025-03-10 14:25:36,534 - INFO - CLOSED long at 2071.59 | PnL: 0.06% | $-0.07 +2025-03-10 14:25:36,534 - INFO - OPENED SHORT at 2071.59 | Stop loss: 2081.964535714286 | Take profit: 2040.4912714285717 +2025-03-10 14:25:37,811 - INFO - CLOSED short at 2058.89 | PnL: 0.61% | $1.01 +2025-03-10 14:25:37,811 - INFO - OPENED LONG at 2058.89 | Stop loss: 2048.5789642857144 | Take profit: 2089.7982285714284 +2025-03-10 14:25:37,841 - INFO - CLOSED long at 2059.3 | PnL: 0.02% | $-0.16 +2025-03-10 14:25:37,842 - INFO - OPENED SHORT at 2059.3 | Stop loss: 2069.6130857142857 | Take profit: 2028.3856214285715 +2025-03-10 14:25:38,178 - INFO - CLOSED short at 2064.1 | PnL: -0.23% | $-0.66 +2025-03-10 14:25:38,208 - INFO - OPENED SHORT at 2065.36 | Stop loss: 2075.703385714286 | Take profit: 2034.3547214285716 +2025-03-10 14:25:39,006 - INFO - CLOSED short at 2061.5 | PnL: 0.19% | $0.17 +2025-03-10 14:25:39,029 - INFO - OPENED SHORT at 2061.6 | Stop loss: 2071.9245857142855 | Take profit: 2030.6511214285713 +2025-03-10 14:25:39,432 - INFO - STOP LOSS hit for short at 2071.9245857142855 | PnL: -0.50% | $-1.19 +2025-03-10 14:25:39,453 - INFO - OPENED SHORT at 2074.3 | Stop loss: 2084.688085714286 | Take profit: 2043.1606214285716 +2025-03-10 14:25:40,926 - INFO - CLOSED short at 2074.37 | PnL: -0.00% | $-0.20 +2025-03-10 14:25:40,926 - INFO - OPENED LONG at 2074.37 | Stop loss: 2063.9815642857143 | Take profit: 2105.5104285714287 +2025-03-10 14:25:40,950 - INFO - CLOSED long at 2075.07 | PnL: 0.03% | $-0.13 +2025-03-10 14:25:40,950 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.461935714286 | Take profit: 2043.9190714285717 +2025-03-10 14:25:41,229 - INFO - CLOSED short at 2069.97 | PnL: 0.25% | $0.28 +2025-03-10 14:25:41,230 - INFO - OPENED LONG at 2069.97 | Stop loss: 2059.603564285714 | Take profit: 2101.0444285714284 +2025-03-10 14:25:41,284 - INFO - CLOSED long at 2067.7 | PnL: -0.11% | $-0.41 +2025-03-10 14:25:41,284 - INFO - OPENED SHORT at 2067.7 | Stop loss: 2078.0550857142853 | Take profit: 2036.6596214285712 +2025-03-10 14:25:41,811 - INFO - CLOSED short at 2066.1 | PnL: 0.08% | $-0.04 +2025-03-10 14:25:41,835 - INFO - OPENED SHORT at 2065.06 | Stop loss: 2075.401885714286 | Take profit: 2034.0592214285714 +2025-03-10 14:25:43,380 - INFO - STOP LOSS hit for short at 2075.401885714286 | PnL: -0.50% | $-1.17 +2025-03-10 14:25:43,408 - INFO - OPENED SHORT at 2077.61 | Stop loss: 2088.014635714286 | Take profit: 2046.4209714285716 +2025-03-10 14:25:43,463 - INFO - STOP LOSS hit for short at 2088.014635714286 | PnL: -0.50% | $-1.16 +2025-03-10 14:25:43,486 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.5516857142857 | Take profit: 2071.4498214285713 +2025-03-10 14:25:43,534 - INFO - STOP LOSS hit for short at 2113.5516857142857 | PnL: -0.50% | $-1.14 +2025-03-10 14:25:43,590 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2542857142857 | Take profit: 2107.4220214285715 +2025-03-10 14:25:44,713 - INFO - TAKE PROFIT hit for short at 2107.4220214285715 | PnL: 1.50% | $2.63 +2025-03-10 14:25:44,756 - INFO - OPENED SHORT at 2108.06 | Stop loss: 2118.6168857142857 | Take profit: 2076.414221428571 +2025-03-10 14:25:45,266 - INFO - CLOSED short at 2100.02 | PnL: 0.38% | $0.54 +2025-03-10 14:25:45,310 - INFO - OPENED SHORT at 2098.39 | Stop loss: 2108.8985357142856 | Take profit: 2066.889271428571 +2025-03-10 14:25:47,517 - INFO - STOP LOSS hit for short at 2108.8985357142856 | PnL: -0.50% | $-1.17 +2025-03-10 14:25:47,545 - INFO - OPENED SHORT at 2110.87 | Stop loss: 2121.440935714286 | Take profit: 2079.1820714285714 +2025-03-10 14:25:48,396 - INFO - STOP LOSS hit for short at 2121.440935714286 | PnL: -0.50% | $-1.15 +2025-03-10 14:25:48,425 - INFO - OPENED SHORT at 2121.2 | Stop loss: 2131.8225857142857 | Take profit: 2089.357121428571 +2025-03-10 14:25:48,531 - INFO - STOP LOSS hit for short at 2131.8225857142857 | PnL: -0.50% | $-1.14 +2025-03-10 14:25:48,581 - INFO - OPENED SHORT at 2136.26 | Stop loss: 2146.957885714286 | Take profit: 2104.1912214285717 +2025-03-10 14:25:49,006 - INFO - CLOSED short at 2123.37 | PnL: 0.60% | $0.94 +2025-03-10 14:25:49,006 - INFO - OPENED LONG at 2123.37 | Stop loss: 2112.7365642857144 | Take profit: 2155.2454285714284 +2025-03-10 14:25:49,055 - INFO - CLOSED long at 2121.73 | PnL: -0.08% | $-0.34 +2025-03-10 14:25:49,055 - INFO - OPENED SHORT at 2121.73 | Stop loss: 2132.3552357142858 | Take profit: 2089.8791714285717 +2025-03-10 14:25:49,323 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 30.8% in downtrends | Avg Win=$0.93, Avg Loss=$-0.66 +2025-03-10 14:25:49,324 - INFO - Episode 28: Reward=181.37, Balance=$95.03, Win Rate=27.3%, Trades=22, Episode PnL=$-3.86, Total PnL=$-176.25, Max Drawdown=5.6%, Pred Accuracy=99.5% +2025-03-10 14:25:49,326 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:25:49,667 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:25:52,446 - INFO - CLOSED short at 2064.5 | PnL: 0.17% | $0.14 +2025-03-10 14:25:52,446 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.160914285714 | Take profit: 2095.4923785714286 +2025-03-10 14:25:52,491 - INFO - CLOSED long at 2063.5 | PnL: -0.05% | $-0.29 +2025-03-10 14:25:52,492 - INFO - OPENED SHORT at 2063.5 | Stop loss: 2073.8340857142857 | Take profit: 2032.5226214285715 +2025-03-10 14:25:52,604 - INFO - CLOSED short at 2059.3 | PnL: 0.20% | $0.21 +2025-03-10 14:25:52,605 - INFO - OPENED LONG at 2059.3 | Stop loss: 2048.9869142857146 | Take profit: 2090.214378571429 +2025-03-10 14:25:52,629 - INFO - CLOSED long at 2060.31 | PnL: 0.05% | $-0.10 +2025-03-10 14:25:52,629 - INFO - OPENED SHORT at 2060.31 | Stop loss: 2070.6281357142857 | Take profit: 2029.3804714285714 +2025-03-10 14:25:54,237 - INFO - STOP LOSS hit for short at 2070.6281357142857 | PnL: -0.50% | $-1.19 +2025-03-10 14:25:54,266 - INFO - OPENED SHORT at 2074.3 | Stop loss: 2084.688085714286 | Take profit: 2043.1606214285716 +2025-03-10 14:25:54,952 - INFO - CLOSED short at 2065.66 | PnL: 0.42% | $0.62 +2025-03-10 14:25:54,953 - INFO - OPENED LONG at 2065.66 | Stop loss: 2055.315114285714 | Take profit: 2096.6697785714287 +2025-03-10 14:25:54,975 - INFO - CLOSED long at 2063.95 | PnL: -0.08% | $-0.36 +2025-03-10 14:25:54,975 - INFO - OPENED SHORT at 2063.95 | Stop loss: 2074.2863357142855 | Take profit: 2032.9658714285713 +2025-03-10 14:25:55,850 - INFO - STOP LOSS hit for short at 2074.2863357142855 | PnL: -0.50% | $-1.18 +2025-03-10 14:25:55,896 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.461935714286 | Take profit: 2043.9190714285717 +2025-03-10 14:25:56,668 - INFO - CLOSED short at 2065.7 | PnL: 0.45% | $0.68 +2025-03-10 14:25:56,694 - INFO - OPENED SHORT at 2065.8 | Stop loss: 2076.145585714286 | Take profit: 2034.7881214285715 +2025-03-10 14:25:57,021 - INFO - CLOSED short at 2064.5 | PnL: 0.06% | $-0.07 +2025-03-10 14:25:57,022 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.160914285714 | Take profit: 2095.4923785714286 +2025-03-10 14:25:57,052 - INFO - CLOSED long at 2066.33 | PnL: 0.09% | $-0.02 +2025-03-10 14:25:57,053 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.6782357142856 | Take profit: 2035.3101714285713 +2025-03-10 14:25:58,484 - INFO - STOP LOSS hit for short at 2076.6782357142856 | PnL: -0.50% | $-1.17 +2025-03-10 14:25:58,525 - INFO - OPENED SHORT at 2085.56 | Stop loss: 2096.0043857142855 | Take profit: 2054.2517214285713 +2025-03-10 14:25:58,578 - INFO - STOP LOSS hit for short at 2096.0043857142855 | PnL: -0.50% | $-1.16 +2025-03-10 14:25:58,603 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:25:58,740 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.15 +2025-03-10 14:25:58,784 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:25:59,422 - INFO - TAKE PROFIT hit for short at 2109.1556214285715 | PnL: 1.50% | $2.64 +2025-03-10 14:25:59,470 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:26:00,085 - INFO - CLOSED short at 2102.29 | PnL: 0.39% | $0.57 +2025-03-10 14:26:00,157 - INFO - OPENED SHORT at 2099.25 | Stop loss: 2109.7628357142858 | Take profit: 2067.736371428571 +2025-03-10 14:26:02,072 - INFO - CLOSED short at 2103.48 | PnL: -0.20% | $-0.59 +2025-03-10 14:26:02,072 - INFO - OPENED LONG at 2103.48 | Stop loss: 2092.946014285714 | Take profit: 2135.0570785714285 +2025-03-10 14:26:02,140 - INFO - CLOSED long at 2104.93 | PnL: 0.07% | $-0.06 +2025-03-10 14:26:02,140 - INFO - OPENED SHORT at 2104.93 | Stop loss: 2115.4712357142857 | Take profit: 2073.331171428571 +2025-03-10 14:26:02,440 - INFO - CLOSED short at 2105.21 | PnL: -0.01% | $-0.22 +2025-03-10 14:26:02,464 - INFO - OPENED SHORT at 2103.9 | Stop loss: 2114.4360857142856 | Take profit: 2072.3166214285716 +2025-03-10 14:26:02,865 - INFO - STOP LOSS hit for short at 2114.4360857142856 | PnL: -0.50% | $-1.16 +2025-03-10 14:26:02,890 - INFO - OPENED SHORT at 2113.61 | Stop loss: 2124.194635714286 | Take profit: 2081.8809714285717 +2025-03-10 14:26:03,526 - INFO - STOP LOSS hit for short at 2124.194635714286 | PnL: -0.50% | $-1.15 +2025-03-10 14:26:03,548 - INFO - OPENED SHORT at 2127.79 | Stop loss: 2138.4455357142856 | Take profit: 2095.8482714285715 +2025-03-10 14:26:04,295 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 30.8% in downtrends | Avg Win=$0.81, Avg Loss=$-0.66 +2025-03-10 14:26:04,296 - INFO - Episode 29: Reward=88.61, Balance=$94.98, Win Rate=28.6%, Trades=21, Episode PnL=$-4.18, Total PnL=$-181.27, Max Drawdown=5.1%, Pred Accuracy=99.4% +2025-03-10 14:26:04,297 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:26:05,387 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:26:05,745 - INFO - CLOSED short at 2065.99 | PnL: 0.10% | $-0.00 +2025-03-10 14:26:05,775 - INFO - OPENED SHORT at 2066.19 | Stop loss: 2076.5375357142857 | Take profit: 2035.1722714285715 +2025-03-10 14:26:05,850 - INFO - CLOSED short at 2066.18 | PnL: 0.00% | $-0.20 +2025-03-10 14:26:05,851 - INFO - OPENED LONG at 2066.18 | Stop loss: 2055.8325142857143 | Take profit: 2097.1975785714285 +2025-03-10 14:26:05,878 - INFO - CLOSED long at 2068.76 | PnL: 0.12% | $0.05 +2025-03-10 14:26:05,878 - INFO - OPENED SHORT at 2068.76 | Stop loss: 2079.120385714286 | Take profit: 2037.7037214285717 +2025-03-10 14:26:07,328 - INFO - CLOSED short at 2065.28 | PnL: 0.17% | $0.14 +2025-03-10 14:26:07,328 - INFO - OPENED LONG at 2065.28 | Stop loss: 2054.937014285714 | Take profit: 2096.284078571429 +2025-03-10 14:26:07,353 - INFO - CLOSED long at 2066.39 | PnL: 0.05% | $-0.09 +2025-03-10 14:26:07,353 - INFO - OPENED SHORT at 2066.39 | Stop loss: 2076.7385357142853 | Take profit: 2035.3692714285712 +2025-03-10 14:26:10,183 - INFO - STOP LOSS hit for short at 2076.7385357142853 | PnL: -0.50% | $-1.19 +2025-03-10 14:26:10,208 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.401635714286 | Take profit: 2043.8599714285717 +2025-03-10 14:26:10,719 - INFO - CLOSED short at 2065.66 | PnL: 0.45% | $0.69 +2025-03-10 14:26:10,720 - INFO - OPENED LONG at 2065.66 | Stop loss: 2055.315114285714 | Take profit: 2096.6697785714287 +2025-03-10 14:26:10,778 - INFO - CLOSED long at 2063.95 | PnL: -0.08% | $-0.36 +2025-03-10 14:26:10,778 - INFO - OPENED SHORT at 2063.95 | Stop loss: 2074.2863357142855 | Take profit: 2032.9658714285713 +2025-03-10 14:26:11,701 - INFO - CLOSED short at 2074.37 | PnL: -0.50% | $-1.19 +2025-03-10 14:26:11,702 - INFO - OPENED LONG at 2074.37 | Stop loss: 2063.9815642857143 | Take profit: 2105.5104285714287 +2025-03-10 14:26:11,734 - INFO - CLOSED long at 2075.07 | PnL: 0.03% | $-0.13 +2025-03-10 14:26:11,734 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.461935714286 | Take profit: 2043.9190714285717 +2025-03-10 14:26:11,781 - INFO - CLOSED short at 2073.27 | PnL: 0.09% | $-0.03 +2025-03-10 14:26:11,810 - INFO - OPENED SHORT at 2073.99 | Stop loss: 2084.376535714285 | Take profit: 2042.8552714285713 +2025-03-10 14:26:12,650 - INFO - CLOSED short at 2064.11 | PnL: 0.48% | $0.73 +2025-03-10 14:26:12,650 - INFO - OPENED LONG at 2064.11 | Stop loss: 2053.7728642857146 | Take profit: 2095.0965285714287 +2025-03-10 14:26:12,675 - INFO - CLOSED long at 2064.5 | PnL: 0.02% | $-0.16 +2025-03-10 14:26:12,676 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.8390857142854 | Take profit: 2033.5076214285714 +2025-03-10 14:26:13,890 - INFO - CLOSED short at 2071.8 | PnL: -0.35% | $-0.88 +2025-03-10 14:26:13,951 - INFO - OPENED SHORT at 2074.9 | Stop loss: 2085.291085714286 | Take profit: 2043.7516214285715 +2025-03-10 14:26:14,026 - INFO - CLOSED short at 2076.08 | PnL: -0.06% | $-0.30 +2025-03-10 14:26:14,090 - INFO - OPENED SHORT at 2077.61 | Stop loss: 2088.014635714286 | Take profit: 2046.4209714285716 +2025-03-10 14:26:14,151 - INFO - STOP LOSS hit for short at 2088.014635714286 | PnL: -0.50% | $-1.16 +2025-03-10 14:26:14,181 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.5516857142857 | Take profit: 2071.4498214285713 +2025-03-10 14:26:14,218 - INFO - STOP LOSS hit for short at 2113.5516857142857 | PnL: -0.50% | $-1.14 +2025-03-10 14:26:14,252 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2542857142857 | Take profit: 2107.4220214285715 +2025-03-10 14:26:14,938 - INFO - CLOSED short at 2119.14 | PnL: 0.95% | $1.61 +2025-03-10 14:26:14,963 - INFO - OPENED SHORT at 2119.07 | Stop loss: 2129.681935714286 | Take profit: 2087.2590714285716 +2025-03-10 14:26:16,403 - INFO - TAKE PROFIT hit for short at 2087.2590714285716 | PnL: 1.50% | $2.68 +2025-03-10 14:26:16,443 - INFO - OPENED SHORT at 2088.44 | Stop loss: 2098.8987857142856 | Take profit: 2057.0885214285718 +2025-03-10 14:26:17,336 - INFO - STOP LOSS hit for short at 2098.8987857142856 | PnL: -0.50% | $-1.18 +2025-03-10 14:26:17,367 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.1647857142857 | Take profit: 2070.0905214285713 +2025-03-10 14:26:17,872 - INFO - CLOSED short at 2103.41 | PnL: -0.08% | $-0.36 +2025-03-10 14:26:17,896 - INFO - OPENED SHORT at 2104.73 | Stop loss: 2115.2702357142857 | Take profit: 2073.1341714285713 +2025-03-10 14:26:18,421 - INFO - STOP LOSS hit for short at 2115.2702357142857 | PnL: -0.50% | $-1.16 +2025-03-10 14:26:18,446 - INFO - OPENED SHORT at 2117.39 | Stop loss: 2127.993535714286 | Take profit: 2085.6042714285713 +2025-03-10 14:26:18,659 - INFO - CLOSED short at 2118.19 | PnL: -0.04% | $-0.26 +2025-03-10 14:26:18,692 - INFO - OPENED SHORT at 2118.2 | Stop loss: 2128.8075857142853 | Take profit: 2086.4021214285713 +2025-03-10 14:26:18,874 - INFO - STOP LOSS hit for short at 2128.8075857142853 | PnL: -0.50% | $-1.15 +2025-03-10 14:26:18,898 - INFO - OPENED SHORT at 2135.86 | Stop loss: 2146.5558857142855 | Take profit: 2103.7972214285714 +2025-03-10 14:26:19,219 - INFO - CLOSED short at 2126.43 | PnL: 0.44% | $0.64 +2025-03-10 14:26:19,242 - INFO - OPENED SHORT at 2124.49 | Stop loss: 2135.1290357142852 | Take profit: 2092.597771428571 +2025-03-10 14:26:19,485 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 33.3% in downtrends | Avg Win=$0.93, Avg Loss=$-0.61 +2025-03-10 14:26:19,486 - INFO - Episode 30: Reward=83.72, Balance=$95.59, Win Rate=28.0%, Trades=25, Episode PnL=$-3.72, Total PnL=$-185.69, Max Drawdown=5.2%, Pred Accuracy=99.4% +2025-03-10 14:26:19,611 - INFO - Model saved to checkpoints/trading_agent_episode_30.pt +2025-03-10 14:26:19,612 - INFO - Checkpoint saved at episode 30 +2025-03-10 14:26:19,613 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:26:19,685 - ERROR - Error creating visualization: No module named 'mplfinance' +2025-03-10 14:26:19,685 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2514, in visualize_training_results + from mplfinance.original_flavor import candlestick_ohlc +ModuleNotFoundError: No module named 'mplfinance' + +2025-03-10 14:26:20,921 - ERROR - Error creating visualization: No module named 'mplfinance' +2025-03-10 14:26:20,922 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2514, in visualize_training_results + from mplfinance.original_flavor import candlestick_ohlc +ModuleNotFoundError: No module named 'mplfinance' + +2025-03-10 14:26:21,250 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:26:21,616 - INFO - CLOSED short at 2066.29 | PnL: 0.08% | $-0.03 +2025-03-10 14:26:21,656 - INFO - OPENED SHORT at 2065.08 | Stop loss: 2075.4219857142857 | Take profit: 2034.0789214285714 +2025-03-10 14:26:21,703 - INFO - CLOSED short at 2066.18 | PnL: -0.05% | $-0.30 +2025-03-10 14:26:21,731 - INFO - OPENED SHORT at 2068.76 | Stop loss: 2079.120385714286 | Take profit: 2037.7037214285717 +2025-03-10 14:26:22,696 - INFO - CLOSED short at 2069.2 | PnL: -0.02% | $-0.24 +2025-03-10 14:26:22,696 - INFO - OPENED LONG at 2069.2 | Stop loss: 2058.837414285714 | Take profit: 2100.2628785714282 +2025-03-10 14:26:22,731 - INFO - CLOSED long at 2070.3 | PnL: 0.05% | $-0.09 +2025-03-10 14:26:22,732 - INFO - OPENED SHORT at 2070.3 | Stop loss: 2080.6680857142856 | Take profit: 2039.2206214285716 +2025-03-10 14:26:26,497 - INFO - CLOSED short at 2070.35 | PnL: -0.00% | $-0.20 +2025-03-10 14:26:26,520 - INFO - OPENED SHORT at 2070.61 | Stop loss: 2080.979635714286 | Take profit: 2039.5259714285714 +2025-03-10 14:26:27,166 - INFO - CLOSED short at 2066.89 | PnL: 0.18% | $0.16 +2025-03-10 14:26:27,166 - INFO - OPENED LONG at 2066.89 | Stop loss: 2056.5389642857144 | Take profit: 2097.9182285714287 +2025-03-10 14:26:27,210 - INFO - CLOSED long at 2067.88 | PnL: 0.05% | $-0.10 +2025-03-10 14:26:27,211 - INFO - OPENED SHORT at 2067.88 | Stop loss: 2078.235985714286 | Take profit: 2036.8369214285715 +2025-03-10 14:26:28,529 - INFO - CLOSED short at 2061.84 | PnL: 0.29% | $0.38 +2025-03-10 14:26:28,556 - INFO - OPENED SHORT at 2062.54 | Stop loss: 2072.8692857142855 | Take profit: 2031.5770214285715 +2025-03-10 14:26:28,727 - INFO - STOP LOSS hit for short at 2072.8692857142855 | PnL: -0.50% | $-1.19 +2025-03-10 14:26:28,764 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.4368357142857 | Take profit: 2042.9143714285715 +2025-03-10 14:26:28,972 - INFO - STOP LOSS hit for short at 2084.4368357142857 | PnL: -0.50% | $-1.17 +2025-03-10 14:26:28,998 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:26:29,023 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.16 +2025-03-10 14:26:29,054 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:26:29,224 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.15 +2025-03-10 14:26:29,269 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:26:29,628 - INFO - CLOSED short at 2119.07 | PnL: 1.04% | $1.77 +2025-03-10 14:26:29,628 - INFO - OPENED LONG at 2119.07 | Stop loss: 2108.4580642857145 | Take profit: 2150.8809285714287 +2025-03-10 14:26:29,701 - INFO - CLOSED long at 2107.43 | PnL: -0.55% | $-1.25 +2025-03-10 14:26:29,701 - INFO - OPENED SHORT at 2107.43 | Stop loss: 2117.9837357142856 | Take profit: 2075.793671428571 +2025-03-10 14:26:29,893 - INFO - STOP LOSS hit for short at 2117.9837357142856 | PnL: -0.50% | $-1.14 +2025-03-10 14:26:29,937 - INFO - OPENED SHORT at 2116.48 | Stop loss: 2127.078985714286 | Take profit: 2084.7079214285714 +2025-03-10 14:26:30,341 - INFO - CLOSED short at 2099.25 | PnL: 0.81% | $1.34 +2025-03-10 14:26:30,342 - INFO - OPENED LONG at 2099.25 | Stop loss: 2088.7371642857142 | Take profit: 2130.7636285714284 +2025-03-10 14:26:30,394 - INFO - CLOSED long at 2098.9 | PnL: -0.02% | $-0.22 +2025-03-10 14:26:30,394 - INFO - OPENED SHORT at 2098.9 | Stop loss: 2109.4110857142855 | Take profit: 2067.3916214285714 +2025-03-10 14:26:32,242 - INFO - CLOSED short at 2105.83 | PnL: -0.33% | $-0.81 +2025-03-10 14:26:32,243 - INFO - OPENED LONG at 2105.83 | Stop loss: 2095.284264285714 | Take profit: 2137.4423285714283 +2025-03-10 14:26:32,270 - INFO - CLOSED long at 2103.64 | PnL: -0.10% | $-0.38 +2025-03-10 14:26:32,270 - INFO - OPENED SHORT at 2103.64 | Stop loss: 2114.1747857142855 | Take profit: 2072.0605214285715 +2025-03-10 14:26:32,899 - INFO - STOP LOSS hit for short at 2114.1747857142855 | PnL: -0.50% | $-1.12 +2025-03-10 14:26:32,921 - INFO - OPENED SHORT at 2113.61 | Stop loss: 2124.194635714286 | Take profit: 2081.8809714285717 +2025-03-10 14:26:33,256 - INFO - CLOSED short at 2115.89 | PnL: -0.11% | $-0.38 +2025-03-10 14:26:33,293 - INFO - OPENED SHORT at 2116.81 | Stop loss: 2127.4106357142855 | Take profit: 2085.0329714285713 +2025-03-10 14:26:33,612 - INFO - STOP LOSS hit for short at 2127.4106357142855 | PnL: -0.50% | $-1.11 +2025-03-10 14:26:33,656 - INFO - OPENED SHORT at 2129.3 | Stop loss: 2139.9630857142856 | Take profit: 2097.335621428572 +2025-03-10 14:26:34,107 - INFO - CLOSED short at 2121.73 | PnL: 0.36% | $0.46 +2025-03-10 14:26:34,133 - INFO - OPENED SHORT at 2120.0 | Stop loss: 2130.6165857142855 | Take profit: 2088.1751214285714 +2025-03-10 14:26:34,325 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 25.0% in downtrends | Avg Win=$0.82, Avg Loss=$-0.67 +2025-03-10 14:26:34,326 - INFO - Episode 31: Reward=177.69, Balance=$92.05, Win Rate=21.7%, Trades=23, Episode PnL=$-5.90, Total PnL=$-193.63, Max Drawdown=8.4%, Pred Accuracy=99.5% +2025-03-10 14:26:34,326 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:26:34,657 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:26:34,700 - INFO - CLOSED short at 2070.36 | PnL: -0.11% | $-0.42 +2025-03-10 14:26:34,701 - INFO - OPENED LONG at 2070.36 | Stop loss: 2059.991614285714 | Take profit: 2101.4402785714287 +2025-03-10 14:26:34,724 - INFO - CLOSED long at 2068.9 | PnL: -0.07% | $-0.34 +2025-03-10 14:26:34,725 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.261085714286 | Take profit: 2037.8416214285717 +2025-03-10 14:26:41,589 - INFO - CLOSED short at 2063.01 | PnL: 0.28% | $0.36 +2025-03-10 14:26:41,623 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.0200857142854 | Take profit: 2029.7646214285712 +2025-03-10 14:26:42,232 - INFO - CLOSED short at 2064.08 | PnL: -0.16% | $-0.52 +2025-03-10 14:26:42,254 - INFO - OPENED SHORT at 2061.21 | Stop loss: 2071.532635714286 | Take profit: 2030.2669714285714 +2025-03-10 14:26:42,554 - INFO - STOP LOSS hit for short at 2071.532635714286 | PnL: -0.50% | $-1.18 +2025-03-10 14:26:42,577 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.4368357142857 | Take profit: 2042.9143714285715 +2025-03-10 14:26:42,769 - INFO - STOP LOSS hit for short at 2084.4368357142857 | PnL: -0.50% | $-1.17 +2025-03-10 14:26:42,808 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:26:42,850 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.15 +2025-03-10 14:26:42,887 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:26:43,003 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.14 +2025-03-10 14:26:43,027 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:26:43,457 - INFO - CLOSED short at 2115.28 | PnL: 1.22% | $2.09 +2025-03-10 14:26:43,458 - INFO - OPENED LONG at 2115.28 | Stop loss: 2104.6870142857147 | Take profit: 2147.034078571429 +2025-03-10 14:26:43,489 - INFO - CLOSED long at 2107.43 | PnL: -0.37% | $-0.90 +2025-03-10 14:26:43,490 - INFO - OPENED SHORT at 2107.43 | Stop loss: 2117.9837357142856 | Take profit: 2075.793671428571 +2025-03-10 14:26:43,762 - INFO - STOP LOSS hit for short at 2117.9837357142856 | PnL: -0.50% | $-1.14 +2025-03-10 14:26:43,790 - INFO - OPENED SHORT at 2116.48 | Stop loss: 2127.078985714286 | Take profit: 2084.7079214285714 +2025-03-10 14:26:44,842 - INFO - TAKE PROFIT hit for short at 2084.7079214285714 | PnL: 1.50% | $2.63 +2025-03-10 14:26:44,879 - INFO - OPENED SHORT at 2088.44 | Stop loss: 2098.8987857142856 | Take profit: 2057.0885214285718 +2025-03-10 14:26:45,765 - INFO - STOP LOSS hit for short at 2098.8987857142856 | PnL: -0.50% | $-1.16 +2025-03-10 14:26:45,788 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.1647857142857 | Take profit: 2070.0905214285713 +2025-03-10 14:26:46,573 - INFO - STOP LOSS hit for short at 2112.1647857142857 | PnL: -0.50% | $-1.14 +2025-03-10 14:26:46,596 - INFO - OPENED SHORT at 2110.87 | Stop loss: 2121.440935714286 | Take profit: 2079.1820714285714 +2025-03-10 14:26:46,890 - INFO - CLOSED short at 2112.11 | PnL: -0.06% | $-0.30 +2025-03-10 14:26:46,918 - INFO - OPENED SHORT at 2112.26 | Stop loss: 2122.837885714286 | Take profit: 2080.551221428572 +2025-03-10 14:26:47,460 - INFO - STOP LOSS hit for short at 2122.837885714286 | PnL: -0.50% | $-1.13 +2025-03-10 14:26:47,489 - INFO - OPENED SHORT at 2127.79 | Stop loss: 2138.4455357142856 | Take profit: 2095.8482714285715 +2025-03-10 14:26:48,220 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 18.2% in downtrends | Avg Win=$1.69, Avg Loss=$-0.90 +2025-03-10 14:26:48,221 - INFO - Episode 32: Reward=183.58, Balance=$93.39, Win Rate=18.8%, Trades=16, Episode PnL=$-5.37, Total PnL=$-200.24, Max Drawdown=6.6%, Pred Accuracy=99.6% +2025-03-10 14:26:48,221 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:26:48,523 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:26:48,724 - INFO - CLOSED short at 2067.51 | PnL: 0.02% | $-0.15 +2025-03-10 14:26:48,758 - INFO - OPENED SHORT at 2069.01 | Stop loss: 2079.3716357142857 | Take profit: 2037.9499714285716 +2025-03-10 14:26:48,957 - INFO - CLOSED short at 2068.76 | PnL: 0.01% | $-0.17 +2025-03-10 14:26:48,982 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.261085714286 | Take profit: 2037.8416214285717 +2025-03-10 14:26:49,951 - INFO - CLOSED short at 2067.59 | PnL: 0.06% | $-0.07 +2025-03-10 14:26:49,993 - INFO - OPENED SHORT at 2069.2 | Stop loss: 2079.5625857142854 | Take profit: 2038.1371214285714 +2025-03-10 14:26:50,530 - INFO - CLOSED short at 2070.04 | PnL: -0.04% | $-0.28 +2025-03-10 14:26:50,561 - INFO - OPENED SHORT at 2067.8 | Stop loss: 2078.1555857142857 | Take profit: 2036.7581214285715 +2025-03-10 14:26:51,489 - INFO - CLOSED short at 2059.3 | PnL: 0.41% | $0.61 +2025-03-10 14:26:51,490 - INFO - OPENED LONG at 2059.3 | Stop loss: 2048.9869142857146 | Take profit: 2090.214378571429 +2025-03-10 14:26:51,551 - INFO - CLOSED long at 2060.31 | PnL: 0.05% | $-0.10 +2025-03-10 14:26:51,552 - INFO - OPENED SHORT at 2060.31 | Stop loss: 2070.6281357142857 | Take profit: 2029.3804714285714 +2025-03-10 14:26:51,843 - INFO - CLOSED short at 2061.9 | PnL: -0.08% | $-0.35 +2025-03-10 14:26:51,872 - INFO - OPENED SHORT at 2064.1 | Stop loss: 2074.4370857142853 | Take profit: 2033.1136214285714 +2025-03-10 14:26:53,145 - INFO - STOP LOSS hit for short at 2074.4370857142853 | PnL: -0.50% | $-1.19 +2025-03-10 14:26:53,170 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.401635714286 | Take profit: 2043.8599714285717 +2025-03-10 14:26:53,533 - INFO - CLOSED short at 2069.87 | PnL: 0.25% | $0.29 +2025-03-10 14:26:53,560 - INFO - OPENED SHORT at 2067.33 | Stop loss: 2077.6832357142857 | Take profit: 2036.2951714285712 +2025-03-10 14:26:53,898 - INFO - CLOSED short at 2065.31 | PnL: 0.10% | $-0.00 +2025-03-10 14:26:53,921 - INFO - OPENED SHORT at 2066.8 | Stop loss: 2077.1505857142856 | Take profit: 2035.7731214285716 +2025-03-10 14:26:56,899 - INFO - STOP LOSS hit for short at 2077.1505857142856 | PnL: -0.50% | $-1.18 +2025-03-10 14:26:56,920 - INFO - OPENED SHORT at 2085.56 | Stop loss: 2096.0043857142855 | Take profit: 2054.2517214285713 +2025-03-10 14:26:56,964 - INFO - STOP LOSS hit for short at 2096.0043857142855 | PnL: -0.50% | $-1.16 +2025-03-10 14:26:56,989 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:26:57,116 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.15 +2025-03-10 14:26:57,163 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:26:57,639 - INFO - TAKE PROFIT hit for short at 2109.1556214285715 | PnL: 1.50% | $2.64 +2025-03-10 14:26:57,687 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:26:59,810 - INFO - CLOSED short at 2100.89 | PnL: 0.46% | $0.70 +2025-03-10 14:26:59,835 - INFO - OPENED SHORT at 2099.73 | Stop loss: 2110.2452357142856 | Take profit: 2068.2091714285716 +2025-03-10 14:27:00,518 - INFO - STOP LOSS hit for short at 2110.2452357142856 | PnL: -0.50% | $-1.17 +2025-03-10 14:27:00,540 - INFO - OPENED SHORT at 2110.87 | Stop loss: 2121.440935714286 | Take profit: 2079.1820714285714 +2025-03-10 14:27:01,348 - INFO - STOP LOSS hit for short at 2121.440935714286 | PnL: -0.50% | $-1.16 +2025-03-10 14:27:01,379 - INFO - OPENED SHORT at 2121.2 | Stop loss: 2131.8225857142857 | Take profit: 2089.357121428571 +2025-03-10 14:27:01,531 - INFO - STOP LOSS hit for short at 2131.8225857142857 | PnL: -0.50% | $-1.15 +2025-03-10 14:27:01,578 - INFO - OPENED SHORT at 2136.26 | Stop loss: 2146.957885714286 | Take profit: 2104.1912214285717 +2025-03-10 14:27:02,281 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 22.2% in downtrends | Avg Win=$1.06, Avg Loss=$-0.66 +2025-03-10 14:27:02,282 - INFO - Episode 33: Reward=183.11, Balance=$94.96, Win Rate=22.2%, Trades=18, Episode PnL=$-4.93, Total PnL=$-205.28, Max Drawdown=5.0%, Pred Accuracy=99.7% +2025-03-10 14:27:02,282 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:27:02,602 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:27:03,118 - INFO - CLOSED short at 2068.51 | PnL: -0.02% | $-0.25 +2025-03-10 14:27:03,145 - INFO - OPENED SHORT at 2068.59 | Stop loss: 2078.949535714286 | Take profit: 2037.5362714285716 +2025-03-10 14:27:04,037 - INFO - CLOSED short at 2069.2 | PnL: -0.03% | $-0.26 +2025-03-10 14:27:04,064 - INFO - OPENED SHORT at 2070.3 | Stop loss: 2080.6680857142856 | Take profit: 2039.2206214285716 +2025-03-10 14:27:08,844 - INFO - CLOSED short at 2065.5 | PnL: 0.23% | $0.26 +2025-03-10 14:27:08,845 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.155914285714 | Take profit: 2096.5073785714285 +2025-03-10 14:27:08,865 - INFO - CLOSED long at 2065.7 | PnL: 0.01% | $-0.18 +2025-03-10 14:27:08,865 - INFO - OPENED SHORT at 2065.7 | Stop loss: 2076.0450857142855 | Take profit: 2034.6896214285714 +2025-03-10 14:27:09,623 - INFO - CLOSED short at 2065.1 | PnL: 0.03% | $-0.14 +2025-03-10 14:27:09,623 - INFO - OPENED LONG at 2065.1 | Stop loss: 2054.7579142857144 | Take profit: 2096.101378571428 +2025-03-10 14:27:09,643 - INFO - CLOSED long at 2062.43 | PnL: -0.13% | $-0.45 +2025-03-10 14:27:09,643 - INFO - OPENED SHORT at 2062.43 | Stop loss: 2072.7587357142856 | Take profit: 2031.4686714285713 +2025-03-10 14:27:10,152 - INFO - STOP LOSS hit for short at 2072.7587357142856 | PnL: -0.50% | $-1.18 +2025-03-10 14:27:10,224 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.608464285714 | Take profit: 2104.1097285714286 +2025-03-10 14:27:10,267 - INFO - CLOSED long at 2071.89 | PnL: -0.05% | $-0.30 +2025-03-10 14:27:10,267 - INFO - OPENED SHORT at 2071.89 | Stop loss: 2082.2660357142854 | Take profit: 2040.7867714285715 +2025-03-10 14:27:10,389 - INFO - STOP LOSS hit for short at 2082.2660357142854 | PnL: -0.50% | $-1.16 +2025-03-10 14:27:10,411 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:27:10,434 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.15 +2025-03-10 14:27:10,457 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:27:10,617 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.14 +2025-03-10 14:27:10,657 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:27:11,089 - INFO - CLOSED short at 2107.43 | PnL: 1.58% | $2.77 +2025-03-10 14:27:11,090 - INFO - OPENED LONG at 2107.43 | Stop loss: 2096.876264285714 | Take profit: 2139.0663285714286 +2025-03-10 14:27:11,114 - INFO - CLOSED long at 2110.6 | PnL: 0.15% | $0.10 +2025-03-10 14:27:11,115 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:27:11,469 - INFO - CLOSED short at 2108.06 | PnL: 0.12% | $0.04 +2025-03-10 14:27:11,502 - INFO - OPENED SHORT at 2103.33 | Stop loss: 2113.8632357142856 | Take profit: 2071.7551714285714 +2025-03-10 14:27:12,246 - INFO - CLOSED short at 2088.44 | PnL: 0.71% | $1.17 +2025-03-10 14:27:12,247 - INFO - OPENED LONG at 2088.44 | Stop loss: 2077.9812142857145 | Take profit: 2119.791478571429 +2025-03-10 14:27:12,289 - INFO - CLOSED long at 2083.97 | PnL: -0.21% | $-0.61 +2025-03-10 14:27:12,289 - INFO - OPENED SHORT at 2083.97 | Stop loss: 2094.406435714285 | Take profit: 2052.685571428571 +2025-03-10 14:27:12,415 - INFO - CLOSED short at 2081.25 | PnL: 0.13% | $0.06 +2025-03-10 14:27:12,415 - INFO - OPENED LONG at 2081.25 | Stop loss: 2070.8271642857144 | Take profit: 2112.4936285714284 +2025-03-10 14:27:12,440 - INFO - CLOSED long at 2083.41 | PnL: 0.10% | $0.01 +2025-03-10 14:27:12,440 - INFO - OPENED SHORT at 2083.41 | Stop loss: 2093.8436357142855 | Take profit: 2052.1339714285714 +2025-03-10 14:27:12,892 - INFO - CLOSED short at 2089.79 | PnL: -0.31% | $-0.79 +2025-03-10 14:27:12,933 - INFO - OPENED SHORT at 2085.67 | Stop loss: 2096.114935714286 | Take profit: 2054.3600714285717 +2025-03-10 14:27:13,132 - INFO - STOP LOSS hit for short at 2096.114935714286 | PnL: -0.50% | $-1.15 +2025-03-10 14:27:13,154 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.5065357142853 | Take profit: 2068.465271428571 +2025-03-10 14:27:13,546 - INFO - CLOSED short at 2105.83 | PnL: -0.28% | $-0.72 +2025-03-10 14:27:13,576 - INFO - OPENED SHORT at 2103.64 | Stop loss: 2114.1747857142855 | Take profit: 2072.0605214285715 +2025-03-10 14:27:13,740 - INFO - CLOSED short at 2103.9 | PnL: -0.01% | $-0.21 +2025-03-10 14:27:13,740 - INFO - OPENED LONG at 2103.9 | Stop loss: 2093.3639142857146 | Take profit: 2135.4833785714286 +2025-03-10 14:27:13,793 - INFO - CLOSED long at 2100.0 | PnL: -0.19% | $-0.54 +2025-03-10 14:27:13,794 - INFO - OPENED SHORT at 2100.0 | Stop loss: 2110.5165857142856 | Take profit: 2068.475121428571 +2025-03-10 14:27:14,094 - INFO - STOP LOSS hit for short at 2110.5165857142856 | PnL: -0.50% | $-1.12 +2025-03-10 14:27:14,132 - INFO - OPENED SHORT at 2110.87 | Stop loss: 2121.440935714286 | Take profit: 2079.1820714285714 +2025-03-10 14:27:14,932 - INFO - CLOSED short at 2121.77 | PnL: -0.52% | $-1.14 +2025-03-10 14:27:14,966 - INFO - OPENED SHORT at 2121.2 | Stop loss: 2131.8225857142857 | Take profit: 2089.357121428571 +2025-03-10 14:27:15,075 - INFO - STOP LOSS hit for short at 2131.8225857142857 | PnL: -0.50% | $-1.10 +2025-03-10 14:27:15,108 - INFO - OPENED SHORT at 2136.26 | Stop loss: 2146.957885714286 | Take profit: 2104.1912214285717 +2025-03-10 14:27:15,275 - INFO - CLOSED short at 2123.23 | PnL: 0.61% | $0.92 +2025-03-10 14:27:15,275 - INFO - OPENED LONG at 2123.23 | Stop loss: 2112.597264285714 | Take profit: 2155.1033285714284 +2025-03-10 14:27:15,300 - INFO - CLOSED long at 2127.47 | PnL: 0.20% | $0.18 +2025-03-10 14:27:15,300 - INFO - OPENED SHORT at 2127.47 | Stop loss: 2138.1239357142854 | Take profit: 2095.5330714285715 +2025-03-10 14:27:15,840 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 35.7% in downtrends | Avg Win=$0.61, Avg Loss=$-0.71 +2025-03-10 14:27:15,841 - INFO - Episode 34: Reward=179.01, Balance=$91.93, Win Rate=32.1%, Trades=28, Episode PnL=$-6.28, Total PnL=$-213.35, Max Drawdown=9.2%, Pred Accuracy=99.7% +2025-03-10 14:27:15,841 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:27:16,883 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:27:18,782 - INFO - CLOSED short at 2067.86 | PnL: 0.01% | $-0.18 +2025-03-10 14:27:18,812 - INFO - OPENED SHORT at 2066.4 | Stop loss: 2076.7485857142856 | Take profit: 2035.3791214285716 +2025-03-10 14:27:19,295 - INFO - CLOSED short at 2062.65 | PnL: 0.18% | $0.16 +2025-03-10 14:27:19,296 - INFO - OPENED LONG at 2062.65 | Stop loss: 2052.3201642857143 | Take profit: 2093.6146285714285 +2025-03-10 14:27:19,319 - INFO - CLOSED long at 2061.78 | PnL: -0.04% | $-0.28 +2025-03-10 14:27:19,320 - INFO - OPENED SHORT at 2061.78 | Stop loss: 2072.1054857142863 | Take profit: 2030.8284214285716 +2025-03-10 14:27:20,380 - INFO - CLOSED short at 2062.6 | PnL: -0.04% | $-0.28 +2025-03-10 14:27:20,380 - INFO - OPENED LONG at 2062.6 | Stop loss: 2052.270414285714 | Take profit: 2093.563878571428 +2025-03-10 14:27:20,428 - INFO - CLOSED long at 2061.89 | PnL: -0.03% | $-0.27 +2025-03-10 14:27:20,429 - INFO - OPENED SHORT at 2061.89 | Stop loss: 2072.2160357142857 | Take profit: 2030.9367714285713 +2025-03-10 14:27:20,893 - INFO - CLOSED short at 2055.6 | PnL: 0.31% | $0.40 +2025-03-10 14:27:20,894 - INFO - OPENED LONG at 2055.6 | Stop loss: 2045.3054142857143 | Take profit: 2086.4588785714286 +2025-03-10 14:27:20,918 - INFO - CLOSED long at 2054.89 | PnL: -0.03% | $-0.27 +2025-03-10 14:27:20,918 - INFO - OPENED SHORT at 2054.89 | Stop loss: 2065.181035714286 | Take profit: 2024.0417714285713 +2025-03-10 14:27:21,193 - INFO - CLOSED short at 2063.4 | PnL: -0.41% | $-1.01 +2025-03-10 14:27:21,234 - INFO - OPENED SHORT at 2066.36 | Stop loss: 2076.7083857142857 | Take profit: 2035.3397214285715 +2025-03-10 14:27:21,586 - INFO - STOP LOSS hit for short at 2076.7083857142857 | PnL: -0.50% | $-1.17 +2025-03-10 14:27:21,630 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.401635714286 | Take profit: 2043.8599714285717 +2025-03-10 14:27:22,154 - INFO - CLOSED short at 2065.66 | PnL: 0.45% | $0.68 +2025-03-10 14:27:22,177 - INFO - OPENED SHORT at 2063.95 | Stop loss: 2074.2863357142855 | Take profit: 2032.9658714285713 +2025-03-10 14:27:22,480 - INFO - CLOSED short at 2066.8 | PnL: -0.14% | $-0.46 +2025-03-10 14:27:22,481 - INFO - OPENED LONG at 2066.8 | Stop loss: 2056.4494142857143 | Take profit: 2097.826878571429 +2025-03-10 14:27:22,511 - INFO - CLOSED long at 2066.5 | PnL: -0.01% | $-0.22 +2025-03-10 14:27:22,512 - INFO - OPENED SHORT at 2066.5 | Stop loss: 2076.8490857142856 | Take profit: 2035.4776214285714 +2025-03-10 14:27:22,629 - INFO - CLOSED short at 2070.9 | PnL: -0.21% | $-0.60 +2025-03-10 14:27:22,651 - INFO - OPENED SHORT at 2069.69 | Stop loss: 2080.0550357142856 | Take profit: 2038.6197714285713 +2025-03-10 14:27:23,264 - INFO - CLOSED short at 2075.61 | PnL: -0.29% | $-0.74 +2025-03-10 14:27:23,265 - INFO - OPENED LONG at 2075.61 | Stop loss: 2065.2153642857143 | Take profit: 2106.769028571429 +2025-03-10 14:27:23,290 - INFO - CLOSED long at 2074.0 | PnL: -0.08% | $-0.34 +2025-03-10 14:27:23,290 - INFO - OPENED SHORT at 2074.0 | Stop loss: 2084.386585714286 | Take profit: 2042.8651214285715 +2025-03-10 14:27:24,591 - INFO - CLOSED short at 2057.89 | PnL: 0.78% | $1.28 +2025-03-10 14:27:24,623 - INFO - OPENED SHORT at 2062.83 | Stop loss: 2073.1607357142857 | Take profit: 2031.8626714285713 +2025-03-10 14:27:24,778 - INFO - CLOSED short at 2065.12 | PnL: -0.11% | $-0.40 +2025-03-10 14:27:24,779 - INFO - OPENED LONG at 2065.12 | Stop loss: 2054.777814285714 | Take profit: 2096.1216785714287 +2025-03-10 14:27:24,812 - INFO - CLOSED long at 2068.33 | PnL: 0.16% | $0.11 +2025-03-10 14:27:24,812 - INFO - OPENED SHORT at 2068.33 | Stop loss: 2078.688235714286 | Take profit: 2037.2801714285713 +2025-03-10 14:27:25,087 - INFO - CLOSED short at 2070.31 | PnL: -0.10% | $-0.37 +2025-03-10 14:27:25,118 - INFO - OPENED SHORT at 2070.24 | Stop loss: 2080.6077857142855 | Take profit: 2039.1615214285712 +2025-03-10 14:27:25,572 - INFO - STOP LOSS hit for short at 2080.6077857142855 | PnL: -0.50% | $-1.14 +2025-03-10 14:27:25,646 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:27:25,700 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.13 +2025-03-10 14:27:25,734 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:27:25,793 - INFO - CLOSED short at 2131.78 | PnL: -0.05% | $-0.28 +2025-03-10 14:27:25,824 - INFO - OPENED SHORT at 2133.95 | Stop loss: 2144.6363357142855 | Take profit: 2101.9158714285713 +2025-03-10 14:27:26,206 - INFO - CLOSED short at 2128.69 | PnL: 0.25% | $0.27 +2025-03-10 14:27:26,207 - INFO - OPENED LONG at 2128.69 | Stop loss: 2118.0299642857144 | Take profit: 2160.6452285714286 +2025-03-10 14:27:26,239 - INFO - CLOSED long at 2121.09 | PnL: -0.36% | $-0.85 +2025-03-10 14:27:26,239 - INFO - OPENED SHORT at 2121.09 | Stop loss: 2131.712035714286 | Take profit: 2089.2487714285717 +2025-03-10 14:27:27,016 - INFO - CLOSED short at 2100.5 | PnL: 0.97% | $1.61 +2025-03-10 14:27:27,016 - INFO - OPENED LONG at 2100.5 | Stop loss: 2089.9809142857143 | Take profit: 2132.0323785714286 +2025-03-10 14:27:27,043 - INFO - CLOSED long at 2090.0 | PnL: -0.50% | $-1.12 +2025-03-10 14:27:27,044 - INFO - OPENED SHORT at 2090.0 | Stop loss: 2100.4665857142854 | Take profit: 2058.625121428571 +2025-03-10 14:27:27,145 - INFO - STOP LOSS hit for short at 2100.4665857142854 | PnL: -0.50% | $-1.11 +2025-03-10 14:27:27,173 - INFO - OPENED SHORT at 2102.29 | Stop loss: 2112.8180357142855 | Take profit: 2070.730771428571 +2025-03-10 14:27:28,523 - INFO - CLOSED short at 2089.79 | PnL: 0.59% | $0.91 +2025-03-10 14:27:28,554 - INFO - OPENED SHORT at 2085.67 | Stop loss: 2096.114935714286 | Take profit: 2054.3600714285717 +2025-03-10 14:27:28,738 - INFO - STOP LOSS hit for short at 2096.114935714286 | PnL: -0.50% | $-1.11 +2025-03-10 14:27:28,771 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.5065357142853 | Take profit: 2068.465271428571 +2025-03-10 14:27:29,608 - INFO - STOP LOSS hit for short at 2110.5065357142853 | PnL: -0.50% | $-1.10 +2025-03-10 14:27:29,633 - INFO - OPENED SHORT at 2110.87 | Stop loss: 2121.440935714286 | Take profit: 2079.1820714285714 +2025-03-10 14:27:30,505 - INFO - STOP LOSS hit for short at 2121.440935714286 | PnL: -0.50% | $-1.08 +2025-03-10 14:27:30,538 - INFO - OPENED SHORT at 2121.2 | Stop loss: 2131.8225857142857 | Take profit: 2089.357121428571 +2025-03-10 14:27:30,660 - INFO - STOP LOSS hit for short at 2131.8225857142857 | PnL: -0.50% | $-1.07 +2025-03-10 14:27:30,687 - INFO - OPENED SHORT at 2136.26 | Stop loss: 2146.957885714286 | Take profit: 2104.1912214285717 +2025-03-10 14:27:31,540 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 25.0% in downtrends | Avg Win=$0.68, Avg Loss=$-0.69 +2025-03-10 14:27:31,541 - INFO - Episode 35: Reward=171.51, Balance=$88.80, Win Rate=25.0%, Trades=32, Episode PnL=$-7.96, Total PnL=$-224.55, Max Drawdown=11.2%, Pred Accuracy=99.8% +2025-03-10 14:27:31,541 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:27:31,745 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:27:31,976 - INFO - CLOSED short at 2068.8 | PnL: -0.04% | $-0.27 +2025-03-10 14:27:32,024 - INFO - OPENED SHORT at 2067.6 | Stop loss: 2077.9545857142857 | Take profit: 2036.5611214285714 +2025-03-10 14:27:33,736 - INFO - CLOSED short at 2067.8 | PnL: -0.01% | $-0.22 +2025-03-10 14:27:33,737 - INFO - OPENED LONG at 2067.8 | Stop loss: 2057.4444142857146 | Take profit: 2098.8418785714284 +2025-03-10 14:27:33,765 - INFO - CLOSED long at 2068.18 | PnL: 0.02% | $-0.16 +2025-03-10 14:27:33,766 - INFO - OPENED SHORT at 2068.18 | Stop loss: 2078.5374857142856 | Take profit: 2037.1324214285714 +2025-03-10 14:27:33,838 - INFO - CLOSED short at 2064.99 | PnL: 0.15% | $0.11 +2025-03-10 14:27:33,871 - INFO - OPENED SHORT at 2065.83 | Stop loss: 2076.1757357142856 | Take profit: 2034.8176714285712 +2025-03-10 14:27:34,386 - INFO - CLOSED short at 2061.6 | PnL: 0.20% | $0.21 +2025-03-10 14:27:34,408 - INFO - OPENED SHORT at 2060.9 | Stop loss: 2071.221085714286 | Take profit: 2029.9616214285713 +2025-03-10 14:27:34,838 - INFO - CLOSED short at 2062.6 | PnL: -0.08% | $-0.36 +2025-03-10 14:27:34,839 - INFO - OPENED LONG at 2062.6 | Stop loss: 2052.270414285714 | Take profit: 2093.563878571428 +2025-03-10 14:27:34,864 - INFO - CLOSED long at 2061.89 | PnL: -0.03% | $-0.26 +2025-03-10 14:27:34,864 - INFO - OPENED SHORT at 2061.89 | Stop loss: 2072.2160357142857 | Take profit: 2030.9367714285713 +2025-03-10 14:27:35,636 - INFO - STOP LOSS hit for short at 2072.2160357142857 | PnL: -0.50% | $-1.18 +2025-03-10 14:27:35,659 - INFO - OPENED SHORT at 2078.01 | Stop loss: 2088.416635714286 | Take profit: 2046.8149714285717 +2025-03-10 14:27:37,465 - INFO - CLOSED short at 2065.5 | PnL: 0.60% | $0.97 +2025-03-10 14:27:37,465 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.155914285714 | Take profit: 2096.5073785714285 +2025-03-10 14:27:37,502 - INFO - CLOSED long at 2065.7 | PnL: 0.01% | $-0.18 +2025-03-10 14:27:37,502 - INFO - OPENED SHORT at 2065.7 | Stop loss: 2076.0450857142855 | Take profit: 2034.6896214285714 +2025-03-10 14:27:38,854 - INFO - STOP LOSS hit for short at 2076.0450857142855 | PnL: -0.50% | $-1.18 +2025-03-10 14:27:38,884 - INFO - OPENED SHORT at 2077.61 | Stop loss: 2088.014635714286 | Take profit: 2046.4209714285716 +2025-03-10 14:27:38,924 - INFO - STOP LOSS hit for short at 2088.014635714286 | PnL: -0.50% | $-1.16 +2025-03-10 14:27:38,947 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.5516857142857 | Take profit: 2071.4498214285713 +2025-03-10 14:27:38,968 - INFO - STOP LOSS hit for short at 2113.5516857142857 | PnL: -0.50% | $-1.15 +2025-03-10 14:27:38,992 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2542857142857 | Take profit: 2107.4220214285715 +2025-03-10 14:27:39,439 - INFO - CLOSED short at 2119.14 | PnL: 0.95% | $1.61 +2025-03-10 14:27:39,461 - INFO - OPENED SHORT at 2119.07 | Stop loss: 2129.681935714286 | Take profit: 2087.2590714285716 +2025-03-10 14:27:39,705 - INFO - CLOSED short at 2113.24 | PnL: 0.28% | $0.34 +2025-03-10 14:27:39,728 - INFO - OPENED SHORT at 2112.99 | Stop loss: 2123.5715357142853 | Take profit: 2081.270271428571 +2025-03-10 14:27:40,015 - INFO - CLOSED short at 2098.1 | PnL: 0.70% | $1.17 +2025-03-10 14:27:40,059 - INFO - OPENED SHORT at 2102.19 | Stop loss: 2112.717535714286 | Take profit: 2070.6322714285716 +2025-03-10 14:27:40,268 - INFO - CLOSED short at 2101.51 | PnL: 0.03% | $-0.13 +2025-03-10 14:27:40,268 - INFO - OPENED LONG at 2101.51 | Stop loss: 2090.9858642857143 | Take profit: 2133.057528571429 +2025-03-10 14:27:40,305 - INFO - CLOSED long at 2099.59 | PnL: -0.09% | $-0.37 +2025-03-10 14:27:40,306 - INFO - OPENED SHORT at 2099.59 | Stop loss: 2110.1045357142857 | Take profit: 2068.071271428572 +2025-03-10 14:27:41,055 - INFO - CLOSED short at 2089.96 | PnL: 0.46% | $0.70 +2025-03-10 14:27:41,055 - INFO - OPENED LONG at 2089.96 | Stop loss: 2079.4936142857146 | Take profit: 2121.334278571429 +2025-03-10 14:27:41,077 - INFO - CLOSED long at 2087.0 | PnL: -0.14% | $-0.47 +2025-03-10 14:27:41,077 - INFO - OPENED SHORT at 2087.0 | Stop loss: 2097.4515857142856 | Take profit: 2055.6701214285713 +2025-03-10 14:27:41,381 - INFO - STOP LOSS hit for short at 2097.4515857142856 | PnL: -0.50% | $-1.17 +2025-03-10 14:27:41,401 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.5065357142853 | Take profit: 2068.465271428571 +2025-03-10 14:27:41,865 - INFO - CLOSED short at 2100.0 | PnL: -0.00% | $-0.19 +2025-03-10 14:27:41,904 - INFO - OPENED SHORT at 2102.7 | Stop loss: 2113.2300857142855 | Take profit: 2071.1346214285713 +2025-03-10 14:27:42,198 - INFO - STOP LOSS hit for short at 2113.2300857142855 | PnL: -0.50% | $-1.15 +2025-03-10 14:27:42,225 - INFO - OPENED SHORT at 2113.0 | Stop loss: 2123.581585714286 | Take profit: 2081.2801214285714 +2025-03-10 14:27:42,950 - INFO - STOP LOSS hit for short at 2123.581585714286 | PnL: -0.50% | $-1.14 +2025-03-10 14:27:42,973 - INFO - OPENED SHORT at 2127.79 | Stop loss: 2138.4455357142856 | Take profit: 2095.8482714285715 +2025-03-10 14:27:43,687 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 16.7% in downtrends | Avg Win=$0.73, Avg Loss=$-0.63 +2025-03-10 14:27:43,688 - INFO - Episode 36: Reward=182.85, Balance=$94.35, Win Rate=29.2%, Trades=24, Episode PnL=$-4.20, Total PnL=$-230.20, Max Drawdown=5.7%, Pred Accuracy=99.7% +2025-03-10 14:27:43,688 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:27:43,880 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:27:44,325 - INFO - CLOSED short at 2068.9 | PnL: -0.04% | $-0.28 +2025-03-10 14:27:44,325 - INFO - OPENED LONG at 2068.9 | Stop loss: 2058.5389142857143 | Take profit: 2099.958378571429 +2025-03-10 14:27:44,346 - INFO - CLOSED long at 2068.51 | PnL: -0.02% | $-0.24 +2025-03-10 14:27:44,346 - INFO - OPENED SHORT at 2068.51 | Stop loss: 2078.869135714286 | Take profit: 2037.4574714285716 +2025-03-10 14:27:44,477 - INFO - CLOSED short at 2071.39 | PnL: -0.14% | $-0.47 +2025-03-10 14:27:44,477 - INFO - OPENED LONG at 2071.39 | Stop loss: 2061.0164642857144 | Take profit: 2102.4857285714284 +2025-03-10 14:27:44,518 - INFO - CLOSED long at 2071.36 | PnL: -0.00% | $-0.20 +2025-03-10 14:27:44,519 - INFO - OPENED SHORT at 2071.36 | Stop loss: 2081.7333857142858 | Take profit: 2040.2647214285716 +2025-03-10 14:27:45,034 - INFO - CLOSED short at 2063.61 | PnL: 0.37% | $0.54 +2025-03-10 14:27:45,035 - INFO - OPENED LONG at 2063.61 | Stop loss: 2053.275364285714 | Take profit: 2094.5890285714286 +2025-03-10 14:27:45,074 - INFO - CLOSED long at 2065.26 | PnL: 0.08% | $-0.04 +2025-03-10 14:27:45,074 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.602885714286 | Take profit: 2034.2562214285715 +2025-03-10 14:27:46,522 - INFO - CLOSED short at 2061.8 | PnL: 0.17% | $0.13 +2025-03-10 14:27:46,560 - INFO - OPENED SHORT at 2064.7 | Stop loss: 2075.0400857142854 | Take profit: 2033.7046214285713 +2025-03-10 14:27:46,859 - INFO - CLOSED short at 2063.53 | PnL: 0.06% | $-0.09 +2025-03-10 14:27:46,887 - INFO - OPENED SHORT at 2063.0 | Stop loss: 2073.3315857142857 | Take profit: 2032.0301214285714 +2025-03-10 14:27:47,265 - INFO - CLOSED short at 2055.6 | PnL: 0.36% | $0.51 +2025-03-10 14:27:47,265 - INFO - OPENED LONG at 2055.6 | Stop loss: 2045.3054142857143 | Take profit: 2086.4588785714286 +2025-03-10 14:27:47,306 - INFO - CLOSED long at 2054.89 | PnL: -0.03% | $-0.27 +2025-03-10 14:27:47,306 - INFO - OPENED SHORT at 2054.89 | Stop loss: 2065.181035714286 | Take profit: 2024.0417714285713 +2025-03-10 14:27:47,644 - INFO - STOP LOSS hit for short at 2065.181035714286 | PnL: -0.50% | $-1.19 +2025-03-10 14:27:47,672 - INFO - OPENED SHORT at 2066.01 | Stop loss: 2076.356635714286 | Take profit: 2034.9949714285715 +2025-03-10 14:27:47,993 - INFO - CLOSED short at 2069.79 | PnL: -0.18% | $-0.55 +2025-03-10 14:27:47,995 - INFO - OPENED LONG at 2069.79 | Stop loss: 2059.4244642857143 | Take profit: 2100.8617285714286 +2025-03-10 14:27:48,017 - INFO - CLOSED long at 2072.0 | PnL: 0.11% | $0.01 +2025-03-10 14:27:48,017 - INFO - OPENED SHORT at 2072.0 | Stop loss: 2082.3765857142857 | Take profit: 2040.8951214285714 +2025-03-10 14:27:48,718 - INFO - CLOSED short at 2065.5 | PnL: 0.31% | $0.41 +2025-03-10 14:27:48,743 - INFO - OPENED SHORT at 2067.53 | Stop loss: 2077.8842357142858 | Take profit: 2036.4921714285717 +2025-03-10 14:27:49,932 - INFO - CLOSED short at 2065.06 | PnL: 0.12% | $0.04 +2025-03-10 14:27:49,953 - INFO - OPENED SHORT at 2064.11 | Stop loss: 2074.447135714286 | Take profit: 2033.1234714285717 +2025-03-10 14:27:50,359 - INFO - CLOSED short at 2063.9 | PnL: 0.01% | $-0.18 +2025-03-10 14:27:50,380 - INFO - OPENED SHORT at 2065.1 | Stop loss: 2075.442085714286 | Take profit: 2034.0986214285713 +2025-03-10 14:27:50,552 - INFO - CLOSED short at 2061.21 | PnL: 0.19% | $0.17 +2025-03-10 14:27:50,577 - INFO - OPENED SHORT at 2059.9 | Stop loss: 2070.216085714286 | Take profit: 2028.9766214285717 +2025-03-10 14:27:50,685 - INFO - STOP LOSS hit for short at 2070.216085714286 | PnL: -0.50% | $-1.17 +2025-03-10 14:27:50,706 - INFO - OPENED SHORT at 2070.24 | Stop loss: 2080.6077857142855 | Take profit: 2039.1615214285712 +2025-03-10 14:27:50,968 - INFO - STOP LOSS hit for short at 2080.6077857142855 | PnL: -0.50% | $-1.16 +2025-03-10 14:27:50,991 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:27:51,015 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.14 +2025-03-10 14:27:51,039 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:27:51,156 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.13 +2025-03-10 14:27:51,190 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:27:51,630 - INFO - TAKE PROFIT hit for short at 2109.1556214285715 | PnL: 1.50% | $2.61 +2025-03-10 14:27:51,652 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:27:54,066 - INFO - CLOSED short at 2105.2 | PnL: 0.26% | $0.30 +2025-03-10 14:27:54,107 - INFO - OPENED SHORT at 2103.52 | Stop loss: 2114.0541857142857 | Take profit: 2071.9423214285716 +2025-03-10 14:27:54,541 - INFO - CLOSED short at 2113.7 | PnL: -0.48% | $-1.12 +2025-03-10 14:27:54,542 - INFO - OPENED LONG at 2113.7 | Stop loss: 2103.114914285714 | Take profit: 2145.4303785714283 +2025-03-10 14:27:54,582 - INFO - CLOSED long at 2113.0 | PnL: -0.03% | $-0.25 +2025-03-10 14:27:54,583 - INFO - OPENED SHORT at 2113.0 | Stop loss: 2123.581585714286 | Take profit: 2081.2801214285714 +2025-03-10 14:27:55,272 - INFO - STOP LOSS hit for short at 2123.581585714286 | PnL: -0.50% | $-1.14 +2025-03-10 14:27:55,311 - INFO - OPENED SHORT at 2127.79 | Stop loss: 2138.4455357142856 | Take profit: 2095.8482714285715 +2025-03-10 14:27:55,409 - INFO - CLOSED short at 2136.26 | PnL: -0.40% | $-0.93 +2025-03-10 14:27:55,447 - INFO - OPENED SHORT at 2135.51 | Stop loss: 2146.2041357142857 | Take profit: 2103.4524714285717 +2025-03-10 14:27:55,992 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 23.1% in downtrends | Avg Win=$0.52, Avg Loss=$-0.64 +2025-03-10 14:27:55,993 - INFO - Episode 37: Reward=177.05, Balance=$93.18, Win Rate=33.3%, Trades=27, Episode PnL=$-5.84, Total PnL=$-237.02, Max Drawdown=6.8%, Pred Accuracy=99.8% +2025-03-10 14:27:55,993 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:27:56,285 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:27:56,812 - INFO - CLOSED short at 2069.7 | PnL: -0.08% | $-0.36 +2025-03-10 14:27:56,812 - INFO - OPENED LONG at 2069.7 | Stop loss: 2059.334914285714 | Take profit: 2100.7703785714284 +2025-03-10 14:27:56,839 - INFO - CLOSED long at 2070.4 | PnL: 0.03% | $-0.13 +2025-03-10 14:27:56,840 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.768585714286 | Take profit: 2039.3191214285714 +2025-03-10 14:27:58,556 - INFO - CLOSED short at 2063.59 | PnL: 0.33% | $0.45 +2025-03-10 14:27:58,556 - INFO - OPENED LONG at 2063.59 | Stop loss: 2053.2554642857144 | Take profit: 2094.5687285714284 +2025-03-10 14:27:58,600 - INFO - CLOSED long at 2064.96 | PnL: 0.07% | $-0.07 +2025-03-10 14:27:58,600 - INFO - OPENED SHORT at 2064.96 | Stop loss: 2075.3013857142855 | Take profit: 2033.9607214285713 +2025-03-10 14:27:59,227 - INFO - CLOSED short at 2061.13 | PnL: 0.19% | $0.17 +2025-03-10 14:27:59,252 - INFO - OPENED SHORT at 2061.9 | Stop loss: 2072.226085714286 | Take profit: 2030.9466214285717 +2025-03-10 14:28:00,717 - INFO - STOP LOSS hit for short at 2072.226085714286 | PnL: -0.50% | $-1.19 +2025-03-10 14:28:00,761 - INFO - OPENED SHORT at 2078.01 | Stop loss: 2088.416635714286 | Take profit: 2046.8149714285717 +2025-03-10 14:28:03,003 - INFO - CLOSED short at 2066.33 | PnL: 0.56% | $0.91 +2025-03-10 14:28:03,027 - INFO - OPENED SHORT at 2063.01 | Stop loss: 2073.341635714286 | Take profit: 2032.0399714285716 +2025-03-10 14:28:03,775 - INFO - CLOSED short at 2061.21 | PnL: 0.09% | $-0.03 +2025-03-10 14:28:03,775 - INFO - OPENED LONG at 2061.21 | Stop loss: 2050.8873642857143 | Take profit: 2092.1530285714284 +2025-03-10 14:28:03,799 - INFO - CLOSED long at 2059.9 | PnL: -0.06% | $-0.32 +2025-03-10 14:28:03,800 - INFO - OPENED SHORT at 2059.9 | Stop loss: 2070.216085714286 | Take profit: 2028.9766214285717 +2025-03-10 14:28:03,969 - INFO - STOP LOSS hit for short at 2070.216085714286 | PnL: -0.50% | $-1.19 +2025-03-10 14:28:04,014 - INFO - OPENED SHORT at 2070.24 | Stop loss: 2080.6077857142855 | Take profit: 2039.1615214285712 +2025-03-10 14:28:04,338 - INFO - STOP LOSS hit for short at 2080.6077857142855 | PnL: -0.50% | $-1.17 +2025-03-10 14:28:04,379 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:28:04,426 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.16 +2025-03-10 14:28:04,467 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:28:04,581 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.14 +2025-03-10 14:28:04,604 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:28:04,889 - INFO - CLOSED short at 2119.93 | PnL: 1.00% | $1.69 +2025-03-10 14:28:04,889 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.313764285714 | Take profit: 2151.753828571428 +2025-03-10 14:28:04,912 - INFO - CLOSED long at 2121.4 | PnL: 0.07% | $-0.06 +2025-03-10 14:28:04,912 - INFO - OPENED SHORT at 2121.4 | Stop loss: 2132.0235857142857 | Take profit: 2089.5541214285713 +2025-03-10 14:28:05,971 - INFO - CLOSED short at 2093.33 | PnL: 1.32% | $2.34 +2025-03-10 14:28:05,972 - INFO - OPENED LONG at 2093.33 | Stop loss: 2082.8467642857145 | Take profit: 2124.754828571429 +2025-03-10 14:28:06,017 - INFO - CLOSED long at 2092.46 | PnL: -0.04% | $-0.28 +2025-03-10 14:28:06,018 - INFO - OPENED SHORT at 2092.46 | Stop loss: 2102.938885714286 | Take profit: 2061.0482214285717 +2025-03-10 14:28:06,628 - INFO - CLOSED short at 2088.1 | PnL: 0.21% | $0.21 +2025-03-10 14:28:06,655 - INFO - OPENED SHORT at 2089.96 | Stop loss: 2100.426385714286 | Take profit: 2058.5857214285716 +2025-03-10 14:28:07,037 - INFO - STOP LOSS hit for short at 2100.426385714286 | PnL: -0.50% | $-1.18 +2025-03-10 14:28:07,059 - INFO - OPENED SHORT at 2097.11 | Stop loss: 2107.6121357142856 | Take profit: 2065.6284714285716 +2025-03-10 14:28:07,718 - INFO - CLOSED short at 2108.0 | PnL: -0.52% | $-1.20 +2025-03-10 14:28:07,718 - INFO - OPENED LONG at 2108.0 | Stop loss: 2097.4434142857144 | Take profit: 2139.6448785714288 +2025-03-10 14:28:07,739 - INFO - CLOSED long at 2112.28 | PnL: 0.20% | $0.20 +2025-03-10 14:28:07,739 - INFO - OPENED SHORT at 2112.28 | Stop loss: 2122.857985714286 | Take profit: 2080.5709214285716 +2025-03-10 14:28:08,502 - INFO - STOP LOSS hit for short at 2122.857985714286 | PnL: -0.50% | $-1.15 +2025-03-10 14:28:08,522 - INFO - OPENED SHORT at 2127.79 | Stop loss: 2138.4455357142856 | Take profit: 2095.8482714285715 +2025-03-10 14:28:09,223 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 23.1% in downtrends | Avg Win=$0.85, Avg Loss=$-0.71 +2025-03-10 14:28:09,224 - INFO - Episode 38: Reward=185.74, Balance=$95.35, Win Rate=31.8%, Trades=22, Episode PnL=$-3.99, Total PnL=$-241.67, Max Drawdown=5.3%, Pred Accuracy=99.6% +2025-03-10 14:28:09,224 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:28:09,455 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:28:09,739 - INFO - CLOSED short at 2066.19 | PnL: 0.09% | $-0.02 +2025-03-10 14:28:09,775 - INFO - OPENED SHORT at 2066.29 | Stop loss: 2076.6380357142857 | Take profit: 2035.2707714285714 +2025-03-10 14:28:11,537 - INFO - CLOSED short at 2067.1 | PnL: -0.04% | $-0.28 +2025-03-10 14:28:11,565 - INFO - OPENED SHORT at 2065.54 | Stop loss: 2075.884285714286 | Take profit: 2034.5320214285714 +2025-03-10 14:28:12,553 - INFO - CLOSED short at 2057.4 | PnL: 0.39% | $0.58 +2025-03-10 14:28:12,554 - INFO - OPENED LONG at 2057.4 | Stop loss: 2047.0964142857144 | Take profit: 2088.285878571429 +2025-03-10 14:28:12,599 - INFO - CLOSED long at 2058.28 | PnL: 0.04% | $-0.11 +2025-03-10 14:28:12,599 - INFO - OPENED SHORT at 2058.28 | Stop loss: 2068.587985714286 | Take profit: 2027.3809214285718 +2025-03-10 14:28:13,203 - INFO - STOP LOSS hit for short at 2068.587985714286 | PnL: -0.50% | $-1.19 +2025-03-10 14:28:13,243 - INFO - OPENED SHORT at 2074.3 | Stop loss: 2084.688085714286 | Take profit: 2043.1606214285716 +2025-03-10 14:28:13,700 - INFO - CLOSED short at 2067.33 | PnL: 0.34% | $0.46 +2025-03-10 14:28:13,700 - INFO - OPENED LONG at 2067.33 | Stop loss: 2056.976764285714 | Take profit: 2098.3648285714285 +2025-03-10 14:28:13,748 - INFO - CLOSED long at 2066.38 | PnL: -0.05% | $-0.29 +2025-03-10 14:28:13,748 - INFO - OPENED SHORT at 2066.38 | Stop loss: 2076.728485714286 | Take profit: 2035.3594214285715 +2025-03-10 14:28:14,795 - INFO - STOP LOSS hit for short at 2076.728485714286 | PnL: -0.50% | $-1.18 +2025-03-10 14:28:14,818 - INFO - OPENED SHORT at 2075.61 | Stop loss: 2086.004635714286 | Take profit: 2044.4509714285716 +2025-03-10 14:28:16,390 - INFO - CLOSED short at 2069.34 | PnL: 0.30% | $0.39 +2025-03-10 14:28:16,433 - INFO - OPENED SHORT at 2070.41 | Stop loss: 2080.7786357142854 | Take profit: 2039.3289714285713 +2025-03-10 14:28:16,695 - INFO - STOP LOSS hit for short at 2080.7786357142854 | PnL: -0.50% | $-1.17 +2025-03-10 14:28:16,717 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:28:16,739 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.16 +2025-03-10 14:28:16,764 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:28:16,881 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.14 +2025-03-10 14:28:16,918 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:28:17,341 - INFO - TAKE PROFIT hit for short at 2109.1556214285715 | PnL: 1.50% | $2.64 +2025-03-10 14:28:17,388 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:28:17,543 - INFO - CLOSED short at 2112.99 | PnL: -0.11% | $-0.41 +2025-03-10 14:28:17,543 - INFO - OPENED LONG at 2112.99 | Stop loss: 2102.408464285714 | Take profit: 2144.709728571428 +2025-03-10 14:28:17,566 - INFO - CLOSED long at 2120.81 | PnL: 0.37% | $0.52 +2025-03-10 14:28:17,566 - INFO - OPENED SHORT at 2120.81 | Stop loss: 2131.4306357142855 | Take profit: 2088.9729714285713 +2025-03-10 14:28:17,675 - INFO - CLOSED short at 2106.49 | PnL: 0.68% | $1.11 +2025-03-10 14:28:17,676 - INFO - OPENED LONG at 2106.49 | Stop loss: 2095.940964285714 | Take profit: 2138.112228571428 +2025-03-10 14:28:17,752 - INFO - CLOSED long at 2103.33 | PnL: -0.15% | $-0.49 +2025-03-10 14:28:17,752 - INFO - OPENED SHORT at 2103.33 | Stop loss: 2113.8632357142856 | Take profit: 2071.7551714285714 +2025-03-10 14:28:18,850 - INFO - CLOSED short at 2088.32 | PnL: 0.71% | $1.20 +2025-03-10 14:28:18,850 - INFO - OPENED LONG at 2088.32 | Stop loss: 2077.8618142857144 | Take profit: 2119.6696785714284 +2025-03-10 14:28:18,881 - INFO - CLOSED long at 2088.1 | PnL: -0.01% | $-0.22 +2025-03-10 14:28:18,881 - INFO - OPENED SHORT at 2088.1 | Stop loss: 2098.5570857142857 | Take profit: 2056.7536214285715 +2025-03-10 14:28:19,197 - INFO - CLOSED short at 2091.95 | PnL: -0.18% | $-0.56 +2025-03-10 14:28:19,198 - INFO - OPENED LONG at 2091.95 | Stop loss: 2081.473664285714 | Take profit: 2123.354128571428 +2025-03-10 14:28:19,227 - INFO - CLOSED long at 2094.7 | PnL: 0.13% | $0.06 +2025-03-10 14:28:19,227 - INFO - OPENED SHORT at 2094.7 | Stop loss: 2105.190085714286 | Take profit: 2063.254621428571 +2025-03-10 14:28:19,513 - INFO - STOP LOSS hit for short at 2105.190085714286 | PnL: -0.50% | $-1.18 +2025-03-10 14:28:19,539 - INFO - OPENED SHORT at 2103.48 | Stop loss: 2114.013985714286 | Take profit: 2071.9029214285715 +2025-03-10 14:28:20,157 - INFO - CLOSED short at 2110.4 | PnL: -0.33% | $-0.83 +2025-03-10 14:28:20,157 - INFO - OPENED LONG at 2110.4 | Stop loss: 2099.8314142857143 | Take profit: 2142.0808785714285 +2025-03-10 14:28:20,199 - INFO - CLOSED long at 2113.7 | PnL: 0.16% | $0.11 +2025-03-10 14:28:20,199 - INFO - OPENED SHORT at 2113.7 | Stop loss: 2124.2850857142853 | Take profit: 2081.9696214285714 +2025-03-10 14:28:20,290 - INFO - CLOSED short at 2113.61 | PnL: 0.00% | $-0.18 +2025-03-10 14:28:20,313 - INFO - OPENED SHORT at 2113.1 | Stop loss: 2123.6820857142857 | Take profit: 2081.3786214285715 +2025-03-10 14:28:20,865 - INFO - STOP LOSS hit for short at 2123.6820857142857 | PnL: -0.50% | $-1.15 +2025-03-10 14:28:20,906 - INFO - OPENED SHORT at 2127.79 | Stop loss: 2138.4455357142856 | Take profit: 2095.8482714285715 +2025-03-10 14:28:21,599 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 33.3% in downtrends | Avg Win=$0.79, Avg Loss=$-0.68 +2025-03-10 14:28:21,600 - INFO - Episode 39: Reward=181.14, Balance=$95.50, Win Rate=34.6%, Trades=26, Episode PnL=$-4.08, Total PnL=$-246.17, Max Drawdown=5.1%, Pred Accuracy=99.7% +2025-03-10 14:28:21,600 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:28:22,586 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:28:23,191 - INFO - CLOSED short at 2072.75 | PnL: -0.23% | $-0.65 +2025-03-10 14:28:23,192 - INFO - OPENED LONG at 2072.75 | Stop loss: 2062.3696642857144 | Take profit: 2103.866128571429 +2025-03-10 14:28:23,239 - INFO - CLOSED long at 2072.7 | PnL: -0.00% | $-0.20 +2025-03-10 14:28:23,240 - INFO - OPENED SHORT at 2072.7 | Stop loss: 2083.0800857142854 | Take profit: 2041.5846214285714 +2025-03-10 14:28:24,243 - INFO - CLOSED short at 2068.18 | PnL: 0.22% | $0.23 +2025-03-10 14:28:24,244 - INFO - OPENED LONG at 2068.18 | Stop loss: 2057.822514285714 | Take profit: 2099.2275785714282 +2025-03-10 14:28:24,266 - INFO - CLOSED long at 2065.69 | PnL: -0.12% | $-0.43 +2025-03-10 14:28:24,266 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.0350357142856 | Take profit: 2034.6797714285715 +2025-03-10 14:28:24,490 - INFO - CLOSED short at 2063.59 | PnL: 0.10% | $0.00 +2025-03-10 14:28:24,490 - INFO - OPENED LONG at 2063.59 | Stop loss: 2053.2554642857144 | Take profit: 2094.5687285714284 +2025-03-10 14:28:24,512 - INFO - CLOSED long at 2064.96 | PnL: 0.07% | $-0.07 +2025-03-10 14:28:24,513 - INFO - OPENED SHORT at 2064.96 | Stop loss: 2075.3013857142855 | Take profit: 2033.9607214285713 +2025-03-10 14:28:24,602 - INFO - CLOSED short at 2066.09 | PnL: -0.05% | $-0.30 +2025-03-10 14:28:24,603 - INFO - OPENED LONG at 2066.09 | Stop loss: 2055.742964285714 | Take profit: 2097.1062285714283 +2025-03-10 14:28:24,621 - INFO - CLOSED long at 2064.45 | PnL: -0.08% | $-0.35 +2025-03-10 14:28:24,646 - INFO - OPENED SHORT at 2064.08 | Stop loss: 2074.4169857142856 | Take profit: 2033.0939214285713 +2025-03-10 14:28:24,769 - INFO - CLOSED short at 2061.6 | PnL: 0.12% | $0.04 +2025-03-10 14:28:24,770 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.2754142857143 | Take profit: 2092.5488785714283 +2025-03-10 14:28:24,798 - INFO - CLOSED long at 2060.9 | PnL: -0.03% | $-0.26 +2025-03-10 14:28:24,798 - INFO - OPENED SHORT at 2060.9 | Stop loss: 2071.221085714286 | Take profit: 2029.9616214285713 +2025-03-10 14:28:25,993 - INFO - STOP LOSS hit for short at 2071.221085714286 | PnL: -0.50% | $-1.17 +2025-03-10 14:28:26,019 - INFO - OPENED SHORT at 2074.3 | Stop loss: 2084.688085714286 | Take profit: 2043.1606214285716 +2025-03-10 14:28:26,474 - INFO - CLOSED short at 2063.95 | PnL: 0.50% | $0.77 +2025-03-10 14:28:26,498 - INFO - OPENED SHORT at 2063.97 | Stop loss: 2074.3064357142853 | Take profit: 2032.9855714285711 +2025-03-10 14:28:26,739 - INFO - CLOSED short at 2071.59 | PnL: -0.37% | $-0.91 +2025-03-10 14:28:26,739 - INFO - OPENED LONG at 2071.59 | Stop loss: 2061.2154642857145 | Take profit: 2102.688728571429 +2025-03-10 14:28:26,759 - INFO - CLOSED long at 2070.2 | PnL: -0.07% | $-0.32 +2025-03-10 14:28:26,759 - INFO - OPENED SHORT at 2070.2 | Stop loss: 2080.5675857142855 | Take profit: 2039.122121428571 +2025-03-10 14:28:28,953 - INFO - CLOSED short at 2072.99 | PnL: -0.13% | $-0.45 +2025-03-10 14:28:28,954 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.608464285714 | Take profit: 2104.1097285714286 +2025-03-10 14:28:28,988 - INFO - CLOSED long at 2071.89 | PnL: -0.05% | $-0.29 +2025-03-10 14:28:28,988 - INFO - OPENED SHORT at 2071.89 | Stop loss: 2082.2660357142854 | Take profit: 2040.7867714285715 +2025-03-10 14:28:29,131 - INFO - STOP LOSS hit for short at 2082.2660357142854 | PnL: -0.50% | $-1.14 +2025-03-10 14:28:29,154 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:28:29,176 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.13 +2025-03-10 14:28:29,197 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:28:29,326 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.11 +2025-03-10 14:28:29,368 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:28:29,762 - INFO - TAKE PROFIT hit for short at 2109.1556214285715 | PnL: 1.50% | $2.57 +2025-03-10 14:28:29,794 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:28:29,856 - INFO - CLOSED short at 2112.09 | PnL: -0.07% | $-0.32 +2025-03-10 14:28:29,879 - INFO - OPENED SHORT at 2112.95 | Stop loss: 2123.531335714286 | Take profit: 2081.2308714285714 +2025-03-10 14:28:31,056 - INFO - CLOSED short at 2080.38 | PnL: 1.54% | $2.70 +2025-03-10 14:28:31,079 - INFO - OPENED SHORT at 2081.25 | Stop loss: 2091.6728357142856 | Take profit: 2050.006371428571 +2025-03-10 14:28:31,539 - INFO - STOP LOSS hit for short at 2091.6728357142856 | PnL: -0.50% | $-1.16 +2025-03-10 14:28:31,559 - INFO - OPENED SHORT at 2094.7 | Stop loss: 2105.190085714286 | Take profit: 2063.254621428571 +2025-03-10 14:28:31,743 - INFO - STOP LOSS hit for short at 2105.190085714286 | PnL: -0.50% | $-1.14 +2025-03-10 14:28:31,765 - INFO - OPENED SHORT at 2103.48 | Stop loss: 2114.013985714286 | Take profit: 2071.9029214285715 +2025-03-10 14:28:32,306 - INFO - STOP LOSS hit for short at 2114.013985714286 | PnL: -0.50% | $-1.13 +2025-03-10 14:28:32,332 - INFO - OPENED SHORT at 2113.61 | Stop loss: 2124.194635714286 | Take profit: 2081.8809714285717 +2025-03-10 14:28:32,835 - INFO - STOP LOSS hit for short at 2124.194635714286 | PnL: -0.50% | $-1.12 +2025-03-10 14:28:32,855 - INFO - OPENED SHORT at 2127.79 | Stop loss: 2138.4455357142856 | Take profit: 2095.8482714285715 +2025-03-10 14:28:32,996 - INFO - CLOSED short at 2127.79 | PnL: 0.00% | $-0.18 +2025-03-10 14:28:32,996 - INFO - OPENED LONG at 2127.79 | Stop loss: 2117.1344642857143 | Take profit: 2159.7317285714284 +2025-03-10 14:28:33,017 - INFO - CLOSED long at 2124.38 | PnL: -0.16% | $-0.48 +2025-03-10 14:28:33,017 - INFO - OPENED SHORT at 2124.38 | Stop loss: 2135.018485714286 | Take profit: 2092.4894214285714 +2025-03-10 14:28:33,118 - INFO - STOP LOSS hit for short at 2135.018485714286 | PnL: -0.50% | $-1.10 +2025-03-10 14:28:33,139 - INFO - OPENED SHORT at 2131.23 | Stop loss: 2141.902735714286 | Take profit: 2099.2366714285713 +2025-03-10 14:28:33,285 - INFO - CLOSED short at 2117.98 | PnL: 0.62% | $0.94 +2025-03-10 14:28:33,307 - INFO - OPENED SHORT at 2118.8 | Stop loss: 2129.410585714286 | Take profit: 2086.9931214285716 +2025-03-10 14:28:33,433 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 22.2% in downtrends | Avg Win=$1.04, Avg Loss=$-0.67 +2025-03-10 14:28:33,434 - INFO - Episode 40: Reward=172.89, Balance=$91.83, Win Rate=23.3%, Trades=30, Episode PnL=$-6.12, Total PnL=$-254.34, Max Drawdown=9.1%, Pred Accuracy=99.7% +2025-03-10 14:28:33,556 - INFO - Model saved to checkpoints/trading_agent_episode_40.pt +2025-03-10 14:28:33,557 - INFO - Checkpoint saved at episode 40 +2025-03-10 14:28:33,557 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:28:33,618 - ERROR - Error creating visualization: No module named 'mplfinance' +2025-03-10 14:28:33,620 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2514, in visualize_training_results + ax1.set_ylabel('Price (USD)') +ModuleNotFoundError: No module named 'mplfinance' + +2025-03-10 14:28:34,454 - ERROR - Error creating visualization: No module named 'mplfinance' +2025-03-10 14:28:34,455 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2514, in visualize_training_results + ax1.set_ylabel('Price (USD)') +ModuleNotFoundError: No module named 'mplfinance' + +2025-03-10 14:28:34,777 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:28:35,227 - INFO - CLOSED short at 2068.9 | PnL: -0.04% | $-0.28 +2025-03-10 14:28:35,228 - INFO - OPENED LONG at 2068.9 | Stop loss: 2058.5389142857143 | Take profit: 2099.958378571429 +2025-03-10 14:28:35,260 - INFO - CLOSED long at 2068.51 | PnL: -0.02% | $-0.24 +2025-03-10 14:28:35,261 - INFO - OPENED SHORT at 2068.51 | Stop loss: 2078.869135714286 | Take profit: 2037.4574714285716 +2025-03-10 14:28:35,529 - INFO - CLOSED short at 2072.15 | PnL: -0.18% | $-0.54 +2025-03-10 14:28:35,571 - INFO - OPENED SHORT at 2074.29 | Stop loss: 2084.6780357142857 | Take profit: 2043.1507714285715 +2025-03-10 14:28:37,376 - INFO - CLOSED short at 2062.61 | PnL: 0.56% | $0.91 +2025-03-10 14:28:37,402 - INFO - OPENED SHORT at 2060.91 | Stop loss: 2071.2311357142858 | Take profit: 2029.9714714285715 +2025-03-10 14:28:37,899 - INFO - CLOSED short at 2059.02 | PnL: 0.09% | $-0.02 +2025-03-10 14:28:37,900 - INFO - OPENED LONG at 2059.02 | Stop loss: 2048.708314285714 | Take profit: 2089.9301785714288 +2025-03-10 14:28:37,936 - INFO - CLOSED long at 2058.89 | PnL: -0.01% | $-0.21 +2025-03-10 14:28:37,936 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.201035714286 | Take profit: 2027.9817714285714 +2025-03-10 14:28:38,394 - INFO - CLOSED short at 2066.36 | PnL: -0.36% | $-0.91 +2025-03-10 14:28:38,395 - INFO - OPENED LONG at 2066.36 | Stop loss: 2056.0116142857146 | Take profit: 2097.380278571429 +2025-03-10 14:28:38,429 - INFO - CLOSED long at 2066.01 | PnL: -0.02% | $-0.23 +2025-03-10 14:28:38,429 - INFO - OPENED SHORT at 2066.01 | Stop loss: 2076.356635714286 | Take profit: 2034.9949714285715 +2025-03-10 14:28:38,589 - INFO - CLOSED short at 2067.01 | PnL: -0.05% | $-0.29 +2025-03-10 14:28:38,615 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.0350357142856 | Take profit: 2034.6797714285715 +2025-03-10 14:28:38,712 - INFO - STOP LOSS hit for short at 2076.0350357142856 | PnL: -0.50% | $-1.17 +2025-03-10 14:28:38,747 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.401635714286 | Take profit: 2043.8599714285717 +2025-03-10 14:28:40,485 - INFO - CLOSED short at 2070.19 | PnL: 0.23% | $0.25 +2025-03-10 14:28:40,512 - INFO - OPENED SHORT at 2070.1 | Stop loss: 2080.4670857142855 | Take profit: 2039.0236214285712 +2025-03-10 14:28:40,959 - INFO - CLOSED short at 2060.7 | PnL: 0.45% | $0.68 +2025-03-10 14:28:40,960 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.379914285714 | Take profit: 2091.635378571428 +2025-03-10 14:28:41,003 - INFO - CLOSED long at 2059.2 | PnL: -0.07% | $-0.34 +2025-03-10 14:28:41,004 - INFO - OPENED SHORT at 2059.2 | Stop loss: 2069.5125857142853 | Take profit: 2028.2871214285713 +2025-03-10 14:28:41,223 - INFO - CLOSED short at 2058.3 | PnL: 0.04% | $-0.11 +2025-03-10 14:28:41,257 - INFO - OPENED SHORT at 2056.85 | Stop loss: 2067.1508357142857 | Take profit: 2025.9723714285713 +2025-03-10 14:28:41,445 - INFO - STOP LOSS hit for short at 2067.1508357142857 | PnL: -0.50% | $-1.16 +2025-03-10 14:28:41,468 - INFO - OPENED SHORT at 2067.49 | Stop loss: 2077.8440357142854 | Take profit: 2036.4527714285712 +2025-03-10 14:28:41,798 - INFO - CLOSED short at 2070.41 | PnL: -0.14% | $-0.46 +2025-03-10 14:28:41,819 - INFO - OPENED SHORT at 2073.49 | Stop loss: 2083.8740357142856 | Take profit: 2042.3627714285712 +2025-03-10 14:28:42,059 - INFO - STOP LOSS hit for short at 2083.8740357142856 | PnL: -0.50% | $-1.14 +2025-03-10 14:28:42,083 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:28:42,105 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.13 +2025-03-10 14:28:42,127 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:28:42,238 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.12 +2025-03-10 14:28:42,296 - INFO - OPENED SHORT at 2142.68 | Stop loss: 2153.4099857142855 | Take profit: 2110.514921428571 +2025-03-10 14:28:42,683 - INFO - TAKE PROFIT hit for short at 2110.514921428571 | PnL: 1.50% | $2.57 +2025-03-10 14:28:42,724 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:28:45,063 - INFO - CLOSED short at 2103.41 | PnL: 0.34% | $0.45 +2025-03-10 14:28:45,105 - INFO - OPENED SHORT at 2104.73 | Stop loss: 2115.2702357142857 | Take profit: 2073.1341714285713 +2025-03-10 14:28:45,327 - INFO - CLOSED short at 2113.0 | PnL: -0.39% | $-0.93 +2025-03-10 14:28:45,327 - INFO - OPENED LONG at 2113.0 | Stop loss: 2102.4184142857143 | Take profit: 2144.7198785714286 +2025-03-10 14:28:45,347 - INFO - CLOSED long at 2115.26 | PnL: 0.11% | $0.01 +2025-03-10 14:28:45,348 - INFO - OPENED SHORT at 2115.26 | Stop loss: 2125.852885714286 | Take profit: 2083.5062214285717 +2025-03-10 14:28:45,543 - INFO - CLOSED short at 2111.19 | PnL: 0.19% | $0.17 +2025-03-10 14:28:45,616 - INFO - OPENED LONG at 2118.72 | Stop loss: 2108.109814285714 | Take profit: 2150.525678571428 +2025-03-10 14:28:45,654 - INFO - CLOSED long at 2117.39 | PnL: -0.06% | $-0.31 +2025-03-10 14:28:45,655 - INFO - OPENED SHORT at 2117.39 | Stop loss: 2127.993535714286 | Take profit: 2085.6042714285713 +2025-03-10 14:28:46,106 - INFO - STOP LOSS hit for short at 2127.993535714286 | PnL: -0.50% | $-1.13 +2025-03-10 14:28:46,132 - INFO - OPENED SHORT at 2135.86 | Stop loss: 2146.5558857142855 | Take profit: 2103.7972214285714 +2025-03-10 14:28:46,464 - INFO - CLOSED short at 2126.43 | PnL: 0.44% | $0.63 +2025-03-10 14:28:46,486 - INFO - OPENED SHORT at 2124.49 | Stop loss: 2135.1290357142852 | Take profit: 2092.597771428571 +2025-03-10 14:28:46,727 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 16.7% in downtrends | Avg Win=$0.71, Avg Loss=$-0.62 +2025-03-10 14:28:46,728 - INFO - Episode 41: Reward=173.15, Balance=$93.97, Win Rate=29.6%, Trades=27, Episode PnL=$-4.72, Total PnL=$-260.36, Max Drawdown=7.5%, Pred Accuracy=99.9% +2025-03-10 14:28:46,728 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:28:47,033 - INFO - OPENED SHORT at 2070.36 | Stop loss: 2080.7283857142857 | Take profit: 2039.2797214285715 +2025-03-10 14:28:47,094 - INFO - CLOSED short at 2069.34 | PnL: 0.05% | $-0.10 +2025-03-10 14:28:47,118 - INFO - OPENED SHORT at 2069.19 | Stop loss: 2079.5525357142856 | Take profit: 2038.1272714285715 +2025-03-10 14:28:48,175 - INFO - CLOSED short at 2069.34 | PnL: -0.01% | $-0.21 +2025-03-10 14:28:48,175 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.9767142857145 | Take profit: 2100.4049785714287 +2025-03-10 14:28:48,248 - INFO - CLOSED long at 2067.59 | PnL: -0.08% | $-0.37 +2025-03-10 14:28:48,248 - INFO - OPENED SHORT at 2067.59 | Stop loss: 2077.944535714286 | Take profit: 2036.5512714285715 +2025-03-10 14:28:49,477 - INFO - CLOSED short at 2060.31 | PnL: 0.35% | $0.50 +2025-03-10 14:28:49,498 - INFO - OPENED LONG at 2061.8 | Stop loss: 2051.4744142857144 | Take profit: 2092.7518785714287 +2025-03-10 14:28:49,520 - INFO - CLOSED long at 2064.7 | PnL: 0.14% | $0.08 +2025-03-10 14:28:49,520 - INFO - OPENED SHORT at 2064.7 | Stop loss: 2075.0400857142854 | Take profit: 2033.7046214285713 +2025-03-10 14:28:50,962 - INFO - STOP LOSS hit for short at 2075.0400857142854 | PnL: -0.50% | $-1.19 +2025-03-10 14:28:51,002 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.401635714286 | Take profit: 2043.8599714285717 +2025-03-10 14:28:52,299 - INFO - CLOSED short at 2071.99 | PnL: 0.15% | $0.09 +2025-03-10 14:28:52,338 - INFO - OPENED SHORT at 2068.19 | Stop loss: 2078.547535714286 | Take profit: 2037.1422714285713 +2025-03-10 14:28:53,343 - INFO - CLOSED short at 2062.34 | PnL: 0.28% | $0.36 +2025-03-10 14:28:53,343 - INFO - OPENED LONG at 2062.34 | Stop loss: 2052.0117142857143 | Take profit: 2093.2999785714287 +2025-03-10 14:28:53,364 - INFO - CLOSED long at 2063.98 | PnL: 0.08% | $-0.04 +2025-03-10 14:28:53,364 - INFO - OPENED SHORT at 2063.98 | Stop loss: 2074.3164857142856 | Take profit: 2032.9954214285715 +2025-03-10 14:28:54,730 - INFO - STOP LOSS hit for short at 2074.3164857142856 | PnL: -0.50% | $-1.18 +2025-03-10 14:28:54,766 - INFO - OPENED SHORT at 2076.08 | Stop loss: 2086.4769857142855 | Take profit: 2044.9139214285713 +2025-03-10 14:28:54,871 - INFO - STOP LOSS hit for short at 2086.4769857142855 | PnL: -0.50% | $-1.17 +2025-03-10 14:28:54,934 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:28:55,062 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.15 +2025-03-10 14:28:55,100 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:28:55,563 - INFO - TAKE PROFIT hit for short at 2109.1556214285715 | PnL: 1.50% | $2.66 +2025-03-10 14:28:55,602 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:28:57,330 - INFO - CLOSED short at 2087.47 | PnL: 1.10% | $1.94 +2025-03-10 14:28:57,349 - INFO - OPENED SHORT at 2087.78 | Stop loss: 2098.235485714286 | Take profit: 2056.4384214285715 +2025-03-10 14:28:57,621 - INFO - STOP LOSS hit for short at 2098.235485714286 | PnL: -0.50% | $-1.19 +2025-03-10 14:28:57,654 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.1647857142857 | Take profit: 2070.0905214285713 +2025-03-10 14:28:57,694 - INFO - CLOSED short at 2098.49 | PnL: 0.15% | $0.10 +2025-03-10 14:28:57,694 - INFO - OPENED LONG at 2098.49 | Stop loss: 2087.980964285714 | Take profit: 2129.9922285714283 +2025-03-10 14:28:57,717 - INFO - CLOSED long at 2099.89 | PnL: 0.07% | $-0.07 +2025-03-10 14:28:57,717 - INFO - OPENED SHORT at 2099.89 | Stop loss: 2110.4060357142857 | Take profit: 2068.3667714285716 +2025-03-10 14:28:57,893 - INFO - CLOSED short at 2101.5 | PnL: -0.08% | $-0.35 +2025-03-10 14:28:57,928 - INFO - OPENED SHORT at 2105.83 | Stop loss: 2116.3757357142854 | Take profit: 2074.2176714285715 +2025-03-10 14:28:58,685 - INFO - STOP LOSS hit for short at 2116.3757357142854 | PnL: -0.50% | $-1.18 +2025-03-10 14:28:58,723 - INFO - OPENED SHORT at 2117.39 | Stop loss: 2127.993535714286 | Take profit: 2085.6042714285713 +2025-03-10 14:28:59,121 - INFO - STOP LOSS hit for short at 2127.993535714286 | PnL: -0.50% | $-1.16 +2025-03-10 14:28:59,188 - INFO - OPENED SHORT at 2136.26 | Stop loss: 2146.957885714286 | Take profit: 2104.1912214285717 +2025-03-10 14:28:59,780 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 27.3% in downtrends | Avg Win=$0.82, Avg Loss=$-0.72 +2025-03-10 14:28:59,781 - INFO - Episode 42: Reward=184.36, Balance=$96.36, Win Rate=35.0%, Trades=20, Episode PnL=$-3.24, Total PnL=$-264.00, Max Drawdown=4.4%, Pred Accuracy=99.7% +2025-03-10 14:28:59,781 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:29:00,077 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:29:00,099 - INFO - CLOSED short at 2067.2 | PnL: 0.04% | $-0.12 +2025-03-10 14:29:00,099 - INFO - OPENED LONG at 2067.2 | Stop loss: 2056.847414285714 | Take profit: 2098.2328785714285 +2025-03-10 14:29:00,123 - INFO - CLOSED long at 2070.36 | PnL: 0.15% | $0.10 +2025-03-10 14:29:00,123 - INFO - OPENED SHORT at 2070.36 | Stop loss: 2080.7283857142857 | Take profit: 2039.2797214285715 +2025-03-10 14:29:00,474 - INFO - CLOSED short at 2066.18 | PnL: 0.20% | $0.20 +2025-03-10 14:29:00,497 - INFO - OPENED SHORT at 2068.76 | Stop loss: 2079.120385714286 | Take profit: 2037.7037214285717 +2025-03-10 14:29:05,564 - INFO - CLOSED short at 2067.0 | PnL: 0.09% | $-0.03 +2025-03-10 14:29:05,564 - INFO - OPENED LONG at 2067.0 | Stop loss: 2056.6484142857144 | Take profit: 2098.0298785714285 +2025-03-10 14:29:05,604 - INFO - CLOSED long at 2067.9 | PnL: 0.04% | $-0.11 +2025-03-10 14:29:05,604 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.2560857142857 | Take profit: 2036.8566214285713 +2025-03-10 14:29:07,388 - INFO - STOP LOSS hit for short at 2078.2560857142857 | PnL: -0.50% | $-1.19 +2025-03-10 14:29:07,408 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:29:07,435 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.18 +2025-03-10 14:29:07,461 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:29:07,635 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.16 +2025-03-10 14:29:07,661 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:29:07,680 - INFO - CLOSED short at 2142.68 | PnL: -0.06% | $-0.31 +2025-03-10 14:29:07,703 - INFO - OPENED SHORT at 2140.01 | Stop loss: 2150.726635714286 | Take profit: 2107.8849714285716 +2025-03-10 14:29:07,959 - INFO - CLOSED short at 2119.14 | PnL: 0.98% | $1.67 +2025-03-10 14:29:07,959 - INFO - OPENED LONG at 2119.14 | Stop loss: 2108.527714285714 | Take profit: 2150.9519785714283 +2025-03-10 14:29:08,022 - INFO - CLOSED long at 2115.28 | PnL: -0.18% | $-0.55 +2025-03-10 14:29:08,023 - INFO - OPENED SHORT at 2115.28 | Stop loss: 2125.8729857142857 | Take profit: 2083.5259214285716 +2025-03-10 14:29:08,160 - INFO - CLOSED short at 2112.46 | PnL: 0.13% | $0.06 +2025-03-10 14:29:08,182 - INFO - OPENED SHORT at 2113.24 | Stop loss: 2123.8227857142856 | Take profit: 2081.516521428571 +2025-03-10 14:29:08,519 - INFO - CLOSED short at 2098.1 | PnL: 0.72% | $1.19 +2025-03-10 14:29:08,540 - INFO - OPENED SHORT at 2102.19 | Stop loss: 2112.717535714286 | Take profit: 2070.6322714285716 +2025-03-10 14:29:08,641 - INFO - CLOSED short at 2104.83 | PnL: -0.13% | $-0.44 +2025-03-10 14:29:08,641 - INFO - OPENED LONG at 2104.83 | Stop loss: 2094.289264285714 | Take profit: 2136.4273285714285 +2025-03-10 14:29:08,678 - INFO - CLOSED long at 2106.39 | PnL: 0.07% | $-0.05 +2025-03-10 14:29:08,679 - INFO - OPENED SHORT at 2106.39 | Stop loss: 2116.938535714286 | Take profit: 2074.7692714285713 +2025-03-10 14:29:08,883 - INFO - CLOSED short at 2098.39 | PnL: 0.38% | $0.54 +2025-03-10 14:29:08,927 - INFO - OPENED SHORT at 2093.46 | Stop loss: 2103.943885714286 | Take profit: 2062.0332214285713 +2025-03-10 14:29:10,096 - INFO - STOP LOSS hit for short at 2103.943885714286 | PnL: -0.50% | $-1.18 +2025-03-10 14:29:10,117 - INFO - OPENED SHORT at 2103.48 | Stop loss: 2114.013985714286 | Take profit: 2071.9029214285715 +2025-03-10 14:29:10,753 - INFO - STOP LOSS hit for short at 2114.013985714286 | PnL: -0.50% | $-1.16 +2025-03-10 14:29:10,794 - INFO - OPENED SHORT at 2113.61 | Stop loss: 2124.194635714286 | Take profit: 2081.8809714285717 +2025-03-10 14:29:11,385 - INFO - STOP LOSS hit for short at 2124.194635714286 | PnL: -0.50% | $-1.15 +2025-03-10 14:29:11,409 - INFO - OPENED SHORT at 2127.79 | Stop loss: 2138.4455357142856 | Take profit: 2095.8482714285715 +2025-03-10 14:29:11,880 - INFO - CLOSED short at 2120.0 | PnL: 0.37% | $0.50 +2025-03-10 14:29:11,914 - INFO - OPENED LONG at 2117.98 | Stop loss: 2107.3735142857145 | Take profit: 2149.7745785714287 +2025-03-10 14:29:11,951 - INFO - CLOSED long at 2118.8 | PnL: 0.04% | $-0.12 +2025-03-10 14:29:11,951 - INFO - OPENED SHORT at 2118.8 | Stop loss: 2129.410585714286 | Take profit: 2086.9931214285716 +2025-03-10 14:29:12,131 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 10.0% in downtrends | Avg Win=$0.61, Avg Loss=$-0.63 +2025-03-10 14:29:12,132 - INFO - Episode 43: Reward=183.04, Balance=$95.53, Win Rate=33.3%, Trades=21, Episode PnL=$-3.75, Total PnL=$-268.47, Max Drawdown=5.0%, Pred Accuracy=99.7% +2025-03-10 14:29:12,132 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:29:12,322 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:29:13,334 - INFO - CLOSED short at 2067.0 | PnL: 0.05% | $-0.10 +2025-03-10 14:29:13,376 - INFO - OPENED SHORT at 2067.79 | Stop loss: 2078.145535714286 | Take profit: 2036.7482714285713 +2025-03-10 14:29:15,475 - INFO - CLOSED short at 2059.02 | PnL: 0.42% | $0.64 +2025-03-10 14:29:15,538 - INFO - OPENED SHORT at 2059.46 | Stop loss: 2069.773885714286 | Take profit: 2028.5432214285713 +2025-03-10 14:29:16,211 - INFO - STOP LOSS hit for short at 2069.773885714286 | PnL: -0.50% | $-1.20 +2025-03-10 14:29:16,247 - INFO - OPENED SHORT at 2072.0 | Stop loss: 2082.3765857142857 | Take profit: 2040.8951214285714 +2025-03-10 14:29:17,864 - INFO - CLOSED short at 2072.09 | PnL: -0.00% | $-0.21 +2025-03-10 14:29:17,864 - INFO - OPENED LONG at 2072.09 | Stop loss: 2061.7129642857144 | Take profit: 2103.196228571429 +2025-03-10 14:29:17,905 - INFO - CLOSED long at 2067.7 | PnL: -0.21% | $-0.61 +2025-03-10 14:29:17,905 - INFO - OPENED SHORT at 2067.7 | Stop loss: 2078.0550857142853 | Take profit: 2036.6596214285712 +2025-03-10 14:29:19,076 - INFO - CLOSED short at 2068.33 | PnL: -0.03% | $-0.26 +2025-03-10 14:29:19,189 - INFO - OPENED SHORT at 2059.9 | Stop loss: 2070.216085714286 | Take profit: 2028.9766214285717 +2025-03-10 14:29:19,333 - INFO - STOP LOSS hit for short at 2070.216085714286 | PnL: -0.50% | $-1.17 +2025-03-10 14:29:19,369 - INFO - OPENED SHORT at 2070.24 | Stop loss: 2080.6077857142855 | Take profit: 2039.1615214285712 +2025-03-10 14:29:19,639 - INFO - STOP LOSS hit for short at 2080.6077857142855 | PnL: -0.50% | $-1.16 +2025-03-10 14:29:19,676 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:29:19,713 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.14 +2025-03-10 14:29:19,748 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:29:19,886 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.13 +2025-03-10 14:29:19,932 - INFO - OPENED SHORT at 2142.68 | Stop loss: 2153.4099857142855 | Take profit: 2110.514921428571 +2025-03-10 14:29:20,310 - INFO - TAKE PROFIT hit for short at 2110.514921428571 | PnL: 1.50% | $2.60 +2025-03-10 14:29:20,465 - INFO - OPENED SHORT at 2112.99 | Stop loss: 2123.5715357142853 | Take profit: 2081.270271428571 +2025-03-10 14:29:20,963 - INFO - CLOSED short at 2106.39 | PnL: 0.31% | $0.41 +2025-03-10 14:29:21,039 - INFO - OPENED SHORT at 2103.86 | Stop loss: 2114.395885714286 | Take profit: 2072.2772214285715 +2025-03-10 14:29:21,593 - INFO - CLOSED short at 2081.25 | PnL: 1.07% | $1.87 +2025-03-10 14:29:21,639 - INFO - OPENED SHORT at 2085.09 | Stop loss: 2095.532035714286 | Take profit: 2053.7887714285716 +2025-03-10 14:29:22,290 - INFO - STOP LOSS hit for short at 2095.532035714286 | PnL: -0.50% | $-1.17 +2025-03-10 14:29:22,364 - INFO - OPENED SHORT at 2097.11 | Stop loss: 2107.6121357142856 | Take profit: 2065.6284714285716 +2025-03-10 14:29:22,493 - INFO - CLOSED short at 2106.15 | PnL: -0.43% | $-1.03 +2025-03-10 14:29:22,493 - INFO - OPENED LONG at 2106.15 | Stop loss: 2095.602664285714 | Take profit: 2137.7671285714287 +2025-03-10 14:29:22,548 - INFO - CLOSED long at 2103.48 | PnL: -0.13% | $-0.43 +2025-03-10 14:29:22,548 - INFO - OPENED SHORT at 2103.48 | Stop loss: 2114.013985714286 | Take profit: 2071.9029214285715 +2025-03-10 14:29:23,313 - INFO - STOP LOSS hit for short at 2114.013985714286 | PnL: -0.50% | $-1.14 +2025-03-10 14:29:23,354 - INFO - OPENED SHORT at 2113.61 | Stop loss: 2124.194635714286 | Take profit: 2081.8809714285717 +2025-03-10 14:29:23,994 - INFO - STOP LOSS hit for short at 2124.194635714286 | PnL: -0.50% | $-1.13 +2025-03-10 14:29:24,016 - INFO - OPENED SHORT at 2127.79 | Stop loss: 2138.4455357142856 | Take profit: 2095.8482714285715 +2025-03-10 14:29:24,544 - INFO - CLOSED short at 2120.0 | PnL: 0.37% | $0.49 +2025-03-10 14:29:24,650 - INFO - OPENED SHORT at 2116.53 | Stop loss: 2127.1292357142856 | Take profit: 2084.757171428572 +2025-03-10 14:29:24,757 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 9.1% in downtrends | Avg Win=$1.20, Avg Loss=$-0.85 +2025-03-10 14:29:24,758 - INFO - Episode 44: Reward=177.66, Balance=$94.13, Win Rate=26.3%, Trades=19, Episode PnL=$-4.82, Total PnL=$-274.34, Max Drawdown=6.9%, Pred Accuracy=99.7% +2025-03-10 14:29:24,758 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:29:25,881 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:29:26,386 - INFO - CLOSED short at 2068.9 | PnL: -0.04% | $-0.28 +2025-03-10 14:29:26,387 - INFO - OPENED LONG at 2068.9 | Stop loss: 2058.5389142857143 | Take profit: 2099.958378571429 +2025-03-10 14:29:26,429 - INFO - CLOSED long at 2068.51 | PnL: -0.02% | $-0.24 +2025-03-10 14:29:26,429 - INFO - OPENED SHORT at 2068.51 | Stop loss: 2078.869135714286 | Take profit: 2037.4574714285716 +2025-03-10 14:29:28,247 - INFO - CLOSED short at 2066.24 | PnL: 0.11% | $0.02 +2025-03-10 14:29:28,296 - INFO - OPENED SHORT at 2067.1 | Stop loss: 2077.4520857142857 | Take profit: 2036.0686214285715 +2025-03-10 14:29:28,566 - INFO - CLOSED short at 2063.5 | PnL: 0.17% | $0.15 +2025-03-10 14:29:28,691 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.201035714286 | Take profit: 2027.9817714285714 +2025-03-10 14:29:30,308 - INFO - STOP LOSS hit for short at 2069.201035714286 | PnL: -0.50% | $-1.19 +2025-03-10 14:29:30,340 - INFO - OPENED SHORT at 2072.0 | Stop loss: 2082.3765857142857 | Take profit: 2040.8951214285714 +2025-03-10 14:29:30,468 - INFO - CLOSED short at 2071.04 | PnL: 0.05% | $-0.10 +2025-03-10 14:29:30,468 - INFO - OPENED LONG at 2071.04 | Stop loss: 2060.6682142857144 | Take profit: 2102.1304785714287 +2025-03-10 14:29:30,507 - INFO - CLOSED long at 2070.01 | PnL: -0.05% | $-0.29 +2025-03-10 14:29:30,507 - INFO - OPENED SHORT at 2070.01 | Stop loss: 2080.376635714286 | Take profit: 2038.9349714285715 +2025-03-10 14:29:31,159 - INFO - CLOSED short at 2065.5 | PnL: 0.22% | $0.23 +2025-03-10 14:29:31,159 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.155914285714 | Take profit: 2096.5073785714285 +2025-03-10 14:29:31,186 - INFO - CLOSED long at 2067.53 | PnL: 0.10% | $-0.00 +2025-03-10 14:29:31,186 - INFO - OPENED SHORT at 2067.53 | Stop loss: 2077.8842357142858 | Take profit: 2036.4921714285717 +2025-03-10 14:29:31,499 - INFO - CLOSED short at 2070.7 | PnL: -0.15% | $-0.49 +2025-03-10 14:29:31,499 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.329914285714 | Take profit: 2101.7853785714283 +2025-03-10 14:29:31,522 - INFO - CLOSED long at 2070.8 | PnL: 0.00% | $-0.18 +2025-03-10 14:29:31,523 - INFO - OPENED SHORT at 2070.8 | Stop loss: 2081.170585714286 | Take profit: 2039.7131214285716 +2025-03-10 14:29:33,176 - INFO - CLOSED short at 2060.2 | PnL: 0.51% | $0.80 +2025-03-10 14:29:33,272 - INFO - OPENED SHORT at 2056.77 | Stop loss: 2067.070435714286 | Take profit: 2025.8935714285712 +2025-03-10 14:29:33,664 - INFO - STOP LOSS hit for short at 2067.070435714286 | PnL: -0.50% | $-1.17 +2025-03-10 14:29:33,721 - INFO - OPENED SHORT at 2066.59 | Stop loss: 2076.9395357142857 | Take profit: 2035.5662714285716 +2025-03-10 14:29:33,745 - INFO - CLOSED short at 2064.08 | PnL: 0.12% | $0.04 +2025-03-10 14:29:33,746 - INFO - OPENED LONG at 2064.08 | Stop loss: 2053.7430142857143 | Take profit: 2095.0660785714285 +2025-03-10 14:29:33,775 - INFO - CLOSED long at 2061.21 | PnL: -0.14% | $-0.46 +2025-03-10 14:29:33,775 - INFO - OPENED SHORT at 2061.21 | Stop loss: 2071.532635714286 | Take profit: 2030.2669714285714 +2025-03-10 14:29:34,046 - INFO - CLOSED short at 2073.49 | PnL: -0.60% | $-1.34 +2025-03-10 14:29:34,046 - INFO - OPENED LONG at 2073.49 | Stop loss: 2063.105964285714 | Take profit: 2104.6172285714283 +2025-03-10 14:29:34,073 - INFO - CLOSED long at 2074.05 | PnL: 0.03% | $-0.14 +2025-03-10 14:29:34,073 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.4368357142857 | Take profit: 2042.9143714285715 +2025-03-10 14:29:34,255 - INFO - STOP LOSS hit for short at 2084.4368357142857 | PnL: -0.50% | $-1.14 +2025-03-10 14:29:34,280 - INFO - OPENED LONG at 2090.49 | Stop loss: 2080.020964285714 | Take profit: 2121.8722285714284 +2025-03-10 14:29:34,331 - INFO - TAKE PROFIT hit for long at 2121.8722285714284 | PnL: 1.50% | $2.62 +2025-03-10 14:29:34,362 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2542857142857 | Take profit: 2107.4220214285715 +2025-03-10 14:29:34,723 - INFO - CLOSED short at 2120.15 | PnL: 0.91% | $1.55 +2025-03-10 14:29:34,724 - INFO - OPENED LONG at 2120.15 | Stop loss: 2109.5326642857144 | Take profit: 2151.9771285714287 +2025-03-10 14:29:34,759 - INFO - CLOSED long at 2117.24 | PnL: -0.14% | $-0.46 +2025-03-10 14:29:34,759 - INFO - OPENED SHORT at 2117.24 | Stop loss: 2127.8427857142856 | Take profit: 2085.4565214285712 +2025-03-10 14:29:35,040 - INFO - CLOSED short at 2112.95 | PnL: 0.20% | $0.20 +2025-03-10 14:29:35,041 - INFO - OPENED LONG at 2112.95 | Stop loss: 2102.368664285714 | Take profit: 2144.6691285714282 +2025-03-10 14:29:35,067 - INFO - CLOSED long at 2112.46 | PnL: -0.02% | $-0.24 +2025-03-10 14:29:35,067 - INFO - OPENED SHORT at 2112.46 | Stop loss: 2123.038885714286 | Take profit: 2080.7482214285715 +2025-03-10 14:29:35,516 - INFO - CLOSED short at 2102.19 | PnL: 0.49% | $0.75 +2025-03-10 14:29:35,539 - INFO - OPENED SHORT at 2102.29 | Stop loss: 2112.8180357142855 | Take profit: 2070.730771428571 +2025-03-10 14:29:38,301 - INFO - STOP LOSS hit for short at 2112.8180357142855 | PnL: -0.50% | $-1.18 +2025-03-10 14:29:38,392 - INFO - OPENED SHORT at 2113.1 | Stop loss: 2123.6820857142857 | Take profit: 2081.3786214285715 +2025-03-10 14:29:39,131 - INFO - STOP LOSS hit for short at 2123.6820857142857 | PnL: -0.50% | $-1.16 +2025-03-10 14:29:39,605 - INFO - OPENED SHORT at 2126.43 | Stop loss: 2137.0787357142854 | Take profit: 2094.5086714285712 +2025-03-10 14:29:39,981 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 35.7% in downtrends | Avg Win=$0.71, Avg Loss=$-0.59 +2025-03-10 14:29:39,982 - INFO - Episode 45: Reward=169.00, Balance=$96.28, Win Rate=34.6%, Trades=26, Episode PnL=$-1.70, Total PnL=$-278.06, Max Drawdown=5.8%, Pred Accuracy=99.8% +2025-03-10 14:29:39,983 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:29:40,308 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:29:40,783 - INFO - CLOSED short at 2068.76 | PnL: -0.04% | $-0.27 +2025-03-10 14:29:40,807 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.261085714286 | Take profit: 2037.8416214285717 +2025-03-10 14:29:41,496 - INFO - CLOSED short at 2067.0 | PnL: 0.09% | $-0.02 +2025-03-10 14:29:41,549 - INFO - OPENED SHORT at 2067.46 | Stop loss: 2077.813885714286 | Take profit: 2036.4232214285714 +2025-03-10 14:29:42,090 - INFO - CLOSED short at 2068.69 | PnL: -0.06% | $-0.32 +2025-03-10 14:29:42,090 - INFO - OPENED LONG at 2068.69 | Stop loss: 2058.329964285714 | Take profit: 2099.745228571429 +2025-03-10 14:29:42,158 - INFO - CLOSED long at 2067.84 | PnL: -0.04% | $-0.28 +2025-03-10 14:29:42,158 - INFO - OPENED SHORT at 2067.84 | Stop loss: 2078.1957857142856 | Take profit: 2036.7975214285716 +2025-03-10 14:29:43,853 - INFO - CLOSED short at 2063.53 | PnL: 0.21% | $0.21 +2025-03-10 14:29:43,908 - INFO - OPENED SHORT at 2062.6 | Stop loss: 2072.9295857142856 | Take profit: 2031.6361214285714 +2025-03-10 14:29:44,115 - INFO - CLOSED short at 2059.16 | PnL: 0.17% | $0.13 +2025-03-10 14:29:44,115 - INFO - OPENED LONG at 2059.16 | Stop loss: 2048.847614285714 | Take profit: 2090.0722785714283 +2025-03-10 14:29:44,211 - INFO - CLOSED long at 2058.89 | PnL: -0.01% | $-0.22 +2025-03-10 14:29:44,211 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.201035714286 | Take profit: 2027.9817714285714 +2025-03-10 14:29:45,144 - INFO - STOP LOSS hit for short at 2069.201035714286 | PnL: -0.50% | $-1.18 +2025-03-10 14:29:45,176 - INFO - OPENED SHORT at 2072.0 | Stop loss: 2082.3765857142857 | Take profit: 2040.8951214285714 +2025-03-10 14:29:45,649 - INFO - CLOSED short at 2069.03 | PnL: 0.14% | $0.08 +2025-03-10 14:29:45,650 - INFO - OPENED LONG at 2069.03 | Stop loss: 2058.6682642857145 | Take profit: 2100.090328571429 +2025-03-10 14:29:45,889 - INFO - CLOSED long at 2066.38 | PnL: -0.13% | $-0.44 +2025-03-10 14:29:45,890 - INFO - OPENED SHORT at 2066.38 | Stop loss: 2076.728485714286 | Take profit: 2035.3594214285715 +2025-03-10 14:29:46,946 - INFO - STOP LOSS hit for short at 2076.728485714286 | PnL: -0.50% | $-1.16 +2025-03-10 14:29:46,995 - INFO - OPENED SHORT at 2075.61 | Stop loss: 2086.004635714286 | Take profit: 2044.4509714285716 +2025-03-10 14:29:48,683 - INFO - CLOSED short at 2060.7 | PnL: 0.72% | $1.18 +2025-03-10 14:29:48,683 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.379914285714 | Take profit: 2091.635378571428 +2025-03-10 14:29:48,813 - INFO - CLOSED long at 2070.24 | PnL: 0.46% | $0.70 +2025-03-10 14:29:48,814 - INFO - OPENED SHORT at 2070.24 | Stop loss: 2080.6077857142855 | Take profit: 2039.1615214285712 +2025-03-10 14:29:49,191 - INFO - STOP LOSS hit for short at 2080.6077857142855 | PnL: -0.50% | $-1.17 +2025-03-10 14:29:49,218 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:29:49,244 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.16 +2025-03-10 14:29:49,502 - INFO - OPENED SHORT at 2142.68 | Stop loss: 2153.4099857142855 | Take profit: 2110.514921428571 +2025-03-10 14:29:49,953 - INFO - TAKE PROFIT hit for short at 2110.514921428571 | PnL: 1.50% | $2.67 +2025-03-10 14:29:49,977 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1695857142854 | Take profit: 2078.9161214285714 +2025-03-10 14:29:50,828 - INFO - CLOSED short at 2101.51 | PnL: 0.43% | $0.65 +2025-03-10 14:29:50,882 - INFO - OPENED SHORT at 2099.59 | Stop loss: 2110.1045357142857 | Take profit: 2068.071271428572 +2025-03-10 14:29:51,976 - INFO - CLOSED short at 2089.79 | PnL: 0.47% | $0.72 +2025-03-10 14:29:52,019 - INFO - OPENED SHORT at 2089.2 | Stop loss: 2099.662585714286 | Take profit: 2057.837121428571 +2025-03-10 14:29:52,244 - INFO - STOP LOSS hit for short at 2099.662585714286 | PnL: -0.50% | $-1.19 +2025-03-10 14:29:52,293 - INFO - OPENED SHORT at 2097.11 | Stop loss: 2107.6121357142856 | Take profit: 2065.6284714285716 +2025-03-10 14:29:53,088 - INFO - STOP LOSS hit for short at 2107.6121357142856 | PnL: -0.50% | $-1.18 +2025-03-10 14:29:53,194 - INFO - OPENED SHORT at 2113.7 | Stop loss: 2124.2850857142853 | Take profit: 2081.9696214285714 +2025-03-10 14:29:53,969 - INFO - CLOSED short at 2121.77 | PnL: -0.38% | $-0.93 +2025-03-10 14:29:53,969 - INFO - OPENED LONG at 2121.77 | Stop loss: 2111.1445642857143 | Take profit: 2153.621428571428 +2025-03-10 14:29:54,061 - INFO - CLOSED long at 2127.79 | PnL: 0.28% | $0.35 +2025-03-10 14:29:54,061 - INFO - OPENED SHORT at 2127.79 | Stop loss: 2138.4455357142856 | Take profit: 2095.8482714285715 +2025-03-10 14:29:54,938 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 33.3% in downtrends | Avg Win=$0.75, Avg Loss=$-0.73 +2025-03-10 14:29:54,939 - INFO - Episode 46: Reward=174.56, Balance=$97.18, Win Rate=40.9%, Trades=22, Episode PnL=$-2.93, Total PnL=$-280.88, Max Drawdown=3.9%, Pred Accuracy=99.8% +2025-03-10 14:29:54,939 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:29:55,252 - INFO - OPENED SHORT at 2068.02 | Stop loss: 2078.376685714286 | Take profit: 2036.9748214285712 +2025-03-10 14:29:55,405 - INFO - CLOSED short at 2069.34 | PnL: -0.06% | $-0.33 +2025-03-10 14:29:55,405 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.9767142857145 | Take profit: 2100.4049785714287 +2025-03-10 14:29:55,491 - INFO - CLOSED long at 2068.8 | PnL: -0.03% | $-0.25 +2025-03-10 14:29:55,492 - INFO - OPENED SHORT at 2068.8 | Stop loss: 2079.160585714286 | Take profit: 2037.7431214285716 +2025-03-10 14:29:55,885 - INFO - CLOSED short at 2066.18 | PnL: 0.13% | $0.05 +2025-03-10 14:29:55,885 - INFO - OPENED LONG at 2066.18 | Stop loss: 2055.8325142857143 | Take profit: 2097.1975785714285 +2025-03-10 14:29:56,065 - INFO - CLOSED long at 2068.51 | PnL: 0.11% | $0.03 +2025-03-10 14:29:56,066 - INFO - OPENED SHORT at 2068.51 | Stop loss: 2078.869135714286 | Take profit: 2037.4574714285716 +2025-03-10 14:29:56,714 - INFO - CLOSED short at 2067.0 | PnL: 0.07% | $-0.05 +2025-03-10 14:29:56,769 - INFO - OPENED SHORT at 2067.46 | Stop loss: 2077.813885714286 | Take profit: 2036.4232214285714 +2025-03-10 14:30:00,729 - INFO - CLOSED short at 2072.0 | PnL: -0.22% | $-0.63 +2025-03-10 14:30:00,764 - INFO - OPENED SHORT at 2074.3 | Stop loss: 2084.688085714286 | Take profit: 2043.1606214285716 +2025-03-10 14:30:02,242 - INFO - CLOSED short at 2068.19 | PnL: 0.29% | $0.38 +2025-03-10 14:30:02,242 - INFO - OPENED LONG at 2068.19 | Stop loss: 2057.832464285714 | Take profit: 2099.2377285714283 +2025-03-10 14:30:02,267 - INFO - CLOSED long at 2068.67 | PnL: 0.02% | $-0.15 +2025-03-10 14:30:02,267 - INFO - OPENED SHORT at 2068.67 | Stop loss: 2079.029935714286 | Take profit: 2037.6150714285716 +2025-03-10 14:30:02,742 - INFO - CLOSED short at 2072.09 | PnL: -0.17% | $-0.52 +2025-03-10 14:30:02,742 - INFO - OPENED LONG at 2072.09 | Stop loss: 2061.7129642857144 | Take profit: 2103.196228571429 +2025-03-10 14:30:02,963 - INFO - CLOSED long at 2066.4 | PnL: -0.27% | $-0.73 +2025-03-10 14:30:02,963 - INFO - OPENED SHORT at 2066.4 | Stop loss: 2076.7485857142856 | Take profit: 2035.3791214285716 +2025-03-10 14:30:04,539 - INFO - CLOSED short at 2066.59 | PnL: -0.01% | $-0.21 +2025-03-10 14:30:04,644 - INFO - OPENED SHORT at 2061.21 | Stop loss: 2071.532635714286 | Take profit: 2030.2669714285714 +2025-03-10 14:30:04,729 - INFO - CLOSED short at 2060.7 | PnL: 0.02% | $-0.15 +2025-03-10 14:30:04,731 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.379914285714 | Take profit: 2091.635378571428 +2025-03-10 14:30:04,768 - INFO - CLOSED long at 2061.84 | PnL: 0.06% | $-0.09 +2025-03-10 14:30:04,770 - INFO - OPENED SHORT at 2061.84 | Stop loss: 2072.165785714286 | Take profit: 2030.8875214285715 +2025-03-10 14:30:05,129 - INFO - STOP LOSS hit for short at 2072.165785714286 | PnL: -0.50% | $-1.16 +2025-03-10 14:30:05,173 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.4368357142857 | Take profit: 2042.9143714285715 +2025-03-10 14:30:05,409 - INFO - STOP LOSS hit for short at 2084.4368357142857 | PnL: -0.50% | $-1.15 +2025-03-10 14:30:05,435 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:30:05,465 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.13 +2025-03-10 14:30:05,491 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:30:05,638 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.12 +2025-03-10 14:30:05,858 - INFO - OPENED SHORT at 2128.69 | Stop loss: 2139.3500357142857 | Take profit: 2096.7347714285715 +2025-03-10 14:30:06,946 - INFO - TAKE PROFIT hit for short at 2096.7347714285715 | PnL: 1.50% | $2.58 +2025-03-10 14:30:07,090 - INFO - OPENED SHORT at 2102.19 | Stop loss: 2112.717535714286 | Take profit: 2070.6322714285716 +2025-03-10 14:30:10,544 - INFO - STOP LOSS hit for short at 2112.717535714286 | PnL: -0.50% | $-1.14 +2025-03-10 14:30:10,615 - INFO - OPENED SHORT at 2113.0 | Stop loss: 2123.581585714286 | Take profit: 2081.2801214285714 +2025-03-10 14:30:11,656 - INFO - STOP LOSS hit for short at 2123.581585714286 | PnL: -0.50% | $-1.12 +2025-03-10 14:30:11,688 - INFO - OPENED SHORT at 2127.79 | Stop loss: 2138.4455357142856 | Take profit: 2095.8482714285715 +2025-03-10 14:30:12,573 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 25.0% in downtrends | Avg Win=$0.76, Avg Loss=$-0.62 +2025-03-10 14:30:12,574 - INFO - Episode 47: Reward=168.09, Balance=$93.11, Win Rate=20.0%, Trades=20, Episode PnL=$-5.69, Total PnL=$-287.76, Max Drawdown=7.2%, Pred Accuracy=99.9% +2025-03-10 14:30:12,575 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:30:12,951 - INFO - OPENED SHORT at 2070.36 | Stop loss: 2080.7283857142857 | Take profit: 2039.2797214285715 +2025-03-10 14:30:13,089 - INFO - CLOSED short at 2069.19 | PnL: 0.06% | $-0.09 +2025-03-10 14:30:13,225 - INFO - OPENED SHORT at 2067.51 | Stop loss: 2077.864135714286 | Take profit: 2036.4724714285717 +2025-03-10 14:30:14,092 - INFO - CLOSED short at 2069.46 | PnL: -0.09% | $-0.39 +2025-03-10 14:30:14,177 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.3515857142856 | Take profit: 2035.9701214285715 +2025-03-10 14:30:14,458 - INFO - CLOSED short at 2067.89 | PnL: -0.04% | $-0.28 +2025-03-10 14:30:14,459 - INFO - OPENED LONG at 2067.89 | Stop loss: 2057.5339642857143 | Take profit: 2098.9332285714286 +2025-03-10 14:30:14,497 - INFO - CLOSED long at 2068.58 | PnL: 0.03% | $-0.13 +2025-03-10 14:30:14,497 - INFO - OPENED SHORT at 2068.58 | Stop loss: 2078.9394857142856 | Take profit: 2037.5264214285714 +2025-03-10 14:30:14,906 - INFO - CLOSED short at 2068.5 | PnL: 0.00% | $-0.19 +2025-03-10 14:30:14,934 - INFO - OPENED SHORT at 2068.69 | Stop loss: 2079.0500357142855 | Take profit: 2037.6347714285714 +2025-03-10 14:30:16,245 - INFO - CLOSED short at 2060.31 | PnL: 0.41% | $0.60 +2025-03-10 14:30:16,313 - INFO - OPENED SHORT at 2061.8 | Stop loss: 2072.125585714286 | Take profit: 2030.8481214285716 +2025-03-10 14:30:16,599 - INFO - CLOSED short at 2064.33 | PnL: -0.12% | $-0.44 +2025-03-10 14:30:16,599 - INFO - OPENED LONG at 2064.33 | Stop loss: 2053.991764285714 | Take profit: 2095.319828571429 +2025-03-10 14:30:16,625 - INFO - CLOSED long at 2063.39 | PnL: -0.05% | $-0.29 +2025-03-10 14:30:16,626 - INFO - OPENED SHORT at 2063.39 | Stop loss: 2073.723535714286 | Take profit: 2032.4142714285713 +2025-03-10 14:30:17,748 - INFO - CLOSED short at 2066.36 | PnL: -0.14% | $-0.48 +2025-03-10 14:30:17,802 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.5639142857144 | Take profit: 2094.8833785714287 +2025-03-10 14:30:17,890 - INFO - CLOSED long at 2066.33 | PnL: 0.12% | $0.03 +2025-03-10 14:30:17,890 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.6782357142856 | Take profit: 2035.3101714285713 +2025-03-10 14:30:18,277 - INFO - STOP LOSS hit for short at 2076.6782357142856 | PnL: -0.50% | $-1.17 +2025-03-10 14:30:18,379 - INFO - OPENED SHORT at 2071.04 | Stop loss: 2081.4117857142855 | Take profit: 2039.9495214285712 +2025-03-10 14:30:18,807 - INFO - CLOSED short at 2069.87 | PnL: 0.06% | $-0.08 +2025-03-10 14:30:19,110 - INFO - OPENED SHORT at 2063.97 | Stop loss: 2074.3064357142853 | Take profit: 2032.9855714285711 +2025-03-10 14:30:20,358 - INFO - STOP LOSS hit for short at 2074.3064357142853 | PnL: -0.50% | $-1.16 +2025-03-10 14:30:20,386 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.461935714286 | Take profit: 2043.9190714285717 +2025-03-10 14:30:20,708 - INFO - CLOSED short at 2076.9 | PnL: -0.09% | $-0.36 +2025-03-10 14:30:20,709 - INFO - OPENED LONG at 2076.9 | Stop loss: 2066.4989142857144 | Take profit: 2108.078378571429 +2025-03-10 14:30:20,830 - INFO - CLOSED long at 2069.97 | PnL: -0.33% | $-0.82 +2025-03-10 14:30:20,831 - INFO - OPENED SHORT at 2069.97 | Stop loss: 2080.3364357142855 | Take profit: 2038.8955714285712 +2025-03-10 14:30:22,508 - INFO - CLOSED short at 2057.11 | PnL: 0.62% | $0.98 +2025-03-10 14:30:22,650 - INFO - OPENED SHORT at 2065.1 | Stop loss: 2075.442085714286 | Take profit: 2034.0986214285713 +2025-03-10 14:30:23,479 - INFO - STOP LOSS hit for short at 2075.442085714286 | PnL: -0.50% | $-1.14 +2025-03-10 14:30:23,550 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.959035714285 | Take profit: 2059.107771428571 +2025-03-10 14:30:23,577 - INFO - STOP LOSS hit for short at 2100.959035714285 | PnL: -0.50% | $-1.13 +2025-03-10 14:30:23,604 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3700857142853 | Take profit: 2098.7146214285713 +2025-03-10 14:30:23,824 - INFO - STOP LOSS hit for short at 2141.3700857142853 | PnL: -0.50% | $-1.11 +2025-03-10 14:30:23,851 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.023085714286 | Take profit: 2109.1556214285715 +2025-03-10 14:30:24,356 - INFO - TAKE PROFIT hit for short at 2109.1556214285715 | PnL: 1.50% | $2.57 +2025-03-10 14:30:24,485 - INFO - OPENED SHORT at 2112.95 | Stop loss: 2123.531335714286 | Take profit: 2081.2308714285714 +2025-03-10 14:30:25,104 - INFO - CLOSED short at 2102.29 | PnL: 0.50% | $0.76 +2025-03-10 14:30:25,104 - INFO - OPENED LONG at 2102.29 | Stop loss: 2091.7619642857144 | Take profit: 2133.8492285714283 +2025-03-10 14:30:25,159 - INFO - CLOSED long at 2098.9 | PnL: -0.16% | $-0.50 +2025-03-10 14:30:25,159 - INFO - OPENED SHORT at 2098.9 | Stop loss: 2109.4110857142855 | Take profit: 2067.3916214285714 +2025-03-10 14:30:27,616 - INFO - STOP LOSS hit for short at 2109.4110857142855 | PnL: -0.50% | $-1.13 +2025-03-10 14:30:27,760 - INFO - OPENED SHORT at 2113.7 | Stop loss: 2124.2850857142853 | Take profit: 2081.9696214285714 +2025-03-10 14:30:28,789 - INFO - STOP LOSS hit for short at 2124.2850857142853 | PnL: -0.50% | $-1.12 +2025-03-10 14:30:28,823 - INFO - OPENED SHORT at 2127.79 | Stop loss: 2138.4455357142856 | Take profit: 2095.8482714285715 +2025-03-10 14:30:29,495 - INFO - CLOSED short at 2131.23 | PnL: -0.16% | $-0.48 +2025-03-10 14:30:29,495 - INFO - OPENED LONG at 2131.23 | Stop loss: 2120.557264285714 | Take profit: 2163.2233285714287 +2025-03-10 14:30:29,522 - INFO - CLOSED long at 2125.48 | PnL: -0.27% | $-0.68 +2025-03-10 14:30:29,523 - INFO - OPENED SHORT at 2125.48 | Stop loss: 2136.1239857142855 | Take profit: 2093.5729214285716 +2025-03-10 14:30:30,077 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 15.4% in downtrends | Avg Win=$0.99, Avg Loss=$-0.63 +2025-03-10 14:30:30,078 - INFO - Episode 48: Reward=160.87, Balance=$91.77, Win Rate=19.2%, Trades=26, Episode PnL=$-5.85, Total PnL=$-295.99, Max Drawdown=7.6%, Pred Accuracy=99.8% +2025-03-10 14:30:30,079 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:30:30,515 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.703285714286 | Take profit: 2038.2750214285716 +2025-03-10 14:30:30,880 - INFO - CLOSED short at 2068.76 | PnL: 0.03% | $-0.14 +2025-03-10 14:30:30,910 - INFO - OPENED SHORT at 2068.9 | Stop loss: 2079.261085714286 | Take profit: 2037.8416214285717 +2025-03-10 14:30:34,630 - INFO - CLOSED short at 2061.6 | PnL: 0.35% | $0.50 +2025-03-10 14:30:34,880 - INFO - OPENED SHORT at 2064.49 | Stop loss: 2074.8290357142855 | Take profit: 2033.4977714285712 +2025-03-10 14:30:35,164 - INFO - STOP LOSS hit for short at 2074.8290357142855 | PnL: -0.50% | $-1.20 +2025-03-10 14:30:35,235 - INFO - OPENED SHORT at 2072.6 | Stop loss: 2082.979585714286 | Take profit: 2041.4861214285713 +2025-03-10 14:30:35,315 - INFO - CLOSED short at 2071.6 | PnL: 0.05% | $-0.10 +2025-03-10 14:30:35,341 - INFO - OPENED SHORT at 2073.23 | Stop loss: 2083.612735714286 | Take profit: 2042.1066714285714 +2025-03-10 14:30:35,626 - INFO - CLOSED short at 2072.99 | PnL: 0.01% | $-0.17 +2025-03-10 14:30:35,648 - INFO - OPENED SHORT at 2071.49 | Stop loss: 2081.864035714286 | Take profit: 2040.3927714285712 +2025-03-10 14:30:35,861 - INFO - CLOSED short at 2064.5 | PnL: 0.34% | $0.47 +2025-03-10 14:30:35,861 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.160914285714 | Take profit: 2095.4923785714286 +2025-03-10 14:30:35,946 - INFO - CLOSED long at 2064.4 | PnL: -0.00% | $-0.21 +2025-03-10 14:30:35,946 - INFO - OPENED SHORT at 2064.4 | Stop loss: 2074.738585714286 | Take profit: 2033.4091214285716 +2025-03-10 14:30:36,505 - INFO - CLOSED short at 2068.19 | PnL: -0.18% | $-0.56 +2025-03-10 14:30:36,530 - INFO - OPENED SHORT at 2068.67 | Stop loss: 2079.029935714286 | Take profit: 2037.6150714285716 +2025-03-10 14:30:39,116 - INFO - STOP LOSS hit for short at 2079.029935714286 | PnL: -0.50% | $-1.18 +2025-03-10 14:30:39,279 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2542857142857 | Take profit: 2107.4220214285715 +2025-03-10 14:30:40,354 - INFO - TAKE PROFIT hit for short at 2107.4220214285715 | PnL: 1.50% | $2.71 +2025-03-10 14:30:40,405 - INFO - OPENED SHORT at 2108.06 | Stop loss: 2118.6168857142857 | Take profit: 2076.414221428571 +2025-03-10 14:30:41,189 - INFO - CLOSED short at 2094.08 | PnL: 0.66% | $1.12 +2025-03-10 14:30:41,190 - INFO - OPENED LONG at 2094.08 | Stop loss: 2083.593014285714 | Take profit: 2125.5160785714284 +2025-03-10 14:30:41,227 - INFO - CLOSED long at 2088.35 | PnL: -0.27% | $-0.75 +2025-03-10 14:30:41,228 - INFO - OPENED SHORT at 2088.35 | Stop loss: 2098.8083357142855 | Take profit: 2056.999871428571 +2025-03-10 14:30:42,297 - INFO - STOP LOSS hit for short at 2098.8083357142855 | PnL: -0.50% | $-1.20 +2025-03-10 14:30:42,388 - INFO - OPENED SHORT at 2097.11 | Stop loss: 2107.6121357142856 | Take profit: 2065.6284714285716 +2025-03-10 14:30:42,847 - INFO - CLOSED short at 2104.4 | PnL: -0.35% | $-0.88 +2025-03-10 14:30:42,847 - INFO - OPENED LONG at 2104.4 | Stop loss: 2093.8614142857145 | Take profit: 2135.9908785714283 +2025-03-10 14:30:42,872 - INFO - CLOSED long at 2105.21 | PnL: 0.04% | $-0.12 +2025-03-10 14:30:42,872 - INFO - OPENED SHORT at 2105.21 | Stop loss: 2115.752635714286 | Take profit: 2073.6069714285713 +2025-03-10 14:30:42,916 - INFO - CLOSED short at 2100.0 | PnL: 0.25% | $0.29 +2025-03-10 14:30:42,917 - INFO - OPENED LONG at 2100.0 | Stop loss: 2089.4834142857144 | Take profit: 2131.5248785714284 +2025-03-10 14:30:42,961 - INFO - CLOSED long at 2102.0 | PnL: 0.10% | $-0.01 +2025-03-10 14:30:42,961 - INFO - OPENED SHORT at 2102.0 | Stop loss: 2112.5265857142854 | Take profit: 2070.4451214285714 +2025-03-10 14:30:43,286 - INFO - STOP LOSS hit for short at 2112.5265857142854 | PnL: -0.50% | $-1.18 +2025-03-10 14:30:43,322 - INFO - OPENED SHORT at 2113.0 | Stop loss: 2123.581585714286 | Take profit: 2081.2801214285714 +2025-03-10 14:30:43,590 - INFO - CLOSED short at 2112.61 | PnL: 0.02% | $-0.16 +2025-03-10 14:30:43,615 - INFO - OPENED SHORT at 2118.72 | Stop loss: 2129.3301857142856 | Take profit: 2086.914321428571 +2025-03-10 14:30:44,102 - INFO - STOP LOSS hit for short at 2129.3301857142856 | PnL: -0.50% | $-1.16 +2025-03-10 14:30:44,210 - INFO - OPENED SHORT at 2132.83 | Stop loss: 2143.5107357142856 | Take profit: 2100.8126714285713 +2025-03-10 14:30:44,959 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 40.0% in downtrends | Avg Win=$1.02, Avg Loss=$-0.60 +2025-03-10 14:30:44,960 - INFO - Episode 49: Reward=171.64, Balance=$96.08, Win Rate=25.0%, Trades=20, Episode PnL=$-2.84, Total PnL=$-299.91, Max Drawdown=4.3%, Pred Accuracy=99.9% +2025-03-10 14:30:44,961 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:30:44,961 - INFO - Early stopping triggered after 50 episodes without improvement +2025-03-10 14:30:45,119 - INFO - Model saved to models/trading_agent_final.pt +2025-03-10 14:30:45,275 - ERROR - Training failed: 'episode_pnls' +2025-03-10 14:30:45,277 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2044, in train_agent + plot_training_results(stats) + File "main.py", line 2086, in plot_training_results + plt.plot(stats['trade_counts']) # Changed from 'episode_lengths' + ~~~~~^^^^^^^^^^^^^^^^ +KeyError: 'episode_pnls' + +2025-03-10 14:30:45,425 - INFO - Model saved to models/trading_agent_emergency.pt +2025-03-10 14:30:45,426 - INFO - Emergency model saved due to training failure +2025-03-10 14:30:45,427 - INFO - Exchange connection closed +2025-03-10 14:41:56,073 - INFO - Using GPU: NVIDIA GeForce RTX 4060 Laptop GPU +2025-03-10 14:41:56,092 - INFO - Exchange initialized with standard CCXT: mexc +2025-03-10 14:41:56,093 - INFO - Fetching initial data for ETH/USDT +2025-03-10 14:41:59,716 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 14:41:59,733 - INFO - Initialized environment with 500 candles +2025-03-10 14:42:01,937 - INFO - Starting training for 1000 episodes... +2025-03-10 14:42:01,938 - INFO - Starting training on device: cuda +2025-03-10 14:42:01,938 - INFO - Loading best model from models/trading_agent_best_pnl.pt to resume training +2025-03-10 14:42:01,938 - INFO - Loading model from models/trading_agent_best_pnl.pt +2025-03-10 14:42:02,092 - INFO - Model loaded successfully with weights_only=True +2025-03-10 14:42:02,093 - INFO - Resumed with best metrics - Reward: 202.74, PnL: $0.26, Win Rate: 44.4% +2025-03-10 14:42:03,115 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.7706892857145 | Take profit: 2039.3159660714286 +2025-03-10 14:42:03,118 - INFO - CLOSED short at 2069.96 | PnL: 0.02% | $-0.16 +2025-03-10 14:42:03,122 - INFO - OPENED SHORT at 2071.4 | Stop loss: 2081.7756892857146 | Take profit: 2040.3009660714288 +2025-03-10 14:42:03,124 - INFO - CLOSED short at 2071.39 | PnL: 0.00% | $-0.20 +2025-03-10 14:42:03,127 - INFO - OPENED SHORT at 2071.36 | Stop loss: 2081.7354892857143 | Take profit: 2040.2615660714287 +2025-03-10 14:42:03,131 - INFO - CLOSED short at 2072.75 | PnL: -0.07% | $-0.33 +2025-03-10 14:42:03,134 - INFO - OPENED SHORT at 2073.11 | Stop loss: 2083.4942392857142 | Take profit: 2041.9853160714285 +2025-03-10 14:42:03,140 - INFO - CLOSED short at 2074.29 | PnL: -0.06% | $-0.31 +2025-03-10 14:42:03,145 - INFO - OPENED SHORT at 2071.92 | Stop loss: 2082.2982892857144 | Take profit: 2040.8131660714284 +2025-03-10 14:42:03,148 - INFO - CLOSED short at 2070.4 | PnL: 0.07% | $-0.05 +2025-03-10 14:42:03,154 - INFO - OPENED SHORT at 2069.46 | Stop loss: 2079.825989285714 | Take profit: 2038.3900660714285 +2025-03-10 14:42:03,157 - INFO - CLOSED short at 2069.35 | PnL: 0.01% | $-0.19 +2025-03-10 14:42:03,160 - INFO - OPENED SHORT at 2068.32 | Stop loss: 2078.6802892857145 | Take profit: 2037.2671660714286 +2025-03-10 14:42:03,163 - INFO - CLOSED short at 2067.0 | PnL: 0.06% | $-0.07 +2025-03-10 14:42:03,166 - INFO - OPENED SHORT at 2067.79 | Stop loss: 2078.1476392857144 | Take profit: 2036.7451160714286 +2025-03-10 14:42:03,167 - INFO - CLOSED short at 2067.46 | PnL: 0.02% | $-0.16 +2025-03-10 14:42:03,167 - INFO - OPENED LONG at 2067.46 | Stop loss: 2057.104010714286 | Take profit: 2098.4999339285714 +2025-03-10 14:42:03,170 - INFO - CLOSED long at 2066.8 | PnL: -0.03% | $-0.26 +2025-03-10 14:42:03,174 - INFO - OPENED SHORT at 2065.49 | Stop loss: 2075.836139285714 | Take profit: 2034.4796160714284 +2025-03-10 14:42:03,179 - INFO - CLOSED short at 2063.61 | PnL: 0.09% | $-0.02 +2025-03-10 14:42:03,184 - INFO - OPENED SHORT at 2067.89 | Stop loss: 2078.248139285714 | Take profit: 2036.8436160714286 +2025-03-10 14:42:03,188 - INFO - CLOSED short at 2068.58 | PnL: -0.03% | $-0.26 +2025-03-10 14:42:03,191 - INFO - OPENED SHORT at 2068.8 | Stop loss: 2079.162689285715 | Take profit: 2037.7399660714289 +2025-03-10 14:42:03,200 - INFO - CLOSED short at 2067.86 | PnL: 0.05% | $-0.11 +2025-03-10 14:42:03,204 - INFO - OPENED SHORT at 2067.59 | Stop loss: 2077.9466392857144 | Take profit: 2036.5481160714287 +2025-03-10 14:42:03,212 - INFO - CLOSED short at 2071.59 | PnL: -0.19% | $-0.57 +2025-03-10 14:42:03,223 - INFO - OPENED SHORT at 2068.5 | Stop loss: 2078.861189285714 | Take profit: 2037.4444660714285 +2025-03-10 14:42:03,233 - INFO - CLOSED short at 2067.84 | PnL: 0.03% | $-0.13 +2025-03-10 14:42:03,236 - INFO - OPENED SHORT at 2067.86 | Stop loss: 2078.217989285715 | Take profit: 2036.8140660714287 +2025-03-10 14:42:03,239 - INFO - CLOSED short at 2066.4 | PnL: 0.07% | $-0.06 +2025-03-10 14:42:03,245 - INFO - OPENED SHORT at 2065.28 | Stop loss: 2075.6250892857147 | Take profit: 2034.2727660714286 +2025-03-10 14:42:03,250 - INFO - CLOSED short at 2064.47 | PnL: 0.04% | $-0.12 +2025-03-10 14:42:03,251 - INFO - OPENED SHORT at 2070.04 | Stop loss: 2080.408889285714 | Take profit: 2038.9613660714285 +2025-03-10 14:42:03,254 - INFO - CLOSED short at 2067.8 | PnL: 0.11% | $0.02 +2025-03-10 14:42:03,257 - INFO - OPENED SHORT at 2068.18 | Stop loss: 2078.539589285714 | Take profit: 2037.1292660714282 +2025-03-10 14:42:03,262 - INFO - CLOSED short at 2067.88 | PnL: 0.01% | $-0.16 +2025-03-10 14:42:03,268 - INFO - OPENED LONG at 2065.83 | Stop loss: 2055.482160714286 | Take profit: 2096.845483928571 +2025-03-10 14:42:03,271 - INFO - CLOSED long at 2065.26 | PnL: -0.03% | $-0.24 +2025-03-10 14:42:03,271 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.6049892857145 | Take profit: 2034.2530660714287 +2025-03-10 14:42:03,275 - INFO - CLOSED short at 2062.89 | PnL: 0.11% | $0.03 +2025-03-10 14:42:03,277 - INFO - OPENED SHORT at 2062.65 | Stop loss: 2072.9819392857144 | Take profit: 2031.6822160714287 +2025-03-10 14:42:03,281 - INFO - CLOSED short at 2061.78 | PnL: 0.04% | $-0.11 +2025-03-10 14:42:03,296 - INFO - OPENED SHORT at 2063.59 | Stop loss: 2073.9266392857144 | Take profit: 2032.6081160714286 +2025-03-10 14:42:03,299 - INFO - CLOSED short at 2064.96 | PnL: -0.07% | $-0.32 +2025-03-10 14:42:03,306 - INFO - OPENED SHORT at 2067.1 | Stop loss: 2077.454189285714 | Take profit: 2036.0654660714283 +2025-03-10 14:42:03,893 - INFO - CLOSED short at 2065.89 | PnL: 0.06% | $-0.08 +2025-03-10 14:42:03,913 - INFO - OPENED SHORT at 2063.53 | Stop loss: 2073.8663392857143 | Take profit: 2032.549016071429 +2025-03-10 14:42:04,360 - INFO - CLOSED short at 2061.66 | PnL: 0.09% | $-0.02 +2025-03-10 14:42:04,361 - INFO - OPENED LONG at 2061.66 | Stop loss: 2051.3330107142856 | Take profit: 2092.6129339285712 +2025-03-10 14:42:04,381 - INFO - CLOSED long at 2061.5 | PnL: -0.01% | $-0.21 +2025-03-10 14:42:04,381 - INFO - OPENED SHORT at 2061.5 | Stop loss: 2071.8261892857145 | Take profit: 2030.5494660714285 +2025-03-10 14:42:04,543 - INFO - CLOSED short at 2064.49 | PnL: -0.15% | $-0.47 +2025-03-10 14:42:04,544 - INFO - OPENED LONG at 2064.49 | Stop loss: 2054.1488607142855 | Take profit: 2095.4853839285715 +2025-03-10 14:42:04,565 - INFO - CLOSED long at 2066.33 | PnL: 0.09% | $-0.02 +2025-03-10 14:42:04,566 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.680339285714 | Take profit: 2035.3070160714285 +2025-03-10 14:42:04,745 - INFO - STOP LOSS hit for short at 2076.680339285714 | PnL: -0.50% | $-1.14 +2025-03-10 14:42:04,770 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.4037392857144 | Take profit: 2043.8568160714287 +2025-03-10 14:42:04,897 - INFO - CLOSED short at 2068.15 | PnL: 0.33% | $0.43 +2025-03-10 14:42:04,922 - INFO - OPENED SHORT at 2068.39 | Stop loss: 2078.750639285714 | Take profit: 2037.3361160714285 +2025-03-10 14:42:05,163 - INFO - CLOSED short at 2063.95 | PnL: 0.21% | $0.22 +2025-03-10 14:42:05,163 - INFO - OPENED LONG at 2063.95 | Stop loss: 2053.6115607142856 | Take profit: 2094.937283928571 +2025-03-10 14:42:05,184 - INFO - CLOSED long at 2063.97 | PnL: 0.00% | $-0.19 +2025-03-10 14:42:05,184 - INFO - OPENED SHORT at 2063.97 | Stop loss: 2074.3085392857142 | Take profit: 2032.9824160714284 +2025-03-10 14:42:05,693 - INFO - STOP LOSS hit for short at 2074.3085392857142 | PnL: -0.50% | $-1.13 +2025-03-10 14:42:05,712 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.464039285714 | Take profit: 2043.9159160714287 +2025-03-10 14:42:07,233 - INFO - STOP LOSS hit for short at 2085.464039285714 | PnL: -0.50% | $-1.12 +2025-03-10 14:42:07,257 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.961139285714 | Take profit: 2059.104616071428 +2025-03-10 14:42:07,279 - INFO - STOP LOSS hit for short at 2100.961139285714 | PnL: -0.50% | $-1.10 +2025-03-10 14:42:07,301 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.372189285714 | Take profit: 2098.7114660714283 +2025-03-10 14:42:07,398 - INFO - STOP LOSS hit for short at 2141.372189285714 | PnL: -0.50% | $-1.09 +2025-03-10 14:42:07,420 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.0251892857145 | Take profit: 2109.1524660714285 +2025-03-10 14:42:07,728 - INFO - TAKE PROFIT hit for short at 2109.1524660714285 | PnL: 1.50% | $2.51 +2025-03-10 14:42:07,753 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1716892857144 | Take profit: 2078.9129660714284 +2025-03-10 14:42:08,563 - INFO - CLOSED short at 2094.08 | PnL: 0.78% | $1.26 +2025-03-10 14:42:08,563 - INFO - OPENED LONG at 2094.08 | Stop loss: 2083.5909107142857 | Take profit: 2125.5192339285713 +2025-03-10 14:42:08,585 - INFO - CLOSED long at 2088.35 | PnL: -0.27% | $-0.70 +2025-03-10 14:42:08,586 - INFO - OPENED SHORT at 2088.35 | Stop loss: 2098.8104392857144 | Take profit: 2056.9967160714286 +2025-03-10 14:42:08,833 - INFO - CLOSED short at 2083.59 | PnL: 0.23% | $0.24 +2025-03-10 14:42:08,834 - INFO - OPENED LONG at 2083.59 | Stop loss: 2073.153360714286 | Take profit: 2114.8718839285716 +2025-03-10 14:42:08,858 - INFO - CLOSED long at 2086.57 | PnL: 0.14% | $0.08 +2025-03-10 14:42:08,858 - INFO - OPENED SHORT at 2086.57 | Stop loss: 2097.0215392857144 | Take profit: 2055.243416071429 +2025-03-10 14:42:09,299 - INFO - STOP LOSS hit for short at 2097.0215392857144 | PnL: -0.50% | $-1.12 +2025-03-10 14:42:09,321 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.5086392857143 | Take profit: 2068.462116071428 +2025-03-10 14:42:09,690 - INFO - CLOSED short at 2105.2 | PnL: -0.25% | $-0.64 +2025-03-10 14:42:09,740 - INFO - OPENED SHORT at 2104.4 | Stop loss: 2114.940689285714 | Take profit: 2072.805966071429 +2025-03-10 14:42:09,820 - INFO - CLOSED short at 2100.0 | PnL: 0.21% | $0.20 +2025-03-10 14:42:09,821 - INFO - OPENED LONG at 2100.0 | Stop loss: 2089.481310714286 | Take profit: 2131.5280339285714 +2025-03-10 14:42:09,847 - INFO - CLOSED long at 2102.7 | PnL: 0.13% | $0.05 +2025-03-10 14:42:09,847 - INFO - OPENED SHORT at 2102.7 | Stop loss: 2113.232189285714 | Take profit: 2071.1314660714283 +2025-03-10 14:42:10,089 - INFO - STOP LOSS hit for short at 2113.232189285714 | PnL: -0.50% | $-1.10 +2025-03-10 14:42:10,114 - INFO - OPENED SHORT at 2113.0 | Stop loss: 2123.5836892857146 | Take profit: 2081.2769660714284 +2025-03-10 14:42:10,604 - INFO - CLOSED short at 2119.58 | PnL: -0.31% | $-0.74 +2025-03-10 14:42:10,626 - INFO - OPENED SHORT at 2121.77 | Stop loss: 2132.397539285714 | Take profit: 2089.9154160714284 +2025-03-10 14:42:10,722 - INFO - CLOSED short at 2135.86 | PnL: -0.66% | $-1.37 +2025-03-10 14:42:10,722 - INFO - OPENED LONG at 2135.86 | Stop loss: 2125.1620107142858 | Take profit: 2167.9259339285713 +2025-03-10 14:42:10,743 - INFO - CLOSED long at 2136.26 | PnL: 0.02% | $-0.14 +2025-03-10 14:42:10,743 - INFO - OPENED SHORT at 2136.26 | Stop loss: 2146.9599892857145 | Take profit: 2104.1880660714287 +2025-03-10 14:42:11,273 - INFO - CLOSED short at 2124.44 | PnL: 0.55% | $0.80 +2025-03-10 14:42:11,274 - INFO - OPENED LONG at 2124.44 | Stop loss: 2113.7991107142857 | Take profit: 2156.3346339285713 +2025-03-10 14:42:11,297 - INFO - CLOSED long at 2124.94 | PnL: 0.02% | $-0.14 +2025-03-10 14:42:11,297 - INFO - OPENED SHORT at 2124.94 | Stop loss: 2135.5833892857145 | Take profit: 2093.0378660714287 +2025-03-10 14:42:11,716 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.53, Avg Loss=$-0.42 +2025-03-10 14:42:11,717 - INFO - Episode 0: Reward=-119.10, Balance=$89.52, Win Rate=22.0%, Trades=50, Episode PnL=$-8.98, Total PnL=$-10.48, Max Drawdown=9.7%, Pred Accuracy=96.6% +2025-03-10 14:42:11,838 - INFO - Model saved to checkpoints/trading_agent_episode_0.pt +2025-03-10 14:42:11,839 - INFO - Checkpoint saved at episode 0 +2025-03-10 14:42:11,951 - ERROR - Error creating visualization: No module named 'mplfinance' +2025-03-10 14:42:11,952 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2506, in visualize_training_results + from mplfinance.original_flavor import candlestick_ohlc +ModuleNotFoundError: No module named 'mplfinance' + +2025-03-10 14:42:12,688 - ERROR - Error creating visualization: No module named 'mplfinance' +2025-03-10 14:42:12,689 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2506, in visualize_training_results + from mplfinance.original_flavor import candlestick_ohlc +ModuleNotFoundError: No module named 'mplfinance' + +2025-03-10 14:42:12,807 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.7706892857145 | Take profit: 2039.3159660714286 +2025-03-10 14:42:13,123 - INFO - CLOSED short at 2068.32 | PnL: 0.10% | $0.00 +2025-03-10 14:42:13,147 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.353689285714 | Take profit: 2035.9669660714285 +2025-03-10 14:42:14,640 - INFO - CLOSED short at 2063.39 | PnL: 0.17% | $0.15 +2025-03-10 14:42:14,640 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.0543607142854 | Take profit: 2094.3688839285714 +2025-03-10 14:42:14,660 - INFO - CLOSED long at 2064.79 | PnL: 0.07% | $-0.06 +2025-03-10 14:42:14,661 - INFO - OPENED SHORT at 2064.79 | Stop loss: 2075.1326392857145 | Take profit: 2033.7901160714287 +2025-03-10 14:42:14,679 - INFO - CLOSED short at 2065.89 | PnL: -0.05% | $-0.30 +2025-03-10 14:42:14,680 - INFO - OPENED LONG at 2065.89 | Stop loss: 2055.5418607142856 | Take profit: 2096.906383928571 +2025-03-10 14:42:14,705 - INFO - CLOSED long at 2063.53 | PnL: -0.11% | $-0.42 +2025-03-10 14:42:14,706 - INFO - OPENED SHORT at 2063.53 | Stop loss: 2073.8663392857143 | Take profit: 2032.549016071429 +2025-03-10 14:42:14,842 - INFO - CLOSED short at 2059.61 | PnL: 0.19% | $0.18 +2025-03-10 14:42:14,842 - INFO - OPENED LONG at 2059.61 | Stop loss: 2049.2932607142857 | Take profit: 2090.5321839285716 +2025-03-10 14:42:14,861 - INFO - CLOSED long at 2059.16 | PnL: -0.02% | $-0.24 +2025-03-10 14:42:14,862 - INFO - OPENED SHORT at 2059.16 | Stop loss: 2069.4744892857143 | Take profit: 2028.2445660714284 +2025-03-10 14:42:15,445 - INFO - STOP LOSS hit for short at 2069.4744892857143 | PnL: -0.50% | $-1.18 +2025-03-10 14:42:15,467 - INFO - OPENED SHORT at 2072.0 | Stop loss: 2082.3786892857142 | Take profit: 2040.8919660714287 +2025-03-10 14:42:15,484 - INFO - CLOSED short at 2074.3 | PnL: -0.11% | $-0.41 +2025-03-10 14:42:15,540 - INFO - OPENED SHORT at 2072.6 | Stop loss: 2082.9816892857143 | Take profit: 2041.4829660714286 +2025-03-10 14:42:15,690 - INFO - CLOSED short at 2069.69 | PnL: 0.14% | $0.08 +2025-03-10 14:42:15,690 - INFO - OPENED LONG at 2069.69 | Stop loss: 2059.322860714286 | Take profit: 2100.7633839285713 +2025-03-10 14:42:16,825 - INFO - CLOSED long at 2066.89 | PnL: -0.14% | $-0.46 +2025-03-10 14:42:16,908 - INFO - OPENED LONG at 2069.0 | Stop loss: 2058.6363107142856 | Take profit: 2100.0630339285713 +2025-03-10 14:42:17,335 - INFO - CLOSED long at 2059.2 | PnL: -0.47% | $-1.11 +2025-03-10 14:42:17,336 - INFO - OPENED SHORT at 2059.2 | Stop loss: 2069.5146892857138 | Take profit: 2028.2839660714283 +2025-03-10 14:42:17,887 - INFO - STOP LOSS hit for short at 2069.5146892857138 | PnL: -0.50% | $-1.15 +2025-03-10 14:42:17,956 - INFO - OPENED SHORT at 2069.81 | Stop loss: 2080.1777392857143 | Take profit: 2038.7348160714284 +2025-03-10 14:42:18,022 - INFO - CLOSED short at 2074.05 | PnL: -0.20% | $-0.57 +2025-03-10 14:42:18,023 - INFO - OPENED LONG at 2074.05 | Stop loss: 2063.6610607142857 | Take profit: 2105.1887839285714 +2025-03-10 14:42:18,048 - INFO - CLOSED long at 2072.99 | PnL: -0.05% | $-0.28 +2025-03-10 14:42:18,048 - INFO - OPENED SHORT at 2072.99 | Stop loss: 2083.373639285714 | Take profit: 2041.8671160714282 +2025-03-10 14:42:18,184 - INFO - STOP LOSS hit for short at 2083.373639285714 | PnL: -0.50% | $-1.12 +2025-03-10 14:42:18,274 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2563892857142 | Take profit: 2107.4188660714285 +2025-03-10 14:42:18,962 - INFO - TAKE PROFIT hit for short at 2107.4188660714285 | PnL: 1.50% | $2.59 +2025-03-10 14:42:19,031 - INFO - OPENED SHORT at 2100.5 | Stop loss: 2111.0211892857146 | Take profit: 2068.9644660714284 +2025-03-10 14:42:19,075 - INFO - CLOSED short at 2099.53 | PnL: 0.05% | $-0.10 +2025-03-10 14:42:19,076 - INFO - OPENED LONG at 2099.53 | Stop loss: 2089.013660714286 | Take profit: 2131.0509839285714 +2025-03-10 14:42:19,124 - INFO - CLOSED long at 2102.19 | PnL: 0.13% | $0.05 +2025-03-10 14:42:19,124 - INFO - OPENED SHORT at 2102.19 | Stop loss: 2112.7196392857145 | Take profit: 2070.6291160714286 +2025-03-10 14:42:20,870 - INFO - STOP LOSS hit for short at 2112.7196392857145 | PnL: -0.50% | $-1.14 +2025-03-10 14:42:21,028 - INFO - OPENED SHORT at 2110.99 | Stop loss: 2121.563639285714 | Take profit: 2079.2971160714283 +2025-03-10 14:42:21,374 - INFO - STOP LOSS hit for short at 2121.563639285714 | PnL: -0.50% | $-1.13 +2025-03-10 14:42:21,455 - INFO - OPENED SHORT at 2129.3 | Stop loss: 2139.9651892857146 | Take profit: 2097.332466071429 +2025-03-10 14:42:22,479 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.51, Avg Loss=$-0.65 +2025-03-10 14:42:22,480 - INFO - Episode 1: Reward=-103.89, Balance=$93.36, Win Rate=28.6%, Trades=21, Episode PnL=$-4.57, Total PnL=$-17.12, Max Drawdown=6.9%, Pred Accuracy=96.7% +2025-03-10 14:42:22,567 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.7706892857145 | Take profit: 2039.3159660714286 +2025-03-10 14:42:23,842 - INFO - CLOSED short at 2067.1 | PnL: 0.16% | $0.12 +2025-03-10 14:42:24,132 - INFO - OPENED SHORT at 2060.31 | Stop loss: 2070.630239285714 | Take profit: 2029.3773160714286 +2025-03-10 14:42:24,454 - INFO - CLOSED short at 2062.6 | PnL: -0.11% | $-0.42 +2025-03-10 14:42:24,559 - INFO - OPENED LONG at 2059.61 | Stop loss: 2049.2932607142857 | Take profit: 2090.5321839285716 +2025-03-10 14:42:24,975 - INFO - CLOSED long at 2059.8 | PnL: 0.01% | $-0.18 +2025-03-10 14:42:24,975 - INFO - OPENED SHORT at 2059.8 | Stop loss: 2070.1176892857143 | Take profit: 2028.8749660714288 +2025-03-10 14:42:25,484 - INFO - STOP LOSS hit for short at 2070.1176892857143 | PnL: -0.50% | $-1.19 +2025-03-10 14:42:25,700 - INFO - OPENED LONG at 2073.23 | Stop loss: 2062.8451607142856 | Take profit: 2104.3564839285714 +2025-03-10 14:42:25,807 - INFO - CLOSED long at 2068.39 | PnL: -0.23% | $-0.65 +2025-03-10 14:42:25,808 - INFO - OPENED SHORT at 2068.39 | Stop loss: 2078.750639285714 | Take profit: 2037.3361160714285 +2025-03-10 14:42:26,489 - INFO - CLOSED short at 2071.59 | PnL: -0.15% | $-0.49 +2025-03-10 14:42:26,489 - INFO - OPENED LONG at 2071.59 | Stop loss: 2061.213360714286 | Take profit: 2102.6918839285713 +2025-03-10 14:42:27,839 - INFO - STOP LOSS hit for long at 2061.213360714286 | PnL: -0.50% | $-1.16 +2025-03-10 14:42:27,859 - INFO - OPENED SHORT at 2060.2 | Stop loss: 2070.5196892857143 | Take profit: 2029.2689660714284 +2025-03-10 14:42:27,954 - INFO - CLOSED short at 2053.01 | PnL: 0.35% | $0.47 +2025-03-10 14:42:28,312 - INFO - OPENED SHORT at 2065.12 | Stop loss: 2075.464289285714 | Take profit: 2034.1151660714283 +2025-03-10 14:42:28,643 - INFO - CLOSED short at 2070.31 | PnL: -0.25% | $-0.67 +2025-03-10 14:42:28,665 - INFO - OPENED SHORT at 2070.24 | Stop loss: 2080.609889285714 | Take profit: 2039.1583660714282 +2025-03-10 14:42:28,850 - INFO - CLOSED short at 2071.8 | PnL: -0.08% | $-0.33 +2025-03-10 14:42:28,961 - INFO - OPENED SHORT at 2077.61 | Stop loss: 2088.0167392857143 | Take profit: 2046.4178160714287 +2025-03-10 14:42:29,022 - INFO - STOP LOSS hit for short at 2088.0167392857143 | PnL: -0.50% | $-1.14 +2025-03-10 14:42:29,109 - INFO - OPENED SHORT at 2131.78 | Stop loss: 2142.457589285714 | Take profit: 2099.775266071429 +2025-03-10 14:42:29,226 - INFO - STOP LOSS hit for short at 2142.457589285714 | PnL: -0.50% | $-1.12 +2025-03-10 14:42:29,420 - INFO - OPENED SHORT at 2120.15 | Stop loss: 2130.7694392857143 | Take profit: 2088.3197160714285 +2025-03-10 14:42:30,674 - INFO - CLOSED short at 2092.46 | PnL: 1.31% | $2.23 +2025-03-10 14:42:30,698 - INFO - OPENED SHORT at 2091.1 | Stop loss: 2101.574189285714 | Take profit: 2059.7054660714284 +2025-03-10 14:42:30,864 - INFO - CLOSED short at 2083.97 | PnL: 0.34% | $0.46 +2025-03-10 14:42:30,864 - INFO - OPENED LONG at 2083.97 | Stop loss: 2073.5314607142855 | Take profit: 2115.257583928571 +2025-03-10 14:42:30,982 - INFO - CLOSED long at 2081.49 | PnL: -0.12% | $-0.42 +2025-03-10 14:42:30,983 - INFO - OPENED SHORT at 2081.49 | Stop loss: 2091.916139285714 | Take profit: 2050.2396160714284 +2025-03-10 14:42:31,053 - INFO - CLOSED short at 2083.41 | PnL: -0.09% | $-0.36 +2025-03-10 14:42:31,078 - INFO - OPENED SHORT at 2085.09 | Stop loss: 2095.5341392857144 | Take profit: 2053.7856160714286 +2025-03-10 14:42:31,627 - INFO - STOP LOSS hit for short at 2095.5341392857144 | PnL: -0.50% | $-1.13 +2025-03-10 14:42:31,664 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.5086392857143 | Take profit: 2068.462116071428 +2025-03-10 14:42:31,758 - INFO - CLOSED short at 2098.49 | PnL: 0.07% | $-0.05 +2025-03-10 14:42:31,812 - INFO - OPENED SHORT at 2100.89 | Stop loss: 2111.4131392857144 | Take profit: 2069.3486160714283 +2025-03-10 14:42:32,077 - INFO - CLOSED short at 2104.4 | PnL: -0.17% | $-0.50 +2025-03-10 14:42:32,078 - INFO - OPENED LONG at 2104.4 | Stop loss: 2093.8593107142856 | Take profit: 2135.9940339285718 +2025-03-10 14:42:32,112 - INFO - CLOSED long at 2105.21 | PnL: 0.04% | $-0.11 +2025-03-10 14:42:32,112 - INFO - OPENED SHORT at 2105.21 | Stop loss: 2115.7547392857145 | Take profit: 2073.603816071429 +2025-03-10 14:42:32,456 - INFO - CLOSED short at 2113.0 | PnL: -0.37% | $-0.87 +2025-03-10 14:42:32,492 - INFO - OPENED LONG at 2115.26 | Stop loss: 2104.665010714286 | Take profit: 2147.0169339285717 +2025-03-10 14:42:32,562 - INFO - CLOSED long at 2113.1 | PnL: -0.10% | $-0.37 +2025-03-10 14:42:32,562 - INFO - OPENED SHORT at 2113.1 | Stop loss: 2123.684189285714 | Take profit: 2081.3754660714285 +2025-03-10 14:42:32,716 - INFO - CLOSED short at 2111.19 | PnL: 0.09% | $-0.02 +2025-03-10 14:42:32,716 - INFO - OPENED LONG at 2111.19 | Stop loss: 2100.6153607142855 | Take profit: 2142.8858839285717 +2025-03-10 14:42:32,748 - INFO - CLOSED long at 2112.61 | PnL: 0.07% | $-0.06 +2025-03-10 14:42:32,749 - INFO - OPENED SHORT at 2112.61 | Stop loss: 2123.1917392857144 | Take profit: 2080.8928160714286 +2025-03-10 14:42:33,134 - INFO - CLOSED short at 2121.77 | PnL: -0.43% | $-0.97 +2025-03-10 14:42:33,134 - INFO - OPENED LONG at 2121.77 | Stop loss: 2111.142460714286 | Take profit: 2153.624583928571 +2025-03-10 14:42:33,241 - INFO - CLOSED long at 2129.3 | PnL: 0.35% | $0.46 +2025-03-10 14:42:33,242 - INFO - OPENED SHORT at 2129.3 | Stop loss: 2139.9651892857146 | Take profit: 2097.332466071429 +2025-03-10 14:42:33,774 - INFO - CLOSED short at 2116.53 | PnL: 0.60% | $0.91 +2025-03-10 14:42:33,857 - INFO - OPENED SHORT at 2121.53 | Stop loss: 2132.1563392857147 | Take profit: 2089.6790160714286 +2025-03-10 14:42:34,000 - INFO - CLOSED short at 2120.84 | PnL: 0.03% | $-0.12 +2025-03-10 14:42:34,000 - INFO - OPENED LONG at 2120.84 | Stop loss: 2110.217110714286 | Take profit: 2152.6806339285718 +2025-03-10 14:42:34,058 - INFO - CLOSED long at 2114.41 | PnL: -0.30% | $-0.74 +2025-03-10 14:42:34,058 - INFO - OPENED SHORT at 2114.41 | Stop loss: 2125.000739285714 | Take profit: 2082.6658160714283 +2025-03-10 14:42:34,453 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.77, Avg Loss=$-0.57 +2025-03-10 14:42:34,454 - INFO - Episode 2: Reward=-113.09, Balance=$91.56, Win Rate=20.7%, Trades=29, Episode PnL=$-6.37, Total PnL=$-25.56, Max Drawdown=7.7%, Pred Accuracy=96.7% +2025-03-10 14:42:34,738 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.7706892857145 | Take profit: 2039.3159660714286 +2025-03-10 14:42:34,872 - INFO - CLOSED short at 2073.11 | PnL: -0.13% | $-0.46 +2025-03-10 14:42:34,873 - INFO - OPENED LONG at 2073.11 | Stop loss: 2062.725760714286 | Take profit: 2104.2346839285715 +2025-03-10 14:42:34,893 - INFO - CLOSED long at 2072.7 | PnL: -0.02% | $-0.24 +2025-03-10 14:42:34,893 - INFO - OPENED SHORT at 2072.7 | Stop loss: 2083.082189285714 | Take profit: 2041.5814660714284 +2025-03-10 14:42:35,385 - INFO - CLOSED short at 2068.8 | PnL: 0.19% | $0.17 +2025-03-10 14:42:35,386 - INFO - OPENED LONG at 2068.8 | Stop loss: 2058.437310714286 | Take profit: 2099.8600339285717 +2025-03-10 14:42:35,467 - INFO - CLOSED long at 2067.86 | PnL: -0.05% | $-0.29 +2025-03-10 14:42:35,467 - INFO - OPENED SHORT at 2067.86 | Stop loss: 2078.217989285715 | Take profit: 2036.8140660714287 +2025-03-10 14:42:37,823 - INFO - CLOSED short at 2062.69 | PnL: 0.25% | $0.29 +2025-03-10 14:42:37,853 - INFO - OPENED LONG at 2063.4 | Stop loss: 2053.064310714286 | Take profit: 2094.3790339285715 +2025-03-10 14:42:37,884 - INFO - CLOSED long at 2066.36 | PnL: 0.14% | $0.09 +2025-03-10 14:42:37,885 - INFO - OPENED SHORT at 2066.36 | Stop loss: 2076.7104892857146 | Take profit: 2035.3365660714287 +2025-03-10 14:42:38,229 - INFO - STOP LOSS hit for short at 2076.7104892857146 | PnL: -0.50% | $-1.19 +2025-03-10 14:42:38,367 - INFO - OPENED SHORT at 2073.23 | Stop loss: 2083.6148392857144 | Take profit: 2042.1035160714287 +2025-03-10 14:42:38,532 - INFO - CLOSED short at 2068.79 | PnL: 0.21% | $0.22 +2025-03-10 14:42:38,533 - INFO - OPENED LONG at 2068.79 | Stop loss: 2058.427360714286 | Take profit: 2099.849883928571 +2025-03-10 14:42:38,651 - INFO - CLOSED long at 2066.38 | PnL: -0.12% | $-0.42 +2025-03-10 14:42:38,651 - INFO - OPENED SHORT at 2066.38 | Stop loss: 2076.7305892857144 | Take profit: 2035.3562660714288 +2025-03-10 14:42:38,838 - INFO - CLOSED short at 2064.31 | PnL: 0.10% | $0.00 +2025-03-10 14:42:38,839 - INFO - OPENED LONG at 2064.31 | Stop loss: 2053.9697607142857 | Take profit: 2095.3026839285712 +2025-03-10 14:42:38,883 - INFO - CLOSED long at 2067.53 | PnL: 0.16% | $0.11 +2025-03-10 14:42:38,883 - INFO - OPENED SHORT at 2067.53 | Stop loss: 2077.8863392857143 | Take profit: 2036.4890160714288 +2025-03-10 14:42:40,238 - INFO - CLOSED short at 2053.01 | PnL: 0.70% | $1.17 +2025-03-10 14:42:40,238 - INFO - OPENED LONG at 2053.01 | Stop loss: 2042.726260714286 | Take profit: 2083.8331839285715 +2025-03-10 14:42:40,259 - INFO - CLOSED long at 2049.21 | PnL: -0.19% | $-0.56 +2025-03-10 14:42:40,284 - INFO - OPENED SHORT at 2049.5 | Stop loss: 2059.7661892857145 | Take profit: 2018.7294660714285 +2025-03-10 14:42:40,416 - INFO - STOP LOSS hit for short at 2059.7661892857145 | PnL: -0.50% | $-1.18 +2025-03-10 14:42:40,460 - INFO - OPENED SHORT at 2065.1 | Stop loss: 2075.4441892857144 | Take profit: 2034.0954660714285 +2025-03-10 14:42:40,693 - INFO - CLOSED short at 2061.84 | PnL: 0.16% | $0.11 +2025-03-10 14:42:40,722 - INFO - OPENED SHORT at 2062.54 | Stop loss: 2072.8713892857145 | Take profit: 2031.5738660714287 +2025-03-10 14:42:40,865 - INFO - STOP LOSS hit for short at 2072.8713892857145 | PnL: -0.50% | $-1.17 +2025-03-10 14:42:40,886 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.4389392857147 | Take profit: 2042.9112160714287 +2025-03-10 14:42:41,037 - INFO - STOP LOSS hit for short at 2084.4389392857147 | PnL: -0.50% | $-1.15 +2025-03-10 14:42:41,058 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.961139285714 | Take profit: 2059.104616071428 +2025-03-10 14:42:41,082 - INFO - STOP LOSS hit for short at 2100.961139285714 | PnL: -0.50% | $-1.14 +2025-03-10 14:42:41,106 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.372189285714 | Take profit: 2098.7114660714283 +2025-03-10 14:42:41,227 - INFO - CLOSED short at 2141.41 | PnL: -0.50% | $-1.13 +2025-03-10 14:42:41,227 - INFO - OPENED LONG at 2141.41 | Stop loss: 2130.6842607142858 | Take profit: 2173.559183928571 +2025-03-10 14:42:41,255 - INFO - CLOSED long at 2141.3 | PnL: -0.01% | $-0.19 +2025-03-10 14:42:41,256 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.0251892857145 | Take profit: 2109.1524660714285 +2025-03-10 14:42:41,705 - INFO - TAKE PROFIT hit for short at 2109.1524660714285 | PnL: 1.50% | $2.59 +2025-03-10 14:42:41,723 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.0283107142855 | Take profit: 2142.2870339285714 +2025-03-10 14:42:41,748 - INFO - CLOSED long at 2109.05 | PnL: -0.07% | $-0.33 +2025-03-10 14:42:41,749 - INFO - OPENED SHORT at 2109.05 | Stop loss: 2119.6139392857144 | Take profit: 2077.386216071429 +2025-03-10 14:42:41,769 - INFO - CLOSED short at 2112.09 | PnL: -0.14% | $-0.46 +2025-03-10 14:42:41,797 - INFO - OPENED SHORT at 2112.95 | Stop loss: 2123.533439285714 | Take profit: 2081.2277160714284 +2025-03-10 14:42:43,053 - INFO - TAKE PROFIT hit for short at 2081.2277160714284 | PnL: 1.50% | $2.64 +2025-03-10 14:42:43,160 - INFO - OPENED SHORT at 2085.09 | Stop loss: 2095.5341392857144 | Take profit: 2053.7856160714286 +2025-03-10 14:42:43,569 - INFO - CLOSED short at 2085.67 | PnL: -0.03% | $-0.25 +2025-03-10 14:42:44,313 - INFO - OPENED SHORT at 2102.7 | Stop loss: 2113.232189285714 | Take profit: 2071.1314660714283 +2025-03-10 14:42:44,549 - INFO - STOP LOSS hit for short at 2113.232189285714 | PnL: -0.50% | $-1.16 +2025-03-10 14:42:44,723 - INFO - OPENED SHORT at 2112.11 | Stop loss: 2122.6892392857144 | Take profit: 2080.4003160714287 +2025-03-10 14:42:44,844 - INFO - CLOSED short at 2111.19 | PnL: 0.04% | $-0.11 +2025-03-10 14:42:44,923 - INFO - OPENED SHORT at 2115.3 | Stop loss: 2125.8951892857144 | Take profit: 2083.542466071429 +2025-03-10 14:42:45,288 - INFO - STOP LOSS hit for short at 2125.8951892857144 | PnL: -0.50% | $-1.14 +2025-03-10 14:42:45,331 - INFO - OPENED SHORT at 2135.86 | Stop loss: 2146.5579892857145 | Take profit: 2103.794066071429 +2025-03-10 14:42:45,873 - INFO - CLOSED short at 2119.48 | PnL: 0.77% | $1.25 +2025-03-10 14:42:45,915 - INFO - OPENED SHORT at 2121.53 | Stop loss: 2132.1563392857147 | Take profit: 2089.6790160714286 +2025-03-10 14:42:46,541 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.79, Avg Loss=$-0.70 +2025-03-10 14:42:46,542 - INFO - Episode 3: Reward=-99.30, Balance=$96.09, Win Rate=37.9%, Trades=29, Episode PnL=$-2.63, Total PnL=$-29.47, Max Drawdown=5.6%, Pred Accuracy=96.8% +2025-03-10 14:42:46,900 - INFO - OPENED SHORT at 2069.96 | Stop loss: 2080.3284892857146 | Take profit: 2038.8825660714288 +2025-03-10 14:42:47,223 - INFO - CLOSED short at 2070.4 | PnL: -0.02% | $-0.24 +2025-03-10 14:42:47,223 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.0293107142857 | Take profit: 2101.4840339285715 +2025-03-10 14:42:47,260 - INFO - CLOSED long at 2071.11 | PnL: 0.03% | $-0.13 +2025-03-10 14:42:47,260 - INFO - OPENED SHORT at 2071.11 | Stop loss: 2081.4842392857145 | Take profit: 2040.0153160714287 +2025-03-10 14:42:47,755 - INFO - CLOSED short at 2070.4 | PnL: 0.03% | $-0.13 +2025-03-10 14:42:47,755 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.0293107142857 | Take profit: 2101.4840339285715 +2025-03-10 14:42:47,778 - INFO - CLOSED long at 2070.73 | PnL: 0.02% | $-0.17 +2025-03-10 14:42:47,778 - INFO - OPENED SHORT at 2070.73 | Stop loss: 2081.102339285714 | Take profit: 2039.6410160714286 +2025-03-10 14:42:49,717 - INFO - CLOSED short at 2054.83 | PnL: 0.77% | $1.31 +2025-03-10 14:42:49,717 - INFO - OPENED LONG at 2054.83 | Stop loss: 2044.5371607142856 | Take profit: 2085.6804839285714 +2025-03-10 14:42:50,040 - INFO - CLOSED long at 2063.9 | PnL: 0.44% | $0.68 +2025-03-10 14:42:50,040 - INFO - OPENED SHORT at 2063.9 | Stop loss: 2074.2381892857143 | Take profit: 2032.9134660714287 +2025-03-10 14:42:50,366 - INFO - STOP LOSS hit for short at 2074.2381892857143 | PnL: -0.50% | $-1.21 +2025-03-10 14:42:50,405 - INFO - OPENED SHORT at 2078.01 | Stop loss: 2088.4187392857148 | Take profit: 2046.811816071429 +2025-03-10 14:42:51,057 - INFO - CLOSED short at 2064.31 | PnL: 0.66% | $1.11 +2025-03-10 14:42:51,128 - INFO - OPENED SHORT at 2067.53 | Stop loss: 2077.8863392857143 | Take profit: 2036.4890160714288 +2025-03-10 14:42:52,825 - INFO - CLOSED short at 2060.7 | PnL: 0.33% | $0.46 +2025-03-10 14:42:52,825 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3778107142857 | Take profit: 2091.638533928571 +2025-03-10 14:42:52,979 - INFO - STOP LOSS hit for long at 2050.3778107142857 | PnL: -0.50% | $-1.21 +2025-03-10 14:42:53,508 - INFO - OPENED SHORT at 2061.21 | Stop loss: 2071.5347392857143 | Take profit: 2030.2638160714287 +2025-03-10 14:42:53,758 - INFO - STOP LOSS hit for short at 2071.5347392857143 | PnL: -0.50% | $-1.20 +2025-03-10 14:42:54,353 - INFO - OPENED SHORT at 2127.3 | Stop loss: 2137.9551892857144 | Take profit: 2095.362466071429 +2025-03-10 14:42:54,901 - INFO - CLOSED short at 2106.49 | PnL: 0.98% | $1.73 +2025-03-10 14:42:54,947 - INFO - OPENED SHORT at 2103.33 | Stop loss: 2113.865339285714 | Take profit: 2071.7520160714284 +2025-03-10 14:42:55,419 - INFO - CLOSED short at 2098.39 | PnL: 0.23% | $0.27 +2025-03-10 14:42:55,419 - INFO - OPENED LONG at 2098.39 | Stop loss: 2087.8793607142857 | Take profit: 2129.893883928571 +2025-03-10 14:42:55,461 - INFO - CLOSED long at 2095.29 | PnL: -0.15% | $-0.50 +2025-03-10 14:42:55,461 - INFO - OPENED SHORT at 2095.29 | Stop loss: 2105.7851392857146 | Take profit: 2063.8326160714287 +2025-03-10 14:42:56,898 - INFO - STOP LOSS hit for short at 2105.7851392857146 | PnL: -0.50% | $-1.20 +2025-03-10 14:42:56,936 - INFO - OPENED SHORT at 2103.48 | Stop loss: 2114.0160892857143 | Take profit: 2071.8997660714285 +2025-03-10 14:42:57,581 - INFO - STOP LOSS hit for short at 2114.0160892857143 | PnL: -0.50% | $-1.19 +2025-03-10 14:42:57,620 - INFO - OPENED SHORT at 2113.61 | Stop loss: 2124.1967392857146 | Take profit: 2081.8778160714287 +2025-03-10 14:42:58,306 - INFO - STOP LOSS hit for short at 2124.1967392857146 | PnL: -0.50% | $-1.17 +2025-03-10 14:42:58,329 - INFO - OPENED SHORT at 2127.79 | Stop loss: 2138.447639285714 | Take profit: 2095.8451160714285 +2025-03-10 14:42:58,999 - INFO - CLOSED short at 2122.01 | PnL: 0.27% | $0.33 +2025-03-10 14:42:58,999 - INFO - OPENED LONG at 2122.01 | Stop loss: 2111.381260714286 | Take profit: 2153.868183928572 +2025-03-10 14:42:59,024 - INFO - CLOSED long at 2121.19 | PnL: -0.04% | $-0.27 +2025-03-10 14:42:59,025 - INFO - OPENED SHORT at 2121.19 | Stop loss: 2131.8146392857143 | Take profit: 2089.3441160714287 +2025-03-10 14:42:59,637 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.84, Avg Loss=$-0.72 +2025-03-10 14:42:59,638 - INFO - Episode 4: Reward=-91.75, Balance=$97.29, Win Rate=36.8%, Trades=19, Episode PnL=$-2.33, Total PnL=$-32.18, Max Drawdown=4.0%, Pred Accuracy=96.9% +2025-03-10 14:43:00,643 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.7706892857145 | Take profit: 2039.3159660714286 +2025-03-10 14:43:01,099 - INFO - CLOSED short at 2067.46 | PnL: 0.14% | $0.08 +2025-03-10 14:43:01,142 - INFO - OPENED SHORT at 2066.8 | Stop loss: 2077.152689285714 | Take profit: 2035.7699660714288 +2025-03-10 14:43:01,356 - INFO - CLOSED short at 2069.2 | PnL: -0.12% | $-0.43 +2025-03-10 14:43:01,379 - INFO - OPENED SHORT at 2070.3 | Stop loss: 2080.6701892857145 | Take profit: 2039.2174660714286 +2025-03-10 14:43:03,207 - INFO - CLOSED short at 2059.02 | PnL: 0.54% | $0.88 +2025-03-10 14:43:03,235 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.2031392857143 | Take profit: 2027.9786160714284 +2025-03-10 14:43:03,667 - INFO - CLOSED short at 2066.36 | PnL: -0.36% | $-0.92 +2025-03-10 14:43:03,668 - INFO - OPENED LONG at 2066.36 | Stop loss: 2056.0095107142856 | Take profit: 2097.383433928572 +2025-03-10 14:43:03,703 - INFO - CLOSED long at 2066.01 | PnL: -0.02% | $-0.23 +2025-03-10 14:43:03,704 - INFO - OPENED SHORT at 2066.01 | Stop loss: 2076.358739285715 | Take profit: 2034.9918160714287 +2025-03-10 14:43:04,034 - INFO - STOP LOSS hit for short at 2076.358739285715 | PnL: -0.50% | $-1.18 +2025-03-10 14:43:04,058 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.4037392857144 | Take profit: 2043.8568160714287 +2025-03-10 14:43:04,869 - INFO - CLOSED short at 2066.8 | PnL: 0.40% | $0.58 +2025-03-10 14:43:05,209 - INFO - OPENED SHORT at 2068.19 | Stop loss: 2078.5496392857144 | Take profit: 2037.1391160714288 +2025-03-10 14:43:07,063 - INFO - CLOSED short at 2069.34 | PnL: -0.06% | $-0.30 +2025-03-10 14:43:07,103 - INFO - OPENED SHORT at 2069.81 | Stop loss: 2080.1777392857143 | Take profit: 2038.7348160714284 +2025-03-10 14:43:07,195 - INFO - CLOSED short at 2074.05 | PnL: -0.20% | $-0.59 +2025-03-10 14:43:07,220 - INFO - OPENED SHORT at 2072.99 | Stop loss: 2083.373639285714 | Take profit: 2041.8671160714282 +2025-03-10 14:43:07,347 - INFO - STOP LOSS hit for short at 2083.373639285714 | PnL: -0.50% | $-1.17 +2025-03-10 14:43:07,391 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.553789285714 | Take profit: 2071.4466660714284 +2025-03-10 14:43:07,430 - INFO - STOP LOSS hit for short at 2113.553789285714 | PnL: -0.50% | $-1.15 +2025-03-10 14:43:07,573 - INFO - OPENED SHORT at 2137.59 | Stop loss: 2148.2966392857143 | Take profit: 2105.4981160714287 +2025-03-10 14:43:07,870 - INFO - CLOSED short at 2121.4 | PnL: 0.76% | $1.25 +2025-03-10 14:43:07,870 - INFO - OPENED LONG at 2121.4 | Stop loss: 2110.774310714286 | Take profit: 2153.249033928572 +2025-03-10 14:43:08,015 - INFO - STOP LOSS hit for long at 2110.774310714286 | PnL: -0.50% | $-1.15 +2025-03-10 14:43:08,317 - INFO - OPENED SHORT at 2106.49 | Stop loss: 2117.041139285714 | Take profit: 2074.8646160714284 +2025-03-10 14:43:08,969 - INFO - CLOSED short at 2083.28 | PnL: 1.10% | $1.90 +2025-03-10 14:43:08,971 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.844910714286 | Take profit: 2114.557233928572 +2025-03-10 14:43:09,063 - INFO - CLOSED long at 2085.3 | PnL: 0.10% | $-0.01 +2025-03-10 14:43:09,063 - INFO - OPENED SHORT at 2085.3 | Stop loss: 2095.745189285715 | Take profit: 2053.9924660714287 +2025-03-10 14:43:09,852 - INFO - STOP LOSS hit for short at 2095.745189285715 | PnL: -0.50% | $-1.16 +2025-03-10 14:43:11,101 - INFO - OPENED LONG at 2115.3 | Stop loss: 2104.704810714286 | Take profit: 2147.0575339285715 +2025-03-10 14:43:11,789 - INFO - CLOSED long at 2124.49 | PnL: 0.43% | $0.64 +2025-03-10 14:43:11,790 - INFO - OPENED SHORT at 2124.49 | Stop loss: 2135.131139285714 | Take profit: 2092.5946160714284 +2025-03-10 14:43:12,256 - INFO - CLOSED short at 2115.45 | PnL: 0.43% | $0.63 +2025-03-10 14:43:12,256 - INFO - OPENED LONG at 2115.45 | Stop loss: 2104.8540607142854 | Take profit: 2147.2097839285716 +2025-03-10 14:43:12,289 - INFO - CLOSED long at 2112.11 | PnL: -0.16% | $-0.50 +2025-03-10 14:43:12,289 - INFO - OPENED SHORT at 2112.11 | Stop loss: 2122.6892392857144 | Take profit: 2080.4003160714287 +2025-03-10 14:43:12,367 - INFO - CLOSED short at 2110.3 | PnL: 0.09% | $-0.03 +2025-03-10 14:43:12,368 - INFO - OPENED LONG at 2110.3 | Stop loss: 2099.729810714286 | Take profit: 2141.9825339285717 +2025-03-10 14:43:12,393 - INFO - CLOSED long at 2112.57 | PnL: 0.11% | $0.01 +2025-03-10 14:43:12,394 - INFO - OPENED SHORT at 2112.57 | Stop loss: 2123.1515392857145 | Take profit: 2080.853416071429 +2025-03-10 14:43:12,417 - INFO - CLOSED short at 2108.68 | PnL: 0.18% | $0.16 +2025-03-10 14:43:12,418 - INFO - OPENED LONG at 2108.68 | Stop loss: 2098.1179107142852 | Take profit: 2140.3382339285713 +2025-03-10 14:43:12,538 - INFO - CLOSED long at 2114.71 | PnL: 0.29% | $0.36 +2025-03-10 14:43:12,539 - INFO - OPENED SHORT at 2114.71 | Stop loss: 2125.302239285714 | Take profit: 2082.9613160714284 +2025-03-10 14:43:12,646 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.65, Avg Loss=$-0.68 +2025-03-10 14:43:12,647 - INFO - Episode 5: Reward=-92.09, Balance=$97.65, Win Rate=43.5%, Trades=23, Episode PnL=$-2.62, Total PnL=$-34.52, Max Drawdown=5.0%, Pred Accuracy=96.9% +2025-03-10 14:43:12,930 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.0293107142857 | Take profit: 2101.4840339285715 +2025-03-10 14:43:12,983 - INFO - CLOSED long at 2071.4 | PnL: 0.05% | $-0.10 +2025-03-10 14:43:12,983 - INFO - OPENED SHORT at 2071.4 | Stop loss: 2081.7756892857146 | Take profit: 2040.3009660714288 +2025-03-10 14:43:13,058 - INFO - CLOSED short at 2072.75 | PnL: -0.07% | $-0.33 +2025-03-10 14:43:13,058 - INFO - OPENED LONG at 2072.75 | Stop loss: 2062.3675607142854 | Take profit: 2103.8692839285713 +2025-03-10 14:43:13,120 - INFO - CLOSED long at 2072.7 | PnL: -0.00% | $-0.20 +2025-03-10 14:43:13,120 - INFO - OPENED SHORT at 2072.7 | Stop loss: 2083.082189285714 | Take profit: 2041.5814660714284 +2025-03-10 14:43:13,141 - INFO - CLOSED short at 2072.15 | PnL: 0.03% | $-0.14 +2025-03-10 14:43:13,141 - INFO - OPENED LONG at 2072.15 | Stop loss: 2061.7705607142857 | Take profit: 2103.2602839285714 +2025-03-10 14:43:13,167 - INFO - CLOSED long at 2074.29 | PnL: 0.10% | $0.01 +2025-03-10 14:43:13,168 - INFO - OPENED SHORT at 2074.29 | Stop loss: 2084.680139285714 | Take profit: 2043.1476160714287 +2025-03-10 14:43:13,222 - INFO - CLOSED short at 2071.92 | PnL: 0.11% | $0.03 +2025-03-10 14:43:13,222 - INFO - OPENED LONG at 2071.92 | Stop loss: 2061.5417107142857 | Take profit: 2103.0268339285717 +2025-03-10 14:43:13,245 - INFO - CLOSED long at 2070.4 | PnL: -0.07% | $-0.34 +2025-03-10 14:43:13,246 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.7706892857145 | Take profit: 2039.3159660714286 +2025-03-10 14:43:13,272 - INFO - CLOSED short at 2071.11 | PnL: -0.03% | $-0.26 +2025-03-10 14:43:13,272 - INFO - OPENED LONG at 2071.11 | Stop loss: 2060.735760714286 | Take profit: 2102.2046839285713 +2025-03-10 14:43:13,295 - INFO - CLOSED long at 2069.46 | PnL: -0.08% | $-0.35 +2025-03-10 14:43:13,296 - INFO - OPENED SHORT at 2069.46 | Stop loss: 2079.825989285714 | Take profit: 2038.3900660714285 +2025-03-10 14:43:13,530 - INFO - CLOSED short at 2063.61 | PnL: 0.28% | $0.36 +2025-03-10 14:43:13,574 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.6049892857145 | Take profit: 2034.2530660714287 +2025-03-10 14:43:13,620 - INFO - CLOSED short at 2068.58 | PnL: -0.16% | $-0.51 +2025-03-10 14:43:13,620 - INFO - OPENED LONG at 2068.58 | Stop loss: 2058.2184107142857 | Take profit: 2099.6367339285716 +2025-03-10 14:43:13,703 - INFO - CLOSED long at 2067.59 | PnL: -0.05% | $-0.29 +2025-03-10 14:43:13,703 - INFO - OPENED SHORT at 2067.59 | Stop loss: 2077.9466392857144 | Take profit: 2036.5481160714287 +2025-03-10 14:43:13,726 - INFO - CLOSED short at 2069.2 | PnL: -0.08% | $-0.35 +2025-03-10 14:43:13,726 - INFO - OPENED LONG at 2069.2 | Stop loss: 2058.8353107142857 | Take profit: 2100.2660339285712 +2025-03-10 14:43:13,770 - INFO - CLOSED long at 2071.59 | PnL: 0.12% | $0.03 +2025-03-10 14:43:13,771 - INFO - OPENED SHORT at 2071.59 | Stop loss: 2081.966639285715 | Take profit: 2040.4881160714287 +2025-03-10 14:43:13,837 - INFO - CLOSED short at 2070.4 | PnL: 0.06% | $-0.08 +2025-03-10 14:43:13,837 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.0293107142857 | Take profit: 2101.4840339285715 +2025-03-10 14:43:13,944 - INFO - CLOSED long at 2068.69 | PnL: -0.08% | $-0.35 +2025-03-10 14:43:13,944 - INFO - OPENED SHORT at 2068.69 | Stop loss: 2079.0521392857145 | Take profit: 2037.6316160714287 +2025-03-10 14:43:14,088 - INFO - CLOSED short at 2065.28 | PnL: 0.16% | $0.12 +2025-03-10 14:43:14,089 - INFO - OPENED LONG at 2065.28 | Stop loss: 2054.9349107142857 | Take profit: 2096.287233928572 +2025-03-10 14:43:14,234 - INFO - CLOSED long at 2068.18 | PnL: 0.14% | $0.08 +2025-03-10 14:43:14,234 - INFO - OPENED SHORT at 2068.18 | Stop loss: 2078.539589285714 | Take profit: 2037.1292660714282 +2025-03-10 14:43:14,347 - INFO - CLOSED short at 2064.99 | PnL: 0.15% | $0.10 +2025-03-10 14:43:14,347 - INFO - OPENED LONG at 2064.99 | Stop loss: 2054.6463607142855 | Take profit: 2095.9928839285712 +2025-03-10 14:43:14,567 - INFO - CLOSED long at 2064.96 | PnL: -0.00% | $-0.20 +2025-03-10 14:43:14,568 - INFO - OPENED SHORT at 2064.96 | Stop loss: 2075.3034892857145 | Take profit: 2033.9575660714286 +2025-03-10 14:43:14,670 - INFO - CLOSED short at 2065.54 | PnL: -0.03% | $-0.25 +2025-03-10 14:43:14,671 - INFO - OPENED LONG at 2065.54 | Stop loss: 2055.1936107142856 | Take profit: 2096.5511339285713 +2025-03-10 14:43:14,954 - INFO - CLOSED long at 2059.3 | PnL: -0.30% | $-0.77 +2025-03-10 14:43:14,954 - INFO - OPENED SHORT at 2059.3 | Stop loss: 2069.615189285714 | Take profit: 2028.3824660714286 +2025-03-10 14:43:15,011 - INFO - CLOSED short at 2061.8 | PnL: -0.12% | $-0.42 +2025-03-10 14:43:15,011 - INFO - OPENED LONG at 2061.8 | Stop loss: 2051.472310714286 | Take profit: 2092.7550339285717 +2025-03-10 14:43:15,056 - INFO - CLOSED long at 2064.7 | PnL: 0.14% | $0.08 +2025-03-10 14:43:15,056 - INFO - OPENED SHORT at 2064.7 | Stop loss: 2075.042189285714 | Take profit: 2033.7014660714285 +2025-03-10 14:43:15,125 - INFO - CLOSED short at 2060.91 | PnL: 0.18% | $0.16 +2025-03-10 14:43:15,125 - INFO - OPENED LONG at 2060.91 | Stop loss: 2050.5867607142854 | Take profit: 2091.851683928571 +2025-03-10 14:43:15,249 - INFO - CLOSED long at 2064.1 | PnL: 0.15% | $0.10 +2025-03-10 14:43:15,250 - INFO - OPENED SHORT at 2064.1 | Stop loss: 2074.4391892857143 | Take profit: 2033.1104660714284 +2025-03-10 14:43:15,523 - INFO - CLOSED short at 2061.89 | PnL: 0.11% | $0.01 +2025-03-10 14:43:15,524 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.5618607142856 | Take profit: 2092.8463839285714 +2025-03-10 14:43:16,074 - INFO - CLOSED long at 2061.3 | PnL: -0.03% | $-0.25 +2025-03-10 14:43:16,074 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.6251892857144 | Take profit: 2030.3524660714288 +2025-03-10 14:43:16,122 - INFO - CLOSED short at 2063.4 | PnL: -0.10% | $-0.38 +2025-03-10 14:43:16,123 - INFO - OPENED LONG at 2063.4 | Stop loss: 2053.064310714286 | Take profit: 2094.3790339285715 +2025-03-10 14:43:16,754 - INFO - CLOSED long at 2069.69 | PnL: 0.30% | $0.39 +2025-03-10 14:43:16,754 - INFO - OPENED SHORT at 2069.69 | Stop loss: 2080.057139285714 | Take profit: 2038.6166160714286 +2025-03-10 14:43:16,810 - INFO - CLOSED short at 2067.44 | PnL: 0.11% | $0.02 +2025-03-10 14:43:16,811 - INFO - OPENED LONG at 2067.44 | Stop loss: 2057.084110714286 | Take profit: 2098.4796339285717 +2025-03-10 14:43:16,830 - INFO - CLOSED long at 2068.79 | PnL: 0.07% | $-0.07 +2025-03-10 14:43:16,830 - INFO - OPENED SHORT at 2068.79 | Stop loss: 2079.152639285714 | Take profit: 2037.7301160714285 +2025-03-10 14:43:16,852 - INFO - CLOSED short at 2072.99 | PnL: -0.20% | $-0.58 +2025-03-10 14:43:16,854 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6063607142855 | Take profit: 2104.112883928571 +2025-03-10 14:43:17,020 - INFO - CLOSED long at 2063.95 | PnL: -0.44% | $-1.01 +2025-03-10 14:43:17,020 - INFO - OPENED SHORT at 2063.95 | Stop loss: 2074.288439285714 | Take profit: 2032.9627160714283 +2025-03-10 14:43:17,064 - INFO - CLOSED short at 2063.97 | PnL: -0.00% | $-0.19 +2025-03-10 14:43:17,064 - INFO - OPENED LONG at 2063.97 | Stop loss: 2053.6314607142854 | Take profit: 2094.9575839285712 +2025-03-10 14:43:17,185 - INFO - CLOSED long at 2064.4 | PnL: 0.02% | $-0.15 +2025-03-10 14:43:17,185 - INFO - OPENED SHORT at 2064.4 | Stop loss: 2074.7406892857143 | Take profit: 2033.4059660714288 +2025-03-10 14:43:17,239 - INFO - CLOSED short at 2065.5 | PnL: -0.05% | $-0.29 +2025-03-10 14:43:17,239 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.1538107142856 | Take profit: 2096.5105339285715 +2025-03-10 14:43:17,270 - INFO - CLOSED long at 2067.53 | PnL: 0.10% | $-0.00 +2025-03-10 14:43:17,271 - INFO - OPENED SHORT at 2067.53 | Stop loss: 2077.8863392857143 | Take profit: 2036.4890160714288 +2025-03-10 14:43:17,296 - INFO - CLOSED short at 2065.29 | PnL: 0.11% | $0.02 +2025-03-10 14:43:17,296 - INFO - OPENED LONG at 2065.29 | Stop loss: 2054.9448607142854 | Take profit: 2096.2973839285714 +2025-03-10 14:43:17,418 - INFO - CLOSED long at 2068.59 | PnL: 0.16% | $0.11 +2025-03-10 14:43:17,419 - INFO - OPENED SHORT at 2068.59 | Stop loss: 2078.9516392857145 | Take profit: 2037.5331160714286 +2025-03-10 14:43:17,587 - INFO - CLOSED short at 2070.9 | PnL: -0.11% | $-0.39 +2025-03-10 14:43:17,587 - INFO - OPENED LONG at 2070.9 | Stop loss: 2060.5268107142856 | Take profit: 2101.9915339285717 +2025-03-10 14:43:17,685 - INFO - CLOSED long at 2070.35 | PnL: -0.03% | $-0.23 +2025-03-10 14:43:17,685 - INFO - OPENED SHORT at 2070.35 | Stop loss: 2080.7204392857143 | Take profit: 2039.2667160714284 +2025-03-10 14:43:17,714 - INFO - CLOSED short at 2070.61 | PnL: -0.01% | $-0.21 +2025-03-10 14:43:17,715 - INFO - OPENED LONG at 2070.61 | Stop loss: 2060.238260714286 | Take profit: 2101.6971839285716 +2025-03-10 14:43:17,736 - INFO - CLOSED long at 2071.99 | PnL: 0.07% | $-0.06 +2025-03-10 14:43:17,736 - INFO - OPENED SHORT at 2071.99 | Stop loss: 2082.368639285714 | Take profit: 2040.8821160714283 +2025-03-10 14:43:17,767 - INFO - CLOSED short at 2068.19 | PnL: 0.18% | $0.15 +2025-03-10 14:43:17,767 - INFO - OPENED LONG at 2068.19 | Stop loss: 2057.8303607142857 | Take profit: 2099.2408839285717 +2025-03-10 14:43:17,816 - INFO - CLOSED long at 2068.67 | PnL: 0.02% | $-0.14 +2025-03-10 14:43:17,816 - INFO - OPENED SHORT at 2068.67 | Stop loss: 2079.0320392857143 | Take profit: 2037.6119160714286 +2025-03-10 14:43:17,866 - INFO - CLOSED short at 2070.67 | PnL: -0.10% | $-0.36 +2025-03-10 14:43:17,866 - INFO - OPENED LONG at 2070.67 | Stop loss: 2060.2979607142856 | Take profit: 2101.7580839285715 +2025-03-10 14:43:17,986 - INFO - CLOSED long at 2074.37 | PnL: 0.18% | $0.14 +2025-03-10 14:43:17,987 - INFO - OPENED SHORT at 2074.37 | Stop loss: 2084.760539285714 | Take profit: 2043.2264160714283 +2025-03-10 14:43:18,042 - INFO - CLOSED short at 2074.35 | PnL: 0.00% | $-0.18 +2025-03-10 14:43:18,043 - INFO - OPENED LONG at 2074.35 | Stop loss: 2063.9595607142855 | Take profit: 2105.4932839285716 +2025-03-10 14:43:18,303 - INFO - CLOSED long at 2072.09 | PnL: -0.11% | $-0.38 +2025-03-10 14:43:18,345 - INFO - OPENED LONG at 2069.97 | Stop loss: 2059.6014607142856 | Take profit: 2101.0475839285714 +2025-03-10 14:43:18,478 - INFO - CLOSED long at 2066.89 | PnL: -0.15% | $-0.45 +2025-03-10 14:43:18,479 - INFO - OPENED SHORT at 2066.89 | Stop loss: 2077.2431392857143 | Take profit: 2035.8586160714285 +2025-03-10 14:43:18,502 - INFO - CLOSED short at 2067.88 | PnL: -0.05% | $-0.27 +2025-03-10 14:43:18,503 - INFO - OPENED LONG at 2067.88 | Stop loss: 2057.5219107142857 | Take profit: 2098.9262339285715 +2025-03-10 14:43:19,284 - INFO - STOP LOSS hit for long at 2057.5219107142857 | PnL: -0.50% | $-1.09 +2025-03-10 14:43:19,307 - INFO - OPENED LONG at 2053.01 | Stop loss: 2042.726260714286 | Take profit: 2083.8331839285715 +2025-03-10 14:43:19,386 - INFO - CLOSED long at 2051.99 | PnL: -0.05% | $-0.27 +2025-03-10 14:43:19,386 - INFO - OPENED SHORT at 2051.99 | Stop loss: 2062.268639285714 | Take profit: 2021.1821160714283 +2025-03-10 14:43:19,458 - INFO - CLOSED short at 2058.3 | PnL: -0.31% | $-0.73 +2025-03-10 14:43:19,459 - INFO - OPENED LONG at 2058.3 | Stop loss: 2047.9898107142858 | Take profit: 2089.2025339285715 +2025-03-10 14:43:19,619 - INFO - CLOSED long at 2062.83 | PnL: 0.22% | $0.21 +2025-03-10 14:43:19,619 - INFO - OPENED SHORT at 2062.83 | Stop loss: 2073.162839285714 | Take profit: 2031.8595160714285 +2025-03-10 14:43:19,642 - INFO - CLOSED short at 2063.9 | PnL: -0.05% | $-0.27 +2025-03-10 14:43:19,643 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.561810714286 | Take profit: 2094.886533928571 +2025-03-10 14:43:19,977 - INFO - CLOSED long at 2061.84 | PnL: -0.10% | $-0.35 +2025-03-10 14:43:19,978 - INFO - OPENED SHORT at 2061.84 | Stop loss: 2072.1678892857144 | Take profit: 2030.8843660714288 +2025-03-10 14:43:20,004 - INFO - CLOSED short at 2062.54 | PnL: -0.03% | $-0.24 +2025-03-10 14:43:20,005 - INFO - OPENED LONG at 2062.54 | Stop loss: 2052.208610714286 | Take profit: 2093.5061339285717 +2025-03-10 14:43:20,440 - INFO - TAKE PROFIT hit for long at 2093.5061339285717 | PnL: 1.50% | $2.46 +2025-03-10 14:43:20,462 - INFO - OPENED LONG at 2130.7 | Stop loss: 2120.0278107142854 | Take profit: 2162.6885339285714 +2025-03-10 14:43:20,853 - INFO - STOP LOSS hit for long at 2120.0278107142854 | PnL: -0.50% | $-1.09 +2025-03-10 14:43:20,896 - INFO - OPENED SHORT at 2121.4 | Stop loss: 2132.0256892857146 | Take profit: 2089.550966071429 +2025-03-10 14:43:20,942 - INFO - CLOSED short at 2119.14 | PnL: 0.11% | $0.01 +2025-03-10 14:43:20,942 - INFO - OPENED LONG at 2119.14 | Stop loss: 2108.5256107142854 | Take profit: 2150.9551339285717 +2025-03-10 14:43:21,042 - INFO - STOP LOSS hit for long at 2108.5256107142854 | PnL: -0.50% | $-1.07 +2025-03-10 14:43:21,082 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.0283107142855 | Take profit: 2142.2870339285714 +2025-03-10 14:43:21,151 - INFO - CLOSED long at 2112.09 | PnL: 0.07% | $-0.05 +2025-03-10 14:43:21,152 - INFO - OPENED SHORT at 2112.09 | Stop loss: 2122.669139285714 | Take profit: 2080.380616071429 +2025-03-10 14:43:21,230 - INFO - CLOSED short at 2113.24 | PnL: -0.05% | $-0.27 +2025-03-10 14:43:21,230 - INFO - OPENED LONG at 2113.24 | Stop loss: 2102.6551107142855 | Take profit: 2144.9666339285714 +2025-03-10 14:43:21,255 - INFO - CLOSED long at 2112.99 | PnL: -0.01% | $-0.20 +2025-03-10 14:43:21,255 - INFO - OPENED SHORT at 2112.99 | Stop loss: 2123.5736392857143 | Take profit: 2081.2671160714285 +2025-03-10 14:43:21,277 - INFO - CLOSED short at 2120.81 | PnL: -0.37% | $-0.82 +2025-03-10 14:43:21,278 - INFO - OPENED LONG at 2120.81 | Stop loss: 2110.187260714286 | Take profit: 2152.6501839285716 +2025-03-10 14:43:21,361 - INFO - CLOSED long at 2108.71 | PnL: -0.57% | $-1.16 +2025-03-10 14:43:21,362 - INFO - OPENED SHORT at 2108.71 | Stop loss: 2119.2722392857145 | Take profit: 2077.0513160714286 +2025-03-10 14:43:21,479 - INFO - CLOSED short at 2100.5 | PnL: 0.39% | $0.50 +2025-03-10 14:43:21,480 - INFO - OPENED LONG at 2100.5 | Stop loss: 2089.978810714286 | Take profit: 2132.035533928571 +2025-03-10 14:43:21,668 - INFO - CLOSED long at 2099.25 | PnL: -0.06% | $-0.27 +2025-03-10 14:43:21,669 - INFO - OPENED SHORT at 2099.25 | Stop loss: 2109.7649392857143 | Take profit: 2067.7332160714286 +2025-03-10 14:43:21,694 - INFO - CLOSED short at 2098.9 | PnL: 0.02% | $-0.14 +2025-03-10 14:43:21,694 - INFO - OPENED LONG at 2098.9 | Stop loss: 2088.3868107142857 | Take profit: 2130.4115339285718 +2025-03-10 14:43:21,810 - INFO - CLOSED long at 2103.86 | PnL: 0.24% | $0.23 +2025-03-10 14:43:21,810 - INFO - OPENED SHORT at 2103.86 | Stop loss: 2114.3979892857146 | Take profit: 2072.274066071429 +2025-03-10 14:43:21,849 - INFO - CLOSED short at 2104.68 | PnL: -0.04% | $-0.24 +2025-03-10 14:43:21,849 - INFO - OPENED LONG at 2104.68 | Stop loss: 2094.1379107142857 | Take profit: 2136.2782339285714 +2025-03-10 14:43:22,008 - INFO - CLOSED long at 2098.39 | PnL: -0.30% | $-0.68 +2025-03-10 14:43:22,009 - INFO - OPENED SHORT at 2098.39 | Stop loss: 2108.900639285714 | Take profit: 2066.8861160714287 +2025-03-10 14:43:22,038 - INFO - CLOSED short at 2095.29 | PnL: 0.15% | $0.08 +2025-03-10 14:43:22,038 - INFO - OPENED LONG at 2095.29 | Stop loss: 2084.7948607142857 | Take profit: 2126.7473839285717 +2025-03-10 14:43:22,089 - INFO - CLOSED long at 2093.33 | PnL: -0.09% | $-0.33 +2025-03-10 14:43:22,089 - INFO - OPENED SHORT at 2093.33 | Stop loss: 2103.8153392857143 | Take profit: 2061.9020160714285 +2025-03-10 14:43:22,310 - INFO - CLOSED short at 2088.44 | PnL: 0.23% | $0.23 +2025-03-10 14:43:22,310 - INFO - OPENED LONG at 2088.44 | Stop loss: 2077.979110714286 | Take profit: 2119.794633928572 +2025-03-10 14:43:22,390 - INFO - CLOSED long at 2085.3 | PnL: -0.15% | $-0.43 +2025-03-10 14:43:22,391 - INFO - OPENED SHORT at 2085.3 | Stop loss: 2095.745189285715 | Take profit: 2053.9924660714287 +2025-03-10 14:43:22,414 - INFO - CLOSED short at 2082.44 | PnL: 0.14% | $0.06 +2025-03-10 14:43:22,414 - INFO - OPENED LONG at 2082.44 | Stop loss: 2072.0091107142857 | Take profit: 2113.7046339285716 +2025-03-10 14:43:22,561 - INFO - CLOSED long at 2083.59 | PnL: 0.06% | $-0.08 +2025-03-10 14:43:22,562 - INFO - OPENED SHORT at 2083.59 | Stop loss: 2094.0266392857143 | Take profit: 2052.3081160714287 +2025-03-10 14:43:22,703 - INFO - CLOSED short at 2085.83 | PnL: -0.11% | $-0.35 +2025-03-10 14:43:22,703 - INFO - OPENED LONG at 2085.83 | Stop loss: 2075.382160714286 | Take profit: 2117.1454839285716 +2025-03-10 14:43:22,943 - INFO - CLOSED long at 2086.81 | PnL: 0.05% | $-0.09 +2025-03-10 14:43:22,944 - INFO - OPENED SHORT at 2086.81 | Stop loss: 2097.262739285714 | Take profit: 2055.4798160714286 +2025-03-10 14:43:22,976 - INFO - CLOSED short at 2089.79 | PnL: -0.14% | $-0.41 +2025-03-10 14:43:22,977 - INFO - OPENED LONG at 2089.79 | Stop loss: 2079.3223607142854 | Take profit: 2121.1648839285717 +2025-03-10 14:43:23,095 - INFO - CLOSED long at 2089.2 | PnL: -0.03% | $-0.21 +2025-03-10 14:43:23,095 - INFO - OPENED SHORT at 2089.2 | Stop loss: 2099.6646892857143 | Take profit: 2057.8339660714287 +2025-03-10 14:43:23,145 - INFO - CLOSED short at 2091.05 | PnL: -0.09% | $-0.32 +2025-03-10 14:43:23,145 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.576060714286 | Take profit: 2122.4437839285715 +2025-03-10 14:43:23,179 - INFO - CLOSED long at 2091.05 | PnL: 0.00% | $-0.17 +2025-03-10 14:43:23,179 - INFO - OPENED SHORT at 2091.05 | Stop loss: 2101.5239392857147 | Take profit: 2059.656216071429 +2025-03-10 14:43:23,205 - INFO - CLOSED short at 2091.95 | PnL: -0.04% | $-0.24 +2025-03-10 14:43:23,205 - INFO - OPENED LONG at 2091.95 | Stop loss: 2081.4715607142853 | Take profit: 2123.357283928571 +2025-03-10 14:43:23,253 - INFO - CLOSED long at 2097.8 | PnL: 0.28% | $0.30 +2025-03-10 14:43:23,253 - INFO - OPENED SHORT at 2097.8 | Stop loss: 2108.3076892857143 | Take profit: 2066.3049660714287 +2025-03-10 14:43:23,300 - INFO - CLOSED short at 2101.64 | PnL: -0.18% | $-0.47 +2025-03-10 14:43:23,300 - INFO - OPENED LONG at 2101.64 | Stop loss: 2091.1131107142855 | Take profit: 2133.1926339285715 +2025-03-10 14:43:23,460 - INFO - CLOSED long at 2099.73 | PnL: -0.09% | $-0.32 +2025-03-10 14:43:23,461 - INFO - OPENED SHORT at 2099.73 | Stop loss: 2110.2473392857146 | Take profit: 2068.2060160714286 +2025-03-10 14:43:23,506 - INFO - CLOSED short at 2106.15 | PnL: -0.31% | $-0.67 +2025-03-10 14:43:23,506 - INFO - OPENED LONG at 2106.15 | Stop loss: 2095.6005607142856 | Take profit: 2137.7702839285716 +2025-03-10 14:43:23,554 - INFO - CLOSED long at 2103.48 | PnL: -0.13% | $-0.37 +2025-03-10 14:43:23,554 - INFO - OPENED SHORT at 2103.48 | Stop loss: 2114.0160892857143 | Take profit: 2071.8997660714285 +2025-03-10 14:43:23,585 - INFO - CLOSED short at 2104.93 | PnL: -0.07% | $-0.27 +2025-03-10 14:43:23,585 - INFO - OPENED LONG at 2104.93 | Stop loss: 2094.3866607142854 | Take profit: 2136.531983928571 +2025-03-10 14:43:23,642 - INFO - CLOSED long at 2103.07 | PnL: -0.09% | $-0.31 +2025-03-10 14:43:23,643 - INFO - OPENED SHORT at 2103.07 | Stop loss: 2113.6040392857144 | Take profit: 2071.495916071429 +2025-03-10 14:43:23,667 - INFO - CLOSED short at 2101.5 | PnL: 0.07% | $-0.04 +2025-03-10 14:43:23,668 - INFO - OPENED LONG at 2101.5 | Stop loss: 2090.9738107142857 | Take profit: 2133.0505339285714 +2025-03-10 14:43:23,907 - INFO - CLOSED long at 2102.7 | PnL: 0.06% | $-0.07 +2025-03-10 14:43:23,907 - INFO - OPENED SHORT at 2102.7 | Stop loss: 2113.232189285714 | Take profit: 2071.1314660714283 +2025-03-10 14:43:23,982 - INFO - CLOSED short at 2103.41 | PnL: -0.03% | $-0.22 +2025-03-10 14:43:23,982 - INFO - OPENED LONG at 2103.41 | Stop loss: 2092.874260714286 | Take profit: 2134.9891839285715 +2025-03-10 14:43:24,013 - INFO - CLOSED long at 2104.73 | PnL: 0.06% | $-0.06 +2025-03-10 14:43:24,013 - INFO - OPENED SHORT at 2104.73 | Stop loss: 2115.272339285714 | Take profit: 2073.1310160714283 +2025-03-10 14:43:24,063 - INFO - CLOSED short at 2106.28 | PnL: -0.07% | $-0.28 +2025-03-10 14:43:24,064 - INFO - OPENED LONG at 2106.28 | Stop loss: 2095.729910714286 | Take profit: 2137.9022339285716 +2025-03-10 14:43:24,085 - INFO - CLOSED long at 2108.0 | PnL: 0.08% | $-0.03 +2025-03-10 14:43:24,085 - INFO - OPENED SHORT at 2108.0 | Stop loss: 2118.5586892857145 | Take profit: 2076.3519660714287 +2025-03-10 14:43:24,163 - INFO - CLOSED short at 2110.4 | PnL: -0.11% | $-0.34 +2025-03-10 14:43:24,164 - INFO - OPENED LONG at 2110.4 | Stop loss: 2099.829310714286 | Take profit: 2142.084033928572 +2025-03-10 14:43:24,205 - INFO - CLOSED long at 2113.7 | PnL: 0.16% | $0.09 +2025-03-10 14:43:24,206 - INFO - OPENED SHORT at 2113.7 | Stop loss: 2124.2871892857142 | Take profit: 2081.9664660714284 +2025-03-10 14:43:24,291 - INFO - CLOSED short at 2115.26 | PnL: -0.07% | $-0.28 +2025-03-10 14:43:24,291 - INFO - OPENED LONG at 2115.26 | Stop loss: 2104.665010714286 | Take profit: 2147.0169339285717 +2025-03-10 14:43:24,470 - INFO - CLOSED long at 2110.99 | PnL: -0.20% | $-0.48 +2025-03-10 14:43:24,471 - INFO - OPENED SHORT at 2110.99 | Stop loss: 2121.563639285714 | Take profit: 2079.2971160714283 +2025-03-10 14:43:24,518 - INFO - CLOSED short at 2111.19 | PnL: -0.01% | $-0.17 +2025-03-10 14:43:24,518 - INFO - OPENED LONG at 2111.19 | Stop loss: 2100.6153607142855 | Take profit: 2142.8858839285717 +2025-03-10 14:43:24,541 - INFO - CLOSED long at 2112.61 | PnL: 0.07% | $-0.05 +2025-03-10 14:43:24,541 - INFO - OPENED SHORT at 2112.61 | Stop loss: 2123.1917392857144 | Take profit: 2080.8928160714286 +2025-03-10 14:43:24,640 - INFO - CLOSED short at 2115.3 | PnL: -0.13% | $-0.36 +2025-03-10 14:43:24,641 - INFO - OPENED LONG at 2115.3 | Stop loss: 2104.704810714286 | Take profit: 2147.0575339285715 +2025-03-10 14:43:24,725 - INFO - CLOSED long at 2116.81 | PnL: 0.07% | $-0.04 +2025-03-10 14:43:24,726 - INFO - OPENED SHORT at 2116.81 | Stop loss: 2127.412739285714 | Take profit: 2085.0298160714283 +2025-03-10 14:43:24,819 - INFO - CLOSED short at 2117.6 | PnL: -0.04% | $-0.22 +2025-03-10 14:43:24,819 - INFO - OPENED LONG at 2117.6 | Stop loss: 2106.9933107142856 | Take profit: 2149.3920339285714 +2025-03-10 14:43:25,176 - INFO - CLOSED long at 2135.86 | PnL: 0.86% | $1.19 +2025-03-10 14:43:25,201 - INFO - OPENED SHORT at 2136.26 | Stop loss: 2146.9599892857145 | Take profit: 2104.1880660714287 +2025-03-10 14:43:25,224 - INFO - CLOSED short at 2135.51 | PnL: 0.04% | $-0.10 +2025-03-10 14:43:25,225 - INFO - OPENED LONG at 2135.51 | Stop loss: 2124.8137607142858 | Take profit: 2167.5706839285717 +2025-03-10 14:43:25,338 - INFO - CLOSED long at 2124.38 | PnL: -0.52% | $-0.99 +2025-03-10 14:43:25,338 - INFO - OPENED SHORT at 2124.38 | Stop loss: 2135.0205892857143 | Take profit: 2092.4862660714284 +2025-03-10 14:43:25,454 - INFO - CLOSED short at 2129.51 | PnL: -0.24% | $-0.54 +2025-03-10 14:43:25,455 - INFO - OPENED LONG at 2129.51 | Stop loss: 2118.843760714286 | Take profit: 2161.4806839285716 +2025-03-10 14:43:25,691 - INFO - CLOSED long at 2120.0 | PnL: -0.45% | $-0.85 +2025-03-10 14:43:25,692 - INFO - OPENED SHORT at 2120.0 | Stop loss: 2130.618689285714 | Take profit: 2088.1719660714284 +2025-03-10 14:43:25,739 - INFO - CLOSED short at 2118.8 | PnL: 0.06% | $-0.07 +2025-03-10 14:43:25,740 - INFO - OPENED LONG at 2118.8 | Stop loss: 2108.187310714286 | Take profit: 2150.6100339285717 +2025-03-10 14:43:26,085 - INFO - CLOSED long at 2120.84 | PnL: 0.10% | $-0.01 +2025-03-10 14:43:26,085 - INFO - OPENED SHORT at 2120.84 | Stop loss: 2131.462889285714 | Take profit: 2088.9993660714285 +2025-03-10 14:43:26,117 - INFO - CLOSED short at 2114.41 | PnL: 0.30% | $0.31 +2025-03-10 14:43:26,118 - INFO - OPENED LONG at 2114.41 | Stop loss: 2103.8192607142855 | Take profit: 2146.1541839285715 +2025-03-10 14:43:26,573 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.26, Avg Loss=$-0.34 +2025-03-10 14:43:26,574 - INFO - Episode 6: Reward=-176.71, Balance=$77.89, Win Rate=24.8%, Trades=117, Episode PnL=$-11.05, Total PnL=$-56.63, Max Drawdown=19.9%, Pred Accuracy=97.0% +2025-03-10 14:43:26,997 - INFO - OPENED SHORT at 2071.4 | Stop loss: 2081.7756892857146 | Take profit: 2040.3009660714288 +2025-03-10 14:43:27,398 - INFO - CLOSED short at 2068.32 | PnL: 0.15% | $0.10 +2025-03-10 14:43:27,399 - INFO - OPENED LONG at 2068.32 | Stop loss: 2057.959710714286 | Take profit: 2099.3728339285713 +2025-03-10 14:43:27,938 - INFO - CLOSED long at 2068.5 | PnL: 0.01% | $-0.18 +2025-03-10 14:43:28,055 - INFO - OPENED SHORT at 2067.11 | Stop loss: 2077.4642392857145 | Take profit: 2036.075316071429 +2025-03-10 14:43:29,889 - INFO - CLOSED short at 2057.4 | PnL: 0.47% | $0.73 +2025-03-10 14:43:30,311 - INFO - OPENED SHORT at 2063.4 | Stop loss: 2073.7356892857147 | Take profit: 2032.4209660714287 +2025-03-10 14:43:30,670 - INFO - STOP LOSS hit for short at 2073.7356892857147 | PnL: -0.50% | $-1.20 +2025-03-10 14:43:30,935 - INFO - OPENED SHORT at 2068.15 | Stop loss: 2078.509439285714 | Take profit: 2037.0997160714287 +2025-03-10 14:43:33,295 - INFO - CLOSED short at 2049.21 | PnL: 0.92% | $1.61 +2025-03-10 14:43:33,506 - INFO - OPENED SHORT at 2062.83 | Stop loss: 2073.162839285714 | Take profit: 2031.8595160714285 +2025-03-10 14:43:34,194 - INFO - STOP LOSS hit for short at 2073.162839285714 | PnL: -0.50% | $-1.20 +2025-03-10 14:43:34,334 - INFO - OPENED SHORT at 2076.08 | Stop loss: 2086.479089285714 | Take profit: 2044.9107660714285 +2025-03-10 14:43:34,382 - INFO - CLOSED short at 2085.56 | PnL: -0.46% | $-1.10 +2025-03-10 14:43:34,382 - INFO - OPENED LONG at 2085.56 | Stop loss: 2075.113510714286 | Take profit: 2116.8714339285716 +2025-03-10 14:43:34,431 - INFO - CLOSED long at 2090.49 | PnL: 0.24% | $0.27 +2025-03-10 14:43:34,432 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.961139285714 | Take profit: 2059.104616071428 +2025-03-10 14:43:34,478 - INFO - STOP LOSS hit for short at 2100.961139285714 | PnL: -0.50% | $-1.18 +2025-03-10 14:43:34,995 - INFO - OPENED SHORT at 2120.15 | Stop loss: 2130.7694392857143 | Take profit: 2088.3197160714285 +2025-03-10 14:43:35,512 - INFO - CLOSED short at 2116.48 | PnL: 0.17% | $0.14 +2025-03-10 14:43:35,512 - INFO - OPENED LONG at 2116.48 | Stop loss: 2105.8789107142857 | Take profit: 2148.255233928571 +2025-03-10 14:43:35,705 - INFO - STOP LOSS hit for long at 2105.8789107142857 | PnL: -0.50% | $-1.17 +2025-03-10 14:43:35,787 - INFO - OPENED LONG at 2090.0 | Stop loss: 2079.5313107142856 | Take profit: 2121.3780339285718 +2025-03-10 14:43:36,057 - INFO - CLOSED long at 2106.39 | PnL: 0.78% | $1.31 +2025-03-10 14:43:36,057 - INFO - OPENED SHORT at 2106.39 | Stop loss: 2116.940639285714 | Take profit: 2074.7661160714283 +2025-03-10 14:43:38,040 - INFO - CLOSED short at 2102.0 | PnL: 0.21% | $0.21 +2025-03-10 14:43:38,041 - INFO - OPENED LONG at 2102.0 | Stop loss: 2091.4713107142857 | Take profit: 2133.558033928571 +2025-03-10 14:43:38,084 - INFO - CLOSED long at 2103.41 | PnL: 0.07% | $-0.06 +2025-03-10 14:43:39,198 - INFO - OPENED SHORT at 2135.86 | Stop loss: 2146.5579892857145 | Take profit: 2103.794066071429 +2025-03-10 14:43:39,491 - INFO - CLOSED short at 2129.51 | PnL: 0.30% | $0.38 +2025-03-10 14:43:39,657 - INFO - OPENED SHORT at 2123.37 | Stop loss: 2134.0055392857143 | Take profit: 2091.4914160714284 +2025-03-10 14:43:39,828 - INFO - CLOSED short at 2116.53 | PnL: 0.32% | $0.43 +2025-03-10 14:43:39,828 - INFO - OPENED LONG at 2116.53 | Stop loss: 2105.928660714286 | Take profit: 2148.3059839285715 +2025-03-10 14:43:40,626 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.58, Avg Loss=$-0.87 +2025-03-10 14:43:40,627 - INFO - Episode 7: Reward=-89.27, Balance=$99.09, Win Rate=56.2%, Trades=16, Episode PnL=$-2.49, Total PnL=$-57.54, Max Drawdown=4.2%, Pred Accuracy=97.1% +2025-03-10 14:43:40,763 - INFO - Model saved to models/trading_agent_best_winrate.pt +2025-03-10 14:43:40,764 - INFO - New best win rate model saved: 56.2% +2025-03-10 14:43:42,113 - INFO - OPENED SHORT at 2066.4 | Stop loss: 2076.750689285714 | Take profit: 2035.3759660714286 +2025-03-10 14:43:42,282 - INFO - CLOSED short at 2068.18 | PnL: -0.09% | $-0.37 +2025-03-10 14:43:42,283 - INFO - OPENED LONG at 2068.18 | Stop loss: 2057.8204107142856 | Take profit: 2099.230733928571 +2025-03-10 14:43:43,020 - INFO - CLOSED long at 2060.9 | PnL: -0.35% | $-0.89 +2025-03-10 14:43:43,020 - INFO - OPENED SHORT at 2060.9 | Stop loss: 2071.2231892857144 | Take profit: 2029.9584660714286 +2025-03-10 14:43:44,601 - INFO - CLOSED short at 2069.79 | PnL: -0.43% | $-1.04 +2025-03-10 14:43:44,601 - INFO - OPENED LONG at 2069.79 | Stop loss: 2059.422360714286 | Take profit: 2100.8648839285715 +2025-03-10 14:43:44,673 - INFO - CLOSED long at 2078.01 | PnL: 0.40% | $0.58 +2025-03-10 14:43:44,673 - INFO - OPENED SHORT at 2078.01 | Stop loss: 2088.4187392857148 | Take profit: 2046.811816071429 +2025-03-10 14:43:47,673 - INFO - CLOSED short at 2057.11 | PnL: 1.01% | $1.76 +2025-03-10 14:43:48,462 - INFO - OPENED SHORT at 2077.61 | Stop loss: 2088.0167392857143 | Take profit: 2046.4178160714287 +2025-03-10 14:43:48,482 - INFO - CLOSED short at 2085.56 | PnL: -0.38% | $-0.96 +2025-03-10 14:43:48,753 - INFO - OPENED LONG at 2134.78 | Stop loss: 2124.087410714286 | Take profit: 2166.8297339285714 +2025-03-10 14:43:48,858 - INFO - STOP LOSS hit for long at 2124.087410714286 | PnL: -0.50% | $-1.18 +2025-03-10 14:43:49,037 - INFO - OPENED SHORT at 2115.28 | Stop loss: 2125.8750892857147 | Take profit: 2083.5227660714286 +2025-03-10 14:43:49,501 - INFO - CLOSED short at 2090.0 | PnL: 1.20% | $2.13 +2025-03-10 14:43:49,844 - INFO - OPENED SHORT at 2104.68 | Stop loss: 2115.222089285714 | Take profit: 2073.0817660714283 +2025-03-10 14:43:51,385 - INFO - CLOSED short at 2100.89 | PnL: 0.18% | $0.16 +2025-03-10 14:43:51,562 - INFO - OPENED LONG at 2101.5 | Stop loss: 2090.9738107142857 | Take profit: 2133.0505339285714 +2025-03-10 14:43:52,318 - INFO - CLOSED long at 2112.28 | PnL: 0.51% | $0.82 +2025-03-10 14:43:52,319 - INFO - OPENED SHORT at 2112.28 | Stop loss: 2122.8600892857144 | Take profit: 2080.5677660714287 +2025-03-10 14:43:52,741 - INFO - CLOSED short at 2117.6 | PnL: -0.25% | $-0.70 +2025-03-10 14:43:52,765 - INFO - OPENED SHORT at 2115.21 | Stop loss: 2125.8047392857143 | Take profit: 2083.4538160714287 +2025-03-10 14:43:53,039 - INFO - STOP LOSS hit for short at 2125.8047392857143 | PnL: -0.50% | $-1.19 +2025-03-10 14:43:53,115 - INFO - OPENED SHORT at 2136.26 | Stop loss: 2146.9599892857145 | Take profit: 2104.1880660714287 +2025-03-10 14:43:53,492 - INFO - CLOSED short at 2126.43 | PnL: 0.46% | $0.71 +2025-03-10 14:43:53,948 - INFO - OPENED SHORT at 2120.84 | Stop loss: 2131.462889285714 | Take profit: 2088.9993660714285 +2025-03-10 14:43:54,188 - INFO - CLOSED short at 2113.04 | PnL: 0.37% | $0.53 +2025-03-10 14:43:54,388 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.95, Avg Loss=$-0.91 +2025-03-10 14:43:54,389 - INFO - Episode 8: Reward=-95.62, Balance=$100.34, Win Rate=50.0%, Trades=14, Episode PnL=$-0.16, Total PnL=$-57.20, Max Drawdown=2.1%, Pred Accuracy=97.2% +2025-03-10 14:43:55,081 - INFO - OPENED LONG at 2067.0 | Stop loss: 2056.646310714286 | Take profit: 2098.033033928571 +2025-03-10 14:43:55,277 - INFO - CLOSED long at 2068.58 | PnL: 0.08% | $-0.05 +2025-03-10 14:43:55,278 - INFO - OPENED SHORT at 2068.58 | Stop loss: 2078.941589285714 | Take profit: 2037.5232660714287 +2025-03-10 14:43:55,642 - INFO - CLOSED short at 2067.11 | PnL: 0.07% | $-0.06 +2025-03-10 14:43:56,293 - INFO - OPENED SHORT at 2065.54 | Stop loss: 2075.886389285714 | Take profit: 2034.5288660714286 +2025-03-10 14:43:56,810 - INFO - CLOSED short at 2060.3 | PnL: 0.25% | $0.30 +2025-03-10 14:43:56,811 - INFO - OPENED LONG at 2060.3 | Stop loss: 2049.979810714286 | Take profit: 2091.2325339285717 +2025-03-10 14:43:57,389 - INFO - CLOSED long at 2059.46 | PnL: -0.04% | $-0.28 +2025-03-10 14:43:57,708 - INFO - OPENED SHORT at 2062.69 | Stop loss: 2073.0221392857143 | Take profit: 2031.7216160714286 +2025-03-10 14:43:58,074 - INFO - CLOSED short at 2069.79 | PnL: -0.34% | $-0.88 +2025-03-10 14:43:58,543 - INFO - OPENED LONG at 2067.33 | Stop loss: 2056.9746607142856 | Take profit: 2098.3679839285714 +2025-03-10 14:43:58,746 - INFO - CLOSED long at 2065.5 | PnL: -0.09% | $-0.37 +2025-03-10 14:43:58,747 - INFO - OPENED SHORT at 2065.5 | Stop loss: 2075.8461892857144 | Take profit: 2034.4894660714285 +2025-03-10 14:43:59,327 - INFO - STOP LOSS hit for short at 2075.8461892857144 | PnL: -0.50% | $-1.18 +2025-03-10 14:43:59,468 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.2581892857143 | Take profit: 2036.8534660714286 +2025-03-10 14:44:00,828 - INFO - STOP LOSS hit for short at 2078.2581892857143 | PnL: -0.50% | $-1.16 +2025-03-10 14:44:00,893 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.372189285714 | Take profit: 2098.7114660714283 +2025-03-10 14:44:00,974 - INFO - CLOSED short at 2137.59 | PnL: -0.32% | $-0.81 +2025-03-10 14:44:01,000 - INFO - OPENED SHORT at 2141.41 | Stop loss: 2152.1357392857144 | Take profit: 2109.2608160714285 +2025-03-10 14:44:01,107 - INFO - CLOSED short at 2126.99 | PnL: 0.67% | $1.09 +2025-03-10 14:44:01,152 - INFO - OPENED SHORT at 2128.69 | Stop loss: 2139.352139285714 | Take profit: 2096.7316160714286 +2025-03-10 14:44:01,791 - INFO - TAKE PROFIT hit for short at 2096.7316160714286 | PnL: 1.50% | $2.68 +2025-03-10 14:44:01,841 - INFO - OPENED SHORT at 2099.53 | Stop loss: 2110.0463392857146 | Take profit: 2068.009016071429 +2025-03-10 14:44:04,124 - INFO - CLOSED short at 2108.0 | PnL: -0.40% | $-0.99 +2025-03-10 14:44:04,154 - INFO - OPENED SHORT at 2112.28 | Stop loss: 2122.8600892857144 | Take profit: 2080.5677660714287 +2025-03-10 14:44:05,074 - INFO - STOP LOSS hit for short at 2122.8600892857144 | PnL: -0.50% | $-1.17 +2025-03-10 14:44:05,102 - INFO - OPENED SHORT at 2127.79 | Stop loss: 2138.447639285714 | Take profit: 2095.8451160714285 +2025-03-10 14:44:06,460 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.36, Avg Loss=$-0.69 +2025-03-10 14:44:06,461 - INFO - Episode 9: Reward=-104.05, Balance=$97.13, Win Rate=23.1%, Trades=13, Episode PnL=$-2.45, Total PnL=$-60.06, Max Drawdown=4.5%, Pred Accuracy=97.4% +2025-03-10 14:44:07,479 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.7706892857145 | Take profit: 2039.3159660714286 +2025-03-10 14:44:08,156 - INFO - CLOSED short at 2067.46 | PnL: 0.14% | $0.08 +2025-03-10 14:44:08,157 - INFO - OPENED LONG at 2067.46 | Stop loss: 2057.104010714286 | Take profit: 2098.4999339285714 +2025-03-10 14:44:08,430 - INFO - CLOSED long at 2067.59 | PnL: 0.01% | $-0.19 +2025-03-10 14:44:08,430 - INFO - OPENED SHORT at 2067.59 | Stop loss: 2077.9466392857144 | Take profit: 2036.5481160714287 +2025-03-10 14:44:08,595 - INFO - CLOSED short at 2070.7 | PnL: -0.15% | $-0.50 +2025-03-10 14:44:08,647 - INFO - OPENED SHORT at 2070.73 | Stop loss: 2081.102339285714 | Take profit: 2039.6410160714286 +2025-03-10 14:44:10,480 - INFO - CLOSED short at 2065.89 | PnL: 0.23% | $0.26 +2025-03-10 14:44:11,543 - INFO - OPENED SHORT at 2063.4 | Stop loss: 2073.7356892857147 | Take profit: 2032.4209660714287 +2025-03-10 14:44:12,064 - INFO - STOP LOSS hit for short at 2073.7356892857147 | PnL: -0.50% | $-1.19 +2025-03-10 14:44:12,231 - INFO - OPENED SHORT at 2071.04 | Stop loss: 2081.413889285714 | Take profit: 2039.9463660714284 +2025-03-10 14:44:12,606 - INFO - CLOSED short at 2068.79 | PnL: 0.11% | $0.02 +2025-03-10 14:44:12,907 - INFO - OPENED SHORT at 2063.97 | Stop loss: 2074.3085392857142 | Take profit: 2032.9824160714284 +2025-03-10 14:44:13,833 - INFO - STOP LOSS hit for short at 2074.3085392857142 | PnL: -0.50% | $-1.17 +2025-03-10 14:44:13,889 - INFO - OPENED SHORT at 2074.35 | Stop loss: 2084.7404392857143 | Take profit: 2043.2067160714284 +2025-03-10 14:44:14,229 - INFO - CLOSED short at 2069.97 | PnL: 0.21% | $0.21 +2025-03-10 14:44:14,229 - INFO - OPENED LONG at 2069.97 | Stop loss: 2059.6014607142856 | Take profit: 2101.0475839285714 +2025-03-10 14:44:14,258 - INFO - CLOSED long at 2067.7 | PnL: -0.11% | $-0.41 +2025-03-10 14:44:14,258 - INFO - OPENED SHORT at 2067.7 | Stop loss: 2078.057189285714 | Take profit: 2036.6564660714282 +2025-03-10 14:44:14,282 - INFO - CLOSED short at 2067.0 | PnL: 0.03% | $-0.13 +2025-03-10 14:44:14,306 - INFO - OPENED SHORT at 2067.9 | Stop loss: 2078.2581892857143 | Take profit: 2036.8534660714286 +2025-03-10 14:44:15,089 - INFO - CLOSED short at 2058.09 | PnL: 0.47% | $0.72 +2025-03-10 14:44:15,090 - INFO - OPENED LONG at 2058.09 | Stop loss: 2047.7808607142858 | Take profit: 2088.989383928572 +2025-03-10 14:44:15,181 - INFO - CLOSED long at 2053.01 | PnL: -0.25% | $-0.67 +2025-03-10 14:44:15,181 - INFO - OPENED SHORT at 2053.01 | Stop loss: 2063.2937392857143 | Take profit: 2022.1868160714287 +2025-03-10 14:44:15,305 - INFO - CLOSED short at 2056.85 | PnL: -0.19% | $-0.55 +2025-03-10 14:44:15,306 - INFO - OPENED LONG at 2056.85 | Stop loss: 2046.5470607142856 | Take profit: 2087.7307839285713 +2025-03-10 14:44:15,399 - INFO - CLOSED long at 2063.9 | PnL: 0.34% | $0.46 +2025-03-10 14:44:15,399 - INFO - OPENED SHORT at 2063.9 | Stop loss: 2074.2381892857143 | Take profit: 2032.9134660714287 +2025-03-10 14:44:16,014 - INFO - STOP LOSS hit for short at 2074.2381892857143 | PnL: -0.50% | $-1.15 +2025-03-10 14:44:16,043 - INFO - OPENED SHORT at 2076.08 | Stop loss: 2086.479089285714 | Take profit: 2044.9107660714285 +2025-03-10 14:44:16,124 - INFO - STOP LOSS hit for short at 2086.479089285714 | PnL: -0.50% | $-1.14 +2025-03-10 14:44:16,175 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.372189285714 | Take profit: 2098.7114660714283 +2025-03-10 14:44:16,313 - INFO - STOP LOSS hit for short at 2141.372189285714 | PnL: -0.50% | $-1.13 +2025-03-10 14:44:16,366 - INFO - OPENED SHORT at 2142.68 | Stop loss: 2153.412089285714 | Take profit: 2110.5117660714286 +2025-03-10 14:44:16,788 - INFO - TAKE PROFIT hit for short at 2110.5117660714286 | PnL: 1.50% | $2.60 +2025-03-10 14:44:16,816 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1716892857144 | Take profit: 2078.9129660714284 +2025-03-10 14:44:19,592 - INFO - CLOSED short at 2104.93 | PnL: 0.27% | $0.32 +2025-03-10 14:44:19,678 - INFO - OPENED SHORT at 2103.81 | Stop loss: 2114.347739285714 | Take profit: 2072.2248160714284 +2025-03-10 14:44:20,725 - INFO - STOP LOSS hit for short at 2114.347739285714 | PnL: -0.50% | $-1.15 +2025-03-10 14:44:20,751 - INFO - OPENED SHORT at 2113.61 | Stop loss: 2124.1967392857146 | Take profit: 2081.8778160714287 +2025-03-10 14:44:21,233 - INFO - CLOSED short at 2117.6 | PnL: -0.19% | $-0.55 +2025-03-10 14:44:21,234 - INFO - OPENED LONG at 2117.6 | Stop loss: 2106.9933107142856 | Take profit: 2149.3920339285714 +2025-03-10 14:44:21,540 - INFO - CLOSED long at 2121.2 | PnL: 0.17% | $0.13 +2025-03-10 14:44:22,762 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.6387392857146 | Take profit: 2090.151816071429 +2025-03-10 14:44:22,915 - INFO - CLOSED short at 2121.17 | PnL: 0.04% | $-0.11 +2025-03-10 14:44:23,457 - INFO - OPENED LONG at 2117.92 | Stop loss: 2107.3117107142857 | Take profit: 2149.7168339285713 +2025-03-10 14:44:23,559 - INFO - CLOSED long at 2120.56 | PnL: 0.12% | $0.05 +2025-03-10 14:44:23,559 - INFO - OPENED SHORT at 2120.56 | Stop loss: 2131.181489285714 | Take profit: 2088.7235660714286 +2025-03-10 14:44:23,582 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.49, Avg Loss=$-0.72 +2025-03-10 14:44:23,583 - INFO - Episode 10: Reward=-96.40, Balance=$94.83, Win Rate=41.7%, Trades=24, Episode PnL=$-4.42, Total PnL=$-65.23, Max Drawdown=6.5%, Pred Accuracy=97.7% +2025-03-10 14:44:23,728 - INFO - Model saved to checkpoints/trading_agent_episode_10.pt +2025-03-10 14:44:23,730 - INFO - Checkpoint saved at episode 10 +2025-03-10 14:44:23,810 - ERROR - Error creating visualization: No module named 'mplfinance' +2025-03-10 14:44:23,811 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2506, in visualize_training_results + from mplfinance.original_flavor import candlestick_ohlc +ModuleNotFoundError: No module named 'mplfinance' + +2025-03-10 14:44:24,752 - ERROR - Error creating visualization: No module named 'mplfinance' +2025-03-10 14:44:24,753 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2506, in visualize_training_results + from mplfinance.original_flavor import candlestick_ohlc +ModuleNotFoundError: No module named 'mplfinance' + +2025-03-10 14:44:25,071 - INFO - OPENED SHORT at 2072.75 | Stop loss: 2083.132439285714 | Take profit: 2041.6307160714287 +2025-03-10 14:44:27,450 - INFO - CLOSED short at 2059.3 | PnL: 0.65% | $1.09 +2025-03-10 14:44:28,698 - INFO - OPENED LONG at 2061.66 | Stop loss: 2051.3330107142856 | Take profit: 2092.6129339285712 +2025-03-10 14:44:30,392 - INFO - CLOSED long at 2068.59 | PnL: 0.34% | $0.47 +2025-03-10 14:44:30,488 - INFO - OPENED SHORT at 2071.59 | Stop loss: 2081.966639285715 | Take profit: 2040.4881160714287 +2025-03-10 14:44:32,626 - INFO - CLOSED short at 2067.49 | PnL: 0.20% | $0.20 +2025-03-10 14:44:33,052 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.4389392857147 | Take profit: 2042.9112160714287 +2025-03-10 14:44:33,317 - INFO - STOP LOSS hit for short at 2084.4389392857147 | PnL: -0.50% | $-1.21 +2025-03-10 14:44:33,433 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2563892857142 | Take profit: 2107.4188660714285 +2025-03-10 14:44:34,463 - INFO - TAKE PROFIT hit for short at 2107.4188660714285 | PnL: 1.50% | $2.79 +2025-03-10 14:44:34,647 - INFO - OPENED SHORT at 2098.1 | Stop loss: 2108.6091892857144 | Take profit: 2066.6004660714284 +2025-03-10 14:44:36,666 - INFO - CLOSED short at 2106.15 | PnL: -0.38% | $-0.99 +2025-03-10 14:44:36,667 - INFO - OPENED LONG at 2106.15 | Stop loss: 2095.6005607142856 | Take profit: 2137.7702839285716 +2025-03-10 14:44:36,864 - INFO - CLOSED long at 2105.83 | PnL: -0.02% | $-0.23 +2025-03-10 14:44:36,864 - INFO - OPENED SHORT at 2105.83 | Stop loss: 2116.377839285714 | Take profit: 2074.2145160714285 +2025-03-10 14:44:36,983 - INFO - CLOSED short at 2103.52 | PnL: 0.11% | $0.02 +2025-03-10 14:44:38,733 - INFO - OPENED LONG at 2121.73 | Stop loss: 2111.102660714286 | Take profit: 2153.5839839285713 +2025-03-10 14:44:39,267 - INFO - STOP LOSS hit for long at 2111.102660714286 | PnL: -0.50% | $-1.22 +2025-03-10 14:44:39,586 - INFO - OPENED LONG at 2120.56 | Stop loss: 2109.9385107142857 | Take profit: 2152.3964339285712 +2025-03-10 14:44:39,625 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.91, Avg Loss=$-0.91 +2025-03-10 14:44:39,626 - INFO - Episode 11: Reward=-2.34, Balance=$100.92, Win Rate=55.6%, Trades=9, Episode PnL=$1.15, Total PnL=$-64.31, Max Drawdown=2.3%, Pred Accuracy=98.0% +2025-03-10 14:44:39,761 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 14:44:39,761 - INFO - New best PnL model saved: $1.15 +2025-03-10 14:44:40,638 - INFO - OPENED SHORT at 2067.46 | Stop loss: 2077.8159892857143 | Take profit: 2036.4200660714287 +2025-03-10 14:44:40,826 - INFO - CLOSED short at 2068.8 | PnL: -0.06% | $-0.33 +2025-03-10 14:44:40,869 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.7053892857143 | Take profit: 2038.2718660714286 +2025-03-10 14:44:42,595 - INFO - CLOSED short at 2064.33 | PnL: 0.24% | $0.28 +2025-03-10 14:44:42,675 - INFO - OPENED SHORT at 2065.89 | Stop loss: 2076.238139285714 | Take profit: 2034.8736160714284 +2025-03-10 14:44:43,358 - INFO - CLOSED short at 2059.8 | PnL: 0.29% | $0.39 +2025-03-10 14:44:43,386 - INFO - OPENED SHORT at 2061.66 | Stop loss: 2071.986989285714 | Take profit: 2030.7070660714282 +2025-03-10 14:44:43,811 - INFO - STOP LOSS hit for short at 2071.986989285714 | PnL: -0.50% | $-1.20 +2025-03-10 14:44:43,896 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.4037392857144 | Take profit: 2043.8568160714287 +2025-03-10 14:44:45,285 - INFO - CLOSED short at 2074.37 | PnL: 0.03% | $-0.14 +2025-03-10 14:44:45,286 - INFO - OPENED LONG at 2074.37 | Stop loss: 2063.979460714286 | Take profit: 2105.5135839285713 +2025-03-10 14:44:45,878 - INFO - CLOSED long at 2070.19 | PnL: -0.20% | $-0.59 +2025-03-10 14:44:45,880 - INFO - OPENED SHORT at 2070.19 | Stop loss: 2080.5596392857146 | Take profit: 2039.1091160714286 +2025-03-10 14:44:47,692 - INFO - STOP LOSS hit for short at 2080.5596392857146 | PnL: -0.50% | $-1.17 +2025-03-10 14:44:47,910 - INFO - OPENED SHORT at 2137.59 | Stop loss: 2148.2966392857143 | Take profit: 2105.4981160714287 +2025-03-10 14:44:48,934 - INFO - TAKE PROFIT hit for short at 2105.4981160714287 | PnL: 1.50% | $2.70 +2025-03-10 14:44:50,780 - INFO - OPENED SHORT at 2100.89 | Stop loss: 2111.4131392857144 | Take profit: 2069.3486160714283 +2025-03-10 14:44:51,411 - INFO - STOP LOSS hit for short at 2111.4131392857144 | PnL: -0.50% | $-1.19 +2025-03-10 14:44:51,949 - INFO - OPENED SHORT at 2116.81 | Stop loss: 2127.412739285714 | Take profit: 2085.0298160714283 +2025-03-10 14:44:52,031 - INFO - CLOSED short at 2117.6 | PnL: -0.04% | $-0.27 +2025-03-10 14:44:53,547 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.12, Avg Loss=$-0.70 +2025-03-10 14:44:53,548 - INFO - Episode 12: Reward=-6.26, Balance=$98.49, Win Rate=30.0%, Trades=10, Episode PnL=$-0.92, Total PnL=$-65.83, Max Drawdown=3.1%, Pred Accuracy=98.5% +2025-03-10 14:44:54,184 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.7706892857145 | Take profit: 2039.3159660714286 +2025-03-10 14:44:54,236 - INFO - CLOSED short at 2071.11 | PnL: -0.03% | $-0.27 +2025-03-10 14:44:54,236 - INFO - OPENED LONG at 2071.11 | Stop loss: 2060.735760714286 | Take profit: 2102.2046839285713 +2025-03-10 14:44:54,507 - INFO - CLOSED long at 2063.61 | PnL: -0.36% | $-0.91 +2025-03-10 14:44:54,507 - INFO - OPENED SHORT at 2063.61 | Stop loss: 2073.9467392857146 | Take profit: 2032.6278160714287 +2025-03-10 14:44:54,534 - INFO - CLOSED short at 2065.26 | PnL: -0.08% | $-0.35 +2025-03-10 14:44:54,535 - INFO - OPENED LONG at 2065.26 | Stop loss: 2054.915010714286 | Take profit: 2096.2669339285717 +2025-03-10 14:44:56,941 - INFO - STOP LOSS hit for long at 2054.915010714286 | PnL: -0.50% | $-1.17 +2025-03-10 14:44:58,642 - INFO - OPENED LONG at 2070.2 | Stop loss: 2059.8303107142856 | Take profit: 2101.281033928571 +2025-03-10 14:44:59,702 - INFO - CLOSED long at 2065.7 | PnL: -0.22% | $-0.61 +2025-03-10 14:44:59,702 - INFO - OPENED SHORT at 2065.7 | Stop loss: 2076.047189285714 | Take profit: 2034.6864660714284 +2025-03-10 14:44:59,728 - INFO - CLOSED short at 2065.8 | PnL: -0.00% | $-0.20 +2025-03-10 14:44:59,729 - INFO - OPENED LONG at 2065.8 | Stop loss: 2055.452310714286 | Take profit: 2096.8150339285717 +2025-03-10 14:45:00,285 - INFO - STOP LOSS hit for long at 2055.452310714286 | PnL: -0.50% | $-1.15 +2025-03-10 14:45:01,376 - INFO - OPENED LONG at 2085.56 | Stop loss: 2075.113510714286 | Take profit: 2116.8714339285716 +2025-03-10 14:45:01,507 - INFO - TAKE PROFIT hit for long at 2116.8714339285716 | PnL: 1.50% | $2.65 +2025-03-10 14:45:04,051 - INFO - OPENED LONG at 2089.79 | Stop loss: 2079.3223607142854 | Take profit: 2121.1648839285717 +2025-03-10 14:45:04,780 - INFO - CLOSED long at 2103.52 | PnL: 0.66% | $1.08 +2025-03-10 14:45:04,780 - INFO - OPENED SHORT at 2103.52 | Stop loss: 2114.0562892857142 | Take profit: 2071.9391660714286 +2025-03-10 14:45:04,973 - INFO - CLOSED short at 2102.7 | PnL: 0.04% | $-0.12 +2025-03-10 14:45:04,974 - INFO - OPENED LONG at 2102.7 | Stop loss: 2092.167810714285 | Take profit: 2134.2685339285713 +2025-03-10 14:45:05,930 - INFO - CLOSED long at 2118.88 | PnL: 0.77% | $1.31 +2025-03-10 14:45:06,552 - INFO - OPENED LONG at 2131.23 | Stop loss: 2120.5551607142856 | Take profit: 2163.2264839285713 +2025-03-10 14:45:06,700 - INFO - STOP LOSS hit for long at 2120.5551607142856 | PnL: -0.50% | $-1.19 +2025-03-10 14:45:07,673 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.68, Avg Loss=$-0.66 +2025-03-10 14:45:07,674 - INFO - Episode 13: Reward=-9.92, Balance=$99.06, Win Rate=25.0%, Trades=12, Episode PnL=$-0.49, Total PnL=$-66.76, Max Drawdown=4.7%, Pred Accuracy=99.0% +2025-03-10 14:45:10,773 - INFO - OPENED LONG at 2059.02 | Stop loss: 2048.7062107142856 | Take profit: 2089.9333339285713 +2025-03-10 14:45:11,855 - INFO - CLOSED long at 2072.6 | PnL: 0.66% | $1.11 +2025-03-10 14:45:13,173 - INFO - OPENED LONG at 2075.07 | Stop loss: 2064.675960714286 | Take profit: 2106.2240839285714 +2025-03-10 14:45:13,355 - INFO - CLOSED long at 2075.29 | PnL: 0.01% | $-0.18 +2025-03-10 14:45:13,355 - INFO - OPENED SHORT at 2075.29 | Stop loss: 2085.6851392857143 | Take profit: 2044.1326160714284 +2025-03-10 14:45:14,540 - INFO - CLOSED short at 2049.21 | PnL: 1.26% | $2.31 +2025-03-10 14:45:14,541 - INFO - OPENED LONG at 2049.21 | Stop loss: 2038.9452607142857 | Take profit: 2079.9761839285716 +2025-03-10 14:45:15,436 - INFO - TAKE PROFIT hit for long at 2079.9761839285716 | PnL: 1.50% | $2.87 +2025-03-10 14:45:16,771 - INFO - OPENED SHORT at 2102.29 | Stop loss: 2112.8201392857145 | Take profit: 2070.7276160714287 +2025-03-10 14:45:17,319 - INFO - CLOSED short at 2094.72 | PnL: 0.36% | $0.55 +2025-03-10 14:45:17,320 - INFO - OPENED LONG at 2094.72 | Stop loss: 2084.2277107142854 | Take profit: 2126.168833928571 +2025-03-10 14:45:17,399 - INFO - STOP LOSS hit for long at 2084.2277107142854 | PnL: -0.50% | $-1.27 +2025-03-10 14:45:17,654 - INFO - OPENED SHORT at 2081.25 | Stop loss: 2091.6749392857146 | Take profit: 2050.0032160714286 +2025-03-10 14:45:18,300 - INFO - STOP LOSS hit for short at 2091.6749392857146 | PnL: -0.50% | $-1.26 +2025-03-10 14:45:19,250 - INFO - OPENED SHORT at 2112.28 | Stop loss: 2122.8600892857144 | Take profit: 2080.5677660714287 +2025-03-10 14:45:20,069 - INFO - STOP LOSS hit for short at 2122.8600892857144 | PnL: -0.50% | $-1.24 +2025-03-10 14:45:21,537 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.71, Avg Loss=$-0.99 +2025-03-10 14:45:21,538 - INFO - Episode 14: Reward=0.19, Balance=$102.89, Win Rate=50.0%, Trades=8, Episode PnL=$3.07, Total PnL=$-63.87, Max Drawdown=3.0%, Pred Accuracy=98.8% +2025-03-10 14:45:21,664 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 14:45:21,665 - INFO - New best PnL model saved: $3.07 +2025-03-10 14:45:23,008 - INFO - OPENED SHORT at 2073.9 | Stop loss: 2084.2881892857145 | Take profit: 2042.7634660714286 +2025-03-10 14:45:24,216 - INFO - CLOSED short at 2065.83 | PnL: 0.39% | $0.57 +2025-03-10 14:45:25,394 - INFO - OPENED LONG at 2063.0 | Stop loss: 2052.666310714286 | Take profit: 2093.9730339285716 +2025-03-10 14:45:27,501 - INFO - CLOSED long at 2071.59 | PnL: 0.42% | $0.63 +2025-03-10 14:45:30,177 - INFO - OPENED SHORT at 2071.89 | Stop loss: 2082.268139285714 | Take profit: 2040.7836160714285 +2025-03-10 14:45:30,286 - INFO - STOP LOSS hit for short at 2082.268139285714 | PnL: -0.50% | $-1.21 +2025-03-10 14:45:30,329 - INFO - OPENED LONG at 2103.02 | Stop loss: 2092.486210714286 | Take profit: 2134.593333928571 +2025-03-10 14:45:30,390 - INFO - TAKE PROFIT hit for long at 2134.593333928571 | PnL: 1.50% | $2.78 +2025-03-10 14:45:31,763 - INFO - OPENED LONG at 2104.83 | Stop loss: 2094.2871607142856 | Take profit: 2136.4304839285714 +2025-03-10 14:45:32,003 - INFO - STOP LOSS hit for long at 2094.2871607142856 | PnL: -0.50% | $-1.22 +2025-03-10 14:45:32,813 - INFO - OPENED SHORT at 2087.47 | Stop loss: 2097.926039285714 | Take profit: 2056.1299160714284 +2025-03-10 14:45:33,002 - INFO - CLOSED short at 2091.95 | PnL: -0.21% | $-0.63 +2025-03-10 14:45:36,348 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.33, Avg Loss=$-1.02 +2025-03-10 14:45:36,349 - INFO - Episode 15: Reward=-3.64, Balance=$100.92, Win Rate=50.0%, Trades=6, Episode PnL=$0.92, Total PnL=$-62.95, Max Drawdown=1.8%, Pred Accuracy=98.6% +2025-03-10 14:45:36,681 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.7706892857145 | Take profit: 2039.3159660714286 +2025-03-10 14:45:36,994 - INFO - CLOSED short at 2070.4 | PnL: 0.00% | $-0.20 +2025-03-10 14:45:36,994 - INFO - OPENED LONG at 2070.4 | Stop loss: 2060.0293107142857 | Take profit: 2101.4840339285715 +2025-03-10 14:45:37,608 - INFO - CLOSED long at 2070.7 | PnL: 0.01% | $-0.17 +2025-03-10 14:45:37,609 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.072189285714 | Take profit: 2039.6114660714284 +2025-03-10 14:45:37,801 - INFO - CLOSED short at 2067.11 | PnL: 0.17% | $0.14 +2025-03-10 14:45:40,408 - INFO - OPENED LONG at 2068.39 | Stop loss: 2058.0293607142858 | Take profit: 2099.4438839285717 +2025-03-10 14:45:42,303 - INFO - CLOSED long at 2063.01 | PnL: -0.26% | $-0.71 +2025-03-10 14:45:42,303 - INFO - OPENED SHORT at 2063.01 | Stop loss: 2073.3437392857145 | Take profit: 2032.0368160714288 +2025-03-10 14:45:42,564 - INFO - CLOSED short at 2049.5 | PnL: 0.65% | $1.09 +2025-03-10 14:45:44,992 - INFO - OPENED SHORT at 2102.29 | Stop loss: 2112.8201392857145 | Take profit: 2070.7276160714287 +2025-03-10 14:45:45,306 - INFO - CLOSED short at 2098.39 | PnL: 0.19% | $0.17 +2025-03-10 14:45:45,307 - INFO - OPENED LONG at 2098.39 | Stop loss: 2087.8793607142857 | Take profit: 2129.893883928571 +2025-03-10 14:45:45,508 - INFO - STOP LOSS hit for long at 2087.8793607142857 | PnL: -0.50% | $-1.20 +2025-03-10 14:45:46,960 - INFO - OPENED SHORT at 2106.28 | Stop loss: 2116.8300892857146 | Take profit: 2074.657766071429 +2025-03-10 14:45:47,355 - INFO - CLOSED short at 2111.19 | PnL: -0.23% | $-0.65 +2025-03-10 14:45:47,355 - INFO - OPENED LONG at 2111.19 | Stop loss: 2100.6153607142855 | Take profit: 2142.8858839285717 +2025-03-10 14:45:49,256 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.47, Avg Loss=$-0.59 +2025-03-10 14:45:49,257 - INFO - Episode 16: Reward=-6.35, Balance=$98.47, Win Rate=37.5%, Trades=8, Episode PnL=$-0.64, Total PnL=$-64.48, Max Drawdown=1.0%, Pred Accuracy=98.5% +2025-03-10 14:45:49,735 - INFO - OPENED LONG at 2074.29 | Stop loss: 2063.8998607142858 | Take profit: 2105.4323839285717 +2025-03-10 14:45:50,069 - INFO - STOP LOSS hit for long at 2063.8998607142858 | PnL: -0.50% | $-1.19 +2025-03-10 14:45:51,056 - INFO - OPENED LONG at 2064.96 | Stop loss: 2054.6165107142856 | Take profit: 2095.9624339285715 +2025-03-10 14:45:51,288 - INFO - CLOSED long at 2063.5 | PnL: -0.07% | $-0.33 +2025-03-10 14:45:52,031 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.2031392857143 | Take profit: 2027.9786160714284 +2025-03-10 14:45:52,764 - INFO - STOP LOSS hit for short at 2069.2031392857143 | PnL: -0.50% | $-1.17 +2025-03-10 14:45:55,532 - INFO - OPENED LONG at 2062.55 | Stop loss: 2052.218560714286 | Take profit: 2093.5162839285717 +2025-03-10 14:45:56,053 - INFO - CLOSED long at 2074.9 | PnL: 0.60% | $0.96 +2025-03-10 14:45:56,092 - INFO - OPENED SHORT at 2077.61 | Stop loss: 2088.0167392857143 | Take profit: 2046.4178160714287 +2025-03-10 14:45:56,139 - INFO - STOP LOSS hit for short at 2088.0167392857143 | PnL: -0.50% | $-1.17 +2025-03-10 14:45:56,597 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.3116607142856 | Take profit: 2151.756983928571 +2025-03-10 14:45:56,730 - INFO - CLOSED long at 2119.07 | PnL: -0.04% | $-0.27 +2025-03-10 14:45:56,962 - INFO - OPENED LONG at 2116.48 | Stop loss: 2105.8789107142857 | Take profit: 2148.255233928571 +2025-03-10 14:45:57,151 - INFO - STOP LOSS hit for long at 2105.8789107142857 | PnL: -0.50% | $-1.15 +2025-03-10 14:45:58,135 - INFO - OPENED SHORT at 2085.83 | Stop loss: 2096.2778392857144 | Take profit: 2054.5145160714287 +2025-03-10 14:45:58,572 - INFO - STOP LOSS hit for short at 2096.2778392857144 | PnL: -0.50% | $-1.14 +2025-03-10 14:45:59,160 - INFO - OPENED SHORT at 2102.0 | Stop loss: 2112.5286892857143 | Take profit: 2070.4419660714284 +2025-03-10 14:45:59,376 - INFO - STOP LOSS hit for short at 2112.5286892857143 | PnL: -0.50% | $-1.13 +2025-03-10 14:46:01,333 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.96, Avg Loss=$-0.94 +2025-03-10 14:46:01,334 - INFO - Episode 17: Reward=-5.70, Balance=$93.40, Win Rate=11.1%, Trades=9, Episode PnL=$-6.60, Total PnL=$-71.08, Max Drawdown=6.6%, Pred Accuracy=98.6% +2025-03-10 14:46:01,879 - INFO - OPENED SHORT at 2071.92 | Stop loss: 2082.2982892857144 | Take profit: 2040.8131660714284 +2025-03-10 14:46:04,153 - INFO - CLOSED short at 2059.16 | PnL: 0.62% | $1.02 +2025-03-10 14:46:04,797 - INFO - OPENED LONG at 2066.34 | Stop loss: 2055.989610714286 | Take profit: 2097.3631339285716 +2025-03-10 14:46:04,933 - INFO - CLOSED long at 2065.69 | PnL: -0.03% | $-0.26 +2025-03-10 14:46:04,934 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.037139285714 | Take profit: 2034.6766160714287 +2025-03-10 14:46:05,033 - INFO - STOP LOSS hit for short at 2076.037139285714 | PnL: -0.50% | $-1.20 +2025-03-10 14:46:05,817 - INFO - OPENED SHORT at 2066.8 | Stop loss: 2077.152689285714 | Take profit: 2035.7699660714288 +2025-03-10 14:46:05,859 - INFO - CLOSED short at 2068.59 | PnL: -0.09% | $-0.37 +2025-03-10 14:46:06,427 - INFO - OPENED LONG at 2075.29 | Stop loss: 2064.8948607142856 | Take profit: 2106.447383928571 +2025-03-10 14:46:06,780 - INFO - CLOSED long at 2069.0 | PnL: -0.30% | $-0.79 +2025-03-10 14:46:08,216 - INFO - OPENED SHORT at 2071.8 | Stop loss: 2082.177689285714 | Take profit: 2040.6949660714288 +2025-03-10 14:46:08,302 - INFO - STOP LOSS hit for short at 2082.177689285714 | PnL: -0.50% | $-1.17 +2025-03-10 14:46:11,975 - INFO - OPENED LONG at 2118.72 | Stop loss: 2108.1077107142855 | Take profit: 2150.528833928571 +2025-03-10 14:46:12,518 - INFO - CLOSED long at 2132.83 | PnL: 0.67% | $1.09 +2025-03-10 14:46:12,518 - INFO - OPENED SHORT at 2132.83 | Stop loss: 2143.512839285714 | Take profit: 2100.8095160714283 +2025-03-10 14:46:12,535 - INFO - CLOSED short at 2127.79 | PnL: 0.24% | $0.27 +2025-03-10 14:46:12,535 - INFO - OPENED LONG at 2127.79 | Stop loss: 2117.1323607142854 | Take profit: 2159.7348839285714 +2025-03-10 14:46:12,921 - INFO - STOP LOSS hit for long at 2117.1323607142854 | PnL: -0.50% | $-1.17 +2025-03-10 14:46:13,641 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.79, Avg Loss=$-0.83 +2025-03-10 14:46:13,641 - INFO - Episode 18: Reward=-4.41, Balance=$97.41, Win Rate=33.3%, Trades=9, Episode PnL=$-3.42, Total PnL=$-73.67, Max Drawdown=3.8%, Pred Accuracy=98.8% +2025-03-10 14:46:14,591 - INFO - OPENED LONG at 2067.86 | Stop loss: 2057.502010714286 | Take profit: 2098.9059339285714 +2025-03-10 14:46:14,724 - INFO - CLOSED long at 2071.59 | PnL: 0.18% | $0.16 +2025-03-10 14:46:14,765 - INFO - OPENED SHORT at 2070.4 | Stop loss: 2080.7706892857145 | Take profit: 2039.3159660714286 +2025-03-10 14:46:14,844 - INFO - CLOSED short at 2067.84 | PnL: 0.12% | $0.05 +2025-03-10 14:46:16,204 - INFO - OPENED SHORT at 2062.6 | Stop loss: 2072.931689285714 | Take profit: 2031.6329660714287 +2025-03-10 14:46:16,535 - INFO - CLOSED short at 2055.6 | PnL: 0.34% | $0.48 +2025-03-10 14:46:16,535 - INFO - OPENED LONG at 2055.6 | Stop loss: 2045.3033107142855 | Take profit: 2086.4620339285716 +2025-03-10 14:46:18,239 - INFO - CLOSED long at 2071.99 | PnL: 0.80% | $1.39 +2025-03-10 14:46:19,132 - INFO - OPENED SHORT at 2066.09 | Stop loss: 2076.4391392857146 | Take profit: 2035.0706160714287 +2025-03-10 14:46:19,877 - INFO - CLOSED short at 2065.12 | PnL: 0.05% | $-0.11 +2025-03-10 14:46:19,877 - INFO - OPENED LONG at 2065.12 | Stop loss: 2054.7757107142857 | Take profit: 2096.124833928571 +2025-03-10 14:46:20,514 - INFO - TAKE PROFIT hit for long at 2096.124833928571 | PnL: 1.50% | $2.83 +2025-03-10 14:46:21,470 - INFO - OPENED LONG at 2108.06 | Stop loss: 2097.5010107142857 | Take profit: 2139.7089339285712 +2025-03-10 14:46:21,551 - INFO - STOP LOSS hit for long at 2097.5010107142857 | PnL: -0.50% | $-1.25 +2025-03-10 14:46:21,676 - INFO - OPENED SHORT at 2098.9 | Stop loss: 2109.4131892857145 | Take profit: 2067.388466071429 +2025-03-10 14:46:21,933 - INFO - CLOSED short at 2100.02 | PnL: -0.05% | $-0.31 +2025-03-10 14:46:22,933 - INFO - OPENED LONG at 2099.99 | Stop loss: 2089.4713607142853 | Take profit: 2131.5178839285713 +2025-03-10 14:46:23,725 - INFO - CLOSED long at 2113.0 | PnL: 0.62% | $1.06 +2025-03-10 14:46:24,310 - INFO - OPENED LONG at 2118.88 | Stop loss: 2108.266910714286 | Take profit: 2150.691233928572 +2025-03-10 14:46:24,462 - INFO - CLOSED long at 2135.86 | PnL: 0.80% | $1.45 +2025-03-10 14:46:24,462 - INFO - OPENED SHORT at 2135.86 | Stop loss: 2146.5579892857145 | Take profit: 2103.794066071429 +2025-03-10 14:46:24,872 - INFO - CLOSED short at 2120.0 | PnL: 0.74% | $1.35 +2025-03-10 14:46:24,873 - INFO - OPENED LONG at 2120.0 | Stop loss: 2109.381310714286 | Take profit: 2151.8280339285716 +2025-03-10 14:46:25,402 - INFO - STOP LOSS hit for long at 2109.381310714286 | PnL: -0.50% | $-1.28 +2025-03-10 14:46:25,652 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.10, Avg Loss=$-0.74 +2025-03-10 14:46:25,652 - INFO - Episode 19: Reward=4.00, Balance=$105.82, Win Rate=66.7%, Trades=12, Episode PnL=$4.37, Total PnL=$-67.85, Max Drawdown=1.5%, Pred Accuracy=98.8% +2025-03-10 14:46:25,788 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 14:46:25,789 - INFO - New best PnL model saved: $4.37 +2025-03-10 14:46:25,917 - INFO - Model saved to models/trading_agent_best_winrate.pt +2025-03-10 14:46:25,917 - INFO - New best win rate model saved: 66.7% +2025-03-10 14:46:29,068 - INFO - OPENED SHORT at 2060.91 | Stop loss: 2071.2332392857143 | Take profit: 2029.9683160714283 +2025-03-10 14:46:30,285 - INFO - STOP LOSS hit for short at 2071.2332392857143 | PnL: -0.50% | $-1.19 +2025-03-10 14:46:31,828 - INFO - OPENED LONG at 2072.09 | Stop loss: 2061.710860714286 | Take profit: 2103.1993839285715 +2025-03-10 14:46:32,551 - INFO - STOP LOSS hit for long at 2061.710860714286 | PnL: -0.50% | $-1.18 +2025-03-10 14:46:32,611 - INFO - OPENED LONG at 2058.09 | Stop loss: 2047.7808607142858 | Take profit: 2088.989383928572 +2025-03-10 14:46:33,639 - INFO - TAKE PROFIT hit for long at 2088.989383928572 | PnL: 1.50% | $2.71 +2025-03-10 14:46:35,788 - INFO - OPENED SHORT at 2088.32 | Stop loss: 2098.7802892857144 | Take profit: 2056.9671660714284 +2025-03-10 14:46:35,896 - INFO - CLOSED short at 2087.78 | PnL: 0.03% | $-0.15 +2025-03-10 14:46:38,943 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$2.71, Avg Loss=$-0.84 +2025-03-10 14:46:38,943 - INFO - Episode 20: Reward=-5.87, Balance=$100.20, Win Rate=25.0%, Trades=4, Episode PnL=$0.20, Total PnL=$-67.65, Max Drawdown=2.4%, Pred Accuracy=98.9% +2025-03-10 14:46:39,078 - INFO - Model saved to checkpoints/trading_agent_episode_20.pt +2025-03-10 14:46:39,079 - INFO - Checkpoint saved at episode 20 +2025-03-10 14:46:39,079 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:46:39,145 - ERROR - Error creating visualization: No module named 'mplfinance' +2025-03-10 14:46:39,145 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2506, in visualize_training_results + from mplfinance.original_flavor import candlestick_ohlc +ModuleNotFoundError: No module named 'mplfinance' + +2025-03-10 14:46:39,897 - ERROR - Error creating visualization: No module named 'mplfinance' +2025-03-10 14:46:39,897 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2506, in visualize_training_results + from mplfinance.original_flavor import candlestick_ohlc +ModuleNotFoundError: No module named 'mplfinance' + +2025-03-10 14:46:40,121 - INFO - OPENED SHORT at 2071.4 | Stop loss: 2081.7756892857146 | Take profit: 2040.3009660714288 +2025-03-10 14:46:41,821 - INFO - CLOSED short at 2064.5 | PnL: 0.33% | $0.46 +2025-03-10 14:46:47,453 - INFO - OPENED SHORT at 2112.99 | Stop loss: 2123.5736392857143 | Take profit: 2081.2671160714285 +2025-03-10 14:46:47,875 - INFO - CLOSED short at 2100.69 | PnL: 0.58% | $0.96 +2025-03-10 14:46:47,876 - INFO - OPENED LONG at 2100.69 | Stop loss: 2090.167860714286 | Take profit: 2132.2283839285715 +2025-03-10 14:46:48,303 - INFO - STOP LOSS hit for long at 2090.167860714286 | PnL: -0.50% | $-1.21 +2025-03-10 14:46:48,428 - INFO - OPENED SHORT at 2085.3 | Stop loss: 2095.745189285715 | Take profit: 2053.9924660714287 +2025-03-10 14:46:49,116 - INFO - STOP LOSS hit for short at 2095.745189285715 | PnL: -0.50% | $-1.19 +2025-03-10 14:46:49,276 - INFO - OPENED SHORT at 2098.49 | Stop loss: 2109.001139285714 | Take profit: 2066.9846160714283 +2025-03-10 14:46:49,902 - INFO - STOP LOSS hit for short at 2109.001139285714 | PnL: -0.50% | $-1.18 +2025-03-10 14:46:50,270 - INFO - OPENED SHORT at 2112.61 | Stop loss: 2123.1917392857144 | Take profit: 2080.8928160714286 +2025-03-10 14:46:50,666 - INFO - STOP LOSS hit for short at 2123.1917392857144 | PnL: -0.50% | $-1.17 +2025-03-10 14:46:50,940 - INFO - OPENED SHORT at 2123.23 | Stop loss: 2133.864839285714 | Take profit: 2091.3535160714287 +2025-03-10 14:46:51,003 - INFO - STOP LOSS hit for short at 2133.864839285714 | PnL: -0.50% | $-1.15 +2025-03-10 14:46:51,138 - INFO - OPENED LONG at 2121.73 | Stop loss: 2111.102660714286 | Take profit: 2153.5839839285713 +2025-03-10 14:46:51,249 - INFO - CLOSED long at 2118.8 | PnL: -0.14% | $-0.45 +2025-03-10 14:46:51,249 - INFO - OPENED SHORT at 2118.8 | Stop loss: 2129.4126892857144 | Take profit: 2086.9899660714286 +2025-03-10 14:46:51,289 - INFO - CLOSED short at 2116.53 | PnL: 0.11% | $0.01 +2025-03-10 14:46:51,911 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.48, Avg Loss=$-1.06 +2025-03-10 14:46:51,912 - INFO - Episode 21: Reward=-1.29, Balance=$95.09, Win Rate=33.3%, Trades=9, Episode PnL=$-4.46, Total PnL=$-72.56, Max Drawdown=5.4%, Pred Accuracy=98.9% +2025-03-10 14:46:51,913 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:46:52,789 - INFO - OPENED LONG at 2067.89 | Stop loss: 2057.5318607142854 | Take profit: 2098.9363839285716 +2025-03-10 14:46:52,887 - INFO - CLOSED long at 2069.34 | PnL: 0.07% | $-0.06 +2025-03-10 14:46:53,981 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.273310714286 | Take profit: 2092.5520339285713 +2025-03-10 14:46:56,231 - INFO - CLOSED long at 2065.29 | PnL: 0.18% | $0.16 +2025-03-10 14:47:00,384 - INFO - OPENED LONG at 2091.1 | Stop loss: 2080.6258107142858 | Take profit: 2122.4945339285714 +2025-03-10 14:47:00,640 - INFO - STOP LOSS hit for long at 2080.6258107142858 | PnL: -0.50% | $-1.19 +2025-03-10 14:47:01,520 - INFO - OPENED LONG at 2104.93 | Stop loss: 2094.3866607142854 | Take profit: 2136.531983928571 +2025-03-10 14:47:02,780 - INFO - CLOSED long at 2129.3 | PnL: 1.16% | $2.07 +2025-03-10 14:47:02,781 - INFO - OPENED SHORT at 2129.3 | Stop loss: 2139.9651892857146 | Take profit: 2097.332466071429 +2025-03-10 14:47:03,250 - INFO - CLOSED short at 2120.0 | PnL: 0.44% | $0.67 +2025-03-10 14:47:03,250 - INFO - OPENED LONG at 2120.0 | Stop loss: 2109.381310714286 | Take profit: 2151.8280339285716 +2025-03-10 14:47:03,765 - INFO - STOP LOSS hit for long at 2109.381310714286 | PnL: -0.50% | $-1.21 +2025-03-10 14:47:03,939 - INFO - OPENED LONG at 2114.71 | Stop loss: 2104.117760714286 | Take profit: 2146.458683928571 +2025-03-10 14:47:04,024 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.97, Avg Loss=$-0.82 +2025-03-10 14:47:04,025 - INFO - Episode 22: Reward=-1.46, Balance=$100.44, Win Rate=50.0%, Trades=6, Episode PnL=$-1.63, Total PnL=$-72.12, Max Drawdown=1.2%, Pred Accuracy=99.0% +2025-03-10 14:47:04,025 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:47:06,525 - INFO - OPENED SHORT at 2064.33 | Stop loss: 2074.6703392857144 | Take profit: 2033.3370160714285 +2025-03-10 14:47:06,744 - INFO - CLOSED short at 2061.89 | PnL: 0.12% | $0.04 +2025-03-10 14:47:06,744 - INFO - OPENED LONG at 2061.89 | Stop loss: 2051.5618607142856 | Take profit: 2092.8463839285714 +2025-03-10 14:47:07,170 - INFO - CLOSED long at 2058.15 | PnL: -0.18% | $-0.56 +2025-03-10 14:47:07,272 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.273310714286 | Take profit: 2092.5520339285713 +2025-03-10 14:47:08,250 - INFO - CLOSED long at 2063.95 | PnL: 0.11% | $0.03 +2025-03-10 14:47:10,758 - INFO - OPENED LONG at 2073.49 | Stop loss: 2063.1038607142855 | Take profit: 2104.6203839285713 +2025-03-10 14:47:11,047 - INFO - TAKE PROFIT hit for long at 2104.6203839285713 | PnL: 1.50% | $2.76 +2025-03-10 14:47:11,458 - INFO - OPENED SHORT at 2119.93 | Stop loss: 2130.548339285714 | Take profit: 2088.103016071428 +2025-03-10 14:47:11,713 - INFO - CLOSED short at 2112.95 | PnL: 0.33% | $0.46 +2025-03-10 14:47:13,540 - INFO - OPENED LONG at 2089.79 | Stop loss: 2079.3223607142854 | Take profit: 2121.1648839285717 +2025-03-10 14:47:13,745 - INFO - CLOSED long at 2099.99 | PnL: 0.49% | $0.79 +2025-03-10 14:47:14,458 - INFO - OPENED SHORT at 2107.25 | Stop loss: 2117.804939285714 | Take profit: 2075.6132160714287 +2025-03-10 14:47:14,911 - INFO - STOP LOSS hit for short at 2117.804939285714 | PnL: -0.50% | $-1.23 +2025-03-10 14:47:15,572 - INFO - OPENED SHORT at 2123.23 | Stop loss: 2133.864839285714 | Take profit: 2091.3535160714287 +2025-03-10 14:47:15,634 - INFO - STOP LOSS hit for short at 2133.864839285714 | PnL: -0.50% | $-1.22 +2025-03-10 14:47:16,080 - INFO - OPENED LONG at 2121.17 | Stop loss: 2110.545460714286 | Take profit: 2153.0155839285717 +2025-03-10 14:47:16,276 - INFO - STOP LOSS hit for long at 2110.545460714286 | PnL: -0.50% | $-1.20 +2025-03-10 14:47:16,350 - INFO - OPENED LONG at 2113.04 | Stop loss: 2102.456110714286 | Take profit: 2144.7636339285714 +2025-03-10 14:47:16,392 - INFO - CLOSED long at 2107.42 | PnL: -0.27% | $-0.72 +2025-03-10 14:47:16,563 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.82, Avg Loss=$-0.99 +2025-03-10 14:47:16,564 - INFO - Episode 23: Reward=-3.11, Balance=$99.14, Win Rate=50.0%, Trades=10, Episode PnL=$-0.86, Total PnL=$-72.98, Max Drawdown=4.2%, Pred Accuracy=99.1% +2025-03-10 14:47:16,564 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:47:17,107 - INFO - OPENED LONG at 2071.11 | Stop loss: 2060.735760714286 | Take profit: 2102.2046839285713 +2025-03-10 14:47:17,171 - INFO - CLOSED long at 2069.35 | PnL: -0.08% | $-0.37 +2025-03-10 14:47:17,753 - INFO - OPENED LONG at 2067.84 | Stop loss: 2057.4821107142857 | Take profit: 2098.8856339285717 +2025-03-10 14:47:17,916 - INFO - CLOSED long at 2064.47 | PnL: -0.16% | $-0.52 +2025-03-10 14:47:17,916 - INFO - OPENED SHORT at 2064.47 | Stop loss: 2074.8110392857143 | Take profit: 2033.4749160714284 +2025-03-10 14:47:20,228 - INFO - STOP LOSS hit for short at 2074.8110392857143 | PnL: -0.50% | $-1.18 +2025-03-10 14:47:21,451 - INFO - OPENED SHORT at 2074.37 | Stop loss: 2084.760539285714 | Take profit: 2043.2264160714283 +2025-03-10 14:47:21,497 - INFO - CLOSED short at 2074.35 | PnL: 0.00% | $-0.19 +2025-03-10 14:47:22,164 - INFO - OPENED LONG at 2065.07 | Stop loss: 2054.725960714286 | Take profit: 2096.0740839285713 +2025-03-10 14:47:22,655 - INFO - STOP LOSS hit for long at 2054.725960714286 | PnL: -0.50% | $-1.16 +2025-03-10 14:47:23,982 - INFO - OPENED SHORT at 2140.01 | Stop loss: 2150.7287392857143 | Take profit: 2107.8818160714286 +2025-03-10 14:47:24,334 - INFO - TAKE PROFIT hit for short at 2107.8818160714286 | PnL: 1.50% | $2.68 +2025-03-10 14:47:25,308 - INFO - OPENED SHORT at 2093.46 | Stop loss: 2103.945989285714 | Take profit: 2062.0300660714283 +2025-03-10 14:47:26,428 - INFO - CLOSED short at 2100.89 | PnL: -0.35% | $-0.90 +2025-03-10 14:47:28,407 - INFO - OPENED LONG at 2118.1 | Stop loss: 2107.4908107142855 | Take profit: 2149.899533928571 +2025-03-10 14:47:28,689 - INFO - CLOSED long at 2115.45 | PnL: -0.13% | $-0.44 +2025-03-10 14:47:28,690 - INFO - OPENED SHORT at 2115.45 | Stop loss: 2126.045939285714 | Take profit: 2083.6902160714285 +2025-03-10 14:47:28,766 - INFO - CLOSED short at 2110.66 | PnL: 0.23% | $0.25 +2025-03-10 14:47:29,097 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.46, Avg Loss=$-0.68 +2025-03-10 14:47:29,099 - INFO - Episode 24: Reward=-10.90, Balance=$98.17, Win Rate=22.2%, Trades=9, Episode PnL=$-0.87, Total PnL=$-74.81, Max Drawdown=3.4%, Pred Accuracy=99.2% +2025-03-10 14:47:29,099 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:47:30,505 - INFO - OPENED SHORT at 2072.15 | Stop loss: 2082.5294392857145 | Take profit: 2041.0397160714285 +2025-03-10 14:47:31,312 - INFO - CLOSED short at 2067.84 | PnL: 0.21% | $0.21 +2025-03-10 14:47:31,363 - INFO - OPENED SHORT at 2067.86 | Stop loss: 2078.217989285715 | Take profit: 2036.8140660714287 +2025-03-10 14:47:31,630 - INFO - CLOSED short at 2068.18 | PnL: -0.02% | $-0.23 +2025-03-10 14:47:35,009 - INFO - OPENED SHORT at 2069.87 | Stop loss: 2080.238039285714 | Take profit: 2038.7939160714284 +2025-03-10 14:47:35,096 - INFO - CLOSED short at 2065.7 | PnL: 0.20% | $0.20 +2025-03-10 14:47:35,887 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3278107142855 | Take profit: 2101.7885339285713 +2025-03-10 14:47:35,976 - INFO - CLOSED long at 2070.35 | PnL: -0.02% | $-0.23 +2025-03-10 14:47:39,351 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.372189285714 | Take profit: 2098.7114660714283 +2025-03-10 14:47:39,404 - INFO - CLOSED short at 2131.78 | PnL: -0.05% | $-0.30 +2025-03-10 14:47:39,404 - INFO - OPENED LONG at 2131.78 | Stop loss: 2121.1024107142857 | Take profit: 2163.7847339285718 +2025-03-10 14:47:39,791 - INFO - STOP LOSS hit for long at 2121.1024107142857 | PnL: -0.50% | $-1.19 +2025-03-10 14:47:39,966 - INFO - OPENED SHORT at 2118.52 | Stop loss: 2129.1312892857145 | Take profit: 2086.7141660714287 +2025-03-10 14:47:40,402 - INFO - CLOSED short at 2120.81 | PnL: -0.11% | $-0.41 +2025-03-10 14:47:40,524 - INFO - OPENED LONG at 2110.9 | Stop loss: 2100.326810714286 | Take profit: 2142.5915339285716 +2025-03-10 14:47:40,678 - INFO - STOP LOSS hit for long at 2100.326810714286 | PnL: -0.50% | $-1.17 +2025-03-10 14:47:40,791 - INFO - OPENED LONG at 2098.1 | Stop loss: 2087.5908107142855 | Take profit: 2129.5995339285714 +2025-03-10 14:47:40,908 - INFO - CLOSED long at 2102.29 | PnL: 0.20% | $0.19 +2025-03-10 14:47:41,870 - INFO - OPENED SHORT at 2081.25 | Stop loss: 2091.6749392857146 | Take profit: 2050.0032160714286 +2025-03-10 14:47:42,159 - INFO - CLOSED short at 2085.85 | PnL: -0.22% | $-0.62 +2025-03-10 14:47:42,159 - INFO - OPENED LONG at 2085.85 | Stop loss: 2075.4020607142857 | Take profit: 2117.1657839285717 +2025-03-10 14:47:42,419 - INFO - CLOSED long at 2089.79 | PnL: 0.19% | $0.17 +2025-03-10 14:47:43,549 - INFO - OPENED SHORT at 2107.25 | Stop loss: 2117.804939285714 | Take profit: 2075.6132160714287 +2025-03-10 14:47:43,733 - INFO - CLOSED short at 2110.87 | PnL: -0.17% | $-0.52 +2025-03-10 14:47:43,755 - INFO - OPENED LONG at 2110.4 | Stop loss: 2099.829310714286 | Take profit: 2142.084033928572 +2025-03-10 14:47:44,535 - INFO - CLOSED long at 2119.58 | PnL: 0.43% | $0.64 +2025-03-10 14:47:45,311 - INFO - OPENED SHORT at 2118.8 | Stop loss: 2129.4126892857144 | Take profit: 2086.9899660714286 +2025-03-10 14:47:45,576 - INFO - CLOSED short at 2124.44 | PnL: -0.27% | $-0.70 +2025-03-10 14:47:46,160 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.28, Avg Loss=$-0.60 +2025-03-10 14:47:46,162 - INFO - Episode 25: Reward=-8.24, Balance=$96.05, Win Rate=35.7%, Trades=14, Episode PnL=$-3.95, Total PnL=$-78.75, Max Drawdown=4.2%, Pred Accuracy=99.3% +2025-03-10 14:47:46,163 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:47:46,533 - INFO - OPENED SHORT at 2071.39 | Stop loss: 2081.7656392857143 | Take profit: 2040.2911160714286 +2025-03-10 14:47:46,645 - INFO - CLOSED short at 2072.15 | PnL: -0.04% | $-0.27 +2025-03-10 14:47:47,829 - INFO - OPENED LONG at 2065.83 | Stop loss: 2055.482160714286 | Take profit: 2096.845483928571 +2025-03-10 14:47:48,702 - INFO - CLOSED long at 2064.1 | PnL: -0.08% | $-0.36 +2025-03-10 14:47:49,003 - INFO - OPENED LONG at 2061.7 | Stop loss: 2051.3728107142856 | Take profit: 2092.653533928571 +2025-03-10 14:47:49,333 - INFO - CLOSED long at 2056.28 | PnL: -0.26% | $-0.71 +2025-03-10 14:47:49,596 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.6251892857144 | Take profit: 2030.3524660714288 +2025-03-10 14:47:49,955 - INFO - STOP LOSS hit for short at 2071.6251892857144 | PnL: -0.50% | $-1.17 +2025-03-10 14:47:50,064 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.4037392857144 | Take profit: 2043.8568160714287 +2025-03-10 14:47:50,187 - INFO - CLOSED short at 2073.23 | PnL: 0.09% | $-0.03 +2025-03-10 14:47:50,231 - INFO - OPENED SHORT at 2068.15 | Stop loss: 2078.509439285714 | Take profit: 2037.0997160714287 +2025-03-10 14:47:51,541 - INFO - CLOSED short at 2074.37 | PnL: -0.30% | $-0.77 +2025-03-10 14:47:51,721 - INFO - OPENED SHORT at 2075.61 | Stop loss: 2086.0067392857145 | Take profit: 2044.4478160714286 +2025-03-10 14:47:51,828 - INFO - CLOSED short at 2069.97 | PnL: 0.27% | $0.33 +2025-03-10 14:47:52,952 - INFO - OPENED LONG at 2058.3 | Stop loss: 2047.9898107142858 | Take profit: 2089.2025339285715 +2025-03-10 14:47:53,045 - INFO - CLOSED long at 2057.11 | PnL: -0.06% | $-0.30 +2025-03-10 14:47:53,323 - INFO - OPENED LONG at 2066.59 | Stop loss: 2056.238360714286 | Take profit: 2097.6168839285715 +2025-03-10 14:47:53,488 - INFO - CLOSED long at 2060.7 | PnL: -0.29% | $-0.74 +2025-03-10 14:47:53,689 - INFO - OPENED LONG at 2070.41 | Stop loss: 2060.039260714286 | Take profit: 2101.4941839285716 +2025-03-10 14:47:53,940 - INFO - CLOSED long at 2076.08 | PnL: 0.27% | $0.33 +2025-03-10 14:47:55,158 - INFO - OPENED SHORT at 2100.5 | Stop loss: 2111.0211892857146 | Take profit: 2068.9644660714284 +2025-03-10 14:47:55,179 - INFO - CLOSED short at 2090.0 | PnL: 0.50% | $0.76 +2025-03-10 14:47:55,461 - INFO - OPENED LONG at 2100.74 | Stop loss: 2090.2176107142855 | Take profit: 2132.2791339285714 +2025-03-10 14:47:55,518 - INFO - CLOSED long at 2104.68 | PnL: 0.19% | $0.17 +2025-03-10 14:47:56,846 - INFO - OPENED LONG at 2091.95 | Stop loss: 2081.4715607142853 | Take profit: 2123.357283928571 +2025-03-10 14:47:56,942 - INFO - CLOSED long at 2099.99 | PnL: 0.38% | $0.55 +2025-03-10 14:47:57,901 - INFO - OPENED LONG at 2112.28 | Stop loss: 2101.699910714286 | Take profit: 2143.9922339285717 +2025-03-10 14:47:57,956 - INFO - CLOSED long at 2110.4 | PnL: -0.09% | $-0.37 +2025-03-10 14:47:59,097 - INFO - OPENED LONG at 2132.83 | Stop loss: 2122.1471607142857 | Take profit: 2164.850483928571 +2025-03-10 14:47:59,130 - INFO - CLOSED long at 2127.79 | PnL: -0.24% | $-0.65 +2025-03-10 14:47:59,890 - INFO - OPENED LONG at 2114.41 | Stop loss: 2103.8192607142855 | Take profit: 2146.1541839285715 +2025-03-10 14:47:59,912 - INFO - CLOSED long at 2115.45 | PnL: 0.05% | $-0.10 +2025-03-10 14:48:00,331 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.43, Avg Loss=$-0.50 +2025-03-10 14:48:00,332 - INFO - Episode 26: Reward=-12.22, Balance=$96.66, Win Rate=31.2%, Trades=16, Episode PnL=$-3.34, Total PnL=$-82.09, Max Drawdown=4.0%, Pred Accuracy=99.5% +2025-03-10 14:48:00,333 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:48:02,048 - INFO - OPENED SHORT at 2064.99 | Stop loss: 2075.333639285714 | Take profit: 2033.9871160714283 +2025-03-10 14:48:02,097 - INFO - CLOSED short at 2065.83 | PnL: -0.04% | $-0.28 +2025-03-10 14:48:04,051 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.561810714286 | Take profit: 2094.886533928571 +2025-03-10 14:48:04,095 - INFO - CLOSED long at 2064.49 | PnL: 0.03% | $-0.14 +2025-03-10 14:48:04,786 - INFO - OPENED SHORT at 2067.44 | Stop loss: 2077.795889285714 | Take profit: 2036.4003660714286 +2025-03-10 14:48:04,838 - INFO - CLOSED short at 2068.79 | PnL: -0.07% | $-0.33 +2025-03-10 14:48:05,789 - INFO - OPENED SHORT at 2071.99 | Stop loss: 2082.368639285714 | Take profit: 2040.8821160714283 +2025-03-10 14:48:05,818 - INFO - CLOSED short at 2068.19 | PnL: 0.18% | $0.16 +2025-03-10 14:48:06,761 - INFO - OPENED LONG at 2065.8 | Stop loss: 2055.452310714286 | Take profit: 2096.8150339285717 +2025-03-10 14:48:06,803 - INFO - CLOSED long at 2065.07 | PnL: -0.04% | $-0.27 +2025-03-10 14:48:07,363 - INFO - OPENED LONG at 2058.3 | Stop loss: 2047.9898107142858 | Take profit: 2089.2025339285715 +2025-03-10 14:48:07,385 - INFO - CLOSED long at 2056.85 | PnL: -0.07% | $-0.33 +2025-03-10 14:48:07,737 - INFO - OPENED SHORT at 2061.21 | Stop loss: 2071.5347392857143 | Take profit: 2030.2638160714287 +2025-03-10 14:48:07,759 - INFO - CLOSED short at 2059.9 | PnL: 0.06% | $-0.07 +2025-03-10 14:48:08,335 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.372189285714 | Take profit: 2098.7114660714283 +2025-03-10 14:48:08,376 - INFO - CLOSED short at 2139.54 | PnL: -0.41% | $-1.01 +2025-03-10 14:48:08,708 - INFO - OPENED LONG at 2121.09 | Stop loss: 2110.465860714286 | Take profit: 2152.9343839285716 +2025-03-10 14:48:08,790 - INFO - CLOSED long at 2117.24 | PnL: -0.18% | $-0.55 +2025-03-10 14:48:09,320 - INFO - OPENED SHORT at 2106.49 | Stop loss: 2117.041139285714 | Take profit: 2074.8646160714284 +2025-03-10 14:48:09,342 - INFO - CLOSED short at 2108.06 | PnL: -0.07% | $-0.34 +2025-03-10 14:48:12,242 - INFO - OPENED LONG at 2117.39 | Stop loss: 2106.784360714286 | Take profit: 2149.178883928571 +2025-03-10 14:48:12,287 - INFO - CLOSED long at 2115.3 | PnL: -0.10% | $-0.38 +2025-03-10 14:48:12,541 - INFO - OPENED SHORT at 2119.58 | Stop loss: 2130.1965892857143 | Take profit: 2087.758266071429 +2025-03-10 14:48:12,579 - INFO - CLOSED short at 2121.77 | PnL: -0.10% | $-0.39 +2025-03-10 14:48:12,847 - INFO - OPENED LONG at 2136.09 | Stop loss: 2125.3908607142857 | Take profit: 2168.1593839285715 +2025-03-10 14:48:12,916 - INFO - CLOSED long at 2127.79 | PnL: -0.39% | $-0.93 +2025-03-10 14:48:14,066 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.16, Avg Loss=$-0.42 +2025-03-10 14:48:14,068 - INFO - Episode 27: Reward=-16.25, Balance=$95.15, Win Rate=7.7%, Trades=13, Episode PnL=$-4.85, Total PnL=$-86.94, Max Drawdown=4.8%, Pred Accuracy=99.5% +2025-03-10 14:48:14,068 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:48:15,718 - INFO - OPENED SHORT at 2070.04 | Stop loss: 2080.408889285714 | Take profit: 2038.9613660714285 +2025-03-10 14:48:15,736 - INFO - CLOSED short at 2067.8 | PnL: 0.11% | $0.02 +2025-03-10 14:48:15,737 - INFO - OPENED LONG at 2067.8 | Stop loss: 2057.442310714286 | Take profit: 2098.8450339285714 +2025-03-10 14:48:15,762 - INFO - CLOSED long at 2068.18 | PnL: 0.02% | $-0.16 +2025-03-10 14:48:16,011 - INFO - OPENED LONG at 2061.78 | Stop loss: 2051.4524107142856 | Take profit: 2092.7347339285716 +2025-03-10 14:48:16,069 - INFO - CLOSED long at 2059.59 | PnL: -0.11% | $-0.41 +2025-03-10 14:48:20,005 - INFO - OPENED SHORT at 2067.88 | Stop loss: 2078.2380892857145 | Take profit: 2036.8337660714287 +2025-03-10 14:48:20,032 - INFO - CLOSED short at 2065.45 | PnL: 0.12% | $0.03 +2025-03-10 14:48:22,268 - INFO - OPENED SHORT at 2126.99 | Stop loss: 2137.643639285714 | Take profit: 2095.057116071428 +2025-03-10 14:48:22,445 - INFO - CLOSED short at 2121.09 | PnL: 0.28% | $0.35 +2025-03-10 14:48:22,533 - INFO - OPENED LONG at 2119.93 | Stop loss: 2109.3116607142856 | Take profit: 2151.756983928571 +2025-03-10 14:48:22,556 - INFO - CLOSED long at 2121.4 | PnL: 0.07% | $-0.06 +2025-03-10 14:48:23,112 - INFO - OPENED LONG at 2106.49 | Stop loss: 2095.9388607142855 | Take profit: 2138.115383928571 +2025-03-10 14:48:23,251 - INFO - CLOSED long at 2103.33 | PnL: -0.15% | $-0.49 +2025-03-10 14:48:23,886 - INFO - OPENED LONG at 2091.1 | Stop loss: 2080.6258107142858 | Take profit: 2122.4945339285714 +2025-03-10 14:48:23,928 - INFO - CLOSED long at 2094.72 | PnL: 0.17% | $0.14 +2025-03-10 14:48:25,121 - INFO - OPENED SHORT at 2106.15 | Stop loss: 2116.6994392857146 | Take profit: 2074.5297160714285 +2025-03-10 14:48:25,160 - INFO - CLOSED short at 2103.48 | PnL: 0.13% | $0.05 +2025-03-10 14:48:26,210 - INFO - OPENED SHORT at 2117.39 | Stop loss: 2127.9956392857143 | Take profit: 2085.6011160714284 +2025-03-10 14:48:26,240 - INFO - CLOSED short at 2115.3 | PnL: 0.10% | $-0.00 +2025-03-10 14:48:27,144 - INFO - OPENED LONG at 2118.1 | Stop loss: 2107.4908107142855 | Take profit: 2149.899533928571 +2025-03-10 14:48:27,171 - INFO - CLOSED long at 2119.48 | PnL: 0.07% | $-0.07 +2025-03-10 14:48:27,358 - INFO - OPENED LONG at 2120.84 | Stop loss: 2110.217110714286 | Take profit: 2152.6806339285718 +2025-03-10 14:48:27,383 - INFO - CLOSED long at 2114.41 | PnL: -0.30% | $-0.79 +2025-03-10 14:48:27,427 - INFO - OPENED LONG at 2112.11 | Stop loss: 2101.530760714286 | Take profit: 2143.8196839285715 +2025-03-10 14:48:27,450 - INFO - CLOSED long at 2110.66 | PnL: -0.07% | $-0.33 +2025-03-10 14:48:27,711 - INFO - OPENED SHORT at 2118.35 | Stop loss: 2128.960439285714 | Take profit: 2086.5467160714284 +2025-03-10 14:48:27,735 - INFO - CLOSED short at 2120.56 | PnL: -0.10% | $-0.40 +2025-03-10 14:48:27,758 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.12, Avg Loss=$-0.30 +2025-03-10 14:48:27,759 - INFO - Episode 28: Reward=-6.76, Balance=$97.88, Win Rate=35.7%, Trades=14, Episode PnL=$-2.12, Total PnL=$-89.06, Max Drawdown=2.1%, Pred Accuracy=99.6% +2025-03-10 14:48:27,760 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:48:31,184 - INFO - OPENED LONG at 2061.66 | Stop loss: 2051.3330107142856 | Take profit: 2092.6129339285712 +2025-03-10 14:48:31,234 - INFO - CLOSED long at 2061.5 | PnL: -0.01% | $-0.21 +2025-03-10 14:48:31,635 - INFO - OPENED LONG at 2066.79 | Stop loss: 2056.4373607142857 | Take profit: 2097.8198839285715 +2025-03-10 14:48:31,684 - INFO - CLOSED long at 2067.33 | PnL: 0.03% | $-0.15 +2025-03-10 14:48:33,385 - INFO - OPENED LONG at 2071.61 | Stop loss: 2061.2332607142857 | Take profit: 2102.7121839285714 +2025-03-10 14:48:33,415 - INFO - CLOSED long at 2074.37 | PnL: 0.13% | $0.07 +2025-03-10 14:48:33,601 - INFO - OPENED LONG at 2075.32 | Stop loss: 2064.924710714286 | Take profit: 2106.4778339285717 +2025-03-10 14:48:33,653 - INFO - CLOSED long at 2075.29 | PnL: -0.00% | $-0.20 +2025-03-10 14:48:34,143 - INFO - OPENED SHORT at 2065.45 | Stop loss: 2075.795939285714 | Take profit: 2034.4402160714283 +2025-03-10 14:48:34,170 - INFO - CLOSED short at 2068.1 | PnL: -0.13% | $-0.45 +2025-03-10 14:48:35,697 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.974610714286 | Take profit: 2100.4081339285717 +2025-03-10 14:48:35,726 - INFO - CLOSED long at 2069.81 | PnL: 0.02% | $-0.15 +2025-03-10 14:48:38,303 - INFO - OPENED SHORT at 2087.47 | Stop loss: 2097.926039285714 | Take profit: 2056.1299160714284 +2025-03-10 14:48:38,379 - INFO - CLOSED short at 2086.81 | PnL: 0.03% | $-0.13 +2025-03-10 14:48:38,526 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.576060714286 | Take profit: 2122.4437839285715 +2025-03-10 14:48:38,549 - INFO - CLOSED long at 2091.95 | PnL: 0.04% | $-0.11 +2025-03-10 14:48:39,321 - INFO - OPENED SHORT at 2102.0 | Stop loss: 2112.5286892857143 | Take profit: 2070.4419660714284 +2025-03-10 14:48:39,343 - INFO - CLOSED short at 2103.41 | PnL: -0.07% | $-0.33 +2025-03-10 14:48:39,705 - INFO - OPENED LONG at 2112.28 | Stop loss: 2101.699910714286 | Take profit: 2143.9922339285717 +2025-03-10 14:48:39,728 - INFO - CLOSED long at 2112.11 | PnL: -0.01% | $-0.21 +2025-03-10 14:48:41,556 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.07, Avg Loss=$-0.22 +2025-03-10 14:48:41,557 - INFO - Episode 29: Reward=-11.45, Balance=$98.12, Win Rate=10.0%, Trades=10, Episode PnL=$-1.88, Total PnL=$-90.94, Max Drawdown=1.9%, Pred Accuracy=99.7% +2025-03-10 14:48:41,557 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:48:43,988 - INFO - OPENED LONG at 2061.78 | Stop loss: 2051.4524107142856 | Take profit: 2092.7347339285716 +2025-03-10 14:48:44,020 - INFO - CLOSED long at 2059.59 | PnL: -0.11% | $-0.41 +2025-03-10 14:48:45,018 - INFO - OPENED SHORT at 2062.6 | Stop loss: 2072.931689285714 | Take profit: 2031.6329660714287 +2025-03-10 14:48:45,063 - INFO - CLOSED short at 2061.89 | PnL: 0.03% | $-0.13 +2025-03-10 14:48:45,922 - INFO - OPENED LONG at 2067.01 | Stop loss: 2056.656260714286 | Take profit: 2098.0431839285716 +2025-03-10 14:48:45,946 - INFO - CLOSED long at 2065.69 | PnL: -0.06% | $-0.32 +2025-03-10 14:48:47,116 - INFO - OPENED SHORT at 2070.35 | Stop loss: 2080.7204392857143 | Take profit: 2039.2667160714284 +2025-03-10 14:48:47,140 - INFO - CLOSED short at 2070.61 | PnL: -0.01% | $-0.22 +2025-03-10 14:48:47,947 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.1538107142856 | Take profit: 2096.5105339285715 +2025-03-10 14:48:47,973 - INFO - CLOSED long at 2065.7 | PnL: 0.01% | $-0.18 +2025-03-10 14:48:48,788 - INFO - OPENED SHORT at 2065.12 | Stop loss: 2075.464289285714 | Take profit: 2034.1151660714283 +2025-03-10 14:48:48,809 - INFO - CLOSED short at 2068.33 | PnL: -0.16% | $-0.50 +2025-03-10 14:48:49,298 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.6063607142855 | Take profit: 2104.112883928571 +2025-03-10 14:48:49,341 - INFO - CLOSED long at 2071.89 | PnL: -0.05% | $-0.30 +2025-03-10 14:48:49,665 - INFO - OPENED SHORT at 2133.95 | Stop loss: 2144.6384392857144 | Take profit: 2101.9127160714283 +2025-03-10 14:48:49,714 - INFO - CLOSED short at 2137.59 | PnL: -0.17% | $-0.53 +2025-03-10 14:48:49,793 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.0251892857145 | Take profit: 2109.1524660714285 +2025-03-10 14:48:49,831 - INFO - CLOSED short at 2142.68 | PnL: -0.06% | $-0.32 +2025-03-10 14:48:52,417 - INFO - OPENED SHORT at 2103.48 | Stop loss: 2114.0160892857143 | Take profit: 2071.8997660714285 +2025-03-10 14:48:52,443 - INFO - CLOSED short at 2104.93 | PnL: -0.07% | $-0.33 +2025-03-10 14:48:52,605 - INFO - OPENED LONG at 2103.64 | Stop loss: 2093.103110714286 | Take profit: 2135.222633928571 +2025-03-10 14:48:52,676 - INFO - CLOSED long at 2103.52 | PnL: -0.01% | $-0.20 +2025-03-10 14:48:53,944 - INFO - OPENED LONG at 2135.51 | Stop loss: 2124.8137607142858 | Take profit: 2167.5706839285717 +2025-03-10 14:48:53,968 - INFO - CLOSED long at 2136.09 | PnL: 0.03% | $-0.14 +2025-03-10 14:48:55,190 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.00, Avg Loss=$-0.30 +2025-03-10 14:48:55,191 - INFO - Episode 30: Reward=-16.18, Balance=$96.43, Win Rate=0.0%, Trades=12, Episode PnL=$-3.57, Total PnL=$-94.51, Max Drawdown=3.6%, Pred Accuracy=99.6% +2025-03-10 14:48:55,317 - INFO - Model saved to checkpoints/trading_agent_episode_30.pt +2025-03-10 14:48:55,318 - INFO - Checkpoint saved at episode 30 +2025-03-10 14:48:55,318 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:48:55,382 - ERROR - Error creating visualization: No module named 'mplfinance' +2025-03-10 14:48:55,383 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2506, in visualize_training_results + ax1.set_title(f'Training Visualization - Episode {episode_num}') + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +ModuleNotFoundError: No module named 'mplfinance' + +2025-03-10 14:48:56,344 - ERROR - Error creating visualization: No module named 'mplfinance' +2025-03-10 14:48:56,345 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2506, in visualize_training_results + ax1.set_title(f'Training Visualization - Episode {episode_num}') + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +ModuleNotFoundError: No module named 'mplfinance' + +2025-03-10 14:48:56,807 - INFO - OPENED LONG at 2071.92 | Stop loss: 2061.5417107142857 | Take profit: 2103.0268339285717 +2025-03-10 14:48:56,832 - INFO - CLOSED long at 2070.4 | PnL: -0.07% | $-0.34 +2025-03-10 14:48:56,852 - INFO - OPENED LONG at 2071.11 | Stop loss: 2060.735760714286 | Take profit: 2102.2046839285713 +2025-03-10 14:48:56,877 - INFO - CLOSED long at 2069.46 | PnL: -0.08% | $-0.35 +2025-03-10 14:48:58,076 - INFO - OPENED LONG at 2061.78 | Stop loss: 2051.4524107142856 | Take profit: 2092.7347339285716 +2025-03-10 14:48:58,113 - INFO - CLOSED long at 2059.59 | PnL: -0.11% | $-0.41 +2025-03-10 14:48:59,581 - INFO - OPENED LONG at 2061.66 | Stop loss: 2051.3330107142856 | Take profit: 2092.6129339285712 +2025-03-10 14:48:59,612 - INFO - CLOSED long at 2061.5 | PnL: -0.01% | $-0.21 +2025-03-10 14:49:02,293 - INFO - OPENED SHORT at 2066.09 | Stop loss: 2076.4391392857146 | Take profit: 2035.0706160714287 +2025-03-10 14:49:02,345 - INFO - CLOSED short at 2062.34 | PnL: 0.18% | $0.16 +2025-03-10 14:49:03,984 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.0251892857145 | Take profit: 2109.1524660714285 +2025-03-10 14:49:04,009 - INFO - CLOSED short at 2142.68 | PnL: -0.06% | $-0.32 +2025-03-10 14:49:08,416 - INFO - OPENED LONG at 2129.3 | Stop loss: 2118.634810714286 | Take profit: 2161.2675339285715 +2025-03-10 14:49:08,460 - INFO - CLOSED long at 2136.26 | PnL: 0.33% | $0.44 +2025-03-10 14:49:08,703 - INFO - OPENED SHORT at 2127.47 | Stop loss: 2138.126039285714 | Take profit: 2095.5299160714285 +2025-03-10 14:49:08,743 - INFO - CLOSED short at 2135.55 | PnL: -0.38% | $-0.94 +2025-03-10 14:49:09,581 - INFO - OPENED LONG at 2114.71 | Stop loss: 2104.117760714286 | Take profit: 2146.458683928571 +2025-03-10 14:49:09,605 - INFO - CLOSED long at 2117.92 | PnL: 0.15% | $0.10 +2025-03-10 14:49:09,667 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.23, Avg Loss=$-0.43 +2025-03-10 14:49:09,668 - INFO - Episode 31: Reward=-6.17, Balance=$98.12, Win Rate=33.3%, Trades=9, Episode PnL=$-1.88, Total PnL=$-96.38, Max Drawdown=2.0%, Pred Accuracy=99.6% +2025-03-10 14:49:09,668 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:49:10,059 - INFO - OPENED SHORT at 2071.39 | Stop loss: 2081.7656392857143 | Take profit: 2040.2911160714286 +2025-03-10 14:49:10,082 - INFO - CLOSED short at 2071.36 | PnL: 0.00% | $-0.20 +2025-03-10 14:49:10,691 - INFO - OPENED SHORT at 2068.8 | Stop loss: 2079.162689285715 | Take profit: 2037.7399660714289 +2025-03-10 14:49:10,730 - INFO - CLOSED short at 2069.34 | PnL: -0.03% | $-0.25 +2025-03-10 14:49:11,194 - INFO - OPENED LONG at 2064.47 | Stop loss: 2054.1289607142853 | Take profit: 2095.4650839285714 +2025-03-10 14:49:11,238 - INFO - CLOSED long at 2070.04 | PnL: 0.27% | $0.34 +2025-03-10 14:49:11,918 - INFO - OPENED SHORT at 2063.5 | Stop loss: 2073.836189285714 | Take profit: 2032.5194660714285 +2025-03-10 14:49:11,955 - INFO - CLOSED short at 2061.6 | PnL: 0.09% | $-0.02 +2025-03-10 14:49:12,040 - INFO - OPENED SHORT at 2060.65 | Stop loss: 2070.9719392857146 | Take profit: 2029.7122160714287 +2025-03-10 14:49:12,076 - INFO - CLOSED short at 2058.89 | PnL: 0.09% | $-0.03 +2025-03-10 14:49:15,702 - INFO - OPENED LONG at 2068.1 | Stop loss: 2057.7408107142855 | Take profit: 2099.149533928571 +2025-03-10 14:49:15,734 - INFO - CLOSED long at 2069.0 | PnL: 0.04% | $-0.11 +2025-03-10 14:49:16,266 - INFO - OPENED LONG at 2063.01 | Stop loss: 2052.676260714286 | Take profit: 2093.9831839285716 +2025-03-10 14:49:16,312 - INFO - CLOSED long at 2060.7 | PnL: -0.11% | $-0.42 +2025-03-10 14:49:16,312 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.0221892857144 | Take profit: 2029.7614660714282 +2025-03-10 14:49:16,363 - INFO - CLOSED short at 2060.2 | PnL: 0.02% | $-0.15 +2025-03-10 14:49:16,404 - INFO - OPENED LONG at 2059.2 | Stop loss: 2048.8853107142854 | Take profit: 2090.116033928571 +2025-03-10 14:49:16,446 - INFO - CLOSED long at 2058.09 | PnL: -0.05% | $-0.30 +2025-03-10 14:49:17,304 - INFO - OPENED LONG at 2070.31 | Stop loss: 2059.9397607142855 | Take profit: 2101.3926839285714 +2025-03-10 14:49:17,326 - INFO - CLOSED long at 2070.24 | PnL: -0.00% | $-0.20 +2025-03-10 14:49:20,381 - INFO - OPENED LONG at 2091.95 | Stop loss: 2081.4715607142853 | Take profit: 2123.357283928571 +2025-03-10 14:49:20,406 - INFO - CLOSED long at 2094.7 | PnL: 0.13% | $0.06 +2025-03-10 14:49:20,903 - INFO - OPENED LONG at 2105.21 | Stop loss: 2094.665260714286 | Take profit: 2136.8161839285713 +2025-03-10 14:49:20,928 - INFO - CLOSED long at 2103.9 | PnL: -0.06% | $-0.32 +2025-03-10 14:49:22,106 - INFO - OPENED LONG at 2126.43 | Stop loss: 2115.779160714286 | Take profit: 2158.3544839285714 +2025-03-10 14:49:22,127 - INFO - CLOSED long at 2124.49 | PnL: -0.09% | $-0.37 +2025-03-10 14:49:22,540 - INFO - OPENED LONG at 2115.45 | Stop loss: 2104.8540607142854 | Take profit: 2147.2097839285716 +2025-03-10 14:49:22,562 - INFO - CLOSED long at 2112.11 | PnL: -0.16% | $-0.50 +2025-03-10 14:49:22,877 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.20, Avg Loss=$-0.24 +2025-03-10 14:49:22,878 - INFO - Episode 32: Reward=-14.36, Balance=$97.53, Win Rate=14.3%, Trades=14, Episode PnL=$-2.05, Total PnL=$-98.85, Max Drawdown=2.5%, Pred Accuracy=99.7% +2025-03-10 14:49:22,878 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:49:23,392 - INFO - OPENED SHORT at 2069.35 | Stop loss: 2079.715439285714 | Take profit: 2038.2817160714285 +2025-03-10 14:49:23,426 - INFO - CLOSED short at 2068.32 | PnL: 0.05% | $-0.10 +2025-03-10 14:49:23,471 - INFO - OPENED SHORT at 2067.0 | Stop loss: 2077.353689285714 | Take profit: 2035.9669660714285 +2025-03-10 14:49:23,520 - INFO - CLOSED short at 2067.79 | PnL: -0.04% | $-0.27 +2025-03-10 14:49:23,594 - INFO - OPENED SHORT at 2066.8 | Stop loss: 2077.152689285714 | Take profit: 2035.7699660714288 +2025-03-10 14:49:23,668 - INFO - CLOSED short at 2063.61 | PnL: 0.15% | $0.11 +2025-03-10 14:49:27,179 - INFO - OPENED SHORT at 2065.7 | Stop loss: 2076.047189285714 | Take profit: 2034.6864660714284 +2025-03-10 14:49:27,216 - INFO - CLOSED short at 2065.66 | PnL: 0.00% | $-0.19 +2025-03-10 14:49:27,965 - INFO - OPENED SHORT at 2074.37 | Stop loss: 2084.760539285714 | Take profit: 2043.2264160714283 +2025-03-10 14:49:28,007 - INFO - CLOSED short at 2075.07 | PnL: -0.03% | $-0.26 +2025-03-10 14:49:29,874 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.4389392857147 | Take profit: 2042.9112160714287 +2025-03-10 14:49:29,967 - INFO - CLOSED short at 2071.8 | PnL: 0.11% | $0.02 +2025-03-10 14:49:30,691 - INFO - OPENED SHORT at 2119.07 | Stop loss: 2129.6840392857143 | Take profit: 2087.2559160714286 +2025-03-10 14:49:30,726 - INFO - CLOSED short at 2115.28 | PnL: 0.18% | $0.16 +2025-03-10 14:49:31,204 - INFO - OPENED SHORT at 2090.0 | Stop loss: 2100.4686892857144 | Take profit: 2058.6219660714287 +2025-03-10 14:49:31,269 - INFO - CLOSED short at 2098.1 | PnL: -0.39% | $-0.96 +2025-03-10 14:49:31,345 - INFO - OPENED SHORT at 2099.25 | Stop loss: 2109.7649392857143 | Take profit: 2067.7332160714286 +2025-03-10 14:49:31,371 - INFO - CLOSED short at 2098.9 | PnL: 0.02% | $-0.16 +2025-03-10 14:49:32,287 - INFO - OPENED SHORT at 2088.66 | Stop loss: 2099.1219892857143 | Take profit: 2057.3020660714287 +2025-03-10 14:49:32,324 - INFO - CLOSED short at 2088.32 | PnL: 0.02% | $-0.16 +2025-03-10 14:49:32,903 - INFO - OPENED LONG at 2106.15 | Stop loss: 2095.6005607142856 | Take profit: 2137.7702839285716 +2025-03-10 14:49:32,928 - INFO - CLOSED long at 2103.48 | PnL: -0.13% | $-0.44 +2025-03-10 14:49:33,109 - INFO - OPENED LONG at 2103.52 | Stop loss: 2092.9837107142857 | Take profit: 2135.100833928572 +2025-03-10 14:49:33,143 - INFO - CLOSED long at 2104.4 | PnL: 0.04% | $-0.11 +2025-03-10 14:49:35,543 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.09, Avg Loss=$-0.30 +2025-03-10 14:49:35,544 - INFO - Episode 33: Reward=-9.59, Balance=$97.61, Win Rate=25.0%, Trades=12, Episode PnL=$-2.39, Total PnL=$-101.25, Max Drawdown=2.4%, Pred Accuracy=99.5% +2025-03-10 14:49:35,545 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:49:40,311 - INFO - OPENED LONG at 2070.8 | Stop loss: 2060.427310714286 | Take profit: 2101.890033928572 +2025-03-10 14:49:40,333 - INFO - CLOSED long at 2070.35 | PnL: -0.02% | $-0.24 +2025-03-10 14:49:40,910 - INFO - OPENED SHORT at 2066.4 | Stop loss: 2076.750689285714 | Take profit: 2035.3759660714286 +2025-03-10 14:49:40,957 - INFO - CLOSED short at 2066.89 | PnL: -0.02% | $-0.24 +2025-03-10 14:49:41,561 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.0221892857144 | Take profit: 2029.7614660714282 +2025-03-10 14:49:41,583 - INFO - CLOSED short at 2060.2 | PnL: 0.02% | $-0.15 +2025-03-10 14:49:42,354 - INFO - OPENED SHORT at 2070.24 | Stop loss: 2080.609889285714 | Take profit: 2039.1583660714282 +2025-03-10 14:49:42,399 - INFO - CLOSED short at 2069.81 | PnL: 0.02% | $-0.16 +2025-03-10 14:49:48,022 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.00, Avg Loss=$-0.20 +2025-03-10 14:49:48,023 - INFO - Episode 34: Reward=-5.69, Balance=$99.21, Win Rate=0.0%, Trades=4, Episode PnL=$-0.79, Total PnL=$-102.04, Max Drawdown=0.8%, Pred Accuracy=99.7% +2025-03-10 14:49:48,023 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:49:50,581 - INFO - OPENED LONG at 2062.65 | Stop loss: 2052.318060714286 | Take profit: 2093.6177839285715 +2025-03-10 14:49:50,624 - INFO - CLOSED long at 2059.59 | PnL: -0.15% | $-0.49 +2025-03-10 14:49:50,901 - INFO - OPENED SHORT at 2062.71 | Stop loss: 2073.0422392857145 | Take profit: 2031.7413160714286 +2025-03-10 14:49:50,925 - INFO - CLOSED short at 2062.89 | PnL: -0.01% | $-0.21 +2025-03-10 14:49:51,102 - INFO - OPENED SHORT at 2060.31 | Stop loss: 2070.630239285714 | Take profit: 2029.3773160714286 +2025-03-10 14:49:51,134 - INFO - CLOSED short at 2061.8 | PnL: -0.07% | $-0.34 +2025-03-10 14:49:51,723 - INFO - OPENED SHORT at 2059.02 | Stop loss: 2069.3337892857144 | Take profit: 2028.1066660714284 +2025-03-10 14:49:51,764 - INFO - CLOSED short at 2059.96 | PnL: -0.05% | $-0.29 +2025-03-10 14:49:53,318 - INFO - OPENED LONG at 2063.97 | Stop loss: 2053.6314607142854 | Take profit: 2094.9575839285712 +2025-03-10 14:49:53,347 - INFO - CLOSED long at 2064.5 | PnL: 0.03% | $-0.15 +2025-03-10 14:49:53,411 - INFO - OPENED SHORT at 2064.31 | Stop loss: 2074.650239285714 | Take profit: 2033.3173160714286 +2025-03-10 14:49:53,436 - INFO - CLOSED short at 2065.5 | PnL: -0.06% | $-0.31 +2025-03-10 14:49:53,718 - INFO - OPENED LONG at 2071.35 | Stop loss: 2060.974560714286 | Take profit: 2102.4482839285715 +2025-03-10 14:49:53,743 - INFO - CLOSED long at 2070.9 | PnL: -0.02% | $-0.24 +2025-03-10 14:49:55,289 - INFO - OPENED LONG at 2060.2 | Stop loss: 2049.8803107142853 | Take profit: 2091.1310339285715 +2025-03-10 14:49:55,313 - INFO - CLOSED long at 2059.2 | PnL: -0.05% | $-0.29 +2025-03-10 14:49:55,850 - INFO - OPENED SHORT at 2066.59 | Stop loss: 2076.9416392857142 | Take profit: 2035.5631160714286 +2025-03-10 14:49:55,888 - INFO - CLOSED short at 2064.08 | PnL: 0.12% | $0.04 +2025-03-10 14:49:56,853 - INFO - OPENED LONG at 2126.99 | Stop loss: 2116.3363607142855 | Take profit: 2158.922883928571 +2025-03-10 14:49:56,873 - INFO - CLOSED long at 2127.3 | PnL: 0.01% | $-0.17 +2025-03-10 14:49:56,874 - INFO - OPENED SHORT at 2127.3 | Stop loss: 2137.9551892857144 | Take profit: 2095.362466071429 +2025-03-10 14:49:56,894 - INFO - CLOSED short at 2128.69 | PnL: -0.07% | $-0.32 +2025-03-10 14:49:57,639 - INFO - OPENED LONG at 2098.1 | Stop loss: 2087.5908107142855 | Take profit: 2129.5995339285714 +2025-03-10 14:49:57,663 - INFO - CLOSED long at 2102.19 | PnL: 0.19% | $0.18 +2025-03-10 14:50:00,716 - INFO - OPENED LONG at 2135.55 | Stop loss: 2124.853560714286 | Take profit: 2167.6112839285715 +2025-03-10 14:50:00,744 - INFO - CLOSED long at 2131.23 | PnL: -0.20% | $-0.58 +2025-03-10 14:50:01,444 - INFO - OPENED LONG at 2107.42 | Stop loss: 2096.864210714286 | Take profit: 2139.0593339285715 +2025-03-10 14:50:01,476 - INFO - CLOSED long at 2110.34 | PnL: 0.14% | $0.07 +2025-03-10 14:50:01,666 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.10, Avg Loss=$-0.31 +2025-03-10 14:50:01,667 - INFO - Episode 35: Reward=-12.56, Balance=$96.92, Win Rate=21.4%, Trades=14, Episode PnL=$-2.92, Total PnL=$-105.12, Max Drawdown=3.2%, Pred Accuracy=99.5% +2025-03-10 14:50:01,667 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:50:02,291 - INFO - OPENED LONG at 2067.0 | Stop loss: 2056.646310714286 | Take profit: 2098.033033928571 +2025-03-10 14:50:02,313 - INFO - CLOSED long at 2067.79 | PnL: 0.04% | $-0.12 +2025-03-10 14:50:03,102 - INFO - OPENED LONG at 2067.8 | Stop loss: 2057.442310714286 | Take profit: 2098.8450339285714 +2025-03-10 14:50:03,123 - INFO - CLOSED long at 2068.18 | PnL: 0.02% | $-0.16 +2025-03-10 14:50:03,260 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.6049892857145 | Take profit: 2034.2530660714287 +2025-03-10 14:50:03,305 - INFO - CLOSED short at 2062.89 | PnL: 0.11% | $0.03 +2025-03-10 14:50:04,609 - INFO - OPENED LONG at 2059.46 | Stop loss: 2049.1440107142857 | Take profit: 2090.379933928571 +2025-03-10 14:50:04,647 - INFO - CLOSED long at 2057.4 | PnL: -0.10% | $-0.40 +2025-03-10 14:50:04,900 - INFO - OPENED SHORT at 2061.6 | Stop loss: 2071.926689285714 | Take profit: 2030.6479660714285 +2025-03-10 14:50:04,934 - INFO - CLOSED short at 2061.3 | PnL: 0.01% | $-0.17 +2025-03-10 14:50:04,966 - INFO - OPENED SHORT at 2062.69 | Stop loss: 2073.0221392857143 | Take profit: 2031.7216160714286 +2025-03-10 14:50:05,002 - INFO - CLOSED short at 2063.4 | PnL: -0.03% | $-0.26 +2025-03-10 14:50:09,423 - INFO - OPENED LONG at 2141.3 | Stop loss: 2130.574810714286 | Take profit: 2173.447533928572 +2025-03-10 14:50:09,444 - INFO - CLOSED long at 2142.68 | PnL: 0.06% | $-0.07 +2025-03-10 14:50:09,543 - INFO - OPENED SHORT at 2126.99 | Stop loss: 2137.643639285714 | Take profit: 2095.057116071428 +2025-03-10 14:50:09,638 - INFO - CLOSED short at 2128.69 | PnL: -0.08% | $-0.35 +2025-03-10 14:50:10,654 - INFO - OPENED LONG at 2091.1 | Stop loss: 2080.6258107142858 | Take profit: 2122.4945339285714 +2025-03-10 14:50:10,737 - INFO - CLOSED long at 2083.28 | PnL: -0.37% | $-0.93 +2025-03-10 14:50:10,911 - INFO - OPENED LONG at 2085.09 | Stop loss: 2074.645860714286 | Take profit: 2116.3943839285716 +2025-03-10 14:50:10,932 - INFO - CLOSED long at 2083.59 | PnL: -0.07% | $-0.33 +2025-03-10 14:50:13,968 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.03, Avg Loss=$-0.31 +2025-03-10 14:50:13,968 - INFO - Episode 36: Reward=-11.96, Balance=$97.24, Win Rate=10.0%, Trades=10, Episode PnL=$-2.76, Total PnL=$-107.88, Max Drawdown=2.8%, Pred Accuracy=99.5% +2025-03-10 14:50:13,970 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:50:17,413 - INFO - OPENED SHORT at 2063.4 | Stop loss: 2073.7356892857147 | Take profit: 2032.4209660714287 +2025-03-10 14:50:17,446 - INFO - CLOSED short at 2066.36 | PnL: -0.14% | $-0.48 +2025-03-10 14:50:17,857 - INFO - OPENED SHORT at 2071.04 | Stop loss: 2081.413889285714 | Take profit: 2039.9463660714284 +2025-03-10 14:50:17,882 - INFO - CLOSED short at 2070.01 | PnL: 0.05% | $-0.10 +2025-03-10 14:50:18,400 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.8411892857143 | Take profit: 2033.5044660714286 +2025-03-10 14:50:18,430 - INFO - CLOSED short at 2065.3 | PnL: -0.04% | $-0.27 +2025-03-10 14:50:18,760 - INFO - OPENED SHORT at 2071.35 | Stop loss: 2081.725439285714 | Take profit: 2040.2517160714285 +2025-03-10 14:50:18,780 - INFO - CLOSED short at 2070.9 | PnL: 0.02% | $-0.15 +2025-03-10 14:50:22,303 - INFO - OPENED SHORT at 2113.24 | Stop loss: 2123.824889285714 | Take profit: 2081.513366071428 +2025-03-10 14:50:22,326 - INFO - CLOSED short at 2112.99 | PnL: 0.01% | $-0.17 +2025-03-10 14:50:23,098 - INFO - OPENED SHORT at 2095.29 | Stop loss: 2105.7851392857146 | Take profit: 2063.8326160714287 +2025-03-10 14:50:23,120 - INFO - CLOSED short at 2093.46 | PnL: 0.09% | $-0.02 +2025-03-10 14:50:23,142 - INFO - OPENED LONG at 2093.33 | Stop loss: 2082.8446607142855 | Take profit: 2124.7579839285713 +2025-03-10 14:50:23,196 - INFO - CLOSED long at 2091.1 | PnL: -0.11% | $-0.40 +2025-03-10 14:50:23,343 - INFO - OPENED LONG at 2088.44 | Stop loss: 2077.979110714286 | Take profit: 2119.794633928572 +2025-03-10 14:50:23,379 - INFO - CLOSED long at 2083.97 | PnL: -0.21% | $-0.61 +2025-03-10 14:50:24,737 - INFO - OPENED LONG at 2104.73 | Stop loss: 2094.187660714286 | Take profit: 2136.3289839285717 +2025-03-10 14:50:24,761 - INFO - CLOSED long at 2107.25 | PnL: 0.12% | $0.04 +2025-03-10 14:50:26,094 - INFO - OPENED LONG at 2126.43 | Stop loss: 2115.779160714286 | Take profit: 2158.3544839285714 +2025-03-10 14:50:26,129 - INFO - CLOSED long at 2124.49 | PnL: -0.09% | $-0.37 +2025-03-10 14:50:27,035 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.04, Avg Loss=$-0.29 +2025-03-10 14:50:27,035 - INFO - Episode 37: Reward=-10.92, Balance=$97.44, Win Rate=10.0%, Trades=10, Episode PnL=$-2.56, Total PnL=$-110.44, Max Drawdown=2.6%, Pred Accuracy=99.6% +2025-03-10 14:50:27,035 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:50:28,853 - INFO - OPENED LONG at 2066.24 | Stop loss: 2055.8901107142856 | Take profit: 2097.2616339285714 +2025-03-10 14:50:28,877 - INFO - CLOSED long at 2067.1 | PnL: 0.04% | $-0.12 +2025-03-10 14:50:29,115 - INFO - OPENED LONG at 2060.9 | Stop loss: 2050.576810714286 | Take profit: 2091.8415339285716 +2025-03-10 14:50:29,151 - INFO - CLOSED long at 2060.65 | PnL: -0.01% | $-0.22 +2025-03-10 14:50:30,996 - INFO - OPENED SHORT at 2074.3 | Stop loss: 2084.690189285714 | Take profit: 2043.1574660714286 +2025-03-10 14:50:31,054 - INFO - CLOSED short at 2075.01 | PnL: -0.03% | $-0.27 +2025-03-10 14:50:31,741 - INFO - OPENED SHORT at 2065.3 | Stop loss: 2075.645189285715 | Take profit: 2034.2924660714286 +2025-03-10 14:50:31,784 - INFO - CLOSED short at 2064.31 | PnL: 0.05% | $-0.10 +2025-03-10 14:50:32,230 - INFO - OPENED LONG at 2068.19 | Stop loss: 2057.8303607142857 | Take profit: 2099.2408839285717 +2025-03-10 14:50:32,292 - INFO - CLOSED long at 2070.67 | PnL: 0.12% | $0.04 +2025-03-10 14:50:33,444 - INFO - OPENED LONG at 2058.09 | Stop loss: 2047.7808607142858 | Take profit: 2088.989383928572 +2025-03-10 14:50:33,495 - INFO - CLOSED long at 2056.77 | PnL: -0.06% | $-0.32 +2025-03-10 14:50:34,223 - INFO - OPENED SHORT at 2069.81 | Stop loss: 2080.1777392857143 | Take profit: 2038.7348160714284 +2025-03-10 14:50:34,251 - INFO - CLOSED short at 2070.41 | PnL: -0.03% | $-0.25 +2025-03-10 14:50:35,199 - INFO - OPENED LONG at 2119.14 | Stop loss: 2108.5256107142854 | Take profit: 2150.9551339285717 +2025-03-10 14:50:35,263 - INFO - STOP LOSS hit for long at 2108.5256107142854 | PnL: -0.50% | $-1.18 +2025-03-10 14:50:36,814 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.576060714286 | Take profit: 2122.4437839285715 +2025-03-10 14:50:36,836 - INFO - CLOSED long at 2091.95 | PnL: 0.04% | $-0.11 +2025-03-10 14:50:37,052 - INFO - OPENED LONG at 2099.89 | Stop loss: 2089.3718607142855 | Take profit: 2131.416383928571 +2025-03-10 14:50:37,077 - INFO - CLOSED long at 2100.89 | PnL: 0.05% | $-0.10 +2025-03-10 14:50:38,243 - INFO - OPENED SHORT at 2117.6 | Stop loss: 2128.206689285714 | Take profit: 2085.8079660714284 +2025-03-10 14:50:38,270 - INFO - CLOSED short at 2115.21 | PnL: 0.11% | $0.02 +2025-03-10 14:50:39,195 - INFO - OPENED LONG at 2121.19 | Stop loss: 2110.565360714286 | Take profit: 2153.035883928572 +2025-03-10 14:50:39,223 - INFO - CLOSED long at 2124.14 | PnL: 0.14% | $0.08 +2025-03-10 14:50:39,556 - INFO - OPENED LONG at 2113.04 | Stop loss: 2102.456110714286 | Take profit: 2144.7636339285714 +2025-03-10 14:50:39,578 - INFO - CLOSED long at 2108.73 | PnL: -0.20% | $-0.59 +2025-03-10 14:50:39,818 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.05, Avg Loss=$-0.33 +2025-03-10 14:50:39,819 - INFO - Episode 38: Reward=-9.56, Balance=$96.88, Win Rate=23.1%, Trades=13, Episode PnL=$-3.12, Total PnL=$-113.56, Max Drawdown=3.1%, Pred Accuracy=99.6% +2025-03-10 14:50:39,820 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:50:42,415 - INFO - OPENED LONG at 2060.9 | Stop loss: 2050.576810714286 | Take profit: 2091.8415339285716 +2025-03-10 14:50:42,451 - INFO - CLOSED long at 2060.65 | PnL: -0.01% | $-0.22 +2025-03-10 14:50:43,660 - INFO - OPENED LONG at 2058.15 | Stop loss: 2047.8405607142859 | Take profit: 2089.0502839285714 +2025-03-10 14:50:43,685 - INFO - CLOSED long at 2059.8 | PnL: 0.08% | $-0.04 +2025-03-10 14:50:43,704 - INFO - OPENED LONG at 2061.66 | Stop loss: 2051.3330107142856 | Take profit: 2092.6129339285712 +2025-03-10 14:50:43,729 - INFO - CLOSED long at 2061.5 | PnL: -0.01% | $-0.21 +2025-03-10 14:50:48,841 - INFO - OPENED SHORT at 2103.33 | Stop loss: 2113.865339285714 | Take profit: 2071.7520160714284 +2025-03-10 14:50:48,865 - INFO - CLOSED short at 2100.5 | PnL: 0.13% | $0.07 +2025-03-10 14:50:48,946 - INFO - OPENED LONG at 2102.19 | Stop loss: 2091.6603607142856 | Take profit: 2133.7508839285715 +2025-03-10 14:50:48,988 - INFO - CLOSED long at 2099.25 | PnL: -0.14% | $-0.47 +2025-03-10 14:50:49,028 - INFO - OPENED LONG at 2100.69 | Stop loss: 2090.167860714286 | Take profit: 2132.2283839285715 +2025-03-10 14:50:49,062 - INFO - CLOSED long at 2104.83 | PnL: 0.20% | $0.19 +2025-03-10 14:50:50,942 - INFO - OPENED LONG at 2102.0 | Stop loss: 2091.4713107142857 | Take profit: 2133.558033928571 +2025-03-10 14:50:50,963 - INFO - CLOSED long at 2103.41 | PnL: 0.07% | $-0.06 +2025-03-10 14:50:53,491 - INFO - OPENED LONG at 2113.34 | Stop loss: 2102.7546107142857 | Take profit: 2145.0681339285716 +2025-03-10 14:50:53,515 - INFO - CLOSED long at 2114.71 | PnL: 0.06% | $-0.07 +2025-03-10 14:50:53,596 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.13, Avg Loss=$-0.18 +2025-03-10 14:50:53,597 - INFO - Episode 39: Reward=-6.80, Balance=$99.18, Win Rate=25.0%, Trades=8, Episode PnL=$-0.82, Total PnL=$-114.38, Max Drawdown=0.9%, Pred Accuracy=99.7% +2025-03-10 14:50:53,597 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:50:56,853 - INFO - OPENED LONG at 2059.02 | Stop loss: 2048.7062107142856 | Take profit: 2089.9333339285713 +2025-03-10 14:50:56,875 - INFO - CLOSED long at 2058.89 | PnL: -0.01% | $-0.21 +2025-03-10 14:50:57,419 - INFO - OPENED LONG at 2067.01 | Stop loss: 2056.656260714286 | Take profit: 2098.0431839285716 +2025-03-10 14:50:57,439 - INFO - CLOSED long at 2065.69 | PnL: -0.06% | $-0.32 +2025-03-10 14:50:57,843 - INFO - OPENED SHORT at 2069.87 | Stop loss: 2080.238039285714 | Take profit: 2038.7939160714284 +2025-03-10 14:50:57,864 - INFO - CLOSED short at 2067.33 | PnL: 0.12% | $0.04 +2025-03-10 14:50:58,396 - INFO - OPENED SHORT at 2070.35 | Stop loss: 2080.7204392857143 | Take profit: 2039.2667160714284 +2025-03-10 14:50:58,427 - INFO - CLOSED short at 2070.61 | PnL: -0.01% | $-0.22 +2025-03-10 14:50:59,463 - INFO - OPENED LONG at 2065.7 | Stop loss: 2055.3528107142856 | Take profit: 2096.7135339285715 +2025-03-10 14:50:59,499 - INFO - CLOSED long at 2065.8 | PnL: 0.00% | $-0.19 +2025-03-10 14:51:00,518 - INFO - OPENED LONG at 2062.55 | Stop loss: 2052.218560714286 | Take profit: 2093.5162839285717 +2025-03-10 14:51:00,554 - INFO - CLOSED long at 2065.12 | PnL: 0.12% | $0.05 +2025-03-10 14:51:02,699 - INFO - OPENED SHORT at 2090.0 | Stop loss: 2100.4686892857144 | Take profit: 2058.6219660714287 +2025-03-10 14:51:02,736 - INFO - CLOSED short at 2099.53 | PnL: -0.46% | $-1.09 +2025-03-10 14:51:03,824 - INFO - OPENED SHORT at 2085.8 | Stop loss: 2096.247689285715 | Take profit: 2054.484966071429 +2025-03-10 14:51:03,864 - INFO - CLOSED short at 2084.72 | PnL: 0.05% | $-0.09 +2025-03-10 14:51:04,995 - INFO - OPENED LONG at 2103.52 | Stop loss: 2092.9837107142857 | Take profit: 2135.100833928572 +2025-03-10 14:51:05,019 - INFO - CLOSED long at 2104.4 | PnL: 0.04% | $-0.11 +2025-03-10 14:51:05,638 - INFO - OPENED LONG at 2113.1 | Stop loss: 2102.5158107142856 | Take profit: 2144.8245339285713 +2025-03-10 14:51:05,687 - INFO - CLOSED long at 2112.11 | PnL: -0.05% | $-0.28 +2025-03-10 14:51:06,074 - INFO - OPENED LONG at 2114.71 | Stop loss: 2104.117760714286 | Take profit: 2146.458683928571 +2025-03-10 14:51:06,100 - INFO - CLOSED long at 2117.6 | PnL: 0.14% | $0.07 +2025-03-10 14:51:08,097 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.05, Avg Loss=$-0.32 +2025-03-10 14:51:08,099 - INFO - Episode 40: Reward=-9.02, Balance=$97.64, Win Rate=27.3%, Trades=11, Episode PnL=$-2.36, Total PnL=$-116.74, Max Drawdown=2.4%, Pred Accuracy=99.7% +2025-03-10 14:51:08,255 - INFO - Model saved to checkpoints/trading_agent_episode_40.pt +2025-03-10 14:51:08,256 - INFO - Checkpoint saved at episode 40 +2025-03-10 14:51:08,256 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:51:09,348 - INFO - Visualization saved for episode 40 +2025-03-10 14:51:10,978 - INFO - Visualization saved for episode 40 +2025-03-10 14:51:11,487 - INFO - OPENED LONG at 2071.36 | Stop loss: 2060.9845107142855 | Take profit: 2102.4584339285716 +2025-03-10 14:51:11,513 - INFO - CLOSED long at 2072.75 | PnL: 0.07% | $-0.07 +2025-03-10 14:51:12,385 - INFO - OPENED SHORT at 2067.11 | Stop loss: 2077.4642392857145 | Take profit: 2036.075316071429 +2025-03-10 14:51:12,406 - INFO - CLOSED short at 2067.86 | PnL: -0.04% | $-0.27 +2025-03-10 14:51:12,802 - INFO - OPENED LONG at 2064.99 | Stop loss: 2054.6463607142855 | Take profit: 2095.9928839285712 +2025-03-10 14:51:12,839 - INFO - CLOSED long at 2065.83 | PnL: 0.04% | $-0.12 +2025-03-10 14:51:15,464 - INFO - OPENED LONG at 2073.23 | Stop loss: 2062.8451607142856 | Take profit: 2104.3564839285714 +2025-03-10 14:51:15,492 - INFO - CLOSED long at 2070.0 | PnL: -0.16% | $-0.50 +2025-03-10 14:51:16,280 - INFO - OPENED SHORT at 2071.35 | Stop loss: 2081.725439285714 | Take profit: 2040.2517160714285 +2025-03-10 14:51:16,304 - INFO - CLOSED short at 2070.9 | PnL: 0.02% | $-0.15 +2025-03-10 14:51:16,861 - INFO - OPENED LONG at 2069.97 | Stop loss: 2059.6014607142856 | Take profit: 2101.0475839285714 +2025-03-10 14:51:16,893 - INFO - CLOSED long at 2067.7 | PnL: -0.11% | $-0.41 +2025-03-10 14:51:17,095 - INFO - OPENED SHORT at 2068.1 | Stop loss: 2078.4591892857143 | Take profit: 2037.0504660714284 +2025-03-10 14:51:17,121 - INFO - CLOSED short at 2069.0 | PnL: -0.04% | $-0.28 +2025-03-10 14:51:17,753 - INFO - OPENED LONG at 2058.65 | Stop loss: 2048.338060714286 | Take profit: 2089.5577839285716 +2025-03-10 14:51:17,788 - INFO - CLOSED long at 2056.77 | PnL: -0.09% | $-0.37 +2025-03-10 14:51:17,999 - INFO - OPENED SHORT at 2051.99 | Stop loss: 2062.268639285714 | Take profit: 2021.1821160714283 +2025-03-10 14:51:18,069 - INFO - CLOSED short at 2056.85 | PnL: -0.24% | $-0.65 +2025-03-10 14:51:18,929 - INFO - OPENED SHORT at 2076.08 | Stop loss: 2086.479089285714 | Take profit: 2044.9107660714285 +2025-03-10 14:51:18,950 - INFO - CLOSED short at 2077.61 | PnL: -0.07% | $-0.33 +2025-03-10 14:51:19,605 - INFO - OPENED SHORT at 2107.43 | Stop loss: 2117.985839285714 | Take profit: 2075.790516071428 +2025-03-10 14:51:19,632 - INFO - CLOSED short at 2110.6 | PnL: -0.15% | $-0.48 +2025-03-10 14:51:20,933 - INFO - OPENED LONG at 2085.8 | Stop loss: 2075.352310714286 | Take profit: 2117.1150339285714 +2025-03-10 14:51:20,956 - INFO - CLOSED long at 2084.72 | PnL: -0.05% | $-0.29 +2025-03-10 14:51:21,617 - INFO - OPENED SHORT at 2099.73 | Stop loss: 2110.2473392857146 | Take profit: 2068.2060160714286 +2025-03-10 14:51:21,640 - INFO - CLOSED short at 2106.15 | PnL: -0.31% | $-0.77 +2025-03-10 14:51:21,950 - INFO - OPENED LONG at 2100.0 | Stop loss: 2089.481310714286 | Take profit: 2131.5280339285714 +2025-03-10 14:51:22,039 - INFO - CLOSED long at 2103.41 | PnL: 0.16% | $0.12 +2025-03-10 14:51:23,069 - INFO - OPENED SHORT at 2135.51 | Stop loss: 2146.206239285714 | Take profit: 2103.4493160714287 +2025-03-10 14:51:23,105 - INFO - CLOSED short at 2136.09 | PnL: -0.03% | $-0.24 +2025-03-10 14:51:23,253 - INFO - OPENED LONG at 2127.47 | Stop loss: 2116.8139607142853 | Take profit: 2159.410083928571 +2025-03-10 14:51:23,277 - INFO - CLOSED long at 2129.51 | PnL: 0.10% | $-0.01 +2025-03-10 14:51:23,857 - INFO - OPENED SHORT at 2124.44 | Stop loss: 2135.0808892857144 | Take profit: 2092.545366071429 +2025-03-10 14:51:23,884 - INFO - CLOSED short at 2124.94 | PnL: -0.02% | $-0.23 +2025-03-10 14:51:24,374 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.12, Avg Loss=$-0.32 +2025-03-10 14:51:24,375 - INFO - Episode 41: Reward=-21.31, Balance=$94.93, Win Rate=5.9%, Trades=17, Episode PnL=$-5.07, Total PnL=$-121.81, Max Drawdown=5.1%, Pred Accuracy=99.6% +2025-03-10 14:51:24,375 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:51:29,772 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.1538107142856 | Take profit: 2096.5105339285715 +2025-03-10 14:51:29,849 - INFO - CLOSED long at 2065.07 | PnL: -0.02% | $-0.24 +2025-03-10 14:51:30,182 - INFO - OPENED LONG at 2058.09 | Stop loss: 2047.7808607142858 | Take profit: 2088.989383928572 +2025-03-10 14:51:30,215 - INFO - CLOSED long at 2058.65 | PnL: 0.03% | $-0.14 +2025-03-10 14:51:34,841 - INFO - OPENED LONG at 2118.19 | Stop loss: 2107.5803607142857 | Take profit: 2149.9908839285717 +2025-03-10 14:51:34,887 - INFO - CLOSED long at 2118.2 | PnL: 0.00% | $-0.20 +2025-03-10 14:51:36,371 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.00, Avg Loss=$-0.19 +2025-03-10 14:51:36,372 - INFO - Episode 42: Reward=-5.20, Balance=$99.42, Win Rate=0.0%, Trades=3, Episode PnL=$-0.58, Total PnL=$-122.39, Max Drawdown=0.6%, Pred Accuracy=99.6% +2025-03-10 14:51:36,372 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:51:37,659 - INFO - OPENED LONG at 2067.84 | Stop loss: 2057.4821107142857 | Take profit: 2098.8856339285717 +2025-03-10 14:51:37,694 - INFO - CLOSED long at 2067.11 | PnL: -0.04% | $-0.27 +2025-03-10 14:51:39,582 - INFO - OPENED LONG at 2058.15 | Stop loss: 2047.8405607142859 | Take profit: 2089.0502839285714 +2025-03-10 14:51:39,664 - INFO - CLOSED long at 2061.5 | PnL: 0.16% | $0.12 +2025-03-10 14:51:43,032 - INFO - OPENED SHORT at 2065.72 | Stop loss: 2076.067289285714 | Take profit: 2034.7061660714282 +2025-03-10 14:51:43,056 - INFO - CLOSED short at 2070.31 | PnL: -0.22% | $-0.64 +2025-03-10 14:51:43,257 - INFO - OPENED SHORT at 2071.8 | Stop loss: 2082.177689285714 | Take profit: 2040.6949660714288 +2025-03-10 14:51:43,289 - INFO - CLOSED short at 2074.9 | PnL: -0.15% | $-0.49 +2025-03-10 14:51:43,623 - INFO - OPENED LONG at 2140.01 | Stop loss: 2129.291260714286 | Take profit: 2172.138183928572 +2025-03-10 14:51:43,655 - INFO - CLOSED long at 2134.78 | PnL: -0.24% | $-0.67 +2025-03-10 14:51:44,000 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.0283107142855 | Take profit: 2142.2870339285714 +2025-03-10 14:51:44,023 - INFO - CLOSED long at 2109.05 | PnL: -0.07% | $-0.34 +2025-03-10 14:51:44,307 - INFO - OPENED SHORT at 2108.71 | Stop loss: 2119.2722392857145 | Take profit: 2077.0513160714286 +2025-03-10 14:51:44,332 - INFO - CLOSED short at 2106.49 | PnL: 0.11% | $0.01 +2025-03-10 14:51:44,665 - INFO - OPENED LONG at 2106.39 | Stop loss: 2095.8393607142857 | Take profit: 2138.013883928571 +2025-03-10 14:51:44,687 - INFO - CLOSED long at 2100.74 | PnL: -0.27% | $-0.71 +2025-03-10 14:51:44,726 - INFO - OPENED LONG at 2104.68 | Stop loss: 2094.1379107142857 | Take profit: 2136.2782339285714 +2025-03-10 14:51:44,748 - INFO - CLOSED long at 2101.51 | PnL: -0.15% | $-0.48 +2025-03-10 14:51:45,013 - INFO - OPENED SHORT at 2094.08 | Stop loss: 2104.569089285714 | Take profit: 2062.6407660714285 +2025-03-10 14:51:45,035 - INFO - CLOSED short at 2088.35 | PnL: 0.27% | $0.33 +2025-03-10 14:51:45,490 - INFO - OPENED SHORT at 2088.1 | Stop loss: 2098.559189285714 | Take profit: 2056.7504660714285 +2025-03-10 14:51:45,512 - INFO - CLOSED short at 2089.96 | PnL: -0.09% | $-0.36 +2025-03-10 14:51:45,979 - INFO - OPENED LONG at 2099.73 | Stop loss: 2089.2126607142854 | Take profit: 2131.253983928572 +2025-03-10 14:51:46,005 - INFO - CLOSED long at 2106.15 | PnL: 0.31% | $0.39 +2025-03-10 14:51:47,709 - INFO - OPENED LONG at 2126.43 | Stop loss: 2115.779160714286 | Take profit: 2158.3544839285714 +2025-03-10 14:51:47,742 - INFO - CLOSED long at 2124.49 | PnL: -0.09% | $-0.37 +2025-03-10 14:51:48,562 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.22, Avg Loss=$-0.48 +2025-03-10 14:51:48,563 - INFO - Episode 43: Reward=-10.32, Balance=$96.53, Win Rate=30.8%, Trades=13, Episode PnL=$-3.47, Total PnL=$-125.87, Max Drawdown=3.5%, Pred Accuracy=99.6% +2025-03-10 14:51:48,564 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:51:49,691 - INFO - OPENED LONG at 2068.69 | Stop loss: 2058.327860714286 | Take profit: 2099.7483839285715 +2025-03-10 14:51:49,713 - INFO - CLOSED long at 2067.84 | PnL: -0.04% | $-0.28 +2025-03-10 14:51:50,099 - INFO - OPENED SHORT at 2066.15 | Stop loss: 2076.4994392857143 | Take profit: 2035.1297160714287 +2025-03-10 14:51:50,120 - INFO - CLOSED short at 2065.26 | PnL: 0.04% | $-0.11 +2025-03-10 14:51:50,983 - INFO - OPENED SHORT at 2063.39 | Stop loss: 2073.7256392857144 | Take profit: 2032.4111160714285 +2025-03-10 14:51:51,009 - INFO - CLOSED short at 2064.79 | PnL: -0.07% | $-0.33 +2025-03-10 14:51:51,353 - INFO - OPENED LONG at 2059.96 | Stop loss: 2049.6415107142857 | Take profit: 2090.887433928571 +2025-03-10 14:51:51,375 - INFO - CLOSED long at 2059.46 | PnL: -0.02% | $-0.24 +2025-03-10 14:51:52,695 - INFO - OPENED LONG at 2063.97 | Stop loss: 2053.6314607142854 | Take profit: 2094.9575839285712 +2025-03-10 14:51:52,721 - INFO - CLOSED long at 2064.5 | PnL: 0.03% | $-0.15 +2025-03-10 14:51:53,876 - INFO - OPENED LONG at 2067.19 | Stop loss: 2056.835360714286 | Take profit: 2098.2258839285714 +2025-03-10 14:51:53,902 - INFO - CLOSED long at 2065.5 | PnL: -0.08% | $-0.36 +2025-03-10 14:51:54,415 - INFO - OPENED LONG at 2051.99 | Stop loss: 2041.7113607142855 | Take profit: 2082.797883928571 +2025-03-10 14:51:54,458 - INFO - CLOSED long at 2056.85 | PnL: 0.24% | $0.27 +2025-03-10 14:51:56,363 - INFO - OPENED SHORT at 2100.69 | Stop loss: 2111.2121392857143 | Take profit: 2069.1516160714286 +2025-03-10 14:51:56,388 - INFO - CLOSED short at 2104.83 | PnL: -0.20% | $-0.58 +2025-03-10 14:51:59,118 - INFO - OPENED SHORT at 2113.7 | Stop loss: 2124.2871892857142 | Take profit: 2081.9664660714284 +2025-03-10 14:51:59,140 - INFO - CLOSED short at 2113.0 | PnL: 0.03% | $-0.13 +2025-03-10 14:51:59,162 - INFO - OPENED LONG at 2115.26 | Stop loss: 2104.665010714286 | Take profit: 2147.0169339285717 +2025-03-10 14:51:59,184 - INFO - CLOSED long at 2113.61 | PnL: -0.08% | $-0.35 +2025-03-10 14:51:59,720 - INFO - OPENED SHORT at 2115.21 | Stop loss: 2125.8047392857143 | Take profit: 2083.4538160714287 +2025-03-10 14:51:59,756 - INFO - CLOSED short at 2118.19 | PnL: -0.14% | $-0.47 +2025-03-10 14:51:59,971 - INFO - OPENED LONG at 2129.3 | Stop loss: 2118.634810714286 | Take profit: 2161.2675339285715 +2025-03-10 14:52:00,023 - INFO - CLOSED long at 2136.26 | PnL: 0.33% | $0.44 +2025-03-10 14:52:01,020 - INFO - OPENED SHORT at 2110.3 | Stop loss: 2120.8701892857143 | Take profit: 2078.6174660714287 +2025-03-10 14:52:01,070 - INFO - CLOSED short at 2108.68 | PnL: 0.08% | $-0.05 +2025-03-10 14:52:01,418 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.35, Avg Loss=$-0.28 +2025-03-10 14:52:01,419 - INFO - Episode 44: Reward=-12.93, Balance=$97.66, Win Rate=15.4%, Trades=13, Episode PnL=$-2.34, Total PnL=$-128.20, Max Drawdown=2.7%, Pred Accuracy=99.7% +2025-03-10 14:52:01,419 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:52:06,239 - INFO - OPENED LONG at 2075.01 | Stop loss: 2064.616260714286 | Take profit: 2106.1631839285715 +2025-03-10 14:52:06,267 - INFO - CLOSED long at 2072.6 | PnL: -0.12% | $-0.43 +2025-03-10 14:52:06,774 - INFO - OPENED SHORT at 2066.38 | Stop loss: 2076.7305892857144 | Take profit: 2035.3562660714288 +2025-03-10 14:52:06,921 - INFO - CLOSED short at 2063.95 | PnL: 0.12% | $0.03 +2025-03-10 14:52:08,666 - INFO - OPENED LONG at 2065.06 | Stop loss: 2054.7160107142854 | Take profit: 2096.0639339285713 +2025-03-10 14:52:08,688 - INFO - CLOSED long at 2064.11 | PnL: -0.05% | $-0.29 +2025-03-10 14:52:10,255 - INFO - OPENED SHORT at 2140.01 | Stop loss: 2150.7287392857143 | Take profit: 2107.8818160714286 +2025-03-10 14:52:10,291 - INFO - CLOSED short at 2134.78 | PnL: 0.24% | $0.28 +2025-03-10 14:52:10,494 - INFO - OPENED SHORT at 2117.24 | Stop loss: 2127.844889285714 | Take profit: 2085.4533660714283 +2025-03-10 14:52:10,524 - INFO - CLOSED short at 2119.93 | PnL: -0.13% | $-0.45 +2025-03-10 14:52:10,723 - INFO - OPENED LONG at 2110.6 | Stop loss: 2100.0283107142855 | Take profit: 2142.2870339285714 +2025-03-10 14:52:10,749 - INFO - CLOSED long at 2109.05 | PnL: -0.07% | $-0.34 +2025-03-10 14:52:10,906 - INFO - OPENED LONG at 2112.99 | Stop loss: 2102.4063607142853 | Take profit: 2144.712883928571 +2025-03-10 14:52:10,950 - INFO - CLOSED long at 2120.81 | PnL: 0.37% | $0.53 +2025-03-10 14:52:11,047 - INFO - OPENED LONG at 2110.9 | Stop loss: 2100.326810714286 | Take profit: 2142.5915339285716 +2025-03-10 14:52:11,075 - INFO - CLOSED long at 2108.71 | PnL: -0.10% | $-0.40 +2025-03-10 14:52:11,529 - INFO - OPENED LONG at 2100.74 | Stop loss: 2090.2176107142855 | Take profit: 2132.2791339285714 +2025-03-10 14:52:11,553 - INFO - CLOSED long at 2103.86 | PnL: 0.15% | $0.10 +2025-03-10 14:52:12,303 - INFO - OPENED LONG at 2083.41 | Stop loss: 2072.9742607142857 | Take profit: 2114.6891839285713 +2025-03-10 14:52:12,328 - INFO - CLOSED long at 2085.09 | PnL: 0.08% | $-0.04 +2025-03-10 14:52:13,823 - INFO - OPENED LONG at 2110.87 | Stop loss: 2100.2969607142854 | Take profit: 2142.5610839285714 +2025-03-10 14:52:13,846 - INFO - CLOSED long at 2110.4 | PnL: -0.02% | $-0.24 +2025-03-10 14:52:14,653 - INFO - OPENED LONG at 2121.2 | Stop loss: 2110.5753107142855 | Take profit: 2153.0460339285714 +2025-03-10 14:52:14,678 - INFO - CLOSED long at 2125.11 | PnL: 0.18% | $0.17 +2025-03-10 14:52:16,042 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.22, Avg Loss=$-0.31 +2025-03-10 14:52:16,042 - INFO - Episode 45: Reward=-5.25, Balance=$98.92, Win Rate=41.7%, Trades=12, Episode PnL=$-1.08, Total PnL=$-129.28, Max Drawdown=1.2%, Pred Accuracy=99.7% +2025-03-10 14:52:16,043 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:52:16,928 - INFO - OPENED SHORT at 2065.26 | Stop loss: 2075.6049892857145 | Take profit: 2034.2530660714287 +2025-03-10 14:52:16,949 - INFO - CLOSED short at 2067.89 | PnL: -0.13% | $-0.45 +2025-03-10 14:52:17,488 - INFO - OPENED SHORT at 2066.1 | Stop loss: 2076.4491892857145 | Take profit: 2035.0804660714284 +2025-03-10 14:52:17,531 - INFO - CLOSED short at 2065.28 | PnL: 0.04% | $-0.12 +2025-03-10 14:52:17,708 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.037139285714 | Take profit: 2034.6766160714287 +2025-03-10 14:52:17,731 - INFO - CLOSED short at 2067.88 | PnL: -0.11% | $-0.41 +2025-03-10 14:52:18,038 - INFO - OPENED SHORT at 2063.59 | Stop loss: 2073.9266392857144 | Take profit: 2032.6081160714286 +2025-03-10 14:52:18,061 - INFO - CLOSED short at 2064.96 | PnL: -0.07% | $-0.33 +2025-03-10 14:52:18,600 - INFO - OPENED LONG at 2060.91 | Stop loss: 2050.5867607142854 | Take profit: 2091.851683928571 +2025-03-10 14:52:18,681 - INFO - CLOSED long at 2061.13 | PnL: 0.01% | $-0.17 +2025-03-10 14:52:20,650 - INFO - OPENED SHORT at 2069.69 | Stop loss: 2080.057139285714 | Take profit: 2038.6166160714286 +2025-03-10 14:52:20,698 - INFO - CLOSED short at 2070.8 | PnL: -0.05% | $-0.30 +2025-03-10 14:52:21,246 - INFO - OPENED LONG at 2066.89 | Stop loss: 2056.5368607142855 | Take profit: 2097.9213839285712 +2025-03-10 14:52:21,272 - INFO - CLOSED long at 2067.88 | PnL: 0.05% | $-0.10 +2025-03-10 14:52:21,681 - INFO - OPENED LONG at 2064.5 | Stop loss: 2054.1588107142857 | Take profit: 2095.4955339285716 +2025-03-10 14:52:21,707 - INFO - CLOSED long at 2066.33 | PnL: 0.09% | $-0.02 +2025-03-10 14:52:24,351 - INFO - OPENED LONG at 2100.02 | Stop loss: 2089.5012107142857 | Take profit: 2131.5483339285715 +2025-03-10 14:52:24,372 - INFO - CLOSED long at 2098.39 | PnL: -0.08% | $-0.35 +2025-03-10 14:52:25,126 - INFO - OPENED LONG at 2088.1 | Stop loss: 2077.6408107142856 | Take profit: 2119.4495339285713 +2025-03-10 14:52:25,148 - INFO - CLOSED long at 2089.96 | PnL: 0.09% | $-0.02 +2025-03-10 14:52:26,318 - INFO - OPENED SHORT at 2110.4 | Stop loss: 2120.9706892857143 | Take profit: 2078.7159660714287 +2025-03-10 14:52:26,363 - INFO - CLOSED short at 2113.0 | PnL: -0.12% | $-0.43 +2025-03-10 14:52:27,809 - INFO - OPENED SHORT at 2119.48 | Stop loss: 2130.0960892857142 | Take profit: 2087.6597660714283 +2025-03-10 14:52:27,840 - INFO - CLOSED short at 2121.53 | PnL: -0.10% | $-0.38 +2025-03-10 14:52:28,051 - INFO - OPENED LONG at 2120.84 | Stop loss: 2110.217110714286 | Take profit: 2152.6806339285718 +2025-03-10 14:52:28,151 - INFO - CLOSED long at 2115.45 | PnL: -0.25% | $-0.68 +2025-03-10 14:52:28,608 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.00, Avg Loss=$-0.29 +2025-03-10 14:52:28,609 - INFO - Episode 46: Reward=76.01, Balance=$96.24, Win Rate=0.0%, Trades=13, Episode PnL=$-3.76, Total PnL=$-133.04, Max Drawdown=3.8%, Pred Accuracy=99.8% +2025-03-10 14:52:28,609 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:52:29,279 - INFO - OPENED SHORT at 2067.79 | Stop loss: 2078.1476392857144 | Take profit: 2036.7451160714286 +2025-03-10 14:52:29,303 - INFO - CLOSED short at 2067.46 | PnL: 0.02% | $-0.17 +2025-03-10 14:52:30,251 - INFO - OPENED SHORT at 2065.83 | Stop loss: 2076.177839285714 | Take profit: 2034.8145160714284 +2025-03-10 14:52:30,306 - INFO - CLOSED short at 2066.15 | PnL: -0.02% | $-0.23 +2025-03-10 14:52:32,359 - INFO - OPENED LONG at 2066.36 | Stop loss: 2056.0095107142856 | Take profit: 2097.383433928572 +2025-03-10 14:52:32,402 - INFO - CLOSED long at 2066.01 | PnL: -0.02% | $-0.23 +2025-03-10 14:52:32,533 - INFO - OPENED SHORT at 2067.33 | Stop loss: 2077.6853392857142 | Take profit: 2036.2920160714286 +2025-03-10 14:52:32,559 - INFO - CLOSED short at 2067.01 | PnL: 0.02% | $-0.17 +2025-03-10 14:52:33,115 - INFO - OPENED SHORT at 2071.49 | Stop loss: 2081.866139285714 | Take profit: 2040.3896160714282 +2025-03-10 14:52:33,156 - INFO - CLOSED short at 2069.87 | PnL: 0.08% | $-0.04 +2025-03-10 14:52:33,683 - INFO - OPENED SHORT at 2066.5 | Stop loss: 2076.8511892857146 | Take profit: 2035.4744660714287 +2025-03-10 14:52:33,709 - INFO - CLOSED short at 2068.59 | PnL: -0.10% | $-0.40 +2025-03-10 14:52:34,112 - INFO - OPENED LONG at 2070.67 | Stop loss: 2060.2979607142856 | Take profit: 2101.7580839285715 +2025-03-10 14:52:34,141 - INFO - CLOSED long at 2069.78 | PnL: -0.04% | $-0.28 +2025-03-10 14:52:35,989 - INFO - OPENED LONG at 2065.12 | Stop loss: 2054.7757107142857 | Take profit: 2096.124833928571 +2025-03-10 14:52:36,022 - INFO - CLOSED long at 2068.33 | PnL: 0.16% | $0.11 +2025-03-10 14:52:38,140 - INFO - OPENED LONG at 2108.71 | Stop loss: 2098.1477607142856 | Take profit: 2140.3686839285715 +2025-03-10 14:52:38,166 - INFO - CLOSED long at 2106.49 | PnL: -0.11% | $-0.40 +2025-03-10 14:52:38,849 - INFO - OPENED LONG at 2099.59 | Stop loss: 2089.0733607142856 | Take profit: 2131.1118839285714 +2025-03-10 14:52:38,870 - INFO - CLOSED long at 2100.02 | PnL: 0.02% | $-0.15 +2025-03-10 14:52:38,870 - INFO - OPENED SHORT at 2100.02 | Stop loss: 2110.5387892857143 | Take profit: 2068.491666071429 +2025-03-10 14:52:38,894 - INFO - CLOSED short at 2098.39 | PnL: 0.08% | $-0.04 +2025-03-10 14:52:39,338 - INFO - OPENED LONG at 2081.49 | Stop loss: 2071.0638607142855 | Take profit: 2112.740383928571 +2025-03-10 14:52:39,364 - INFO - CLOSED long at 2080.38 | PnL: -0.05% | $-0.30 +2025-03-10 14:52:40,156 - INFO - OPENED LONG at 2094.7 | Stop loss: 2084.2078107142856 | Take profit: 2126.1485339285714 +2025-03-10 14:52:40,187 - INFO - CLOSED long at 2097.8 | PnL: 0.15% | $0.09 +2025-03-10 14:52:41,432 - INFO - OPENED SHORT at 2113.7 | Stop loss: 2124.2871892857142 | Take profit: 2081.9664660714284 +2025-03-10 14:52:41,464 - INFO - CLOSED short at 2113.0 | PnL: 0.03% | $-0.13 +2025-03-10 14:52:41,581 - INFO - OPENED SHORT at 2112.28 | Stop loss: 2122.8600892857144 | Take profit: 2080.5677660714287 +2025-03-10 14:52:41,676 - INFO - CLOSED short at 2112.26 | PnL: 0.00% | $-0.19 +2025-03-10 14:52:41,892 - INFO - OPENED LONG at 2117.39 | Stop loss: 2106.784360714286 | Take profit: 2149.178883928571 +2025-03-10 14:52:41,918 - INFO - CLOSED long at 2115.3 | PnL: -0.10% | $-0.38 +2025-03-10 14:52:43,926 - INFO - OPENED LONG at 2120.56 | Stop loss: 2109.9385107142857 | Take profit: 2152.3964339285712 +2025-03-10 14:52:43,950 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.10, Avg Loss=$-0.22 +2025-03-10 14:52:43,950 - INFO - Episode 47: Reward=78.17, Balance=$97.09, Win Rate=12.5%, Trades=16, Episode PnL=$-2.76, Total PnL=$-135.95, Max Drawdown=2.9%, Pred Accuracy=99.7% +2025-03-10 14:52:43,951 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:52:44,630 - INFO - OPENED LONG at 2073.9 | Stop loss: 2063.5118107142857 | Take profit: 2105.0365339285713 +2025-03-10 14:52:44,665 - INFO - CLOSED long at 2071.92 | PnL: -0.10% | $-0.39 +2025-03-10 14:52:45,629 - INFO - OPENED LONG at 2067.84 | Stop loss: 2057.4821107142857 | Take profit: 2098.8856339285717 +2025-03-10 14:52:45,657 - INFO - CLOSED long at 2067.11 | PnL: -0.04% | $-0.27 +2025-03-10 14:52:45,929 - INFO - OPENED SHORT at 2068.18 | Stop loss: 2078.539589285714 | Take profit: 2037.1292660714282 +2025-03-10 14:52:46,007 - INFO - CLOSED short at 2067.88 | PnL: 0.01% | $-0.17 +2025-03-10 14:52:46,800 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.2031392857143 | Take profit: 2027.9786160714284 +2025-03-10 14:52:46,831 - INFO - CLOSED short at 2059.3 | PnL: -0.02% | $-0.24 +2025-03-10 14:52:50,054 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3278107142855 | Take profit: 2101.7885339285713 +2025-03-10 14:52:50,078 - INFO - CLOSED long at 2070.8 | PnL: 0.00% | $-0.19 +2025-03-10 14:52:50,382 - INFO - OPENED LONG at 2075.07 | Stop loss: 2064.675960714286 | Take profit: 2106.2240839285714 +2025-03-10 14:52:50,409 - INFO - CLOSED long at 2074.35 | PnL: -0.03% | $-0.26 +2025-03-10 14:52:50,524 - INFO - OPENED SHORT at 2076.9 | Stop loss: 2087.3031892857143 | Take profit: 2045.7184660714286 +2025-03-10 14:52:50,547 - INFO - CLOSED short at 2075.61 | PnL: 0.06% | $-0.07 +2025-03-10 14:52:52,151 - INFO - OPENED LONG at 2060.7 | Stop loss: 2050.3778107142857 | Take profit: 2091.638533928571 +2025-03-10 14:52:52,193 - INFO - CLOSED long at 2062.54 | PnL: 0.09% | $-0.02 +2025-03-10 14:52:52,341 - INFO - OPENED LONG at 2069.34 | Stop loss: 2058.974610714286 | Take profit: 2100.4081339285717 +2025-03-10 14:52:52,377 - INFO - CLOSED long at 2069.81 | PnL: 0.02% | $-0.15 +2025-03-10 14:52:52,500 - INFO - OPENED SHORT at 2071.89 | Stop loss: 2082.268139285714 | Take profit: 2040.7836160714285 +2025-03-10 14:52:52,522 - INFO - CLOSED short at 2071.8 | PnL: 0.00% | $-0.19 +2025-03-10 14:52:53,033 - INFO - OPENED SHORT at 2126.99 | Stop loss: 2137.643639285714 | Take profit: 2095.057116071428 +2025-03-10 14:52:53,083 - INFO - CLOSED short at 2127.3 | PnL: -0.01% | $-0.22 +2025-03-10 14:52:55,998 - INFO - OPENED SHORT at 2106.15 | Stop loss: 2116.6994392857146 | Take profit: 2074.5297160714285 +2025-03-10 14:52:56,025 - INFO - CLOSED short at 2103.48 | PnL: 0.13% | $0.05 +2025-03-10 14:52:56,879 - INFO - OPENED LONG at 2112.26 | Stop loss: 2101.680010714286 | Take profit: 2143.9719339285716 +2025-03-10 14:52:56,904 - INFO - CLOSED long at 2110.99 | PnL: -0.06% | $-0.31 +2025-03-10 14:52:56,967 - INFO - OPENED LONG at 2112.61 | Stop loss: 2102.028260714286 | Take profit: 2144.3271839285717 +2025-03-10 14:52:56,989 - INFO - CLOSED long at 2118.72 | PnL: 0.29% | $0.37 +2025-03-10 14:52:57,685 - INFO - OPENED LONG at 2127.79 | Stop loss: 2117.1323607142854 | Take profit: 2159.7348839285714 +2025-03-10 14:52:57,710 - INFO - CLOSED long at 2124.38 | PnL: -0.16% | $-0.51 +2025-03-10 14:52:58,069 - INFO - OPENED SHORT at 2121.73 | Stop loss: 2132.3573392857143 | Take profit: 2089.8760160714287 +2025-03-10 14:52:58,097 - INFO - CLOSED short at 2120.0 | PnL: 0.08% | $-0.04 +2025-03-10 14:52:58,460 - INFO - OPENED SHORT at 2124.94 | Stop loss: 2135.5833892857145 | Take profit: 2093.0378660714287 +2025-03-10 14:52:58,490 - INFO - CLOSED short at 2121.17 | PnL: 0.18% | $0.15 +2025-03-10 14:52:58,938 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.19, Avg Loss=$-0.22 +2025-03-10 14:52:58,939 - INFO - Episode 48: Reward=-14.68, Balance=$97.55, Win Rate=17.6%, Trades=17, Episode PnL=$-2.45, Total PnL=$-138.40, Max Drawdown=2.6%, Pred Accuracy=99.6% +2025-03-10 14:52:58,940 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:53:00,886 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.273310714286 | Take profit: 2092.5520339285713 +2025-03-10 14:53:00,912 - INFO - CLOSED long at 2060.9 | PnL: -0.03% | $-0.27 +2025-03-10 14:53:01,022 - INFO - OPENED LONG at 2061.8 | Stop loss: 2051.472310714286 | Take profit: 2092.7550339285717 +2025-03-10 14:53:01,049 - INFO - CLOSED long at 2064.7 | PnL: 0.14% | $0.08 +2025-03-10 14:53:02,277 - INFO - OPENED SHORT at 2066.36 | Stop loss: 2076.7104892857146 | Take profit: 2035.3365660714287 +2025-03-10 14:53:02,326 - INFO - CLOSED short at 2066.01 | PnL: 0.02% | $-0.16 +2025-03-10 14:53:03,601 - INFO - OPENED SHORT at 2066.8 | Stop loss: 2077.152689285714 | Take profit: 2035.7699660714288 +2025-03-10 14:53:03,626 - INFO - CLOSED short at 2066.5 | PnL: 0.01% | $-0.17 +2025-03-10 14:53:04,133 - INFO - OPENED LONG at 2074.35 | Stop loss: 2063.9595607142855 | Take profit: 2105.4932839285716 +2025-03-10 14:53:04,157 - INFO - CLOSED long at 2073.27 | PnL: -0.05% | $-0.30 +2025-03-10 14:53:04,527 - INFO - OPENED SHORT at 2066.89 | Stop loss: 2077.2431392857143 | Take profit: 2035.8586160714285 +2025-03-10 14:53:04,550 - INFO - CLOSED short at 2067.88 | PnL: -0.05% | $-0.29 +2025-03-10 14:53:06,487 - INFO - OPENED LONG at 2139.54 | Stop loss: 2128.8236107142857 | Take profit: 2171.6611339285714 +2025-03-10 14:53:06,510 - INFO - CLOSED long at 2131.78 | PnL: -0.36% | $-0.91 +2025-03-10 14:53:07,148 - INFO - OPENED SHORT at 2107.43 | Stop loss: 2117.985839285714 | Take profit: 2075.790516071428 +2025-03-10 14:53:07,191 - INFO - CLOSED short at 2110.6 | PnL: -0.15% | $-0.49 +2025-03-10 14:53:08,752 - INFO - OPENED LONG at 2085.85 | Stop loss: 2075.4020607142857 | Take profit: 2117.1657839285717 +2025-03-10 14:53:08,788 - INFO - CLOSED long at 2088.66 | PnL: 0.13% | $0.07 +2025-03-10 14:53:09,740 - INFO - OPENED SHORT at 2102.0 | Stop loss: 2112.5286892857143 | Take profit: 2070.4419660714284 +2025-03-10 14:53:09,763 - INFO - CLOSED short at 2103.41 | PnL: -0.07% | $-0.32 +2025-03-10 14:53:10,512 - INFO - OPENED LONG at 2117.6 | Stop loss: 2106.9933107142856 | Take profit: 2149.3920339285714 +2025-03-10 14:53:10,535 - INFO - CLOSED long at 2117.6 | PnL: 0.00% | $-0.19 +2025-03-10 14:53:10,950 - INFO - OPENED SHORT at 2132.83 | Stop loss: 2143.512839285714 | Take profit: 2100.8095160714283 +2025-03-10 14:53:10,971 - INFO - CLOSED short at 2127.79 | PnL: 0.24% | $0.26 +2025-03-10 14:53:11,141 - INFO - OPENED SHORT at 2135.55 | Stop loss: 2146.246439285714 | Take profit: 2103.488716071429 +2025-03-10 14:53:11,180 - INFO - CLOSED short at 2131.23 | PnL: 0.20% | $0.20 +2025-03-10 14:53:12,158 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.15, Avg Loss=$-0.34 +2025-03-10 14:53:12,159 - INFO - Episode 49: Reward=-8.08, Balance=$97.51, Win Rate=30.8%, Trades=13, Episode PnL=$-2.49, Total PnL=$-140.89, Max Drawdown=3.0%, Pred Accuracy=99.6% +2025-03-10 14:53:12,160 - INFO - Reducing learning rate to 0.000010 +2025-03-10 14:53:12,160 - INFO - Early stopping triggered after 50 episodes without improvement +2025-03-10 14:53:12,310 - INFO - Model saved to models/trading_agent_final.pt +2025-03-10 14:53:13,422 - INFO - Exchange connection closed +2025-03-10 14:54:25,445 - INFO - Using GPU: NVIDIA GeForce RTX 4060 Laptop GPU +2025-03-10 14:54:25,467 - INFO - Exchange initialized with standard CCXT: mexc +2025-03-10 14:54:25,467 - INFO - Fetching initial data for ETH/USDT +2025-03-10 14:54:29,324 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 14:54:29,325 - ERROR - Error: TradingEnvironment.__init__() got an unexpected keyword argument 'data' +2025-03-10 14:54:29,325 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2424, in main + env = TradingEnvironment( + ^^^^^^^^^^^^^^^^^^^ +TypeError: TradingEnvironment.__init__() got an unexpected keyword argument 'data' + +2025-03-10 14:54:29,326 - WARNING - Could not properly close exchange connection: 'mexc' object has no attribute 'client' +2025-03-10 15:29:43,247 - INFO - Using GPU: NVIDIA GeForce RTX 4060 Laptop GPU +2025-03-10 15:29:43,273 - INFO - Exchange initialized with standard CCXT: mexc +2025-03-10 15:29:43,273 - INFO - Fetching initial data for ETH/USDT +2025-03-10 15:29:43,274 - INFO - Fetching initial data for ETH/USDT +2025-03-10 15:29:46,980 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 15:29:46,997 - INFO - Initialized environment with 500 candles +2025-03-10 15:29:49,408 - INFO - Starting training for 10000 episodes... +2025-03-10 15:29:49,409 - INFO - Starting training on device: cuda +2025-03-10 15:29:49,409 - INFO - Loading best model from models/trading_agent_best_pnl.pt to resume training +2025-03-10 15:29:49,410 - INFO - Loading model from models/trading_agent_best_pnl.pt +2025-03-10 15:29:49,592 - INFO - Model loaded successfully with weights_only=True +2025-03-10 15:29:49,593 - INFO - Resumed with best metrics - Reward: 202.74, PnL: $4.37, Win Rate: 66.7% +2025-03-10 15:29:49,596 - ERROR - Error in episode 0: name 'args' is not defined +2025-03-10 15:29:49,600 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,600 - ERROR - Error in episode 1: name 'args' is not defined +2025-03-10 15:29:49,602 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,603 - ERROR - Error in episode 2: name 'args' is not defined +2025-03-10 15:29:49,606 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,606 - ERROR - Error in episode 3: name 'args' is not defined +2025-03-10 15:29:49,609 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,609 - ERROR - Error in episode 4: name 'args' is not defined +2025-03-10 15:29:49,612 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,612 - ERROR - Error in episode 5: name 'args' is not defined +2025-03-10 15:29:49,615 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,616 - ERROR - Error in episode 6: name 'args' is not defined +2025-03-10 15:29:49,619 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,620 - ERROR - Error in episode 7: name 'args' is not defined +2025-03-10 15:29:49,622 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,623 - ERROR - Error in episode 8: name 'args' is not defined +2025-03-10 15:29:49,626 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,626 - ERROR - Error in episode 9: name 'args' is not defined +2025-03-10 15:29:49,629 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,629 - ERROR - Error in episode 10: name 'args' is not defined +2025-03-10 15:29:49,632 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,633 - ERROR - Error in episode 11: name 'args' is not defined +2025-03-10 15:29:49,636 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,636 - ERROR - Error in episode 12: name 'args' is not defined +2025-03-10 15:29:49,639 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,639 - ERROR - Error in episode 13: name 'args' is not defined +2025-03-10 15:29:49,642 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,642 - ERROR - Error in episode 14: name 'args' is not defined +2025-03-10 15:29:49,645 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,645 - ERROR - Error in episode 15: name 'args' is not defined +2025-03-10 15:29:49,649 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,649 - ERROR - Error in episode 16: name 'args' is not defined +2025-03-10 15:29:49,651 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,653 - ERROR - Error in episode 17: name 'args' is not defined +2025-03-10 15:29:49,655 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,655 - ERROR - Error in episode 18: name 'args' is not defined +2025-03-10 15:29:49,659 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,659 - ERROR - Error in episode 19: name 'args' is not defined +2025-03-10 15:29:49,662 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,662 - ERROR - Error in episode 20: name 'args' is not defined +2025-03-10 15:29:49,664 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,665 - ERROR - Error in episode 21: name 'args' is not defined +2025-03-10 15:29:49,668 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,668 - ERROR - Error in episode 22: name 'args' is not defined +2025-03-10 15:29:49,670 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,671 - ERROR - Error in episode 23: name 'args' is not defined +2025-03-10 15:29:49,673 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,673 - ERROR - Error in episode 24: name 'args' is not defined +2025-03-10 15:29:49,676 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,676 - ERROR - Error in episode 25: name 'args' is not defined +2025-03-10 15:29:49,679 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,679 - ERROR - Error in episode 26: name 'args' is not defined +2025-03-10 15:29:49,682 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,682 - ERROR - Error in episode 27: name 'args' is not defined +2025-03-10 15:29:49,684 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,685 - ERROR - Error in episode 28: name 'args' is not defined +2025-03-10 15:29:49,687 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,687 - ERROR - Error in episode 29: name 'args' is not defined +2025-03-10 15:29:49,690 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,690 - ERROR - Error in episode 30: name 'args' is not defined +2025-03-10 15:29:49,693 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,694 - ERROR - Error in episode 31: name 'args' is not defined +2025-03-10 15:29:49,696 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,697 - ERROR - Error in episode 32: name 'args' is not defined +2025-03-10 15:29:49,700 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,700 - ERROR - Error in episode 33: name 'args' is not defined +2025-03-10 15:29:49,703 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,703 - ERROR - Error in episode 34: name 'args' is not defined +2025-03-10 15:29:49,705 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,706 - ERROR - Error in episode 35: name 'args' is not defined +2025-03-10 15:29:49,708 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,708 - ERROR - Error in episode 36: name 'args' is not defined +2025-03-10 15:29:49,711 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,712 - ERROR - Error in episode 37: name 'args' is not defined +2025-03-10 15:29:49,715 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,716 - ERROR - Error in episode 38: name 'args' is not defined +2025-03-10 15:29:49,718 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,718 - ERROR - Error in episode 39: name 'args' is not defined +2025-03-10 15:29:49,721 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,721 - ERROR - Error in episode 40: name 'args' is not defined +2025-03-10 15:29:49,724 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,724 - ERROR - Error in episode 41: name 'args' is not defined +2025-03-10 15:29:49,726 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,727 - ERROR - Error in episode 42: name 'args' is not defined +2025-03-10 15:29:49,730 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,730 - ERROR - Error in episode 43: name 'args' is not defined +2025-03-10 15:29:49,733 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,733 - ERROR - Error in episode 44: name 'args' is not defined +2025-03-10 15:29:49,736 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,736 - ERROR - Error in episode 45: name 'args' is not defined +2025-03-10 15:29:49,739 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,739 - ERROR - Error in episode 46: name 'args' is not defined +2025-03-10 15:29:49,742 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,742 - ERROR - Error in episode 47: name 'args' is not defined +2025-03-10 15:29:49,744 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,745 - ERROR - Error in episode 48: name 'args' is not defined +2025-03-10 15:29:49,747 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,748 - ERROR - Error in episode 49: name 'args' is not defined +2025-03-10 15:29:49,750 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,750 - ERROR - Error in episode 50: name 'args' is not defined +2025-03-10 15:29:49,753 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,753 - ERROR - Error in episode 51: name 'args' is not defined +2025-03-10 15:29:49,756 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,756 - ERROR - Error in episode 52: name 'args' is not defined +2025-03-10 15:29:49,759 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,759 - ERROR - Error in episode 53: name 'args' is not defined +2025-03-10 15:29:49,762 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,762 - ERROR - Error in episode 54: name 'args' is not defined +2025-03-10 15:29:49,764 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,765 - ERROR - Error in episode 55: name 'args' is not defined +2025-03-10 15:29:49,768 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,768 - ERROR - Error in episode 56: name 'args' is not defined +2025-03-10 15:29:49,771 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,771 - ERROR - Error in episode 57: name 'args' is not defined +2025-03-10 15:29:49,774 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,774 - ERROR - Error in episode 58: name 'args' is not defined +2025-03-10 15:29:49,777 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,777 - ERROR - Error in episode 59: name 'args' is not defined +2025-03-10 15:29:49,780 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,780 - ERROR - Error in episode 60: name 'args' is not defined +2025-03-10 15:29:49,783 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,783 - ERROR - Error in episode 61: name 'args' is not defined +2025-03-10 15:29:49,785 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,786 - ERROR - Error in episode 62: name 'args' is not defined +2025-03-10 15:29:49,789 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,789 - ERROR - Error in episode 63: name 'args' is not defined +2025-03-10 15:29:49,792 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,792 - ERROR - Error in episode 64: name 'args' is not defined +2025-03-10 15:29:49,794 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,795 - ERROR - Error in episode 65: name 'args' is not defined +2025-03-10 15:29:49,797 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,797 - ERROR - Error in episode 66: name 'args' is not defined +2025-03-10 15:29:49,801 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,801 - ERROR - Error in episode 67: name 'args' is not defined +2025-03-10 15:29:49,803 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,804 - ERROR - Error in episode 68: name 'args' is not defined +2025-03-10 15:29:49,806 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,807 - ERROR - Error in episode 69: name 'args' is not defined +2025-03-10 15:29:49,810 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,810 - ERROR - Error in episode 70: name 'args' is not defined +2025-03-10 15:29:49,813 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,813 - ERROR - Error in episode 71: name 'args' is not defined +2025-03-10 15:29:49,815 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,815 - ERROR - Error in episode 72: name 'args' is not defined +2025-03-10 15:29:49,818 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,818 - ERROR - Error in episode 73: name 'args' is not defined +2025-03-10 15:29:49,821 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,821 - ERROR - Error in episode 74: name 'args' is not defined +2025-03-10 15:29:49,824 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,825 - ERROR - Error in episode 75: name 'args' is not defined +2025-03-10 15:29:49,827 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,827 - ERROR - Error in episode 76: name 'args' is not defined +2025-03-10 15:29:49,831 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,831 - ERROR - Error in episode 77: name 'args' is not defined +2025-03-10 15:29:49,835 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,835 - ERROR - Error in episode 78: name 'args' is not defined +2025-03-10 15:29:49,838 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,838 - ERROR - Error in episode 79: name 'args' is not defined +2025-03-10 15:29:49,840 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,840 - ERROR - Error in episode 80: name 'args' is not defined +2025-03-10 15:29:49,843 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,844 - ERROR - Error in episode 81: name 'args' is not defined +2025-03-10 15:29:49,846 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,847 - ERROR - Error in episode 82: name 'args' is not defined +2025-03-10 15:29:49,849 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,850 - ERROR - Error in episode 83: name 'args' is not defined +2025-03-10 15:29:49,852 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,852 - ERROR - Error in episode 84: name 'args' is not defined +2025-03-10 15:29:49,855 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,855 - ERROR - Error in episode 85: name 'args' is not defined +2025-03-10 15:29:49,858 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,858 - ERROR - Error in episode 86: name 'args' is not defined +2025-03-10 15:29:49,861 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,861 - ERROR - Error in episode 87: name 'args' is not defined +2025-03-10 15:29:49,863 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,864 - ERROR - Error in episode 88: name 'args' is not defined +2025-03-10 15:29:49,866 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,867 - ERROR - Error in episode 89: name 'args' is not defined +2025-03-10 15:29:49,869 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,869 - ERROR - Error in episode 90: name 'args' is not defined +2025-03-10 15:29:49,872 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,872 - ERROR - Error in episode 91: name 'args' is not defined +2025-03-10 15:29:49,875 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,876 - ERROR - Error in episode 92: name 'args' is not defined +2025-03-10 15:29:49,878 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,878 - ERROR - Error in episode 93: name 'args' is not defined +2025-03-10 15:29:49,881 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,881 - ERROR - Error in episode 94: name 'args' is not defined +2025-03-10 15:29:49,884 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,885 - ERROR - Error in episode 95: name 'args' is not defined +2025-03-10 15:29:49,887 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,887 - ERROR - Error in episode 96: name 'args' is not defined +2025-03-10 15:29:49,890 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,890 - ERROR - Error in episode 97: name 'args' is not defined +2025-03-10 15:29:49,893 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,893 - ERROR - Error in episode 98: name 'args' is not defined +2025-03-10 15:29:49,896 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,897 - ERROR - Error in episode 99: name 'args' is not defined +2025-03-10 15:29:49,900 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,900 - INFO - Moving to curriculum stage 2: risk_factor=0.75, exploration=0.2 +2025-03-10 15:29:49,900 - ERROR - Error in episode 100: name 'args' is not defined +2025-03-10 15:29:49,903 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,903 - ERROR - Error in episode 101: name 'args' is not defined +2025-03-10 15:29:49,906 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,906 - ERROR - Error in episode 102: name 'args' is not defined +2025-03-10 15:29:49,909 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,909 - ERROR - Error in episode 103: name 'args' is not defined +2025-03-10 15:29:49,912 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,912 - ERROR - Error in episode 104: name 'args' is not defined +2025-03-10 15:29:49,914 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,915 - ERROR - Error in episode 105: name 'args' is not defined +2025-03-10 15:29:49,917 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,917 - ERROR - Error in episode 106: name 'args' is not defined +2025-03-10 15:29:49,920 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,920 - ERROR - Error in episode 107: name 'args' is not defined +2025-03-10 15:29:49,923 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,923 - ERROR - Error in episode 108: name 'args' is not defined +2025-03-10 15:29:49,926 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,926 - ERROR - Error in episode 109: name 'args' is not defined +2025-03-10 15:29:49,928 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,929 - ERROR - Error in episode 110: name 'args' is not defined +2025-03-10 15:29:49,931 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,932 - ERROR - Error in episode 111: name 'args' is not defined +2025-03-10 15:29:49,934 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,935 - ERROR - Error in episode 112: name 'args' is not defined +2025-03-10 15:29:49,937 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,938 - ERROR - Error in episode 113: name 'args' is not defined +2025-03-10 15:29:49,940 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,941 - ERROR - Error in episode 114: name 'args' is not defined +2025-03-10 15:29:49,944 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,944 - ERROR - Error in episode 115: name 'args' is not defined +2025-03-10 15:29:49,946 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,947 - ERROR - Error in episode 116: name 'args' is not defined +2025-03-10 15:29:49,950 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,950 - ERROR - Error in episode 117: name 'args' is not defined +2025-03-10 15:29:49,953 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,953 - ERROR - Error in episode 118: name 'args' is not defined +2025-03-10 15:29:49,955 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,956 - ERROR - Error in episode 119: name 'args' is not defined +2025-03-10 15:29:49,958 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,958 - ERROR - Error in episode 120: name 'args' is not defined +2025-03-10 15:29:49,961 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,961 - ERROR - Error in episode 121: name 'args' is not defined +2025-03-10 15:29:49,964 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,964 - ERROR - Error in episode 122: name 'args' is not defined +2025-03-10 15:29:49,968 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,968 - ERROR - Error in episode 123: name 'args' is not defined +2025-03-10 15:29:49,970 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,970 - ERROR - Error in episode 124: name 'args' is not defined +2025-03-10 15:29:49,973 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,973 - ERROR - Error in episode 125: name 'args' is not defined +2025-03-10 15:29:49,976 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,976 - ERROR - Error in episode 126: name 'args' is not defined +2025-03-10 15:29:49,978 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,979 - ERROR - Error in episode 127: name 'args' is not defined +2025-03-10 15:29:49,982 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,982 - ERROR - Error in episode 128: name 'args' is not defined +2025-03-10 15:29:49,984 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,985 - ERROR - Error in episode 129: name 'args' is not defined +2025-03-10 15:29:49,988 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,988 - ERROR - Error in episode 130: name 'args' is not defined +2025-03-10 15:29:49,991 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,991 - ERROR - Error in episode 131: name 'args' is not defined +2025-03-10 15:29:49,993 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,994 - ERROR - Error in episode 132: name 'args' is not defined +2025-03-10 15:29:49,997 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:49,998 - ERROR - Error in episode 133: name 'args' is not defined +2025-03-10 15:29:50,000 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,000 - ERROR - Error in episode 134: name 'args' is not defined +2025-03-10 15:29:50,003 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,003 - ERROR - Error in episode 135: name 'args' is not defined +2025-03-10 15:29:50,006 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,006 - ERROR - Error in episode 136: name 'args' is not defined +2025-03-10 15:29:50,009 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,009 - ERROR - Error in episode 137: name 'args' is not defined +2025-03-10 15:29:50,011 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,012 - ERROR - Error in episode 138: name 'args' is not defined +2025-03-10 15:29:50,014 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,015 - ERROR - Error in episode 139: name 'args' is not defined +2025-03-10 15:29:50,017 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,018 - ERROR - Error in episode 140: name 'args' is not defined +2025-03-10 15:29:50,021 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,022 - ERROR - Error in episode 141: name 'args' is not defined +2025-03-10 15:29:50,024 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,024 - ERROR - Error in episode 142: name 'args' is not defined +2025-03-10 15:29:50,027 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,027 - ERROR - Error in episode 143: name 'args' is not defined +2025-03-10 15:29:50,030 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,030 - ERROR - Error in episode 144: name 'args' is not defined +2025-03-10 15:29:50,033 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,033 - ERROR - Error in episode 145: name 'args' is not defined +2025-03-10 15:29:50,036 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,036 - ERROR - Error in episode 146: name 'args' is not defined +2025-03-10 15:29:50,039 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,040 - ERROR - Error in episode 147: name 'args' is not defined +2025-03-10 15:29:50,042 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,042 - ERROR - Error in episode 148: name 'args' is not defined +2025-03-10 15:29:50,044 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,044 - ERROR - Error in episode 149: name 'args' is not defined +2025-03-10 15:29:50,047 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,047 - ERROR - Error in episode 150: name 'args' is not defined +2025-03-10 15:29:50,050 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,050 - ERROR - Error in episode 151: name 'args' is not defined +2025-03-10 15:29:50,052 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,053 - ERROR - Error in episode 152: name 'args' is not defined +2025-03-10 15:29:50,055 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,056 - ERROR - Error in episode 153: name 'args' is not defined +2025-03-10 15:29:50,059 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,059 - ERROR - Error in episode 154: name 'args' is not defined +2025-03-10 15:29:50,062 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,062 - ERROR - Error in episode 155: name 'args' is not defined +2025-03-10 15:29:50,065 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,065 - ERROR - Error in episode 156: name 'args' is not defined +2025-03-10 15:29:50,068 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,068 - ERROR - Error in episode 157: name 'args' is not defined +2025-03-10 15:29:50,070 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,071 - ERROR - Error in episode 158: name 'args' is not defined +2025-03-10 15:29:50,073 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,074 - ERROR - Error in episode 159: name 'args' is not defined +2025-03-10 15:29:50,076 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,076 - ERROR - Error in episode 160: name 'args' is not defined +2025-03-10 15:29:50,079 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,079 - ERROR - Error in episode 161: name 'args' is not defined +2025-03-10 15:29:50,082 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,082 - ERROR - Error in episode 162: name 'args' is not defined +2025-03-10 15:29:50,085 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,085 - ERROR - Error in episode 163: name 'args' is not defined +2025-03-10 15:29:50,088 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,088 - ERROR - Error in episode 164: name 'args' is not defined +2025-03-10 15:29:50,090 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,091 - ERROR - Error in episode 165: name 'args' is not defined +2025-03-10 15:29:50,093 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,094 - ERROR - Error in episode 166: name 'args' is not defined +2025-03-10 15:29:50,096 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,097 - ERROR - Error in episode 167: name 'args' is not defined +2025-03-10 15:29:50,099 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,099 - ERROR - Error in episode 168: name 'args' is not defined +2025-03-10 15:29:50,102 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,102 - ERROR - Error in episode 169: name 'args' is not defined +2025-03-10 15:29:50,105 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,105 - ERROR - Error in episode 170: name 'args' is not defined +2025-03-10 15:29:50,107 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,108 - ERROR - Error in episode 171: name 'args' is not defined +2025-03-10 15:29:50,110 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,111 - ERROR - Error in episode 172: name 'args' is not defined +2025-03-10 15:29:50,114 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,114 - ERROR - Error in episode 173: name 'args' is not defined +2025-03-10 15:29:50,116 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,117 - ERROR - Error in episode 174: name 'args' is not defined +2025-03-10 15:29:50,119 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,119 - ERROR - Error in episode 175: name 'args' is not defined +2025-03-10 15:29:50,123 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,123 - ERROR - Error in episode 176: name 'args' is not defined +2025-03-10 15:29:50,126 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,126 - ERROR - Error in episode 177: name 'args' is not defined +2025-03-10 15:29:50,128 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,129 - ERROR - Error in episode 178: name 'args' is not defined +2025-03-10 15:29:50,131 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,132 - ERROR - Error in episode 179: name 'args' is not defined +2025-03-10 15:29:50,134 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,135 - ERROR - Error in episode 180: name 'args' is not defined +2025-03-10 15:29:50,137 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,138 - ERROR - Error in episode 181: name 'args' is not defined +2025-03-10 15:29:50,140 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,140 - ERROR - Error in episode 182: name 'args' is not defined +2025-03-10 15:29:50,143 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,143 - ERROR - Error in episode 183: name 'args' is not defined +2025-03-10 15:29:50,146 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,146 - ERROR - Error in episode 184: name 'args' is not defined +2025-03-10 15:29:50,149 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,149 - ERROR - Error in episode 185: name 'args' is not defined +2025-03-10 15:29:50,152 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,152 - ERROR - Error in episode 186: name 'args' is not defined +2025-03-10 15:29:50,155 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,155 - ERROR - Error in episode 187: name 'args' is not defined +2025-03-10 15:29:50,158 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,158 - ERROR - Error in episode 188: name 'args' is not defined +2025-03-10 15:29:50,161 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,161 - ERROR - Error in episode 189: name 'args' is not defined +2025-03-10 15:29:50,164 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,164 - ERROR - Error in episode 190: name 'args' is not defined +2025-03-10 15:29:50,167 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,167 - ERROR - Error in episode 191: name 'args' is not defined +2025-03-10 15:29:50,170 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,171 - ERROR - Error in episode 192: name 'args' is not defined +2025-03-10 15:29:50,173 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,174 - ERROR - Error in episode 193: name 'args' is not defined +2025-03-10 15:29:50,176 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,176 - ERROR - Error in episode 194: name 'args' is not defined +2025-03-10 15:29:50,179 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,180 - ERROR - Error in episode 195: name 'args' is not defined +2025-03-10 15:29:50,182 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,183 - ERROR - Error in episode 196: name 'args' is not defined +2025-03-10 15:29:50,186 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,186 - ERROR - Error in episode 197: name 'args' is not defined +2025-03-10 15:29:50,188 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,188 - ERROR - Error in episode 198: name 'args' is not defined +2025-03-10 15:29:50,191 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,191 - ERROR - Error in episode 199: name 'args' is not defined +2025-03-10 15:29:50,194 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,195 - INFO - Moving to curriculum stage 3: risk_factor=1.0, exploration=0.1 +2025-03-10 15:29:50,195 - ERROR - Error in episode 200: name 'args' is not defined +2025-03-10 15:29:50,198 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,198 - ERROR - Error in episode 201: name 'args' is not defined +2025-03-10 15:29:50,201 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,201 - ERROR - Error in episode 202: name 'args' is not defined +2025-03-10 15:29:50,204 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,205 - ERROR - Error in episode 203: name 'args' is not defined +2025-03-10 15:29:50,207 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,208 - ERROR - Error in episode 204: name 'args' is not defined +2025-03-10 15:29:50,211 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,211 - ERROR - Error in episode 205: name 'args' is not defined +2025-03-10 15:29:50,213 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,214 - ERROR - Error in episode 206: name 'args' is not defined +2025-03-10 15:29:50,216 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,217 - ERROR - Error in episode 207: name 'args' is not defined +2025-03-10 15:29:50,219 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,219 - ERROR - Error in episode 208: name 'args' is not defined +2025-03-10 15:29:50,222 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,223 - ERROR - Error in episode 209: name 'args' is not defined +2025-03-10 15:29:50,226 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,226 - ERROR - Error in episode 210: name 'args' is not defined +2025-03-10 15:29:50,230 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,230 - ERROR - Error in episode 211: name 'args' is not defined +2025-03-10 15:29:50,233 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,234 - ERROR - Error in episode 212: name 'args' is not defined +2025-03-10 15:29:50,236 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,236 - ERROR - Error in episode 213: name 'args' is not defined +2025-03-10 15:29:50,239 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,239 - ERROR - Error in episode 214: name 'args' is not defined +2025-03-10 15:29:50,242 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,242 - ERROR - Error in episode 215: name 'args' is not defined +2025-03-10 15:29:50,245 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,246 - ERROR - Error in episode 216: name 'args' is not defined +2025-03-10 15:29:50,248 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,249 - ERROR - Error in episode 217: name 'args' is not defined +2025-03-10 15:29:50,252 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,252 - ERROR - Error in episode 218: name 'args' is not defined +2025-03-10 15:29:50,254 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,255 - ERROR - Error in episode 219: name 'args' is not defined +2025-03-10 15:29:50,257 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,258 - ERROR - Error in episode 220: name 'args' is not defined +2025-03-10 15:29:50,260 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,260 - ERROR - Error in episode 221: name 'args' is not defined +2025-03-10 15:29:50,263 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,263 - ERROR - Error in episode 222: name 'args' is not defined +2025-03-10 15:29:50,266 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,266 - ERROR - Error in episode 223: name 'args' is not defined +2025-03-10 15:29:50,269 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,270 - ERROR - Error in episode 224: name 'args' is not defined +2025-03-10 15:29:50,272 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,272 - ERROR - Error in episode 225: name 'args' is not defined +2025-03-10 15:29:50,275 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,276 - ERROR - Error in episode 226: name 'args' is not defined +2025-03-10 15:29:50,278 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,279 - ERROR - Error in episode 227: name 'args' is not defined +2025-03-10 15:29:50,281 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,281 - ERROR - Error in episode 228: name 'args' is not defined +2025-03-10 15:29:50,284 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,285 - ERROR - Error in episode 229: name 'args' is not defined +2025-03-10 15:29:50,287 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,287 - ERROR - Error in episode 230: name 'args' is not defined +2025-03-10 15:29:50,290 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,290 - ERROR - Error in episode 231: name 'args' is not defined +2025-03-10 15:29:50,293 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,293 - ERROR - Error in episode 232: name 'args' is not defined +2025-03-10 15:29:50,296 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,296 - ERROR - Error in episode 233: name 'args' is not defined +2025-03-10 15:29:50,298 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,299 - ERROR - Error in episode 234: name 'args' is not defined +2025-03-10 15:29:50,302 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,302 - ERROR - Error in episode 235: name 'args' is not defined +2025-03-10 15:29:50,304 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,304 - ERROR - Error in episode 236: name 'args' is not defined +2025-03-10 15:29:50,307 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,307 - ERROR - Error in episode 237: name 'args' is not defined +2025-03-10 15:29:50,310 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,310 - ERROR - Error in episode 238: name 'args' is not defined +2025-03-10 15:29:50,313 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,313 - ERROR - Error in episode 239: name 'args' is not defined +2025-03-10 15:29:50,315 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,316 - ERROR - Error in episode 240: name 'args' is not defined +2025-03-10 15:29:50,318 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,319 - ERROR - Error in episode 241: name 'args' is not defined +2025-03-10 15:29:50,321 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,322 - ERROR - Error in episode 242: name 'args' is not defined +2025-03-10 15:29:50,324 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,325 - ERROR - Error in episode 243: name 'args' is not defined +2025-03-10 15:29:50,327 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,328 - ERROR - Error in episode 244: name 'args' is not defined +2025-03-10 15:29:50,330 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,331 - ERROR - Error in episode 245: name 'args' is not defined +2025-03-10 15:29:50,333 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,333 - ERROR - Error in episode 246: name 'args' is not defined +2025-03-10 15:29:50,336 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,337 - ERROR - Error in episode 247: name 'args' is not defined +2025-03-10 15:29:50,339 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,340 - ERROR - Error in episode 248: name 'args' is not defined +2025-03-10 15:29:50,342 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,342 - ERROR - Error in episode 249: name 'args' is not defined +2025-03-10 15:29:50,345 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,345 - ERROR - Error in episode 250: name 'args' is not defined +2025-03-10 15:29:50,348 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,348 - ERROR - Error in episode 251: name 'args' is not defined +2025-03-10 15:29:50,351 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,351 - ERROR - Error in episode 252: name 'args' is not defined +2025-03-10 15:29:50,353 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,354 - ERROR - Error in episode 253: name 'args' is not defined +2025-03-10 15:29:50,356 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,357 - ERROR - Error in episode 254: name 'args' is not defined +2025-03-10 15:29:50,359 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,359 - ERROR - Error in episode 255: name 'args' is not defined +2025-03-10 15:29:50,362 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,362 - ERROR - Error in episode 256: name 'args' is not defined +2025-03-10 15:29:50,365 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,365 - ERROR - Error in episode 257: name 'args' is not defined +2025-03-10 15:29:50,367 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,368 - ERROR - Error in episode 258: name 'args' is not defined +2025-03-10 15:29:50,371 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,371 - ERROR - Error in episode 259: name 'args' is not defined +2025-03-10 15:29:50,374 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,374 - ERROR - Error in episode 260: name 'args' is not defined +2025-03-10 15:29:50,377 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,377 - ERROR - Error in episode 261: name 'args' is not defined +2025-03-10 15:29:50,380 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,380 - ERROR - Error in episode 262: name 'args' is not defined +2025-03-10 15:29:50,383 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,383 - ERROR - Error in episode 263: name 'args' is not defined +2025-03-10 15:29:50,385 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,385 - ERROR - Error in episode 264: name 'args' is not defined +2025-03-10 15:29:50,388 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,388 - ERROR - Error in episode 265: name 'args' is not defined +2025-03-10 15:29:50,391 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,391 - ERROR - Error in episode 266: name 'args' is not defined +2025-03-10 15:29:50,393 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,394 - ERROR - Error in episode 267: name 'args' is not defined +2025-03-10 15:29:50,396 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,396 - ERROR - Error in episode 268: name 'args' is not defined +2025-03-10 15:29:50,399 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,399 - ERROR - Error in episode 269: name 'args' is not defined +2025-03-10 15:29:50,402 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,402 - ERROR - Error in episode 270: name 'args' is not defined +2025-03-10 15:29:50,405 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,406 - ERROR - Error in episode 271: name 'args' is not defined +2025-03-10 15:29:50,408 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,409 - ERROR - Error in episode 272: name 'args' is not defined +2025-03-10 15:29:50,412 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,413 - ERROR - Error in episode 273: name 'args' is not defined +2025-03-10 15:29:50,416 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,416 - ERROR - Error in episode 274: name 'args' is not defined +2025-03-10 15:29:50,418 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,418 - ERROR - Error in episode 275: name 'args' is not defined +2025-03-10 15:29:50,421 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,421 - ERROR - Error in episode 276: name 'args' is not defined +2025-03-10 15:29:50,424 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,424 - ERROR - Error in episode 277: name 'args' is not defined +2025-03-10 15:29:50,427 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,428 - ERROR - Error in episode 278: name 'args' is not defined +2025-03-10 15:29:50,431 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,431 - ERROR - Error in episode 279: name 'args' is not defined +2025-03-10 15:29:50,434 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,434 - ERROR - Error in episode 280: name 'args' is not defined +2025-03-10 15:29:50,437 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,437 - ERROR - Error in episode 281: name 'args' is not defined +2025-03-10 15:29:50,439 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,440 - ERROR - Error in episode 282: name 'args' is not defined +2025-03-10 15:29:50,442 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,442 - ERROR - Error in episode 283: name 'args' is not defined +2025-03-10 15:29:50,445 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,445 - ERROR - Error in episode 284: name 'args' is not defined +2025-03-10 15:29:50,448 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,448 - ERROR - Error in episode 285: name 'args' is not defined +2025-03-10 15:29:50,450 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,451 - ERROR - Error in episode 286: name 'args' is not defined +2025-03-10 15:29:50,453 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,453 - ERROR - Error in episode 287: name 'args' is not defined +2025-03-10 15:29:50,456 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,457 - ERROR - Error in episode 288: name 'args' is not defined +2025-03-10 15:29:50,459 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,459 - ERROR - Error in episode 289: name 'args' is not defined +2025-03-10 15:29:50,462 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,463 - ERROR - Error in episode 290: name 'args' is not defined +2025-03-10 15:29:50,466 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,466 - ERROR - Error in episode 291: name 'args' is not defined +2025-03-10 15:29:50,468 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,469 - ERROR - Error in episode 292: name 'args' is not defined +2025-03-10 15:29:50,471 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,472 - ERROR - Error in episode 293: name 'args' is not defined +2025-03-10 15:29:50,474 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,474 - ERROR - Error in episode 294: name 'args' is not defined +2025-03-10 15:29:50,476 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,477 - ERROR - Error in episode 295: name 'args' is not defined +2025-03-10 15:29:50,480 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,480 - ERROR - Error in episode 296: name 'args' is not defined +2025-03-10 15:29:50,482 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,483 - ERROR - Error in episode 297: name 'args' is not defined +2025-03-10 15:29:50,485 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,486 - ERROR - Error in episode 298: name 'args' is not defined +2025-03-10 15:29:50,488 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,488 - ERROR - Error in episode 299: name 'args' is not defined +2025-03-10 15:29:50,491 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,491 - INFO - Moving to curriculum stage 4: risk_factor=1.25, exploration=0.05 +2025-03-10 15:29:50,492 - ERROR - Error in episode 300: name 'args' is not defined +2025-03-10 15:29:50,494 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,494 - ERROR - Error in episode 301: name 'args' is not defined +2025-03-10 15:29:50,497 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,498 - ERROR - Error in episode 302: name 'args' is not defined +2025-03-10 15:29:50,500 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,500 - ERROR - Error in episode 303: name 'args' is not defined +2025-03-10 15:29:50,503 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,503 - ERROR - Error in episode 304: name 'args' is not defined +2025-03-10 15:29:50,505 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,506 - ERROR - Error in episode 305: name 'args' is not defined +2025-03-10 15:29:50,508 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,508 - ERROR - Error in episode 306: name 'args' is not defined +2025-03-10 15:29:50,511 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,511 - ERROR - Error in episode 307: name 'args' is not defined +2025-03-10 15:29:50,514 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,514 - ERROR - Error in episode 308: name 'args' is not defined +2025-03-10 15:29:50,517 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,517 - ERROR - Error in episode 309: name 'args' is not defined +2025-03-10 15:29:50,519 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,519 - ERROR - Error in episode 310: name 'args' is not defined +2025-03-10 15:29:50,522 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,522 - ERROR - Error in episode 311: name 'args' is not defined +2025-03-10 15:29:50,524 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,524 - ERROR - Error in episode 312: name 'args' is not defined +2025-03-10 15:29:50,528 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,528 - ERROR - Error in episode 313: name 'args' is not defined +2025-03-10 15:29:50,531 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,531 - ERROR - Error in episode 314: name 'args' is not defined +2025-03-10 15:29:50,533 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,534 - ERROR - Error in episode 315: name 'args' is not defined +2025-03-10 15:29:50,536 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,536 - ERROR - Error in episode 316: name 'args' is not defined +2025-03-10 15:29:50,540 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,540 - ERROR - Error in episode 317: name 'args' is not defined +2025-03-10 15:29:50,542 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,543 - ERROR - Error in episode 318: name 'args' is not defined +2025-03-10 15:29:50,545 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,545 - ERROR - Error in episode 319: name 'args' is not defined +2025-03-10 15:29:50,548 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,548 - ERROR - Error in episode 320: name 'args' is not defined +2025-03-10 15:29:50,551 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,551 - ERROR - Error in episode 321: name 'args' is not defined +2025-03-10 15:29:50,554 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,554 - ERROR - Error in episode 322: name 'args' is not defined +2025-03-10 15:29:50,557 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,557 - ERROR - Error in episode 323: name 'args' is not defined +2025-03-10 15:29:50,559 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,560 - ERROR - Error in episode 324: name 'args' is not defined +2025-03-10 15:29:50,562 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,562 - ERROR - Error in episode 325: name 'args' is not defined +2025-03-10 15:29:50,565 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,565 - ERROR - Error in episode 326: name 'args' is not defined +2025-03-10 15:29:50,568 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,568 - ERROR - Error in episode 327: name 'args' is not defined +2025-03-10 15:29:50,571 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,571 - ERROR - Error in episode 328: name 'args' is not defined +2025-03-10 15:29:50,573 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,574 - ERROR - Error in episode 329: name 'args' is not defined +2025-03-10 15:29:50,576 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,576 - ERROR - Error in episode 330: name 'args' is not defined +2025-03-10 15:29:50,579 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,579 - ERROR - Error in episode 331: name 'args' is not defined +2025-03-10 15:29:50,582 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,582 - ERROR - Error in episode 332: name 'args' is not defined +2025-03-10 15:29:50,584 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,585 - ERROR - Error in episode 333: name 'args' is not defined +2025-03-10 15:29:50,587 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,587 - ERROR - Error in episode 334: name 'args' is not defined +2025-03-10 15:29:50,589 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,590 - ERROR - Error in episode 335: name 'args' is not defined +2025-03-10 15:29:50,593 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,593 - ERROR - Error in episode 336: name 'args' is not defined +2025-03-10 15:29:50,596 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,596 - ERROR - Error in episode 337: name 'args' is not defined +2025-03-10 15:29:50,599 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,599 - ERROR - Error in episode 338: name 'args' is not defined +2025-03-10 15:29:50,602 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,602 - ERROR - Error in episode 339: name 'args' is not defined +2025-03-10 15:29:50,605 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,605 - ERROR - Error in episode 340: name 'args' is not defined +2025-03-10 15:29:50,608 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,608 - ERROR - Error in episode 341: name 'args' is not defined +2025-03-10 15:29:50,611 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,611 - ERROR - Error in episode 342: name 'args' is not defined +2025-03-10 15:29:50,615 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,615 - ERROR - Error in episode 343: name 'args' is not defined +2025-03-10 15:29:50,617 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,617 - ERROR - Error in episode 344: name 'args' is not defined +2025-03-10 15:29:50,620 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,620 - ERROR - Error in episode 345: name 'args' is not defined +2025-03-10 15:29:50,623 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,623 - ERROR - Error in episode 346: name 'args' is not defined +2025-03-10 15:29:50,626 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,626 - ERROR - Error in episode 347: name 'args' is not defined +2025-03-10 15:29:50,629 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,629 - ERROR - Error in episode 348: name 'args' is not defined +2025-03-10 15:29:50,632 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,632 - ERROR - Error in episode 349: name 'args' is not defined +2025-03-10 15:29:50,634 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,635 - ERROR - Error in episode 350: name 'args' is not defined +2025-03-10 15:29:50,638 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,638 - ERROR - Error in episode 351: name 'args' is not defined +2025-03-10 15:29:50,641 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,641 - ERROR - Error in episode 352: name 'args' is not defined +2025-03-10 15:29:50,644 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,644 - ERROR - Error in episode 353: name 'args' is not defined +2025-03-10 15:29:50,647 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,648 - ERROR - Error in episode 354: name 'args' is not defined +2025-03-10 15:29:50,651 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,652 - ERROR - Error in episode 355: name 'args' is not defined +2025-03-10 15:29:50,654 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,655 - ERROR - Error in episode 356: name 'args' is not defined +2025-03-10 15:29:50,658 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,658 - ERROR - Error in episode 357: name 'args' is not defined +2025-03-10 15:29:50,660 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,660 - ERROR - Error in episode 358: name 'args' is not defined +2025-03-10 15:29:50,663 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,663 - ERROR - Error in episode 359: name 'args' is not defined +2025-03-10 15:29:50,666 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,666 - ERROR - Error in episode 360: name 'args' is not defined +2025-03-10 15:29:50,669 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,669 - ERROR - Error in episode 361: name 'args' is not defined +2025-03-10 15:29:50,672 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,672 - ERROR - Error in episode 362: name 'args' is not defined +2025-03-10 15:29:50,674 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,675 - ERROR - Error in episode 363: name 'args' is not defined +2025-03-10 15:29:50,677 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,678 - ERROR - Error in episode 364: name 'args' is not defined +2025-03-10 15:29:50,681 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,681 - ERROR - Error in episode 365: name 'args' is not defined +2025-03-10 15:29:50,684 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,685 - ERROR - Error in episode 366: name 'args' is not defined +2025-03-10 15:29:50,687 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,687 - ERROR - Error in episode 367: name 'args' is not defined +2025-03-10 15:29:50,690 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,691 - ERROR - Error in episode 368: name 'args' is not defined +2025-03-10 15:29:50,693 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,693 - ERROR - Error in episode 369: name 'args' is not defined +2025-03-10 15:29:50,696 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,696 - ERROR - Error in episode 370: name 'args' is not defined +2025-03-10 15:29:50,699 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,699 - ERROR - Error in episode 371: name 'args' is not defined +2025-03-10 15:29:50,701 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,702 - ERROR - Error in episode 372: name 'args' is not defined +2025-03-10 15:29:50,704 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,705 - ERROR - Error in episode 373: name 'args' is not defined +2025-03-10 15:29:50,707 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,707 - ERROR - Error in episode 374: name 'args' is not defined +2025-03-10 15:29:50,709 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,710 - ERROR - Error in episode 375: name 'args' is not defined +2025-03-10 15:29:50,712 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,713 - ERROR - Error in episode 376: name 'args' is not defined +2025-03-10 15:29:50,716 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,716 - ERROR - Error in episode 377: name 'args' is not defined +2025-03-10 15:29:50,719 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,719 - ERROR - Error in episode 378: name 'args' is not defined +2025-03-10 15:29:50,721 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,722 - ERROR - Error in episode 379: name 'args' is not defined +2025-03-10 15:29:50,724 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,724 - ERROR - Error in episode 380: name 'args' is not defined +2025-03-10 15:29:50,727 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,727 - ERROR - Error in episode 381: name 'args' is not defined +2025-03-10 15:29:50,730 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,730 - ERROR - Error in episode 382: name 'args' is not defined +2025-03-10 15:29:50,732 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,733 - ERROR - Error in episode 383: name 'args' is not defined +2025-03-10 15:29:50,735 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,736 - ERROR - Error in episode 384: name 'args' is not defined +2025-03-10 15:29:50,738 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,738 - ERROR - Error in episode 385: name 'args' is not defined +2025-03-10 15:29:50,741 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,741 - ERROR - Error in episode 386: name 'args' is not defined +2025-03-10 15:29:50,745 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,745 - ERROR - Error in episode 387: name 'args' is not defined +2025-03-10 15:29:50,748 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,748 - ERROR - Error in episode 388: name 'args' is not defined +2025-03-10 15:29:50,750 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,751 - ERROR - Error in episode 389: name 'args' is not defined +2025-03-10 15:29:50,753 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,753 - ERROR - Error in episode 390: name 'args' is not defined +2025-03-10 15:29:50,756 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,756 - ERROR - Error in episode 391: name 'args' is not defined +2025-03-10 15:29:50,758 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,759 - ERROR - Error in episode 392: name 'args' is not defined +2025-03-10 15:29:50,761 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,762 - ERROR - Error in episode 393: name 'args' is not defined +2025-03-10 15:29:50,764 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,764 - ERROR - Error in episode 394: name 'args' is not defined +2025-03-10 15:29:50,767 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,768 - ERROR - Error in episode 395: name 'args' is not defined +2025-03-10 15:29:50,770 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,770 - ERROR - Error in episode 396: name 'args' is not defined +2025-03-10 15:29:50,773 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,773 - ERROR - Error in episode 397: name 'args' is not defined +2025-03-10 15:29:50,776 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,776 - ERROR - Error in episode 398: name 'args' is not defined +2025-03-10 15:29:50,779 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,779 - ERROR - Error in episode 399: name 'args' is not defined +2025-03-10 15:29:50,781 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,782 - ERROR - Error in episode 400: name 'args' is not defined +2025-03-10 15:29:50,785 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,785 - ERROR - Error in episode 401: name 'args' is not defined +2025-03-10 15:29:50,787 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,787 - ERROR - Error in episode 402: name 'args' is not defined +2025-03-10 15:29:50,790 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,790 - ERROR - Error in episode 403: name 'args' is not defined +2025-03-10 15:29:50,792 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,793 - ERROR - Error in episode 404: name 'args' is not defined +2025-03-10 15:29:50,795 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,796 - ERROR - Error in episode 405: name 'args' is not defined +2025-03-10 15:29:50,798 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,798 - ERROR - Error in episode 406: name 'args' is not defined +2025-03-10 15:29:50,801 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,802 - ERROR - Error in episode 407: name 'args' is not defined +2025-03-10 15:29:50,804 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,804 - ERROR - Error in episode 408: name 'args' is not defined +2025-03-10 15:29:50,807 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,807 - ERROR - Error in episode 409: name 'args' is not defined +2025-03-10 15:29:50,809 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,809 - ERROR - Error in episode 410: name 'args' is not defined +2025-03-10 15:29:50,812 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,812 - ERROR - Error in episode 411: name 'args' is not defined +2025-03-10 15:29:50,815 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,815 - ERROR - Error in episode 412: name 'args' is not defined +2025-03-10 15:29:50,818 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,819 - ERROR - Error in episode 413: name 'args' is not defined +2025-03-10 15:29:50,821 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,822 - ERROR - Error in episode 414: name 'args' is not defined +2025-03-10 15:29:50,824 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,824 - ERROR - Error in episode 415: name 'args' is not defined +2025-03-10 15:29:50,827 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,827 - ERROR - Error in episode 416: name 'args' is not defined +2025-03-10 15:29:50,829 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,830 - ERROR - Error in episode 417: name 'args' is not defined +2025-03-10 15:29:50,832 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,833 - ERROR - Error in episode 418: name 'args' is not defined +2025-03-10 15:29:50,835 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,836 - ERROR - Error in episode 419: name 'args' is not defined +2025-03-10 15:29:50,839 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,839 - ERROR - Error in episode 420: name 'args' is not defined +2025-03-10 15:29:50,841 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,842 - ERROR - Error in episode 421: name 'args' is not defined +2025-03-10 15:29:50,844 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,845 - ERROR - Error in episode 422: name 'args' is not defined +2025-03-10 15:29:50,848 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,848 - ERROR - Error in episode 423: name 'args' is not defined +2025-03-10 15:29:50,850 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,851 - ERROR - Error in episode 424: name 'args' is not defined +2025-03-10 15:29:50,853 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,853 - ERROR - Error in episode 425: name 'args' is not defined +2025-03-10 15:29:50,856 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,856 - ERROR - Error in episode 426: name 'args' is not defined +2025-03-10 15:29:50,858 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,859 - ERROR - Error in episode 427: name 'args' is not defined +2025-03-10 15:29:50,861 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,861 - ERROR - Error in episode 428: name 'args' is not defined +2025-03-10 15:29:50,864 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,864 - ERROR - Error in episode 429: name 'args' is not defined +2025-03-10 15:29:50,867 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,867 - ERROR - Error in episode 430: name 'args' is not defined +2025-03-10 15:29:50,869 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,870 - ERROR - Error in episode 431: name 'args' is not defined +2025-03-10 15:29:50,872 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,873 - ERROR - Error in episode 432: name 'args' is not defined +2025-03-10 15:29:50,875 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,875 - ERROR - Error in episode 433: name 'args' is not defined +2025-03-10 15:29:50,878 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,878 - ERROR - Error in episode 434: name 'args' is not defined +2025-03-10 15:29:50,881 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,881 - ERROR - Error in episode 435: name 'args' is not defined +2025-03-10 15:29:50,884 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,885 - ERROR - Error in episode 436: name 'args' is not defined +2025-03-10 15:29:50,887 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,888 - ERROR - Error in episode 437: name 'args' is not defined +2025-03-10 15:29:50,890 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,891 - ERROR - Error in episode 438: name 'args' is not defined +2025-03-10 15:29:50,893 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,893 - ERROR - Error in episode 439: name 'args' is not defined +2025-03-10 15:29:50,896 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,896 - ERROR - Error in episode 440: name 'args' is not defined +2025-03-10 15:29:50,899 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,899 - ERROR - Error in episode 441: name 'args' is not defined +2025-03-10 15:29:50,902 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,902 - ERROR - Error in episode 442: name 'args' is not defined +2025-03-10 15:29:50,905 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,906 - ERROR - Error in episode 443: name 'args' is not defined +2025-03-10 15:29:50,908 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,908 - ERROR - Error in episode 444: name 'args' is not defined +2025-03-10 15:29:50,911 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,911 - ERROR - Error in episode 445: name 'args' is not defined +2025-03-10 15:29:50,913 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,914 - ERROR - Error in episode 446: name 'args' is not defined +2025-03-10 15:29:50,916 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,916 - ERROR - Error in episode 447: name 'args' is not defined +2025-03-10 15:29:50,920 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,920 - ERROR - Error in episode 448: name 'args' is not defined +2025-03-10 15:29:50,923 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,923 - ERROR - Error in episode 449: name 'args' is not defined +2025-03-10 15:29:50,925 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,925 - ERROR - Error in episode 450: name 'args' is not defined +2025-03-10 15:29:50,928 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,929 - ERROR - Error in episode 451: name 'args' is not defined +2025-03-10 15:29:50,932 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,932 - ERROR - Error in episode 452: name 'args' is not defined +2025-03-10 15:29:50,934 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,935 - ERROR - Error in episode 453: name 'args' is not defined +2025-03-10 15:29:50,937 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,938 - ERROR - Error in episode 454: name 'args' is not defined +2025-03-10 15:29:50,941 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,941 - ERROR - Error in episode 455: name 'args' is not defined +2025-03-10 15:29:50,944 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,944 - ERROR - Error in episode 456: name 'args' is not defined +2025-03-10 15:29:50,947 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,947 - ERROR - Error in episode 457: name 'args' is not defined +2025-03-10 15:29:50,950 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,950 - ERROR - Error in episode 458: name 'args' is not defined +2025-03-10 15:29:50,952 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,953 - ERROR - Error in episode 459: name 'args' is not defined +2025-03-10 15:29:50,956 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,956 - ERROR - Error in episode 460: name 'args' is not defined +2025-03-10 15:29:50,958 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,958 - ERROR - Error in episode 461: name 'args' is not defined +2025-03-10 15:29:50,961 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,961 - ERROR - Error in episode 462: name 'args' is not defined +2025-03-10 15:29:50,964 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,964 - ERROR - Error in episode 463: name 'args' is not defined +2025-03-10 15:29:50,966 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,967 - ERROR - Error in episode 464: name 'args' is not defined +2025-03-10 15:29:50,969 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,969 - ERROR - Error in episode 465: name 'args' is not defined +2025-03-10 15:29:50,972 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,972 - ERROR - Error in episode 466: name 'args' is not defined +2025-03-10 15:29:50,975 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,975 - ERROR - Error in episode 467: name 'args' is not defined +2025-03-10 15:29:50,977 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,978 - ERROR - Error in episode 468: name 'args' is not defined +2025-03-10 15:29:50,980 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,980 - ERROR - Error in episode 469: name 'args' is not defined +2025-03-10 15:29:50,983 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,983 - ERROR - Error in episode 470: name 'args' is not defined +2025-03-10 15:29:50,986 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,986 - ERROR - Error in episode 471: name 'args' is not defined +2025-03-10 15:29:50,989 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,989 - ERROR - Error in episode 472: name 'args' is not defined +2025-03-10 15:29:50,992 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,992 - ERROR - Error in episode 473: name 'args' is not defined +2025-03-10 15:29:50,995 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,995 - ERROR - Error in episode 474: name 'args' is not defined +2025-03-10 15:29:50,998 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:50,998 - ERROR - Error in episode 475: name 'args' is not defined +2025-03-10 15:29:51,000 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,001 - ERROR - Error in episode 476: name 'args' is not defined +2025-03-10 15:29:51,003 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,003 - ERROR - Error in episode 477: name 'args' is not defined +2025-03-10 15:29:51,006 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,006 - ERROR - Error in episode 478: name 'args' is not defined +2025-03-10 15:29:51,010 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,010 - ERROR - Error in episode 479: name 'args' is not defined +2025-03-10 15:29:51,012 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,012 - ERROR - Error in episode 480: name 'args' is not defined +2025-03-10 15:29:51,016 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,016 - ERROR - Error in episode 481: name 'args' is not defined +2025-03-10 15:29:51,019 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,019 - ERROR - Error in episode 482: name 'args' is not defined +2025-03-10 15:29:51,022 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,022 - ERROR - Error in episode 483: name 'args' is not defined +2025-03-10 15:29:51,025 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,026 - ERROR - Error in episode 484: name 'args' is not defined +2025-03-10 15:29:51,028 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,028 - ERROR - Error in episode 485: name 'args' is not defined +2025-03-10 15:29:51,031 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,031 - ERROR - Error in episode 486: name 'args' is not defined +2025-03-10 15:29:51,033 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,034 - ERROR - Error in episode 487: name 'args' is not defined +2025-03-10 15:29:51,036 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,037 - ERROR - Error in episode 488: name 'args' is not defined +2025-03-10 15:29:51,040 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,040 - ERROR - Error in episode 489: name 'args' is not defined +2025-03-10 15:29:51,042 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,043 - ERROR - Error in episode 490: name 'args' is not defined +2025-03-10 15:29:51,045 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,046 - ERROR - Error in episode 491: name 'args' is not defined +2025-03-10 15:29:51,048 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,049 - ERROR - Error in episode 492: name 'args' is not defined +2025-03-10 15:29:51,051 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,052 - ERROR - Error in episode 493: name 'args' is not defined +2025-03-10 15:29:51,054 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,055 - ERROR - Error in episode 494: name 'args' is not defined +2025-03-10 15:29:51,058 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,059 - ERROR - Error in episode 495: name 'args' is not defined +2025-03-10 15:29:51,061 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,061 - ERROR - Error in episode 496: name 'args' is not defined +2025-03-10 15:29:51,064 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,064 - ERROR - Error in episode 497: name 'args' is not defined +2025-03-10 15:29:51,067 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,067 - ERROR - Error in episode 498: name 'args' is not defined +2025-03-10 15:29:51,069 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,070 - ERROR - Error in episode 499: name 'args' is not defined +2025-03-10 15:29:51,072 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,073 - ERROR - Error in episode 500: name 'args' is not defined +2025-03-10 15:29:51,075 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,075 - ERROR - Error in episode 501: name 'args' is not defined +2025-03-10 15:29:51,078 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,078 - ERROR - Error in episode 502: name 'args' is not defined +2025-03-10 15:29:51,082 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,082 - ERROR - Error in episode 503: name 'args' is not defined +2025-03-10 15:29:51,084 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,085 - ERROR - Error in episode 504: name 'args' is not defined +2025-03-10 15:29:51,087 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,087 - ERROR - Error in episode 505: name 'args' is not defined +2025-03-10 15:29:51,090 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,090 - ERROR - Error in episode 506: name 'args' is not defined +2025-03-10 15:29:51,092 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,093 - ERROR - Error in episode 507: name 'args' is not defined +2025-03-10 15:29:51,095 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,096 - ERROR - Error in episode 508: name 'args' is not defined +2025-03-10 15:29:51,099 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,099 - ERROR - Error in episode 509: name 'args' is not defined +2025-03-10 15:29:51,101 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,102 - ERROR - Error in episode 510: name 'args' is not defined +2025-03-10 15:29:51,105 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,105 - ERROR - Error in episode 511: name 'args' is not defined +2025-03-10 15:29:51,107 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,108 - ERROR - Error in episode 512: name 'args' is not defined +2025-03-10 15:29:51,110 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,111 - ERROR - Error in episode 513: name 'args' is not defined +2025-03-10 15:29:51,113 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,114 - ERROR - Error in episode 514: name 'args' is not defined +2025-03-10 15:29:51,116 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,116 - ERROR - Error in episode 515: name 'args' is not defined +2025-03-10 15:29:51,118 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,118 - ERROR - Error in episode 516: name 'args' is not defined +2025-03-10 15:29:51,122 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,122 - ERROR - Error in episode 517: name 'args' is not defined +2025-03-10 15:29:51,125 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,125 - ERROR - Error in episode 518: name 'args' is not defined +2025-03-10 15:29:51,128 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,128 - ERROR - Error in episode 519: name 'args' is not defined +2025-03-10 15:29:51,131 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,131 - ERROR - Error in episode 520: name 'args' is not defined +2025-03-10 15:29:51,134 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,134 - ERROR - Error in episode 521: name 'args' is not defined +2025-03-10 15:29:51,136 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,137 - ERROR - Error in episode 522: name 'args' is not defined +2025-03-10 15:29:51,140 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,140 - ERROR - Error in episode 523: name 'args' is not defined +2025-03-10 15:29:51,142 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,143 - ERROR - Error in episode 524: name 'args' is not defined +2025-03-10 15:29:51,145 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,145 - ERROR - Error in episode 525: name 'args' is not defined +2025-03-10 15:29:51,148 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,149 - ERROR - Error in episode 526: name 'args' is not defined +2025-03-10 15:29:51,151 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,152 - ERROR - Error in episode 527: name 'args' is not defined +2025-03-10 15:29:51,154 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,154 - ERROR - Error in episode 528: name 'args' is not defined +2025-03-10 15:29:51,157 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,157 - ERROR - Error in episode 529: name 'args' is not defined +2025-03-10 15:29:51,160 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,160 - ERROR - Error in episode 530: name 'args' is not defined +2025-03-10 15:29:51,163 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,163 - ERROR - Error in episode 531: name 'args' is not defined +2025-03-10 15:29:51,166 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,166 - ERROR - Error in episode 532: name 'args' is not defined +2025-03-10 15:29:51,168 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,169 - ERROR - Error in episode 533: name 'args' is not defined +2025-03-10 15:29:51,172 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,172 - ERROR - Error in episode 534: name 'args' is not defined +2025-03-10 15:29:51,174 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,175 - ERROR - Error in episode 535: name 'args' is not defined +2025-03-10 15:29:51,177 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,177 - ERROR - Error in episode 536: name 'args' is not defined +2025-03-10 15:29:51,180 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,180 - ERROR - Error in episode 537: name 'args' is not defined +2025-03-10 15:29:51,182 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,183 - ERROR - Error in episode 538: name 'args' is not defined +2025-03-10 15:29:51,185 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,186 - ERROR - Error in episode 539: name 'args' is not defined +2025-03-10 15:29:51,188 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,188 - ERROR - Error in episode 540: name 'args' is not defined +2025-03-10 15:29:51,190 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,191 - ERROR - Error in episode 541: name 'args' is not defined +2025-03-10 15:29:51,193 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,194 - ERROR - Error in episode 542: name 'args' is not defined +2025-03-10 15:29:51,197 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,198 - ERROR - Error in episode 543: name 'args' is not defined +2025-03-10 15:29:51,201 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,201 - ERROR - Error in episode 544: name 'args' is not defined +2025-03-10 15:29:51,204 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,204 - ERROR - Error in episode 545: name 'args' is not defined +2025-03-10 15:29:51,207 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,208 - ERROR - Error in episode 546: name 'args' is not defined +2025-03-10 15:29:51,210 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,211 - ERROR - Error in episode 547: name 'args' is not defined +2025-03-10 15:29:51,214 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,214 - ERROR - Error in episode 548: name 'args' is not defined +2025-03-10 15:29:51,217 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,218 - ERROR - Error in episode 549: name 'args' is not defined +2025-03-10 15:29:51,220 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,220 - ERROR - Error in episode 550: name 'args' is not defined +2025-03-10 15:29:51,223 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,223 - ERROR - Error in episode 551: name 'args' is not defined +2025-03-10 15:29:51,226 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,226 - ERROR - Error in episode 552: name 'args' is not defined +2025-03-10 15:29:51,229 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,229 - ERROR - Error in episode 553: name 'args' is not defined +2025-03-10 15:29:51,232 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,232 - ERROR - Error in episode 554: name 'args' is not defined +2025-03-10 15:29:51,235 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,235 - ERROR - Error in episode 555: name 'args' is not defined +2025-03-10 15:29:51,238 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,238 - ERROR - Error in episode 556: name 'args' is not defined +2025-03-10 15:29:51,241 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,242 - ERROR - Error in episode 557: name 'args' is not defined +2025-03-10 15:29:51,244 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,244 - ERROR - Error in episode 558: name 'args' is not defined +2025-03-10 15:29:51,248 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,248 - ERROR - Error in episode 559: name 'args' is not defined +2025-03-10 15:29:51,250 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,250 - ERROR - Error in episode 560: name 'args' is not defined +2025-03-10 15:29:51,253 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,253 - ERROR - Error in episode 561: name 'args' is not defined +2025-03-10 15:29:51,256 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,256 - ERROR - Error in episode 562: name 'args' is not defined +2025-03-10 15:29:51,259 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,259 - ERROR - Error in episode 563: name 'args' is not defined +2025-03-10 15:29:51,261 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,262 - ERROR - Error in episode 564: name 'args' is not defined +2025-03-10 15:29:51,264 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,264 - ERROR - Error in episode 565: name 'args' is not defined +2025-03-10 15:29:51,267 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,267 - ERROR - Error in episode 566: name 'args' is not defined +2025-03-10 15:29:51,269 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,270 - ERROR - Error in episode 567: name 'args' is not defined +2025-03-10 15:29:51,273 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,274 - ERROR - Error in episode 568: name 'args' is not defined +2025-03-10 15:29:51,276 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,276 - ERROR - Error in episode 569: name 'args' is not defined +2025-03-10 15:29:51,279 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,279 - ERROR - Error in episode 570: name 'args' is not defined +2025-03-10 15:29:51,282 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,282 - ERROR - Error in episode 571: name 'args' is not defined +2025-03-10 15:29:51,284 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,285 - ERROR - Error in episode 572: name 'args' is not defined +2025-03-10 15:29:51,287 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,287 - ERROR - Error in episode 573: name 'args' is not defined +2025-03-10 15:29:51,290 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,291 - ERROR - Error in episode 574: name 'args' is not defined +2025-03-10 15:29:51,293 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,293 - ERROR - Error in episode 575: name 'args' is not defined +2025-03-10 15:29:51,295 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,296 - ERROR - Error in episode 576: name 'args' is not defined +2025-03-10 15:29:51,299 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,299 - ERROR - Error in episode 577: name 'args' is not defined +2025-03-10 15:29:51,301 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,302 - ERROR - Error in episode 578: name 'args' is not defined +2025-03-10 15:29:51,304 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,305 - ERROR - Error in episode 579: name 'args' is not defined +2025-03-10 15:29:51,307 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,308 - ERROR - Error in episode 580: name 'args' is not defined +2025-03-10 15:29:51,310 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,311 - ERROR - Error in episode 581: name 'args' is not defined +2025-03-10 15:29:51,313 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,313 - ERROR - Error in episode 582: name 'args' is not defined +2025-03-10 15:29:51,316 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,316 - ERROR - Error in episode 583: name 'args' is not defined +2025-03-10 15:29:51,319 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,319 - ERROR - Error in episode 584: name 'args' is not defined +2025-03-10 15:29:51,321 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,321 - ERROR - Error in episode 585: name 'args' is not defined +2025-03-10 15:29:51,324 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,324 - ERROR - Error in episode 586: name 'args' is not defined +2025-03-10 15:29:51,328 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,328 - ERROR - Error in episode 587: name 'args' is not defined +2025-03-10 15:29:51,331 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,331 - ERROR - Error in episode 588: name 'args' is not defined +2025-03-10 15:29:51,334 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,334 - ERROR - Error in episode 589: name 'args' is not defined +2025-03-10 15:29:51,336 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,336 - ERROR - Error in episode 590: name 'args' is not defined +2025-03-10 15:29:51,339 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,340 - ERROR - Error in episode 591: name 'args' is not defined +2025-03-10 15:29:51,342 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,344 - ERROR - Error in episode 592: name 'args' is not defined +2025-03-10 15:29:51,346 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,347 - ERROR - Error in episode 593: name 'args' is not defined +2025-03-10 15:29:51,349 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,350 - ERROR - Error in episode 594: name 'args' is not defined +2025-03-10 15:29:51,353 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,353 - ERROR - Error in episode 595: name 'args' is not defined +2025-03-10 15:29:51,356 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,356 - ERROR - Error in episode 596: name 'args' is not defined +2025-03-10 15:29:51,359 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,359 - ERROR - Error in episode 597: name 'args' is not defined +2025-03-10 15:29:51,361 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,362 - ERROR - Error in episode 598: name 'args' is not defined +2025-03-10 15:29:51,364 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,365 - ERROR - Error in episode 599: name 'args' is not defined +2025-03-10 15:29:51,367 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,368 - ERROR - Error in episode 600: name 'args' is not defined +2025-03-10 15:29:51,370 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,371 - ERROR - Error in episode 601: name 'args' is not defined +2025-03-10 15:29:51,374 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,374 - ERROR - Error in episode 602: name 'args' is not defined +2025-03-10 15:29:51,376 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,377 - ERROR - Error in episode 603: name 'args' is not defined +2025-03-10 15:29:51,379 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,379 - ERROR - Error in episode 604: name 'args' is not defined +2025-03-10 15:29:51,382 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,382 - ERROR - Error in episode 605: name 'args' is not defined +2025-03-10 15:29:51,385 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,386 - ERROR - Error in episode 606: name 'args' is not defined +2025-03-10 15:29:51,388 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,389 - ERROR - Error in episode 607: name 'args' is not defined +2025-03-10 15:29:51,391 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,391 - ERROR - Error in episode 608: name 'args' is not defined +2025-03-10 15:29:51,393 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,394 - ERROR - Error in episode 609: name 'args' is not defined +2025-03-10 15:29:51,396 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,396 - ERROR - Error in episode 610: name 'args' is not defined +2025-03-10 15:29:51,398 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,399 - ERROR - Error in episode 611: name 'args' is not defined +2025-03-10 15:29:51,401 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,402 - ERROR - Error in episode 612: name 'args' is not defined +2025-03-10 15:29:51,404 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,404 - ERROR - Error in episode 613: name 'args' is not defined +2025-03-10 15:29:51,407 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,407 - ERROR - Error in episode 614: name 'args' is not defined +2025-03-10 15:29:51,409 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,410 - ERROR - Error in episode 615: name 'args' is not defined +2025-03-10 15:29:51,412 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,412 - ERROR - Error in episode 616: name 'args' is not defined +2025-03-10 15:29:51,414 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,415 - ERROR - Error in episode 617: name 'args' is not defined +2025-03-10 15:29:51,417 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,417 - ERROR - Error in episode 618: name 'args' is not defined +2025-03-10 15:29:51,420 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,421 - ERROR - Error in episode 619: name 'args' is not defined +2025-03-10 15:29:51,424 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,424 - ERROR - Error in episode 620: name 'args' is not defined +2025-03-10 15:29:51,426 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,427 - ERROR - Error in episode 621: name 'args' is not defined +2025-03-10 15:29:51,429 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,429 - ERROR - Error in episode 622: name 'args' is not defined +2025-03-10 15:29:51,432 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,432 - ERROR - Error in episode 623: name 'args' is not defined +2025-03-10 15:29:51,434 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,435 - ERROR - Error in episode 624: name 'args' is not defined +2025-03-10 15:29:51,437 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,437 - ERROR - Error in episode 625: name 'args' is not defined +2025-03-10 15:29:51,440 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,441 - ERROR - Error in episode 626: name 'args' is not defined +2025-03-10 15:29:51,443 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,444 - ERROR - Error in episode 627: name 'args' is not defined +2025-03-10 15:29:51,446 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,446 - ERROR - Error in episode 628: name 'args' is not defined +2025-03-10 15:29:51,449 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,449 - ERROR - Error in episode 629: name 'args' is not defined +2025-03-10 15:29:51,452 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,452 - ERROR - Error in episode 630: name 'args' is not defined +2025-03-10 15:29:51,455 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,455 - ERROR - Error in episode 631: name 'args' is not defined +2025-03-10 15:29:51,458 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,459 - ERROR - Error in episode 632: name 'args' is not defined +2025-03-10 15:29:51,462 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,462 - ERROR - Error in episode 633: name 'args' is not defined +2025-03-10 15:29:51,464 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,465 - ERROR - Error in episode 634: name 'args' is not defined +2025-03-10 15:29:51,467 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,468 - ERROR - Error in episode 635: name 'args' is not defined +2025-03-10 15:29:51,470 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,470 - ERROR - Error in episode 636: name 'args' is not defined +2025-03-10 15:29:51,473 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,473 - ERROR - Error in episode 637: name 'args' is not defined +2025-03-10 15:29:51,476 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,476 - ERROR - Error in episode 638: name 'args' is not defined +2025-03-10 15:29:51,479 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,479 - ERROR - Error in episode 639: name 'args' is not defined +2025-03-10 15:29:51,482 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,482 - ERROR - Error in episode 640: name 'args' is not defined +2025-03-10 15:29:51,485 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,485 - ERROR - Error in episode 641: name 'args' is not defined +2025-03-10 15:29:51,489 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,489 - ERROR - Error in episode 642: name 'args' is not defined +2025-03-10 15:29:51,492 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,492 - ERROR - Error in episode 643: name 'args' is not defined +2025-03-10 15:29:51,494 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,495 - ERROR - Error in episode 644: name 'args' is not defined +2025-03-10 15:29:51,498 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,498 - ERROR - Error in episode 645: name 'args' is not defined +2025-03-10 15:29:51,500 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,501 - ERROR - Error in episode 646: name 'args' is not defined +2025-03-10 15:29:51,504 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,504 - ERROR - Error in episode 647: name 'args' is not defined +2025-03-10 15:29:51,507 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,508 - ERROR - Error in episode 648: name 'args' is not defined +2025-03-10 15:29:51,510 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,511 - ERROR - Error in episode 649: name 'args' is not defined +2025-03-10 15:29:51,513 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,513 - ERROR - Error in episode 650: name 'args' is not defined +2025-03-10 15:29:51,516 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,517 - ERROR - Error in episode 651: name 'args' is not defined +2025-03-10 15:29:51,519 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,520 - ERROR - Error in episode 652: name 'args' is not defined +2025-03-10 15:29:51,523 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,523 - ERROR - Error in episode 653: name 'args' is not defined +2025-03-10 15:29:51,526 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,526 - ERROR - Error in episode 654: name 'args' is not defined +2025-03-10 15:29:51,529 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,529 - ERROR - Error in episode 655: name 'args' is not defined +2025-03-10 15:29:51,532 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,532 - ERROR - Error in episode 656: name 'args' is not defined +2025-03-10 15:29:51,535 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,535 - ERROR - Error in episode 657: name 'args' is not defined +2025-03-10 15:29:51,537 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,537 - ERROR - Error in episode 658: name 'args' is not defined +2025-03-10 15:29:51,540 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,541 - ERROR - Error in episode 659: name 'args' is not defined +2025-03-10 15:29:51,543 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,543 - ERROR - Error in episode 660: name 'args' is not defined +2025-03-10 15:29:51,546 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,547 - ERROR - Error in episode 661: name 'args' is not defined +2025-03-10 15:29:51,549 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,549 - ERROR - Error in episode 662: name 'args' is not defined +2025-03-10 15:29:51,553 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,553 - ERROR - Error in episode 663: name 'args' is not defined +2025-03-10 15:29:51,556 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,557 - ERROR - Error in episode 664: name 'args' is not defined +2025-03-10 15:29:51,560 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,560 - ERROR - Error in episode 665: name 'args' is not defined +2025-03-10 15:29:51,562 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,563 - ERROR - Error in episode 666: name 'args' is not defined +2025-03-10 15:29:51,566 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,567 - ERROR - Error in episode 667: name 'args' is not defined +2025-03-10 15:29:51,570 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,570 - ERROR - Error in episode 668: name 'args' is not defined +2025-03-10 15:29:51,574 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,574 - ERROR - Error in episode 669: name 'args' is not defined +2025-03-10 15:29:51,576 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,577 - ERROR - Error in episode 670: name 'args' is not defined +2025-03-10 15:29:51,579 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,579 - ERROR - Error in episode 671: name 'args' is not defined +2025-03-10 15:29:51,582 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,582 - ERROR - Error in episode 672: name 'args' is not defined +2025-03-10 15:29:51,585 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,586 - ERROR - Error in episode 673: name 'args' is not defined +2025-03-10 15:29:51,588 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,588 - ERROR - Error in episode 674: name 'args' is not defined +2025-03-10 15:29:51,591 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,592 - ERROR - Error in episode 675: name 'args' is not defined +2025-03-10 15:29:51,594 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,595 - ERROR - Error in episode 676: name 'args' is not defined +2025-03-10 15:29:51,598 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,598 - ERROR - Error in episode 677: name 'args' is not defined +2025-03-10 15:29:51,601 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,601 - ERROR - Error in episode 678: name 'args' is not defined +2025-03-10 15:29:51,603 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,604 - ERROR - Error in episode 679: name 'args' is not defined +2025-03-10 15:29:51,606 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,607 - ERROR - Error in episode 680: name 'args' is not defined +2025-03-10 15:29:51,609 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,610 - ERROR - Error in episode 681: name 'args' is not defined +2025-03-10 15:29:51,612 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,612 - ERROR - Error in episode 682: name 'args' is not defined +2025-03-10 15:29:51,615 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,616 - ERROR - Error in episode 683: name 'args' is not defined +2025-03-10 15:29:51,618 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,619 - ERROR - Error in episode 684: name 'args' is not defined +2025-03-10 15:29:51,621 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,621 - ERROR - Error in episode 685: name 'args' is not defined +2025-03-10 15:29:51,624 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,624 - ERROR - Error in episode 686: name 'args' is not defined +2025-03-10 15:29:51,627 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,627 - ERROR - Error in episode 687: name 'args' is not defined +2025-03-10 15:29:51,630 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,631 - ERROR - Error in episode 688: name 'args' is not defined +2025-03-10 15:29:51,634 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,634 - ERROR - Error in episode 689: name 'args' is not defined +2025-03-10 15:29:51,637 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,637 - ERROR - Error in episode 690: name 'args' is not defined +2025-03-10 15:29:51,640 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,641 - ERROR - Error in episode 691: name 'args' is not defined +2025-03-10 15:29:51,643 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,644 - ERROR - Error in episode 692: name 'args' is not defined +2025-03-10 15:29:51,646 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,647 - ERROR - Error in episode 693: name 'args' is not defined +2025-03-10 15:29:51,649 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,650 - ERROR - Error in episode 694: name 'args' is not defined +2025-03-10 15:29:51,653 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,654 - ERROR - Error in episode 695: name 'args' is not defined +2025-03-10 15:29:51,657 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,658 - ERROR - Error in episode 696: name 'args' is not defined +2025-03-10 15:29:51,660 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,661 - ERROR - Error in episode 697: name 'args' is not defined +2025-03-10 15:29:51,663 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,663 - ERROR - Error in episode 698: name 'args' is not defined +2025-03-10 15:29:51,666 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,667 - ERROR - Error in episode 699: name 'args' is not defined +2025-03-10 15:29:51,669 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,670 - ERROR - Error in episode 700: name 'args' is not defined +2025-03-10 15:29:51,672 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,673 - ERROR - Error in episode 701: name 'args' is not defined +2025-03-10 15:29:51,675 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,676 - ERROR - Error in episode 702: name 'args' is not defined +2025-03-10 15:29:51,678 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,679 - ERROR - Error in episode 703: name 'args' is not defined +2025-03-10 15:29:51,681 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,681 - ERROR - Error in episode 704: name 'args' is not defined +2025-03-10 15:29:51,684 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,684 - ERROR - Error in episode 705: name 'args' is not defined +2025-03-10 15:29:51,687 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,687 - ERROR - Error in episode 706: name 'args' is not defined +2025-03-10 15:29:51,690 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,691 - ERROR - Error in episode 707: name 'args' is not defined +2025-03-10 15:29:51,693 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,694 - ERROR - Error in episode 708: name 'args' is not defined +2025-03-10 15:29:51,696 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,696 - ERROR - Error in episode 709: name 'args' is not defined +2025-03-10 15:29:51,700 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,700 - ERROR - Error in episode 710: name 'args' is not defined +2025-03-10 15:29:51,703 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,704 - ERROR - Error in episode 711: name 'args' is not defined +2025-03-10 15:29:51,707 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,707 - ERROR - Error in episode 712: name 'args' is not defined +2025-03-10 15:29:51,709 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,710 - ERROR - Error in episode 713: name 'args' is not defined +2025-03-10 15:29:51,712 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,713 - ERROR - Error in episode 714: name 'args' is not defined +2025-03-10 15:29:51,715 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,716 - ERROR - Error in episode 715: name 'args' is not defined +2025-03-10 15:29:51,718 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,719 - ERROR - Error in episode 716: name 'args' is not defined +2025-03-10 15:29:51,721 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,721 - ERROR - Error in episode 717: name 'args' is not defined +2025-03-10 15:29:51,725 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,725 - ERROR - Error in episode 718: name 'args' is not defined +2025-03-10 15:29:51,728 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,728 - ERROR - Error in episode 719: name 'args' is not defined +2025-03-10 15:29:51,731 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,731 - ERROR - Error in episode 720: name 'args' is not defined +2025-03-10 15:29:51,734 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,735 - ERROR - Error in episode 721: name 'args' is not defined +2025-03-10 15:29:51,737 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,738 - ERROR - Error in episode 722: name 'args' is not defined +2025-03-10 15:29:51,741 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,741 - ERROR - Error in episode 723: name 'args' is not defined +2025-03-10 15:29:51,744 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,745 - ERROR - Error in episode 724: name 'args' is not defined +2025-03-10 15:29:51,748 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,748 - ERROR - Error in episode 725: name 'args' is not defined +2025-03-10 15:29:51,751 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,752 - ERROR - Error in episode 726: name 'args' is not defined +2025-03-10 15:29:51,755 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,755 - ERROR - Error in episode 727: name 'args' is not defined +2025-03-10 15:29:51,758 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,758 - ERROR - Error in episode 728: name 'args' is not defined +2025-03-10 15:29:51,761 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,762 - ERROR - Error in episode 729: name 'args' is not defined +2025-03-10 15:29:51,764 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,765 - ERROR - Error in episode 730: name 'args' is not defined +2025-03-10 15:29:51,767 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,768 - ERROR - Error in episode 731: name 'args' is not defined +2025-03-10 15:29:51,770 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,770 - ERROR - Error in episode 732: name 'args' is not defined +2025-03-10 15:29:51,773 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,774 - ERROR - Error in episode 733: name 'args' is not defined +2025-03-10 15:29:51,776 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,777 - ERROR - Error in episode 734: name 'args' is not defined +2025-03-10 15:29:51,780 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,780 - ERROR - Error in episode 735: name 'args' is not defined +2025-03-10 15:29:51,783 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,783 - ERROR - Error in episode 736: name 'args' is not defined +2025-03-10 15:29:51,786 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,786 - ERROR - Error in episode 737: name 'args' is not defined +2025-03-10 15:29:51,789 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,789 - ERROR - Error in episode 738: name 'args' is not defined +2025-03-10 15:29:51,792 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,793 - ERROR - Error in episode 739: name 'args' is not defined +2025-03-10 15:29:51,795 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,795 - ERROR - Error in episode 740: name 'args' is not defined +2025-03-10 15:29:51,798 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,799 - ERROR - Error in episode 741: name 'args' is not defined +2025-03-10 15:29:51,801 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,802 - ERROR - Error in episode 742: name 'args' is not defined +2025-03-10 15:29:51,804 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,804 - ERROR - Error in episode 743: name 'args' is not defined +2025-03-10 15:29:51,807 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,808 - ERROR - Error in episode 744: name 'args' is not defined +2025-03-10 15:29:51,810 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,811 - ERROR - Error in episode 745: name 'args' is not defined +2025-03-10 15:29:51,814 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,814 - ERROR - Error in episode 746: name 'args' is not defined +2025-03-10 15:29:51,818 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,818 - ERROR - Error in episode 747: name 'args' is not defined +2025-03-10 15:29:51,820 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,820 - ERROR - Error in episode 748: name 'args' is not defined +2025-03-10 15:29:51,824 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,824 - ERROR - Error in episode 749: name 'args' is not defined +2025-03-10 15:29:51,826 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,827 - ERROR - Error in episode 750: name 'args' is not defined +2025-03-10 15:29:51,829 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,829 - ERROR - Error in episode 751: name 'args' is not defined +2025-03-10 15:29:51,832 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,833 - ERROR - Error in episode 752: name 'args' is not defined +2025-03-10 15:29:51,835 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,836 - ERROR - Error in episode 753: name 'args' is not defined +2025-03-10 15:29:51,839 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,839 - ERROR - Error in episode 754: name 'args' is not defined +2025-03-10 15:29:51,841 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,842 - ERROR - Error in episode 755: name 'args' is not defined +2025-03-10 15:29:51,845 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,845 - ERROR - Error in episode 756: name 'args' is not defined +2025-03-10 15:29:51,849 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,850 - ERROR - Error in episode 757: name 'args' is not defined +2025-03-10 15:29:51,853 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,853 - ERROR - Error in episode 758: name 'args' is not defined +2025-03-10 15:29:51,855 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,856 - ERROR - Error in episode 759: name 'args' is not defined +2025-03-10 15:29:51,858 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,859 - ERROR - Error in episode 760: name 'args' is not defined +2025-03-10 15:29:51,861 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,862 - ERROR - Error in episode 761: name 'args' is not defined +2025-03-10 15:29:51,864 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,864 - ERROR - Error in episode 762: name 'args' is not defined +2025-03-10 15:29:51,867 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,867 - ERROR - Error in episode 763: name 'args' is not defined +2025-03-10 15:29:51,870 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,870 - ERROR - Error in episode 764: name 'args' is not defined +2025-03-10 15:29:51,873 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,874 - ERROR - Error in episode 765: name 'args' is not defined +2025-03-10 15:29:51,878 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,878 - ERROR - Error in episode 766: name 'args' is not defined +2025-03-10 15:29:51,880 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,881 - ERROR - Error in episode 767: name 'args' is not defined +2025-03-10 15:29:51,884 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,884 - ERROR - Error in episode 768: name 'args' is not defined +2025-03-10 15:29:51,887 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,887 - ERROR - Error in episode 769: name 'args' is not defined +2025-03-10 15:29:51,890 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,890 - ERROR - Error in episode 770: name 'args' is not defined +2025-03-10 15:29:51,893 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,894 - ERROR - Error in episode 771: name 'args' is not defined +2025-03-10 15:29:51,896 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,896 - ERROR - Error in episode 772: name 'args' is not defined +2025-03-10 15:29:51,899 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,899 - ERROR - Error in episode 773: name 'args' is not defined +2025-03-10 15:29:51,902 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,903 - ERROR - Error in episode 774: name 'args' is not defined +2025-03-10 15:29:51,905 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,905 - ERROR - Error in episode 775: name 'args' is not defined +2025-03-10 15:29:51,908 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,908 - ERROR - Error in episode 776: name 'args' is not defined +2025-03-10 15:29:51,911 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,911 - ERROR - Error in episode 777: name 'args' is not defined +2025-03-10 15:29:51,914 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,915 - ERROR - Error in episode 778: name 'args' is not defined +2025-03-10 15:29:51,917 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,918 - ERROR - Error in episode 779: name 'args' is not defined +2025-03-10 15:29:51,921 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,921 - ERROR - Error in episode 780: name 'args' is not defined +2025-03-10 15:29:51,924 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,924 - ERROR - Error in episode 781: name 'args' is not defined +2025-03-10 15:29:51,926 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,927 - ERROR - Error in episode 782: name 'args' is not defined +2025-03-10 15:29:51,929 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,929 - ERROR - Error in episode 783: name 'args' is not defined +2025-03-10 15:29:51,933 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,933 - ERROR - Error in episode 784: name 'args' is not defined +2025-03-10 15:29:51,936 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,936 - ERROR - Error in episode 785: name 'args' is not defined +2025-03-10 15:29:51,939 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,940 - ERROR - Error in episode 786: name 'args' is not defined +2025-03-10 15:29:51,943 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,943 - ERROR - Error in episode 787: name 'args' is not defined +2025-03-10 15:29:51,946 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,946 - ERROR - Error in episode 788: name 'args' is not defined +2025-03-10 15:29:51,949 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,949 - ERROR - Error in episode 789: name 'args' is not defined +2025-03-10 15:29:51,952 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,952 - ERROR - Error in episode 790: name 'args' is not defined +2025-03-10 15:29:51,954 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,955 - ERROR - Error in episode 791: name 'args' is not defined +2025-03-10 15:29:51,958 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,958 - ERROR - Error in episode 792: name 'args' is not defined +2025-03-10 15:29:51,960 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,961 - ERROR - Error in episode 793: name 'args' is not defined +2025-03-10 15:29:51,964 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,964 - ERROR - Error in episode 794: name 'args' is not defined +2025-03-10 15:29:51,967 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,967 - ERROR - Error in episode 795: name 'args' is not defined +2025-03-10 15:29:51,970 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,970 - ERROR - Error in episode 796: name 'args' is not defined +2025-03-10 15:29:51,974 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,974 - ERROR - Error in episode 797: name 'args' is not defined +2025-03-10 15:29:51,977 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,977 - ERROR - Error in episode 798: name 'args' is not defined +2025-03-10 15:29:51,979 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,980 - ERROR - Error in episode 799: name 'args' is not defined +2025-03-10 15:29:51,983 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,983 - ERROR - Error in episode 800: name 'args' is not defined +2025-03-10 15:29:51,986 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,986 - ERROR - Error in episode 801: name 'args' is not defined +2025-03-10 15:29:51,989 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,989 - ERROR - Error in episode 802: name 'args' is not defined +2025-03-10 15:29:51,992 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,992 - ERROR - Error in episode 803: name 'args' is not defined +2025-03-10 15:29:51,996 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:51,996 - ERROR - Error in episode 804: name 'args' is not defined +2025-03-10 15:29:51,999 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,000 - ERROR - Error in episode 805: name 'args' is not defined +2025-03-10 15:29:52,002 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,002 - ERROR - Error in episode 806: name 'args' is not defined +2025-03-10 15:29:52,005 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,005 - ERROR - Error in episode 807: name 'args' is not defined +2025-03-10 15:29:52,008 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,008 - ERROR - Error in episode 808: name 'args' is not defined +2025-03-10 15:29:52,011 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,011 - ERROR - Error in episode 809: name 'args' is not defined +2025-03-10 15:29:52,014 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,014 - ERROR - Error in episode 810: name 'args' is not defined +2025-03-10 15:29:52,017 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,018 - ERROR - Error in episode 811: name 'args' is not defined +2025-03-10 15:29:52,020 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,020 - ERROR - Error in episode 812: name 'args' is not defined +2025-03-10 15:29:52,023 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,024 - ERROR - Error in episode 813: name 'args' is not defined +2025-03-10 15:29:52,026 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,026 - ERROR - Error in episode 814: name 'args' is not defined +2025-03-10 15:29:52,029 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,029 - ERROR - Error in episode 815: name 'args' is not defined +2025-03-10 15:29:52,032 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,033 - ERROR - Error in episode 816: name 'args' is not defined +2025-03-10 15:29:52,035 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,036 - ERROR - Error in episode 817: name 'args' is not defined +2025-03-10 15:29:52,038 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,039 - ERROR - Error in episode 818: name 'args' is not defined +2025-03-10 15:29:52,041 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,042 - ERROR - Error in episode 819: name 'args' is not defined +2025-03-10 15:29:52,044 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,045 - ERROR - Error in episode 820: name 'args' is not defined +2025-03-10 15:29:52,048 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,048 - ERROR - Error in episode 821: name 'args' is not defined +2025-03-10 15:29:52,051 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,051 - ERROR - Error in episode 822: name 'args' is not defined +2025-03-10 15:29:52,053 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,054 - ERROR - Error in episode 823: name 'args' is not defined +2025-03-10 15:29:52,057 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,057 - ERROR - Error in episode 824: name 'args' is not defined +2025-03-10 15:29:52,060 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,060 - ERROR - Error in episode 825: name 'args' is not defined +2025-03-10 15:29:52,063 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,063 - ERROR - Error in episode 826: name 'args' is not defined +2025-03-10 15:29:52,066 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,067 - ERROR - Error in episode 827: name 'args' is not defined +2025-03-10 15:29:52,069 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,070 - ERROR - Error in episode 828: name 'args' is not defined +2025-03-10 15:29:52,072 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,072 - ERROR - Error in episode 829: name 'args' is not defined +2025-03-10 15:29:52,074 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,075 - ERROR - Error in episode 830: name 'args' is not defined +2025-03-10 15:29:52,078 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,078 - ERROR - Error in episode 831: name 'args' is not defined +2025-03-10 15:29:52,081 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,082 - ERROR - Error in episode 832: name 'args' is not defined +2025-03-10 15:29:52,084 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,084 - ERROR - Error in episode 833: name 'args' is not defined +2025-03-10 15:29:52,087 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,087 - ERROR - Error in episode 834: name 'args' is not defined +2025-03-10 15:29:52,090 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,090 - ERROR - Error in episode 835: name 'args' is not defined +2025-03-10 15:29:52,093 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,093 - ERROR - Error in episode 836: name 'args' is not defined +2025-03-10 15:29:52,096 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,096 - ERROR - Error in episode 837: name 'args' is not defined +2025-03-10 15:29:52,099 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,099 - ERROR - Error in episode 838: name 'args' is not defined +2025-03-10 15:29:52,101 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,102 - ERROR - Error in episode 839: name 'args' is not defined +2025-03-10 15:29:52,104 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,104 - ERROR - Error in episode 840: name 'args' is not defined +2025-03-10 15:29:52,107 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,107 - ERROR - Error in episode 841: name 'args' is not defined +2025-03-10 15:29:52,110 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,110 - ERROR - Error in episode 842: name 'args' is not defined +2025-03-10 15:29:52,112 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,113 - ERROR - Error in episode 843: name 'args' is not defined +2025-03-10 15:29:52,116 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,116 - ERROR - Error in episode 844: name 'args' is not defined +2025-03-10 15:29:52,119 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,119 - ERROR - Error in episode 845: name 'args' is not defined +2025-03-10 15:29:52,122 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,122 - ERROR - Error in episode 846: name 'args' is not defined +2025-03-10 15:29:52,125 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,125 - ERROR - Error in episode 847: name 'args' is not defined +2025-03-10 15:29:52,128 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,128 - ERROR - Error in episode 848: name 'args' is not defined +2025-03-10 15:29:52,131 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,131 - ERROR - Error in episode 849: name 'args' is not defined +2025-03-10 15:29:52,134 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,134 - ERROR - Error in episode 850: name 'args' is not defined +2025-03-10 15:29:52,136 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,137 - ERROR - Error in episode 851: name 'args' is not defined +2025-03-10 15:29:52,139 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,139 - ERROR - Error in episode 852: name 'args' is not defined +2025-03-10 15:29:52,142 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,143 - ERROR - Error in episode 853: name 'args' is not defined +2025-03-10 15:29:52,146 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,146 - ERROR - Error in episode 854: name 'args' is not defined +2025-03-10 15:29:52,149 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,149 - ERROR - Error in episode 855: name 'args' is not defined +2025-03-10 15:29:52,152 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,152 - ERROR - Error in episode 856: name 'args' is not defined +2025-03-10 15:29:52,155 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,155 - ERROR - Error in episode 857: name 'args' is not defined +2025-03-10 15:29:52,158 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,158 - ERROR - Error in episode 858: name 'args' is not defined +2025-03-10 15:29:52,161 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,161 - ERROR - Error in episode 859: name 'args' is not defined +2025-03-10 15:29:52,164 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,164 - ERROR - Error in episode 860: name 'args' is not defined +2025-03-10 15:29:52,167 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,168 - ERROR - Error in episode 861: name 'args' is not defined +2025-03-10 15:29:52,170 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,170 - ERROR - Error in episode 862: name 'args' is not defined +2025-03-10 15:29:52,173 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,173 - ERROR - Error in episode 863: name 'args' is not defined +2025-03-10 15:29:52,176 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,176 - ERROR - Error in episode 864: name 'args' is not defined +2025-03-10 15:29:52,178 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,179 - ERROR - Error in episode 865: name 'args' is not defined +2025-03-10 15:29:52,181 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,182 - ERROR - Error in episode 866: name 'args' is not defined +2025-03-10 15:29:52,184 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,184 - ERROR - Error in episode 867: name 'args' is not defined +2025-03-10 15:29:52,187 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,187 - ERROR - Error in episode 868: name 'args' is not defined +2025-03-10 15:29:52,191 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,191 - ERROR - Error in episode 869: name 'args' is not defined +2025-03-10 15:29:52,194 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,194 - ERROR - Error in episode 870: name 'args' is not defined +2025-03-10 15:29:52,196 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,197 - ERROR - Error in episode 871: name 'args' is not defined +2025-03-10 15:29:52,199 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,200 - ERROR - Error in episode 872: name 'args' is not defined +2025-03-10 15:29:52,202 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,203 - ERROR - Error in episode 873: name 'args' is not defined +2025-03-10 15:29:52,206 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,206 - ERROR - Error in episode 874: name 'args' is not defined +2025-03-10 15:29:52,208 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,209 - ERROR - Error in episode 875: name 'args' is not defined +2025-03-10 15:29:52,211 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,211 - ERROR - Error in episode 876: name 'args' is not defined +2025-03-10 15:29:52,214 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,214 - ERROR - Error in episode 877: name 'args' is not defined +2025-03-10 15:29:52,217 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,217 - ERROR - Error in episode 878: name 'args' is not defined +2025-03-10 15:29:52,219 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,220 - ERROR - Error in episode 879: name 'args' is not defined +2025-03-10 15:29:52,223 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,223 - ERROR - Error in episode 880: name 'args' is not defined +2025-03-10 15:29:52,225 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,225 - ERROR - Error in episode 881: name 'args' is not defined +2025-03-10 15:29:52,228 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,228 - ERROR - Error in episode 882: name 'args' is not defined +2025-03-10 15:29:52,231 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,231 - ERROR - Error in episode 883: name 'args' is not defined +2025-03-10 15:29:52,234 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,234 - ERROR - Error in episode 884: name 'args' is not defined +2025-03-10 15:29:52,236 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,237 - ERROR - Error in episode 885: name 'args' is not defined +2025-03-10 15:29:52,239 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,240 - ERROR - Error in episode 886: name 'args' is not defined +2025-03-10 15:29:52,242 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,243 - ERROR - Error in episode 887: name 'args' is not defined +2025-03-10 15:29:52,246 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,246 - ERROR - Error in episode 888: name 'args' is not defined +2025-03-10 15:29:52,249 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,249 - ERROR - Error in episode 889: name 'args' is not defined +2025-03-10 15:29:52,252 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,252 - ERROR - Error in episode 890: name 'args' is not defined +2025-03-10 15:29:52,255 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,255 - ERROR - Error in episode 891: name 'args' is not defined +2025-03-10 15:29:52,258 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,258 - ERROR - Error in episode 892: name 'args' is not defined +2025-03-10 15:29:52,260 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,261 - ERROR - Error in episode 893: name 'args' is not defined +2025-03-10 15:29:52,264 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,264 - ERROR - Error in episode 894: name 'args' is not defined +2025-03-10 15:29:52,267 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,268 - ERROR - Error in episode 895: name 'args' is not defined +2025-03-10 15:29:52,270 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,271 - ERROR - Error in episode 896: name 'args' is not defined +2025-03-10 15:29:52,274 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,274 - ERROR - Error in episode 897: name 'args' is not defined +2025-03-10 15:29:52,277 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,277 - ERROR - Error in episode 898: name 'args' is not defined +2025-03-10 15:29:52,279 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,280 - ERROR - Error in episode 899: name 'args' is not defined +2025-03-10 15:29:52,283 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,283 - ERROR - Error in episode 900: name 'args' is not defined +2025-03-10 15:29:52,286 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,286 - ERROR - Error in episode 901: name 'args' is not defined +2025-03-10 15:29:52,288 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,289 - ERROR - Error in episode 902: name 'args' is not defined +2025-03-10 15:29:52,291 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,292 - ERROR - Error in episode 903: name 'args' is not defined +2025-03-10 15:29:52,295 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,295 - ERROR - Error in episode 904: name 'args' is not defined +2025-03-10 15:29:52,298 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,299 - ERROR - Error in episode 905: name 'args' is not defined +2025-03-10 15:29:52,301 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,301 - ERROR - Error in episode 906: name 'args' is not defined +2025-03-10 15:29:52,304 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,304 - ERROR - Error in episode 907: name 'args' is not defined +2025-03-10 15:29:52,307 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,307 - ERROR - Error in episode 908: name 'args' is not defined +2025-03-10 15:29:52,310 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,310 - ERROR - Error in episode 909: name 'args' is not defined +2025-03-10 15:29:52,313 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,314 - ERROR - Error in episode 910: name 'args' is not defined +2025-03-10 15:29:52,317 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,317 - ERROR - Error in episode 911: name 'args' is not defined +2025-03-10 15:29:52,319 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,319 - ERROR - Error in episode 912: name 'args' is not defined +2025-03-10 15:29:52,322 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,322 - ERROR - Error in episode 913: name 'args' is not defined +2025-03-10 15:29:52,324 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,325 - ERROR - Error in episode 914: name 'args' is not defined +2025-03-10 15:29:52,328 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,328 - ERROR - Error in episode 915: name 'args' is not defined +2025-03-10 15:29:52,331 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,331 - ERROR - Error in episode 916: name 'args' is not defined +2025-03-10 15:29:52,334 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,334 - ERROR - Error in episode 917: name 'args' is not defined +2025-03-10 15:29:52,337 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,337 - ERROR - Error in episode 918: name 'args' is not defined +2025-03-10 15:29:52,339 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,340 - ERROR - Error in episode 919: name 'args' is not defined +2025-03-10 15:29:52,342 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,343 - ERROR - Error in episode 920: name 'args' is not defined +2025-03-10 15:29:52,345 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,346 - ERROR - Error in episode 921: name 'args' is not defined +2025-03-10 15:29:52,349 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,349 - ERROR - Error in episode 922: name 'args' is not defined +2025-03-10 15:29:52,351 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,352 - ERROR - Error in episode 923: name 'args' is not defined +2025-03-10 15:29:52,354 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,355 - ERROR - Error in episode 924: name 'args' is not defined +2025-03-10 15:29:52,358 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,358 - ERROR - Error in episode 925: name 'args' is not defined +2025-03-10 15:29:52,360 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,361 - ERROR - Error in episode 926: name 'args' is not defined +2025-03-10 15:29:52,363 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,363 - ERROR - Error in episode 927: name 'args' is not defined +2025-03-10 15:29:52,366 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,366 - ERROR - Error in episode 928: name 'args' is not defined +2025-03-10 15:29:52,369 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,369 - ERROR - Error in episode 929: name 'args' is not defined +2025-03-10 15:29:52,372 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,373 - ERROR - Error in episode 930: name 'args' is not defined +2025-03-10 15:29:52,375 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,375 - ERROR - Error in episode 931: name 'args' is not defined +2025-03-10 15:29:52,378 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,379 - ERROR - Error in episode 932: name 'args' is not defined +2025-03-10 15:29:52,382 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,382 - ERROR - Error in episode 933: name 'args' is not defined +2025-03-10 15:29:52,384 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,385 - ERROR - Error in episode 934: name 'args' is not defined +2025-03-10 15:29:52,387 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,387 - ERROR - Error in episode 935: name 'args' is not defined +2025-03-10 15:29:52,390 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,391 - ERROR - Error in episode 936: name 'args' is not defined +2025-03-10 15:29:52,393 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,394 - ERROR - Error in episode 937: name 'args' is not defined +2025-03-10 15:29:52,396 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,396 - ERROR - Error in episode 938: name 'args' is not defined +2025-03-10 15:29:52,399 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,399 - ERROR - Error in episode 939: name 'args' is not defined +2025-03-10 15:29:52,402 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,402 - ERROR - Error in episode 940: name 'args' is not defined +2025-03-10 15:29:52,405 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,405 - ERROR - Error in episode 941: name 'args' is not defined +2025-03-10 15:29:52,408 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,408 - ERROR - Error in episode 942: name 'args' is not defined +2025-03-10 15:29:52,410 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,411 - ERROR - Error in episode 943: name 'args' is not defined +2025-03-10 15:29:52,413 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,413 - ERROR - Error in episode 944: name 'args' is not defined +2025-03-10 15:29:52,416 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,416 - ERROR - Error in episode 945: name 'args' is not defined +2025-03-10 15:29:52,419 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,419 - ERROR - Error in episode 946: name 'args' is not defined +2025-03-10 15:29:52,422 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,422 - ERROR - Error in episode 947: name 'args' is not defined +2025-03-10 15:29:52,425 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,425 - ERROR - Error in episode 948: name 'args' is not defined +2025-03-10 15:29:52,428 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,428 - ERROR - Error in episode 949: name 'args' is not defined +2025-03-10 15:29:52,431 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,431 - ERROR - Error in episode 950: name 'args' is not defined +2025-03-10 15:29:52,434 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,434 - ERROR - Error in episode 951: name 'args' is not defined +2025-03-10 15:29:52,436 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,437 - ERROR - Error in episode 952: name 'args' is not defined +2025-03-10 15:29:52,439 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,439 - ERROR - Error in episode 953: name 'args' is not defined +2025-03-10 15:29:52,442 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,442 - ERROR - Error in episode 954: name 'args' is not defined +2025-03-10 15:29:52,444 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,445 - ERROR - Error in episode 955: name 'args' is not defined +2025-03-10 15:29:52,447 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,448 - ERROR - Error in episode 956: name 'args' is not defined +2025-03-10 15:29:52,450 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,450 - ERROR - Error in episode 957: name 'args' is not defined +2025-03-10 15:29:52,453 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,454 - ERROR - Error in episode 958: name 'args' is not defined +2025-03-10 15:29:52,456 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,456 - ERROR - Error in episode 959: name 'args' is not defined +2025-03-10 15:29:52,459 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,459 - ERROR - Error in episode 960: name 'args' is not defined +2025-03-10 15:29:52,461 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,461 - ERROR - Error in episode 961: name 'args' is not defined +2025-03-10 15:29:52,465 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,465 - ERROR - Error in episode 962: name 'args' is not defined +2025-03-10 15:29:52,467 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,467 - ERROR - Error in episode 963: name 'args' is not defined +2025-03-10 15:29:52,470 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,470 - ERROR - Error in episode 964: name 'args' is not defined +2025-03-10 15:29:52,474 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,474 - ERROR - Error in episode 965: name 'args' is not defined +2025-03-10 15:29:52,476 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,477 - ERROR - Error in episode 966: name 'args' is not defined +2025-03-10 15:29:52,479 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,479 - ERROR - Error in episode 967: name 'args' is not defined +2025-03-10 15:29:52,482 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,482 - ERROR - Error in episode 968: name 'args' is not defined +2025-03-10 15:29:52,485 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,485 - ERROR - Error in episode 969: name 'args' is not defined +2025-03-10 15:29:52,487 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,488 - ERROR - Error in episode 970: name 'args' is not defined +2025-03-10 15:29:52,490 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,491 - ERROR - Error in episode 971: name 'args' is not defined +2025-03-10 15:29:52,493 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,493 - ERROR - Error in episode 972: name 'args' is not defined +2025-03-10 15:29:52,496 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,496 - ERROR - Error in episode 973: name 'args' is not defined +2025-03-10 15:29:52,499 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,499 - ERROR - Error in episode 974: name 'args' is not defined +2025-03-10 15:29:52,501 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,502 - ERROR - Error in episode 975: name 'args' is not defined +2025-03-10 15:29:52,504 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,505 - ERROR - Error in episode 976: name 'args' is not defined +2025-03-10 15:29:52,507 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,507 - ERROR - Error in episode 977: name 'args' is not defined +2025-03-10 15:29:52,510 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,510 - ERROR - Error in episode 978: name 'args' is not defined +2025-03-10 15:29:52,512 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,513 - ERROR - Error in episode 979: name 'args' is not defined +2025-03-10 15:29:52,516 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,516 - ERROR - Error in episode 980: name 'args' is not defined +2025-03-10 15:29:52,519 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,519 - ERROR - Error in episode 981: name 'args' is not defined +2025-03-10 15:29:52,522 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,522 - ERROR - Error in episode 982: name 'args' is not defined +2025-03-10 15:29:52,525 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,525 - ERROR - Error in episode 983: name 'args' is not defined +2025-03-10 15:29:52,528 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,528 - ERROR - Error in episode 984: name 'args' is not defined +2025-03-10 15:29:52,531 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,531 - ERROR - Error in episode 985: name 'args' is not defined +2025-03-10 15:29:52,534 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,534 - ERROR - Error in episode 986: name 'args' is not defined +2025-03-10 15:29:52,536 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,537 - ERROR - Error in episode 987: name 'args' is not defined +2025-03-10 15:29:52,539 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,539 - ERROR - Error in episode 988: name 'args' is not defined +2025-03-10 15:29:52,542 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,542 - ERROR - Error in episode 989: name 'args' is not defined +2025-03-10 15:29:52,545 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,545 - ERROR - Error in episode 990: name 'args' is not defined +2025-03-10 15:29:52,548 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,548 - ERROR - Error in episode 991: name 'args' is not defined +2025-03-10 15:29:52,551 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,551 - ERROR - Error in episode 992: name 'args' is not defined +2025-03-10 15:29:52,554 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,554 - ERROR - Error in episode 993: name 'args' is not defined +2025-03-10 15:29:52,557 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,558 - ERROR - Error in episode 994: name 'args' is not defined +2025-03-10 15:29:52,560 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,561 - ERROR - Error in episode 995: name 'args' is not defined +2025-03-10 15:29:52,564 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,564 - ERROR - Error in episode 996: name 'args' is not defined +2025-03-10 15:29:52,567 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,567 - ERROR - Error in episode 997: name 'args' is not defined +2025-03-10 15:29:52,569 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,570 - ERROR - Error in episode 998: name 'args' is not defined +2025-03-10 15:29:52,572 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,572 - ERROR - Error in episode 999: name 'args' is not defined +2025-03-10 15:29:52,575 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,575 - ERROR - Error in episode 1000: name 'args' is not defined +2025-03-10 15:29:52,578 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,578 - ERROR - Error in episode 1001: name 'args' is not defined +2025-03-10 15:29:52,582 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,582 - ERROR - Error in episode 1002: name 'args' is not defined +2025-03-10 15:29:52,585 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,585 - ERROR - Error in episode 1003: name 'args' is not defined +2025-03-10 15:29:52,588 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,588 - ERROR - Error in episode 1004: name 'args' is not defined +2025-03-10 15:29:52,591 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,591 - ERROR - Error in episode 1005: name 'args' is not defined +2025-03-10 15:29:52,593 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,594 - ERROR - Error in episode 1006: name 'args' is not defined +2025-03-10 15:29:52,596 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,597 - ERROR - Error in episode 1007: name 'args' is not defined +2025-03-10 15:29:52,600 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,600 - ERROR - Error in episode 1008: name 'args' is not defined +2025-03-10 15:29:52,602 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,602 - ERROR - Error in episode 1009: name 'args' is not defined +2025-03-10 15:29:52,605 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,605 - ERROR - Error in episode 1010: name 'args' is not defined +2025-03-10 15:29:52,608 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,608 - ERROR - Error in episode 1011: name 'args' is not defined +2025-03-10 15:29:52,610 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,611 - ERROR - Error in episode 1012: name 'args' is not defined +2025-03-10 15:29:52,613 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,614 - ERROR - Error in episode 1013: name 'args' is not defined +2025-03-10 15:29:52,616 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,617 - ERROR - Error in episode 1014: name 'args' is not defined +2025-03-10 15:29:52,619 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,619 - ERROR - Error in episode 1015: name 'args' is not defined +2025-03-10 15:29:52,621 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,622 - ERROR - Error in episode 1016: name 'args' is not defined +2025-03-10 15:29:52,625 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,625 - ERROR - Error in episode 1017: name 'args' is not defined +2025-03-10 15:29:52,627 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,628 - ERROR - Error in episode 1018: name 'args' is not defined +2025-03-10 15:29:52,630 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,630 - ERROR - Error in episode 1019: name 'args' is not defined +2025-03-10 15:29:52,634 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,635 - ERROR - Error in episode 1020: name 'args' is not defined +2025-03-10 15:29:52,638 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,638 - ERROR - Error in episode 1021: name 'args' is not defined +2025-03-10 15:29:52,641 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,641 - ERROR - Error in episode 1022: name 'args' is not defined +2025-03-10 15:29:52,644 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,644 - ERROR - Error in episode 1023: name 'args' is not defined +2025-03-10 15:29:52,647 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,648 - ERROR - Error in episode 1024: name 'args' is not defined +2025-03-10 15:29:52,651 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,651 - ERROR - Error in episode 1025: name 'args' is not defined +2025-03-10 15:29:52,654 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,654 - ERROR - Error in episode 1026: name 'args' is not defined +2025-03-10 15:29:52,657 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,658 - ERROR - Error in episode 1027: name 'args' is not defined +2025-03-10 15:29:52,660 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,661 - ERROR - Error in episode 1028: name 'args' is not defined +2025-03-10 15:29:52,663 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,663 - ERROR - Error in episode 1029: name 'args' is not defined +2025-03-10 15:29:52,666 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,666 - ERROR - Error in episode 1030: name 'args' is not defined +2025-03-10 15:29:52,669 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,669 - ERROR - Error in episode 1031: name 'args' is not defined +2025-03-10 15:29:52,671 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,672 - ERROR - Error in episode 1032: name 'args' is not defined +2025-03-10 15:29:52,675 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,675 - ERROR - Error in episode 1033: name 'args' is not defined +2025-03-10 15:29:52,677 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,678 - ERROR - Error in episode 1034: name 'args' is not defined +2025-03-10 15:29:52,680 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,681 - ERROR - Error in episode 1035: name 'args' is not defined +2025-03-10 15:29:52,683 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,684 - ERROR - Error in episode 1036: name 'args' is not defined +2025-03-10 15:29:52,686 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,686 - ERROR - Error in episode 1037: name 'args' is not defined +2025-03-10 15:29:52,689 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,689 - ERROR - Error in episode 1038: name 'args' is not defined +2025-03-10 15:29:52,692 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,692 - ERROR - Error in episode 1039: name 'args' is not defined +2025-03-10 15:29:52,695 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,695 - ERROR - Error in episode 1040: name 'args' is not defined +2025-03-10 15:29:52,698 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,699 - ERROR - Error in episode 1041: name 'args' is not defined +2025-03-10 15:29:52,701 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,701 - ERROR - Error in episode 1042: name 'args' is not defined +2025-03-10 15:29:52,704 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,704 - ERROR - Error in episode 1043: name 'args' is not defined +2025-03-10 15:29:52,707 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,707 - ERROR - Error in episode 1044: name 'args' is not defined +2025-03-10 15:29:52,709 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,710 - ERROR - Error in episode 1045: name 'args' is not defined +2025-03-10 15:29:52,712 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,712 - ERROR - Error in episode 1046: name 'args' is not defined +2025-03-10 15:29:52,715 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,716 - ERROR - Error in episode 1047: name 'args' is not defined +2025-03-10 15:29:52,718 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,719 - ERROR - Error in episode 1048: name 'args' is not defined +2025-03-10 15:29:52,721 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,721 - ERROR - Error in episode 1049: name 'args' is not defined +2025-03-10 15:29:52,724 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,724 - ERROR - Error in episode 1050: name 'args' is not defined +2025-03-10 15:29:52,726 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,727 - ERROR - Error in episode 1051: name 'args' is not defined +2025-03-10 15:29:52,729 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,729 - ERROR - Error in episode 1052: name 'args' is not defined +2025-03-10 15:29:52,732 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,732 - ERROR - Error in episode 1053: name 'args' is not defined +2025-03-10 15:29:52,735 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,735 - ERROR - Error in episode 1054: name 'args' is not defined +2025-03-10 15:29:52,737 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,738 - ERROR - Error in episode 1055: name 'args' is not defined +2025-03-10 15:29:52,741 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,741 - ERROR - Error in episode 1056: name 'args' is not defined +2025-03-10 15:29:52,743 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,744 - ERROR - Error in episode 1057: name 'args' is not defined +2025-03-10 15:29:52,746 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,746 - ERROR - Error in episode 1058: name 'args' is not defined +2025-03-10 15:29:52,749 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,749 - ERROR - Error in episode 1059: name 'args' is not defined +2025-03-10 15:29:52,752 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,752 - ERROR - Error in episode 1060: name 'args' is not defined +2025-03-10 15:29:52,755 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,756 - ERROR - Error in episode 1061: name 'args' is not defined +2025-03-10 15:29:52,758 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,759 - ERROR - Error in episode 1062: name 'args' is not defined +2025-03-10 15:29:52,761 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,762 - ERROR - Error in episode 1063: name 'args' is not defined +2025-03-10 15:29:52,764 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,765 - ERROR - Error in episode 1064: name 'args' is not defined +2025-03-10 15:29:52,767 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,767 - ERROR - Error in episode 1065: name 'args' is not defined +2025-03-10 15:29:52,770 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,770 - ERROR - Error in episode 1066: name 'args' is not defined +2025-03-10 15:29:52,773 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,773 - ERROR - Error in episode 1067: name 'args' is not defined +2025-03-10 15:29:52,775 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,776 - ERROR - Error in episode 1068: name 'args' is not defined +2025-03-10 15:29:52,778 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,779 - ERROR - Error in episode 1069: name 'args' is not defined +2025-03-10 15:29:52,782 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,782 - ERROR - Error in episode 1070: name 'args' is not defined +2025-03-10 15:29:52,785 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,785 - ERROR - Error in episode 1071: name 'args' is not defined +2025-03-10 15:29:52,788 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,788 - ERROR - Error in episode 1072: name 'args' is not defined +2025-03-10 15:29:52,791 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,791 - ERROR - Error in episode 1073: name 'args' is not defined +2025-03-10 15:29:52,794 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,794 - ERROR - Error in episode 1074: name 'args' is not defined +2025-03-10 15:29:52,796 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,797 - ERROR - Error in episode 1075: name 'args' is not defined +2025-03-10 15:29:52,799 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,800 - ERROR - Error in episode 1076: name 'args' is not defined +2025-03-10 15:29:52,802 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,802 - ERROR - Error in episode 1077: name 'args' is not defined +2025-03-10 15:29:52,804 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,805 - ERROR - Error in episode 1078: name 'args' is not defined +2025-03-10 15:29:52,808 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,808 - ERROR - Error in episode 1079: name 'args' is not defined +2025-03-10 15:29:52,810 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,810 - ERROR - Error in episode 1080: name 'args' is not defined +2025-03-10 15:29:52,814 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,814 - ERROR - Error in episode 1081: name 'args' is not defined +2025-03-10 15:29:52,817 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,817 - ERROR - Error in episode 1082: name 'args' is not defined +2025-03-10 15:29:52,819 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,820 - ERROR - Error in episode 1083: name 'args' is not defined +2025-03-10 15:29:52,822 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,822 - ERROR - Error in episode 1084: name 'args' is not defined +2025-03-10 15:29:52,825 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,825 - ERROR - Error in episode 1085: name 'args' is not defined +2025-03-10 15:29:52,827 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,828 - ERROR - Error in episode 1086: name 'args' is not defined +2025-03-10 15:29:52,830 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,830 - ERROR - Error in episode 1087: name 'args' is not defined +2025-03-10 15:29:52,833 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,833 - ERROR - Error in episode 1088: name 'args' is not defined +2025-03-10 15:29:52,835 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,836 - ERROR - Error in episode 1089: name 'args' is not defined +2025-03-10 15:29:52,838 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,838 - ERROR - Error in episode 1090: name 'args' is not defined +2025-03-10 15:29:52,841 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,841 - ERROR - Error in episode 1091: name 'args' is not defined +2025-03-10 15:29:52,844 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,845 - ERROR - Error in episode 1092: name 'args' is not defined +2025-03-10 15:29:52,847 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,847 - ERROR - Error in episode 1093: name 'args' is not defined +2025-03-10 15:29:52,850 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,850 - ERROR - Error in episode 1094: name 'args' is not defined +2025-03-10 15:29:52,854 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,854 - ERROR - Error in episode 1095: name 'args' is not defined +2025-03-10 15:29:52,857 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,857 - ERROR - Error in episode 1096: name 'args' is not defined +2025-03-10 15:29:52,860 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,860 - ERROR - Error in episode 1097: name 'args' is not defined +2025-03-10 15:29:52,863 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,863 - ERROR - Error in episode 1098: name 'args' is not defined +2025-03-10 15:29:52,866 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,866 - ERROR - Error in episode 1099: name 'args' is not defined +2025-03-10 15:29:52,868 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,869 - ERROR - Error in episode 1100: name 'args' is not defined +2025-03-10 15:29:52,871 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,871 - ERROR - Error in episode 1101: name 'args' is not defined +2025-03-10 15:29:52,875 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,875 - ERROR - Error in episode 1102: name 'args' is not defined +2025-03-10 15:29:52,877 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,878 - ERROR - Error in episode 1103: name 'args' is not defined +2025-03-10 15:29:52,880 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,880 - ERROR - Error in episode 1104: name 'args' is not defined +2025-03-10 15:29:52,883 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,883 - ERROR - Error in episode 1105: name 'args' is not defined +2025-03-10 15:29:52,886 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,886 - ERROR - Error in episode 1106: name 'args' is not defined +2025-03-10 15:29:52,888 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,889 - ERROR - Error in episode 1107: name 'args' is not defined +2025-03-10 15:29:52,891 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,892 - ERROR - Error in episode 1108: name 'args' is not defined +2025-03-10 15:29:52,894 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,895 - ERROR - Error in episode 1109: name 'args' is not defined +2025-03-10 15:29:52,897 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,897 - ERROR - Error in episode 1110: name 'args' is not defined +2025-03-10 15:29:52,900 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,900 - ERROR - Error in episode 1111: name 'args' is not defined +2025-03-10 15:29:52,903 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,903 - ERROR - Error in episode 1112: name 'args' is not defined +2025-03-10 15:29:52,905 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,906 - ERROR - Error in episode 1113: name 'args' is not defined +2025-03-10 15:29:52,909 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,909 - ERROR - Error in episode 1114: name 'args' is not defined +2025-03-10 15:29:52,912 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,912 - ERROR - Error in episode 1115: name 'args' is not defined +2025-03-10 15:29:52,914 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,915 - ERROR - Error in episode 1116: name 'args' is not defined +2025-03-10 15:29:52,917 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,918 - ERROR - Error in episode 1117: name 'args' is not defined +2025-03-10 15:29:52,921 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,922 - ERROR - Error in episode 1118: name 'args' is not defined +2025-03-10 15:29:52,925 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,925 - ERROR - Error in episode 1119: name 'args' is not defined +2025-03-10 15:29:52,927 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,928 - ERROR - Error in episode 1120: name 'args' is not defined +2025-03-10 15:29:52,930 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,930 - ERROR - Error in episode 1121: name 'args' is not defined +2025-03-10 15:29:52,933 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,934 - ERROR - Error in episode 1122: name 'args' is not defined +2025-03-10 15:29:52,936 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,936 - ERROR - Error in episode 1123: name 'args' is not defined +2025-03-10 15:29:52,939 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,939 - ERROR - Error in episode 1124: name 'args' is not defined +2025-03-10 15:29:52,942 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,943 - ERROR - Error in episode 1125: name 'args' is not defined +2025-03-10 15:29:52,945 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,945 - ERROR - Error in episode 1126: name 'args' is not defined +2025-03-10 15:29:52,948 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,948 - ERROR - Error in episode 1127: name 'args' is not defined +2025-03-10 15:29:52,951 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,951 - ERROR - Error in episode 1128: name 'args' is not defined +2025-03-10 15:29:52,953 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,954 - ERROR - Error in episode 1129: name 'args' is not defined +2025-03-10 15:29:52,956 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,957 - ERROR - Error in episode 1130: name 'args' is not defined +2025-03-10 15:29:52,959 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,960 - ERROR - Error in episode 1131: name 'args' is not defined +2025-03-10 15:29:52,962 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,963 - ERROR - Error in episode 1132: name 'args' is not defined +2025-03-10 15:29:52,966 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,966 - ERROR - Error in episode 1133: name 'args' is not defined +2025-03-10 15:29:52,969 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,969 - ERROR - Error in episode 1134: name 'args' is not defined +2025-03-10 15:29:52,971 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,972 - ERROR - Error in episode 1135: name 'args' is not defined +2025-03-10 15:29:52,974 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,975 - ERROR - Error in episode 1136: name 'args' is not defined +2025-03-10 15:29:52,977 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,977 - ERROR - Error in episode 1137: name 'args' is not defined +2025-03-10 15:29:52,980 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,980 - ERROR - Error in episode 1138: name 'args' is not defined +2025-03-10 15:29:52,983 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,983 - ERROR - Error in episode 1139: name 'args' is not defined +2025-03-10 15:29:52,985 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,986 - ERROR - Error in episode 1140: name 'args' is not defined +2025-03-10 15:29:52,988 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,988 - ERROR - Error in episode 1141: name 'args' is not defined +2025-03-10 15:29:52,991 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,991 - ERROR - Error in episode 1142: name 'args' is not defined +2025-03-10 15:29:52,994 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,994 - ERROR - Error in episode 1143: name 'args' is not defined +2025-03-10 15:29:52,996 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:52,997 - ERROR - Error in episode 1144: name 'args' is not defined +2025-03-10 15:29:52,999 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,000 - ERROR - Error in episode 1145: name 'args' is not defined +2025-03-10 15:29:53,002 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,002 - ERROR - Error in episode 1146: name 'args' is not defined +2025-03-10 15:29:53,005 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,005 - ERROR - Error in episode 1147: name 'args' is not defined +2025-03-10 15:29:53,008 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,008 - ERROR - Error in episode 1148: name 'args' is not defined +2025-03-10 15:29:53,011 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,011 - ERROR - Error in episode 1149: name 'args' is not defined +2025-03-10 15:29:53,014 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,014 - ERROR - Error in episode 1150: name 'args' is not defined +2025-03-10 15:29:53,017 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,018 - ERROR - Error in episode 1151: name 'args' is not defined +2025-03-10 15:29:53,021 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,021 - ERROR - Error in episode 1152: name 'args' is not defined +2025-03-10 15:29:53,024 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,024 - ERROR - Error in episode 1153: name 'args' is not defined +2025-03-10 15:29:53,027 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,027 - ERROR - Error in episode 1154: name 'args' is not defined +2025-03-10 15:29:53,029 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,030 - ERROR - Error in episode 1155: name 'args' is not defined +2025-03-10 15:29:53,033 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,033 - ERROR - Error in episode 1156: name 'args' is not defined +2025-03-10 15:29:53,035 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,036 - ERROR - Error in episode 1157: name 'args' is not defined +2025-03-10 15:29:53,038 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,038 - ERROR - Error in episode 1158: name 'args' is not defined +2025-03-10 15:29:53,041 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,041 - ERROR - Error in episode 1159: name 'args' is not defined +2025-03-10 15:29:53,044 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,044 - ERROR - Error in episode 1160: name 'args' is not defined +2025-03-10 15:29:53,046 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,048 - ERROR - Error in episode 1161: name 'args' is not defined +2025-03-10 15:29:53,050 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,051 - ERROR - Error in episode 1162: name 'args' is not defined +2025-03-10 15:29:53,053 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,054 - ERROR - Error in episode 1163: name 'args' is not defined +2025-03-10 15:29:53,057 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,057 - ERROR - Error in episode 1164: name 'args' is not defined +2025-03-10 15:29:53,060 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,060 - ERROR - Error in episode 1165: name 'args' is not defined +2025-03-10 15:29:53,062 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,063 - ERROR - Error in episode 1166: name 'args' is not defined +2025-03-10 15:29:53,066 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,066 - ERROR - Error in episode 1167: name 'args' is not defined +2025-03-10 15:29:53,068 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,069 - ERROR - Error in episode 1168: name 'args' is not defined +2025-03-10 15:29:53,071 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,071 - ERROR - Error in episode 1169: name 'args' is not defined +2025-03-10 15:29:53,074 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,074 - ERROR - Error in episode 1170: name 'args' is not defined +2025-03-10 15:29:53,077 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,077 - ERROR - Error in episode 1171: name 'args' is not defined +2025-03-10 15:29:53,080 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,080 - ERROR - Error in episode 1172: name 'args' is not defined +2025-03-10 15:29:53,083 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,083 - ERROR - Error in episode 1173: name 'args' is not defined +2025-03-10 15:29:53,086 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,086 - ERROR - Error in episode 1174: name 'args' is not defined +2025-03-10 15:29:53,088 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,089 - ERROR - Error in episode 1175: name 'args' is not defined +2025-03-10 15:29:53,091 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,091 - ERROR - Error in episode 1176: name 'args' is not defined +2025-03-10 15:29:53,095 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,096 - ERROR - Error in episode 1177: name 'args' is not defined +2025-03-10 15:29:53,098 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,098 - ERROR - Error in episode 1178: name 'args' is not defined +2025-03-10 15:29:53,101 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,101 - ERROR - Error in episode 1179: name 'args' is not defined +2025-03-10 15:29:53,104 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,105 - ERROR - Error in episode 1180: name 'args' is not defined +2025-03-10 15:29:53,107 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,107 - ERROR - Error in episode 1181: name 'args' is not defined +2025-03-10 15:29:53,110 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,110 - ERROR - Error in episode 1182: name 'args' is not defined +2025-03-10 15:29:53,113 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,113 - ERROR - Error in episode 1183: name 'args' is not defined +2025-03-10 15:29:53,116 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,116 - ERROR - Error in episode 1184: name 'args' is not defined +2025-03-10 15:29:53,118 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,119 - ERROR - Error in episode 1185: name 'args' is not defined +2025-03-10 15:29:53,121 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,121 - ERROR - Error in episode 1186: name 'args' is not defined +2025-03-10 15:29:53,124 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,124 - ERROR - Error in episode 1187: name 'args' is not defined +2025-03-10 15:29:53,127 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,127 - ERROR - Error in episode 1188: name 'args' is not defined +2025-03-10 15:29:53,129 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,130 - ERROR - Error in episode 1189: name 'args' is not defined +2025-03-10 15:29:53,132 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,133 - ERROR - Error in episode 1190: name 'args' is not defined +2025-03-10 15:29:53,135 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,136 - ERROR - Error in episode 1191: name 'args' is not defined +2025-03-10 15:29:53,139 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,139 - ERROR - Error in episode 1192: name 'args' is not defined +2025-03-10 15:29:53,142 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,142 - ERROR - Error in episode 1193: name 'args' is not defined +2025-03-10 15:29:53,145 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,146 - ERROR - Error in episode 1194: name 'args' is not defined +2025-03-10 15:29:53,148 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,148 - ERROR - Error in episode 1195: name 'args' is not defined +2025-03-10 15:29:53,151 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,151 - ERROR - Error in episode 1196: name 'args' is not defined +2025-03-10 15:29:53,155 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,155 - ERROR - Error in episode 1197: name 'args' is not defined +2025-03-10 15:29:53,159 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,159 - ERROR - Error in episode 1198: name 'args' is not defined +2025-03-10 15:29:53,162 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,163 - ERROR - Error in episode 1199: name 'args' is not defined +2025-03-10 15:29:53,166 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,166 - ERROR - Error in episode 1200: name 'args' is not defined +2025-03-10 15:29:53,169 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,169 - ERROR - Error in episode 1201: name 'args' is not defined +2025-03-10 15:29:53,172 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,172 - ERROR - Error in episode 1202: name 'args' is not defined +2025-03-10 15:29:53,176 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,176 - ERROR - Error in episode 1203: name 'args' is not defined +2025-03-10 15:29:53,180 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,180 - ERROR - Error in episode 1204: name 'args' is not defined +2025-03-10 15:29:53,184 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,185 - ERROR - Error in episode 1205: name 'args' is not defined +2025-03-10 15:29:53,188 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,189 - ERROR - Error in episode 1206: name 'args' is not defined +2025-03-10 15:29:53,193 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,193 - ERROR - Error in episode 1207: name 'args' is not defined +2025-03-10 15:29:53,197 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,198 - ERROR - Error in episode 1208: name 'args' is not defined +2025-03-10 15:29:53,201 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,201 - ERROR - Error in episode 1209: name 'args' is not defined +2025-03-10 15:29:53,206 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,206 - ERROR - Error in episode 1210: name 'args' is not defined +2025-03-10 15:29:53,210 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,210 - ERROR - Error in episode 1211: name 'args' is not defined +2025-03-10 15:29:53,212 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,213 - ERROR - Error in episode 1212: name 'args' is not defined +2025-03-10 15:29:53,216 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,216 - ERROR - Error in episode 1213: name 'args' is not defined +2025-03-10 15:29:53,219 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,219 - ERROR - Error in episode 1214: name 'args' is not defined +2025-03-10 15:29:53,224 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,224 - ERROR - Error in episode 1215: name 'args' is not defined +2025-03-10 15:29:53,228 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,229 - ERROR - Error in episode 1216: name 'args' is not defined +2025-03-10 15:29:53,231 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,232 - ERROR - Error in episode 1217: name 'args' is not defined +2025-03-10 15:29:53,234 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,235 - ERROR - Error in episode 1218: name 'args' is not defined +2025-03-10 15:29:53,239 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,239 - ERROR - Error in episode 1219: name 'args' is not defined +2025-03-10 15:29:53,242 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,242 - ERROR - Error in episode 1220: name 'args' is not defined +2025-03-10 15:29:53,245 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,245 - ERROR - Error in episode 1221: name 'args' is not defined +2025-03-10 15:29:53,248 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,248 - ERROR - Error in episode 1222: name 'args' is not defined +2025-03-10 15:29:53,251 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,251 - ERROR - Error in episode 1223: name 'args' is not defined +2025-03-10 15:29:53,254 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,254 - ERROR - Error in episode 1224: name 'args' is not defined +2025-03-10 15:29:53,257 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,257 - ERROR - Error in episode 1225: name 'args' is not defined +2025-03-10 15:29:53,260 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,260 - ERROR - Error in episode 1226: name 'args' is not defined +2025-03-10 15:29:53,262 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,263 - ERROR - Error in episode 1227: name 'args' is not defined +2025-03-10 15:29:53,265 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,266 - ERROR - Error in episode 1228: name 'args' is not defined +2025-03-10 15:29:53,268 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,269 - ERROR - Error in episode 1229: name 'args' is not defined +2025-03-10 15:29:53,271 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,272 - ERROR - Error in episode 1230: name 'args' is not defined +2025-03-10 15:29:53,275 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,275 - ERROR - Error in episode 1231: name 'args' is not defined +2025-03-10 15:29:53,278 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,278 - ERROR - Error in episode 1232: name 'args' is not defined +2025-03-10 15:29:53,281 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,281 - ERROR - Error in episode 1233: name 'args' is not defined +2025-03-10 15:29:53,284 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,284 - ERROR - Error in episode 1234: name 'args' is not defined +2025-03-10 15:29:53,286 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,287 - ERROR - Error in episode 1235: name 'args' is not defined +2025-03-10 15:29:53,289 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,290 - ERROR - Error in episode 1236: name 'args' is not defined +2025-03-10 15:29:53,292 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,293 - ERROR - Error in episode 1237: name 'args' is not defined +2025-03-10 15:29:53,295 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,296 - ERROR - Error in episode 1238: name 'args' is not defined +2025-03-10 15:29:53,298 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,298 - ERROR - Error in episode 1239: name 'args' is not defined +2025-03-10 15:29:53,301 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,301 - ERROR - Error in episode 1240: name 'args' is not defined +2025-03-10 15:29:53,304 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,305 - ERROR - Error in episode 1241: name 'args' is not defined +2025-03-10 15:29:53,307 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,308 - ERROR - Error in episode 1242: name 'args' is not defined +2025-03-10 15:29:53,310 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,311 - ERROR - Error in episode 1243: name 'args' is not defined +2025-03-10 15:29:53,313 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,313 - ERROR - Error in episode 1244: name 'args' is not defined +2025-03-10 15:29:53,315 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,316 - ERROR - Error in episode 1245: name 'args' is not defined +2025-03-10 15:29:53,318 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,318 - ERROR - Error in episode 1246: name 'args' is not defined +2025-03-10 15:29:53,322 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,322 - ERROR - Error in episode 1247: name 'args' is not defined +2025-03-10 15:29:53,325 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,325 - ERROR - Error in episode 1248: name 'args' is not defined +2025-03-10 15:29:53,328 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,328 - ERROR - Error in episode 1249: name 'args' is not defined +2025-03-10 15:29:53,331 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,331 - ERROR - Error in episode 1250: name 'args' is not defined +2025-03-10 15:29:53,334 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,334 - ERROR - Error in episode 1251: name 'args' is not defined +2025-03-10 15:29:53,337 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,337 - ERROR - Error in episode 1252: name 'args' is not defined +2025-03-10 15:29:53,340 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,340 - ERROR - Error in episode 1253: name 'args' is not defined +2025-03-10 15:29:53,343 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,343 - ERROR - Error in episode 1254: name 'args' is not defined +2025-03-10 15:29:53,346 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,346 - ERROR - Error in episode 1255: name 'args' is not defined +2025-03-10 15:29:53,349 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,349 - ERROR - Error in episode 1256: name 'args' is not defined +2025-03-10 15:29:53,352 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,352 - ERROR - Error in episode 1257: name 'args' is not defined +2025-03-10 15:29:53,354 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,355 - ERROR - Error in episode 1258: name 'args' is not defined +2025-03-10 15:29:53,357 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,357 - ERROR - Error in episode 1259: name 'args' is not defined +2025-03-10 15:29:53,360 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,360 - ERROR - Error in episode 1260: name 'args' is not defined +2025-03-10 15:29:53,362 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,363 - ERROR - Error in episode 1261: name 'args' is not defined +2025-03-10 15:29:53,365 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,365 - ERROR - Error in episode 1262: name 'args' is not defined +2025-03-10 15:29:53,368 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,369 - ERROR - Error in episode 1263: name 'args' is not defined +2025-03-10 15:29:53,372 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,372 - ERROR - Error in episode 1264: name 'args' is not defined +2025-03-10 15:29:53,375 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,375 - ERROR - Error in episode 1265: name 'args' is not defined +2025-03-10 15:29:53,378 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,378 - ERROR - Error in episode 1266: name 'args' is not defined +2025-03-10 15:29:53,380 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,380 - ERROR - Error in episode 1267: name 'args' is not defined +2025-03-10 15:29:53,383 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,383 - ERROR - Error in episode 1268: name 'args' is not defined +2025-03-10 15:29:53,386 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,386 - ERROR - Error in episode 1269: name 'args' is not defined +2025-03-10 15:29:53,388 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,389 - ERROR - Error in episode 1270: name 'args' is not defined +2025-03-10 15:29:53,391 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,393 - ERROR - Error in episode 1271: name 'args' is not defined +2025-03-10 15:29:53,395 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,396 - ERROR - Error in episode 1272: name 'args' is not defined +2025-03-10 15:29:53,399 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,399 - ERROR - Error in episode 1273: name 'args' is not defined +2025-03-10 15:29:53,402 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,402 - ERROR - Error in episode 1274: name 'args' is not defined +2025-03-10 15:29:53,405 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,405 - ERROR - Error in episode 1275: name 'args' is not defined +2025-03-10 15:29:53,408 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,409 - ERROR - Error in episode 1276: name 'args' is not defined +2025-03-10 15:29:53,411 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,412 - ERROR - Error in episode 1277: name 'args' is not defined +2025-03-10 15:29:53,414 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,414 - ERROR - Error in episode 1278: name 'args' is not defined +2025-03-10 15:29:53,417 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,417 - ERROR - Error in episode 1279: name 'args' is not defined +2025-03-10 15:29:53,420 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,420 - ERROR - Error in episode 1280: name 'args' is not defined +2025-03-10 15:29:53,422 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,423 - ERROR - Error in episode 1281: name 'args' is not defined +2025-03-10 15:29:53,425 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,425 - ERROR - Error in episode 1282: name 'args' is not defined +2025-03-10 15:29:53,429 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,429 - ERROR - Error in episode 1283: name 'args' is not defined +2025-03-10 15:29:53,431 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,432 - ERROR - Error in episode 1284: name 'args' is not defined +2025-03-10 15:29:53,434 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,435 - ERROR - Error in episode 1285: name 'args' is not defined +2025-03-10 15:29:53,437 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,438 - ERROR - Error in episode 1286: name 'args' is not defined +2025-03-10 15:29:53,440 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,440 - ERROR - Error in episode 1287: name 'args' is not defined +2025-03-10 15:29:53,443 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,444 - ERROR - Error in episode 1288: name 'args' is not defined +2025-03-10 15:29:53,446 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,447 - ERROR - Error in episode 1289: name 'args' is not defined +2025-03-10 15:29:53,450 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,450 - ERROR - Error in episode 1290: name 'args' is not defined +2025-03-10 15:29:53,453 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,454 - ERROR - Error in episode 1291: name 'args' is not defined +2025-03-10 15:29:53,456 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,457 - ERROR - Error in episode 1292: name 'args' is not defined +2025-03-10 15:29:53,459 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,460 - ERROR - Error in episode 1293: name 'args' is not defined +2025-03-10 15:29:53,462 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,463 - ERROR - Error in episode 1294: name 'args' is not defined +2025-03-10 15:29:53,466 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,466 - ERROR - Error in episode 1295: name 'args' is not defined +2025-03-10 15:29:53,468 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,469 - ERROR - Error in episode 1296: name 'args' is not defined +2025-03-10 15:29:53,471 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,471 - ERROR - Error in episode 1297: name 'args' is not defined +2025-03-10 15:29:53,474 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,474 - ERROR - Error in episode 1298: name 'args' is not defined +2025-03-10 15:29:53,477 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,477 - ERROR - Error in episode 1299: name 'args' is not defined +2025-03-10 15:29:53,480 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,480 - ERROR - Error in episode 1300: name 'args' is not defined +2025-03-10 15:29:53,483 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,483 - ERROR - Error in episode 1301: name 'args' is not defined +2025-03-10 15:29:53,485 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,486 - ERROR - Error in episode 1302: name 'args' is not defined +2025-03-10 15:29:53,488 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,488 - ERROR - Error in episode 1303: name 'args' is not defined +2025-03-10 15:29:53,491 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,492 - ERROR - Error in episode 1304: name 'args' is not defined +2025-03-10 15:29:53,494 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,495 - ERROR - Error in episode 1305: name 'args' is not defined +2025-03-10 15:29:53,497 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,498 - ERROR - Error in episode 1306: name 'args' is not defined +2025-03-10 15:29:53,501 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,501 - ERROR - Error in episode 1307: name 'args' is not defined +2025-03-10 15:29:53,503 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,504 - ERROR - Error in episode 1308: name 'args' is not defined +2025-03-10 15:29:53,507 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,508 - ERROR - Error in episode 1309: name 'args' is not defined +2025-03-10 15:29:53,510 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,511 - ERROR - Error in episode 1310: name 'args' is not defined +2025-03-10 15:29:53,513 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,513 - ERROR - Error in episode 1311: name 'args' is not defined +2025-03-10 15:29:53,516 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,516 - ERROR - Error in episode 1312: name 'args' is not defined +2025-03-10 15:29:53,518 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,519 - ERROR - Error in episode 1313: name 'args' is not defined +2025-03-10 15:29:53,520 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,521 - ERROR - Error in episode 1314: name 'args' is not defined +2025-03-10 15:29:53,523 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,524 - ERROR - Error in episode 1315: name 'args' is not defined +2025-03-10 15:29:53,526 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,527 - ERROR - Error in episode 1316: name 'args' is not defined +2025-03-10 15:29:53,529 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,529 - ERROR - Error in episode 1317: name 'args' is not defined +2025-03-10 15:29:53,533 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,533 - ERROR - Error in episode 1318: name 'args' is not defined +2025-03-10 15:29:53,536 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,536 - ERROR - Error in episode 1319: name 'args' is not defined +2025-03-10 15:29:53,539 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,539 - ERROR - Error in episode 1320: name 'args' is not defined +2025-03-10 15:29:53,542 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,542 - ERROR - Error in episode 1321: name 'args' is not defined +2025-03-10 15:29:53,544 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,545 - ERROR - Error in episode 1322: name 'args' is not defined +2025-03-10 15:29:53,547 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,548 - ERROR - Error in episode 1323: name 'args' is not defined +2025-03-10 15:29:53,550 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,551 - ERROR - Error in episode 1324: name 'args' is not defined +2025-03-10 15:29:53,553 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,553 - ERROR - Error in episode 1325: name 'args' is not defined +2025-03-10 15:29:53,556 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,556 - ERROR - Error in episode 1326: name 'args' is not defined +2025-03-10 15:29:53,559 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,559 - ERROR - Error in episode 1327: name 'args' is not defined +2025-03-10 15:29:53,562 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,563 - ERROR - Error in episode 1328: name 'args' is not defined +2025-03-10 15:29:53,565 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,566 - ERROR - Error in episode 1329: name 'args' is not defined +2025-03-10 15:29:53,568 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,569 - ERROR - Error in episode 1330: name 'args' is not defined +2025-03-10 15:29:53,571 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,571 - ERROR - Error in episode 1331: name 'args' is not defined +2025-03-10 15:29:53,574 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,575 - ERROR - Error in episode 1332: name 'args' is not defined +2025-03-10 15:29:53,576 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,577 - ERROR - Error in episode 1333: name 'args' is not defined +2025-03-10 15:29:53,580 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,580 - ERROR - Error in episode 1334: name 'args' is not defined +2025-03-10 15:29:53,583 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,583 - ERROR - Error in episode 1335: name 'args' is not defined +2025-03-10 15:29:53,586 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,586 - ERROR - Error in episode 1336: name 'args' is not defined +2025-03-10 15:29:53,589 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,589 - ERROR - Error in episode 1337: name 'args' is not defined +2025-03-10 15:29:53,593 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,593 - ERROR - Error in episode 1338: name 'args' is not defined +2025-03-10 15:29:53,595 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,596 - ERROR - Error in episode 1339: name 'args' is not defined +2025-03-10 15:29:53,598 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,599 - ERROR - Error in episode 1340: name 'args' is not defined +2025-03-10 15:29:53,601 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,602 - ERROR - Error in episode 1341: name 'args' is not defined +2025-03-10 15:29:53,605 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,605 - ERROR - Error in episode 1342: name 'args' is not defined +2025-03-10 15:29:53,608 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,609 - ERROR - Error in episode 1343: name 'args' is not defined +2025-03-10 15:29:53,611 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,611 - ERROR - Error in episode 1344: name 'args' is not defined +2025-03-10 15:29:53,614 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,614 - ERROR - Error in episode 1345: name 'args' is not defined +2025-03-10 15:29:53,617 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,617 - ERROR - Error in episode 1346: name 'args' is not defined +2025-03-10 15:29:53,620 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,620 - ERROR - Error in episode 1347: name 'args' is not defined +2025-03-10 15:29:53,622 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,623 - ERROR - Error in episode 1348: name 'args' is not defined +2025-03-10 15:29:53,625 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,626 - ERROR - Error in episode 1349: name 'args' is not defined +2025-03-10 15:29:53,629 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,629 - ERROR - Error in episode 1350: name 'args' is not defined +2025-03-10 15:29:53,632 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,632 - ERROR - Error in episode 1351: name 'args' is not defined +2025-03-10 15:29:53,636 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,636 - ERROR - Error in episode 1352: name 'args' is not defined +2025-03-10 15:29:53,638 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,638 - ERROR - Error in episode 1353: name 'args' is not defined +2025-03-10 15:29:53,641 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,642 - ERROR - Error in episode 1354: name 'args' is not defined +2025-03-10 15:29:53,644 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,645 - ERROR - Error in episode 1355: name 'args' is not defined +2025-03-10 15:29:53,647 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,648 - ERROR - Error in episode 1356: name 'args' is not defined +2025-03-10 15:29:53,651 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,652 - ERROR - Error in episode 1357: name 'args' is not defined +2025-03-10 15:29:53,655 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,655 - ERROR - Error in episode 1358: name 'args' is not defined +2025-03-10 15:29:53,658 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,658 - ERROR - Error in episode 1359: name 'args' is not defined +2025-03-10 15:29:53,662 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,662 - ERROR - Error in episode 1360: name 'args' is not defined +2025-03-10 15:29:53,665 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,666 - ERROR - Error in episode 1361: name 'args' is not defined +2025-03-10 15:29:53,668 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,668 - ERROR - Error in episode 1362: name 'args' is not defined +2025-03-10 15:29:53,671 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,671 - ERROR - Error in episode 1363: name 'args' is not defined +2025-03-10 15:29:53,674 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,674 - ERROR - Error in episode 1364: name 'args' is not defined +2025-03-10 15:29:53,677 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,677 - ERROR - Error in episode 1365: name 'args' is not defined +2025-03-10 15:29:53,680 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,680 - ERROR - Error in episode 1366: name 'args' is not defined +2025-03-10 15:29:53,683 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,684 - ERROR - Error in episode 1367: name 'args' is not defined +2025-03-10 15:29:53,687 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,687 - ERROR - Error in episode 1368: name 'args' is not defined +2025-03-10 15:29:53,690 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,690 - ERROR - Error in episode 1369: name 'args' is not defined +2025-03-10 15:29:53,693 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,693 - ERROR - Error in episode 1370: name 'args' is not defined +2025-03-10 15:29:53,695 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,696 - ERROR - Error in episode 1371: name 'args' is not defined +2025-03-10 15:29:53,698 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,698 - ERROR - Error in episode 1372: name 'args' is not defined +2025-03-10 15:29:53,701 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,702 - ERROR - Error in episode 1373: name 'args' is not defined +2025-03-10 15:29:53,705 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,705 - ERROR - Error in episode 1374: name 'args' is not defined +2025-03-10 15:29:53,708 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,708 - ERROR - Error in episode 1375: name 'args' is not defined +2025-03-10 15:29:53,710 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,711 - ERROR - Error in episode 1376: name 'args' is not defined +2025-03-10 15:29:53,713 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,713 - ERROR - Error in episode 1377: name 'args' is not defined +2025-03-10 15:29:53,716 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,717 - ERROR - Error in episode 1378: name 'args' is not defined +2025-03-10 15:29:53,719 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,719 - ERROR - Error in episode 1379: name 'args' is not defined +2025-03-10 15:29:53,722 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,723 - ERROR - Error in episode 1380: name 'args' is not defined +2025-03-10 15:29:53,725 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,726 - ERROR - Error in episode 1381: name 'args' is not defined +2025-03-10 15:29:53,728 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,729 - ERROR - Error in episode 1382: name 'args' is not defined +2025-03-10 15:29:53,731 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,731 - ERROR - Error in episode 1383: name 'args' is not defined +2025-03-10 15:29:53,734 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,735 - ERROR - Error in episode 1384: name 'args' is not defined +2025-03-10 15:29:53,737 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,737 - ERROR - Error in episode 1385: name 'args' is not defined +2025-03-10 15:29:53,739 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,740 - ERROR - Error in episode 1386: name 'args' is not defined +2025-03-10 15:29:53,742 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,743 - ERROR - Error in episode 1387: name 'args' is not defined +2025-03-10 15:29:53,745 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,745 - ERROR - Error in episode 1388: name 'args' is not defined +2025-03-10 15:29:53,748 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,748 - ERROR - Error in episode 1389: name 'args' is not defined +2025-03-10 15:29:53,751 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,751 - ERROR - Error in episode 1390: name 'args' is not defined +2025-03-10 15:29:53,753 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,754 - ERROR - Error in episode 1391: name 'args' is not defined +2025-03-10 15:29:53,757 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,757 - ERROR - Error in episode 1392: name 'args' is not defined +2025-03-10 15:29:53,760 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,760 - ERROR - Error in episode 1393: name 'args' is not defined +2025-03-10 15:29:53,763 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,763 - ERROR - Error in episode 1394: name 'args' is not defined +2025-03-10 15:29:53,766 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,766 - ERROR - Error in episode 1395: name 'args' is not defined +2025-03-10 15:29:53,768 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,769 - ERROR - Error in episode 1396: name 'args' is not defined +2025-03-10 15:29:53,772 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,772 - ERROR - Error in episode 1397: name 'args' is not defined +2025-03-10 15:29:53,775 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,775 - ERROR - Error in episode 1398: name 'args' is not defined +2025-03-10 15:29:53,778 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,778 - ERROR - Error in episode 1399: name 'args' is not defined +2025-03-10 15:29:53,781 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,781 - ERROR - Error in episode 1400: name 'args' is not defined +2025-03-10 15:29:53,784 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,785 - ERROR - Error in episode 1401: name 'args' is not defined +2025-03-10 15:29:53,788 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,788 - ERROR - Error in episode 1402: name 'args' is not defined +2025-03-10 15:29:53,791 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,791 - ERROR - Error in episode 1403: name 'args' is not defined +2025-03-10 15:29:53,794 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,795 - ERROR - Error in episode 1404: name 'args' is not defined +2025-03-10 15:29:53,798 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,798 - ERROR - Error in episode 1405: name 'args' is not defined +2025-03-10 15:29:53,801 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,801 - ERROR - Error in episode 1406: name 'args' is not defined +2025-03-10 15:29:53,805 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,805 - ERROR - Error in episode 1407: name 'args' is not defined +2025-03-10 15:29:53,808 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,809 - ERROR - Error in episode 1408: name 'args' is not defined +2025-03-10 15:29:53,812 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,812 - ERROR - Error in episode 1409: name 'args' is not defined +2025-03-10 15:29:53,814 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,814 - ERROR - Error in episode 1410: name 'args' is not defined +2025-03-10 15:29:53,817 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,818 - ERROR - Error in episode 1411: name 'args' is not defined +2025-03-10 15:29:53,821 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,821 - ERROR - Error in episode 1412: name 'args' is not defined +2025-03-10 15:29:53,825 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,825 - ERROR - Error in episode 1413: name 'args' is not defined +2025-03-10 15:29:53,827 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,828 - ERROR - Error in episode 1414: name 'args' is not defined +2025-03-10 15:29:53,830 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,830 - ERROR - Error in episode 1415: name 'args' is not defined +2025-03-10 15:29:53,833 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,834 - ERROR - Error in episode 1416: name 'args' is not defined +2025-03-10 15:29:53,836 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,836 - ERROR - Error in episode 1417: name 'args' is not defined +2025-03-10 15:29:53,839 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,839 - ERROR - Error in episode 1418: name 'args' is not defined +2025-03-10 15:29:53,842 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,842 - ERROR - Error in episode 1419: name 'args' is not defined +2025-03-10 15:29:53,844 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,844 - ERROR - Error in episode 1420: name 'args' is not defined +2025-03-10 15:29:53,847 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,847 - ERROR - Error in episode 1421: name 'args' is not defined +2025-03-10 15:29:53,850 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,850 - ERROR - Error in episode 1422: name 'args' is not defined +2025-03-10 15:29:53,852 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,853 - ERROR - Error in episode 1423: name 'args' is not defined +2025-03-10 15:29:53,856 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,857 - ERROR - Error in episode 1424: name 'args' is not defined +2025-03-10 15:29:53,859 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,860 - ERROR - Error in episode 1425: name 'args' is not defined +2025-03-10 15:29:53,863 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,863 - ERROR - Error in episode 1426: name 'args' is not defined +2025-03-10 15:29:53,866 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,866 - ERROR - Error in episode 1427: name 'args' is not defined +2025-03-10 15:29:53,869 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,869 - ERROR - Error in episode 1428: name 'args' is not defined +2025-03-10 15:29:53,871 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,872 - ERROR - Error in episode 1429: name 'args' is not defined +2025-03-10 15:29:53,874 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,874 - ERROR - Error in episode 1430: name 'args' is not defined +2025-03-10 15:29:53,877 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,877 - ERROR - Error in episode 1431: name 'args' is not defined +2025-03-10 15:29:53,880 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,880 - ERROR - Error in episode 1432: name 'args' is not defined +2025-03-10 15:29:53,883 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,883 - ERROR - Error in episode 1433: name 'args' is not defined +2025-03-10 15:29:53,886 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,886 - ERROR - Error in episode 1434: name 'args' is not defined +2025-03-10 15:29:53,889 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,889 - ERROR - Error in episode 1435: name 'args' is not defined +2025-03-10 15:29:53,893 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,893 - ERROR - Error in episode 1436: name 'args' is not defined +2025-03-10 15:29:53,895 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,896 - ERROR - Error in episode 1437: name 'args' is not defined +2025-03-10 15:29:53,899 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,899 - ERROR - Error in episode 1438: name 'args' is not defined +2025-03-10 15:29:53,901 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,902 - ERROR - Error in episode 1439: name 'args' is not defined +2025-03-10 15:29:53,904 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,905 - ERROR - Error in episode 1440: name 'args' is not defined +2025-03-10 15:29:53,908 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,908 - ERROR - Error in episode 1441: name 'args' is not defined +2025-03-10 15:29:53,911 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,911 - ERROR - Error in episode 1442: name 'args' is not defined +2025-03-10 15:29:53,914 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,915 - ERROR - Error in episode 1443: name 'args' is not defined +2025-03-10 15:29:53,917 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,917 - ERROR - Error in episode 1444: name 'args' is not defined +2025-03-10 15:29:53,920 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,920 - ERROR - Error in episode 1445: name 'args' is not defined +2025-03-10 15:29:53,922 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,922 - ERROR - Error in episode 1446: name 'args' is not defined +2025-03-10 15:29:53,924 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,925 - ERROR - Error in episode 1447: name 'args' is not defined +2025-03-10 15:29:53,927 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,927 - ERROR - Error in episode 1448: name 'args' is not defined +2025-03-10 15:29:53,930 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,930 - ERROR - Error in episode 1449: name 'args' is not defined +2025-03-10 15:29:53,933 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,933 - ERROR - Error in episode 1450: name 'args' is not defined +2025-03-10 15:29:53,935 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,936 - ERROR - Error in episode 1451: name 'args' is not defined +2025-03-10 15:29:53,939 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,939 - ERROR - Error in episode 1452: name 'args' is not defined +2025-03-10 15:29:53,942 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,942 - ERROR - Error in episode 1453: name 'args' is not defined +2025-03-10 15:29:53,944 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,945 - ERROR - Error in episode 1454: name 'args' is not defined +2025-03-10 15:29:53,948 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,948 - ERROR - Error in episode 1455: name 'args' is not defined +2025-03-10 15:29:53,950 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,951 - ERROR - Error in episode 1456: name 'args' is not defined +2025-03-10 15:29:53,953 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,954 - ERROR - Error in episode 1457: name 'args' is not defined +2025-03-10 15:29:53,956 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,957 - ERROR - Error in episode 1458: name 'args' is not defined +2025-03-10 15:29:53,959 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,960 - ERROR - Error in episode 1459: name 'args' is not defined +2025-03-10 15:29:53,963 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,963 - ERROR - Error in episode 1460: name 'args' is not defined +2025-03-10 15:29:53,965 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,966 - ERROR - Error in episode 1461: name 'args' is not defined +2025-03-10 15:29:53,969 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,969 - ERROR - Error in episode 1462: name 'args' is not defined +2025-03-10 15:29:53,972 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,973 - ERROR - Error in episode 1463: name 'args' is not defined +2025-03-10 15:29:53,976 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,976 - ERROR - Error in episode 1464: name 'args' is not defined +2025-03-10 15:29:53,979 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,979 - ERROR - Error in episode 1465: name 'args' is not defined +2025-03-10 15:29:53,981 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,982 - ERROR - Error in episode 1466: name 'args' is not defined +2025-03-10 15:29:53,984 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,985 - ERROR - Error in episode 1467: name 'args' is not defined +2025-03-10 15:29:53,988 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,988 - ERROR - Error in episode 1468: name 'args' is not defined +2025-03-10 15:29:53,990 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,990 - ERROR - Error in episode 1469: name 'args' is not defined +2025-03-10 15:29:53,993 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,993 - ERROR - Error in episode 1470: name 'args' is not defined +2025-03-10 15:29:53,996 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,996 - ERROR - Error in episode 1471: name 'args' is not defined +2025-03-10 15:29:53,998 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:53,998 - ERROR - Error in episode 1472: name 'args' is not defined +2025-03-10 15:29:54,001 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,001 - ERROR - Error in episode 1473: name 'args' is not defined +2025-03-10 15:29:54,004 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,004 - ERROR - Error in episode 1474: name 'args' is not defined +2025-03-10 15:29:54,007 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,007 - ERROR - Error in episode 1475: name 'args' is not defined +2025-03-10 15:29:54,010 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,010 - ERROR - Error in episode 1476: name 'args' is not defined +2025-03-10 15:29:54,013 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,013 - ERROR - Error in episode 1477: name 'args' is not defined +2025-03-10 15:29:54,016 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,016 - ERROR - Error in episode 1478: name 'args' is not defined +2025-03-10 15:29:54,018 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,019 - ERROR - Error in episode 1479: name 'args' is not defined +2025-03-10 15:29:54,022 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,022 - ERROR - Error in episode 1480: name 'args' is not defined +2025-03-10 15:29:54,024 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,024 - ERROR - Error in episode 1481: name 'args' is not defined +2025-03-10 15:29:54,027 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,027 - ERROR - Error in episode 1482: name 'args' is not defined +2025-03-10 15:29:54,030 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,030 - ERROR - Error in episode 1483: name 'args' is not defined +2025-03-10 15:29:54,033 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,033 - ERROR - Error in episode 1484: name 'args' is not defined +2025-03-10 15:29:54,035 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,036 - ERROR - Error in episode 1485: name 'args' is not defined +2025-03-10 15:29:54,038 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,038 - ERROR - Error in episode 1486: name 'args' is not defined +2025-03-10 15:29:54,041 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,041 - ERROR - Error in episode 1487: name 'args' is not defined +2025-03-10 15:29:54,044 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,044 - ERROR - Error in episode 1488: name 'args' is not defined +2025-03-10 15:29:54,047 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,047 - ERROR - Error in episode 1489: name 'args' is not defined +2025-03-10 15:29:54,050 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,050 - ERROR - Error in episode 1490: name 'args' is not defined +2025-03-10 15:29:54,052 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,052 - ERROR - Error in episode 1491: name 'args' is not defined +2025-03-10 15:29:54,055 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,055 - ERROR - Error in episode 1492: name 'args' is not defined +2025-03-10 15:29:54,058 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,059 - ERROR - Error in episode 1493: name 'args' is not defined +2025-03-10 15:29:54,062 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,062 - ERROR - Error in episode 1494: name 'args' is not defined +2025-03-10 15:29:54,064 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,065 - ERROR - Error in episode 1495: name 'args' is not defined +2025-03-10 15:29:54,068 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,068 - ERROR - Error in episode 1496: name 'args' is not defined +2025-03-10 15:29:54,071 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,071 - ERROR - Error in episode 1497: name 'args' is not defined +2025-03-10 15:29:54,074 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,074 - ERROR - Error in episode 1498: name 'args' is not defined +2025-03-10 15:29:54,076 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,077 - ERROR - Error in episode 1499: name 'args' is not defined +2025-03-10 15:29:54,079 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,079 - ERROR - Error in episode 1500: name 'args' is not defined +2025-03-10 15:29:54,082 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,082 - ERROR - Error in episode 1501: name 'args' is not defined +2025-03-10 15:29:54,085 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,085 - ERROR - Error in episode 1502: name 'args' is not defined +2025-03-10 15:29:54,088 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,088 - ERROR - Error in episode 1503: name 'args' is not defined +2025-03-10 15:29:54,091 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,091 - ERROR - Error in episode 1504: name 'args' is not defined +2025-03-10 15:29:54,093 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,094 - ERROR - Error in episode 1505: name 'args' is not defined +2025-03-10 15:29:54,096 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,097 - ERROR - Error in episode 1506: name 'args' is not defined +2025-03-10 15:29:54,099 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,099 - ERROR - Error in episode 1507: name 'args' is not defined +2025-03-10 15:29:54,102 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,102 - ERROR - Error in episode 1508: name 'args' is not defined +2025-03-10 15:29:54,105 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,105 - ERROR - Error in episode 1509: name 'args' is not defined +2025-03-10 15:29:54,108 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,108 - ERROR - Error in episode 1510: name 'args' is not defined +2025-03-10 15:29:54,110 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,111 - ERROR - Error in episode 1511: name 'args' is not defined +2025-03-10 15:29:54,113 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,113 - ERROR - Error in episode 1512: name 'args' is not defined +2025-03-10 15:29:54,116 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,116 - ERROR - Error in episode 1513: name 'args' is not defined +2025-03-10 15:29:54,119 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,119 - ERROR - Error in episode 1514: name 'args' is not defined +2025-03-10 15:29:54,122 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,122 - ERROR - Error in episode 1515: name 'args' is not defined +2025-03-10 15:29:54,125 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,125 - ERROR - Error in episode 1516: name 'args' is not defined +2025-03-10 15:29:54,127 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,128 - ERROR - Error in episode 1517: name 'args' is not defined +2025-03-10 15:29:54,130 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,131 - ERROR - Error in episode 1518: name 'args' is not defined +2025-03-10 15:29:54,133 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,134 - ERROR - Error in episode 1519: name 'args' is not defined +2025-03-10 15:29:54,136 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,136 - ERROR - Error in episode 1520: name 'args' is not defined +2025-03-10 15:29:54,139 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,140 - ERROR - Error in episode 1521: name 'args' is not defined +2025-03-10 15:29:54,142 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,142 - ERROR - Error in episode 1522: name 'args' is not defined +2025-03-10 15:29:54,145 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,145 - ERROR - Error in episode 1523: name 'args' is not defined +2025-03-10 15:29:54,148 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,148 - ERROR - Error in episode 1524: name 'args' is not defined +2025-03-10 15:29:54,151 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,151 - ERROR - Error in episode 1525: name 'args' is not defined +2025-03-10 15:29:54,155 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,156 - ERROR - Error in episode 1526: name 'args' is not defined +2025-03-10 15:29:54,159 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,159 - ERROR - Error in episode 1527: name 'args' is not defined +2025-03-10 15:29:54,163 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,163 - ERROR - Error in episode 1528: name 'args' is not defined +2025-03-10 15:29:54,166 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,167 - ERROR - Error in episode 1529: name 'args' is not defined +2025-03-10 15:29:54,170 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,171 - ERROR - Error in episode 1530: name 'args' is not defined +2025-03-10 15:29:54,174 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,175 - ERROR - Error in episode 1531: name 'args' is not defined +2025-03-10 15:29:54,178 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,179 - ERROR - Error in episode 1532: name 'args' is not defined +2025-03-10 15:29:54,182 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,182 - ERROR - Error in episode 1533: name 'args' is not defined +2025-03-10 15:29:54,185 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,186 - ERROR - Error in episode 1534: name 'args' is not defined +2025-03-10 15:29:54,189 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,189 - ERROR - Error in episode 1535: name 'args' is not defined +2025-03-10 15:29:54,193 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,193 - ERROR - Error in episode 1536: name 'args' is not defined +2025-03-10 15:29:54,196 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,197 - ERROR - Error in episode 1537: name 'args' is not defined +2025-03-10 15:29:54,200 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,200 - ERROR - Error in episode 1538: name 'args' is not defined +2025-03-10 15:29:54,204 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,204 - ERROR - Error in episode 1539: name 'args' is not defined +2025-03-10 15:29:54,207 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,208 - ERROR - Error in episode 1540: name 'args' is not defined +2025-03-10 15:29:54,210 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,211 - ERROR - Error in episode 1541: name 'args' is not defined +2025-03-10 15:29:54,214 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,214 - ERROR - Error in episode 1542: name 'args' is not defined +2025-03-10 15:29:54,216 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,216 - ERROR - Error in episode 1543: name 'args' is not defined +2025-03-10 15:29:54,219 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,220 - ERROR - Error in episode 1544: name 'args' is not defined +2025-03-10 15:29:54,223 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,223 - ERROR - Error in episode 1545: name 'args' is not defined +2025-03-10 15:29:54,225 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,226 - ERROR - Error in episode 1546: name 'args' is not defined +2025-03-10 15:29:54,228 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,228 - ERROR - Error in episode 1547: name 'args' is not defined +2025-03-10 15:29:54,231 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,232 - ERROR - Error in episode 1548: name 'args' is not defined +2025-03-10 15:29:54,234 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,234 - ERROR - Error in episode 1549: name 'args' is not defined +2025-03-10 15:29:54,237 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,237 - ERROR - Error in episode 1550: name 'args' is not defined +2025-03-10 15:29:54,240 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,240 - ERROR - Error in episode 1551: name 'args' is not defined +2025-03-10 15:29:54,242 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,243 - ERROR - Error in episode 1552: name 'args' is not defined +2025-03-10 15:29:54,246 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,246 - ERROR - Error in episode 1553: name 'args' is not defined +2025-03-10 15:29:54,248 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,249 - ERROR - Error in episode 1554: name 'args' is not defined +2025-03-10 15:29:54,251 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,251 - ERROR - Error in episode 1555: name 'args' is not defined +2025-03-10 15:29:54,254 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,254 - ERROR - Error in episode 1556: name 'args' is not defined +2025-03-10 15:29:54,257 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,258 - ERROR - Error in episode 1557: name 'args' is not defined +2025-03-10 15:29:54,260 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,260 - ERROR - Error in episode 1558: name 'args' is not defined +2025-03-10 15:29:54,263 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,264 - ERROR - Error in episode 1559: name 'args' is not defined +2025-03-10 15:29:54,267 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,267 - ERROR - Error in episode 1560: name 'args' is not defined +2025-03-10 15:29:54,270 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,270 - ERROR - Error in episode 1561: name 'args' is not defined +2025-03-10 15:29:54,273 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,273 - ERROR - Error in episode 1562: name 'args' is not defined +2025-03-10 15:29:54,276 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,276 - ERROR - Error in episode 1563: name 'args' is not defined +2025-03-10 15:29:54,280 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,280 - ERROR - Error in episode 1564: name 'args' is not defined +2025-03-10 15:29:54,282 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,283 - ERROR - Error in episode 1565: name 'args' is not defined +2025-03-10 15:29:54,285 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,286 - ERROR - Error in episode 1566: name 'args' is not defined +2025-03-10 15:29:54,288 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,289 - ERROR - Error in episode 1567: name 'args' is not defined +2025-03-10 15:29:54,291 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,292 - ERROR - Error in episode 1568: name 'args' is not defined +2025-03-10 15:29:54,294 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,295 - ERROR - Error in episode 1569: name 'args' is not defined +2025-03-10 15:29:54,297 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,297 - ERROR - Error in episode 1570: name 'args' is not defined +2025-03-10 15:29:54,300 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,300 - ERROR - Error in episode 1571: name 'args' is not defined +2025-03-10 15:29:54,303 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,303 - ERROR - Error in episode 1572: name 'args' is not defined +2025-03-10 15:29:54,306 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,306 - ERROR - Error in episode 1573: name 'args' is not defined +2025-03-10 15:29:54,309 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,309 - ERROR - Error in episode 1574: name 'args' is not defined +2025-03-10 15:29:54,313 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,313 - ERROR - Error in episode 1575: name 'args' is not defined +2025-03-10 15:29:54,315 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,316 - ERROR - Error in episode 1576: name 'args' is not defined +2025-03-10 15:29:54,318 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,318 - ERROR - Error in episode 1577: name 'args' is not defined +2025-03-10 15:29:54,321 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,321 - ERROR - Error in episode 1578: name 'args' is not defined +2025-03-10 15:29:54,323 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,323 - ERROR - Error in episode 1579: name 'args' is not defined +2025-03-10 15:29:54,326 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,327 - ERROR - Error in episode 1580: name 'args' is not defined +2025-03-10 15:29:54,329 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,330 - ERROR - Error in episode 1581: name 'args' is not defined +2025-03-10 15:29:54,332 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,332 - ERROR - Error in episode 1582: name 'args' is not defined +2025-03-10 15:29:54,335 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,335 - ERROR - Error in episode 1583: name 'args' is not defined +2025-03-10 15:29:54,338 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,338 - ERROR - Error in episode 1584: name 'args' is not defined +2025-03-10 15:29:54,340 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,340 - ERROR - Error in episode 1585: name 'args' is not defined +2025-03-10 15:29:54,343 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,343 - ERROR - Error in episode 1586: name 'args' is not defined +2025-03-10 15:29:54,346 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,347 - ERROR - Error in episode 1587: name 'args' is not defined +2025-03-10 15:29:54,349 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,349 - ERROR - Error in episode 1588: name 'args' is not defined +2025-03-10 15:29:54,352 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,352 - ERROR - Error in episode 1589: name 'args' is not defined +2025-03-10 15:29:54,355 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,355 - ERROR - Error in episode 1590: name 'args' is not defined +2025-03-10 15:29:54,358 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,358 - ERROR - Error in episode 1591: name 'args' is not defined +2025-03-10 15:29:54,361 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,361 - ERROR - Error in episode 1592: name 'args' is not defined +2025-03-10 15:29:54,364 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,365 - ERROR - Error in episode 1593: name 'args' is not defined +2025-03-10 15:29:54,368 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,369 - ERROR - Error in episode 1594: name 'args' is not defined +2025-03-10 15:29:54,371 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,373 - ERROR - Error in episode 1595: name 'args' is not defined +2025-03-10 15:29:54,375 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,376 - ERROR - Error in episode 1596: name 'args' is not defined +2025-03-10 15:29:54,379 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,379 - ERROR - Error in episode 1597: name 'args' is not defined +2025-03-10 15:29:54,382 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,382 - ERROR - Error in episode 1598: name 'args' is not defined +2025-03-10 15:29:54,385 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,385 - ERROR - Error in episode 1599: name 'args' is not defined +2025-03-10 15:29:54,389 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,389 - ERROR - Error in episode 1600: name 'args' is not defined +2025-03-10 15:29:54,392 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,393 - ERROR - Error in episode 1601: name 'args' is not defined +2025-03-10 15:29:54,396 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,396 - ERROR - Error in episode 1602: name 'args' is not defined +2025-03-10 15:29:54,400 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,400 - ERROR - Error in episode 1603: name 'args' is not defined +2025-03-10 15:29:54,403 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,404 - ERROR - Error in episode 1604: name 'args' is not defined +2025-03-10 15:29:54,406 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,407 - ERROR - Error in episode 1605: name 'args' is not defined +2025-03-10 15:29:54,410 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,411 - ERROR - Error in episode 1606: name 'args' is not defined +2025-03-10 15:29:54,414 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,414 - ERROR - Error in episode 1607: name 'args' is not defined +2025-03-10 15:29:54,417 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,417 - ERROR - Error in episode 1608: name 'args' is not defined +2025-03-10 15:29:54,421 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,421 - ERROR - Error in episode 1609: name 'args' is not defined +2025-03-10 15:29:54,423 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,424 - ERROR - Error in episode 1610: name 'args' is not defined +2025-03-10 15:29:54,426 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,427 - ERROR - Error in episode 1611: name 'args' is not defined +2025-03-10 15:29:54,430 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,430 - ERROR - Error in episode 1612: name 'args' is not defined +2025-03-10 15:29:54,433 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,433 - ERROR - Error in episode 1613: name 'args' is not defined +2025-03-10 15:29:54,436 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,436 - ERROR - Error in episode 1614: name 'args' is not defined +2025-03-10 15:29:54,439 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,440 - ERROR - Error in episode 1615: name 'args' is not defined +2025-03-10 15:29:54,442 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,443 - ERROR - Error in episode 1616: name 'args' is not defined +2025-03-10 15:29:54,446 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,446 - ERROR - Error in episode 1617: name 'args' is not defined +2025-03-10 15:29:54,449 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,449 - ERROR - Error in episode 1618: name 'args' is not defined +2025-03-10 15:29:54,452 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,452 - ERROR - Error in episode 1619: name 'args' is not defined +2025-03-10 15:29:54,455 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,456 - ERROR - Error in episode 1620: name 'args' is not defined +2025-03-10 15:29:54,458 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,458 - ERROR - Error in episode 1621: name 'args' is not defined +2025-03-10 15:29:54,461 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,461 - ERROR - Error in episode 1622: name 'args' is not defined +2025-03-10 15:29:54,464 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,464 - ERROR - Error in episode 1623: name 'args' is not defined +2025-03-10 15:29:54,467 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,467 - ERROR - Error in episode 1624: name 'args' is not defined +2025-03-10 15:29:54,470 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,470 - ERROR - Error in episode 1625: name 'args' is not defined +2025-03-10 15:29:54,473 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,474 - ERROR - Error in episode 1626: name 'args' is not defined +2025-03-10 15:29:54,476 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,476 - ERROR - Error in episode 1627: name 'args' is not defined +2025-03-10 15:29:54,479 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,480 - ERROR - Error in episode 1628: name 'args' is not defined +2025-03-10 15:29:54,482 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,483 - ERROR - Error in episode 1629: name 'args' is not defined +2025-03-10 15:29:54,485 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,486 - ERROR - Error in episode 1630: name 'args' is not defined +2025-03-10 15:29:54,489 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,489 - ERROR - Error in episode 1631: name 'args' is not defined +2025-03-10 15:29:54,491 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,492 - ERROR - Error in episode 1632: name 'args' is not defined +2025-03-10 15:29:54,495 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,495 - ERROR - Error in episode 1633: name 'args' is not defined +2025-03-10 15:29:54,499 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,499 - ERROR - Error in episode 1634: name 'args' is not defined +2025-03-10 15:29:54,502 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,502 - ERROR - Error in episode 1635: name 'args' is not defined +2025-03-10 15:29:54,505 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,506 - ERROR - Error in episode 1636: name 'args' is not defined +2025-03-10 15:29:54,509 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,509 - ERROR - Error in episode 1637: name 'args' is not defined +2025-03-10 15:29:54,512 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,513 - ERROR - Error in episode 1638: name 'args' is not defined +2025-03-10 15:29:54,515 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,515 - ERROR - Error in episode 1639: name 'args' is not defined +2025-03-10 15:29:54,518 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,518 - ERROR - Error in episode 1640: name 'args' is not defined +2025-03-10 15:29:54,522 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,522 - ERROR - Error in episode 1641: name 'args' is not defined +2025-03-10 15:29:54,524 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,525 - ERROR - Error in episode 1642: name 'args' is not defined +2025-03-10 15:29:54,527 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,528 - ERROR - Error in episode 1643: name 'args' is not defined +2025-03-10 15:29:54,531 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,531 - ERROR - Error in episode 1644: name 'args' is not defined +2025-03-10 15:29:54,533 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,534 - ERROR - Error in episode 1645: name 'args' is not defined +2025-03-10 15:29:54,537 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,538 - ERROR - Error in episode 1646: name 'args' is not defined +2025-03-10 15:29:54,540 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,541 - ERROR - Error in episode 1647: name 'args' is not defined +2025-03-10 15:29:54,544 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,545 - ERROR - Error in episode 1648: name 'args' is not defined +2025-03-10 15:29:54,548 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,548 - ERROR - Error in episode 1649: name 'args' is not defined +2025-03-10 15:29:54,551 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,552 - ERROR - Error in episode 1650: name 'args' is not defined +2025-03-10 15:29:54,555 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,555 - ERROR - Error in episode 1651: name 'args' is not defined +2025-03-10 15:29:54,558 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,558 - ERROR - Error in episode 1652: name 'args' is not defined +2025-03-10 15:29:54,562 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,562 - ERROR - Error in episode 1653: name 'args' is not defined +2025-03-10 15:29:54,566 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,566 - ERROR - Error in episode 1654: name 'args' is not defined +2025-03-10 15:29:54,569 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,570 - ERROR - Error in episode 1655: name 'args' is not defined +2025-03-10 15:29:54,572 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,573 - ERROR - Error in episode 1656: name 'args' is not defined +2025-03-10 15:29:54,575 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,576 - ERROR - Error in episode 1657: name 'args' is not defined +2025-03-10 15:29:54,578 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,579 - ERROR - Error in episode 1658: name 'args' is not defined +2025-03-10 15:29:54,581 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,581 - ERROR - Error in episode 1659: name 'args' is not defined +2025-03-10 15:29:54,584 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,585 - ERROR - Error in episode 1660: name 'args' is not defined +2025-03-10 15:29:54,587 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,587 - ERROR - Error in episode 1661: name 'args' is not defined +2025-03-10 15:29:54,590 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,590 - ERROR - Error in episode 1662: name 'args' is not defined +2025-03-10 15:29:54,593 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,594 - ERROR - Error in episode 1663: name 'args' is not defined +2025-03-10 15:29:54,596 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,596 - ERROR - Error in episode 1664: name 'args' is not defined +2025-03-10 15:29:54,599 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,599 - ERROR - Error in episode 1665: name 'args' is not defined +2025-03-10 15:29:54,602 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,602 - ERROR - Error in episode 1666: name 'args' is not defined +2025-03-10 15:29:54,605 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,605 - ERROR - Error in episode 1667: name 'args' is not defined +2025-03-10 15:29:54,608 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,608 - ERROR - Error in episode 1668: name 'args' is not defined +2025-03-10 15:29:54,611 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,611 - ERROR - Error in episode 1669: name 'args' is not defined +2025-03-10 15:29:54,614 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,614 - ERROR - Error in episode 1670: name 'args' is not defined +2025-03-10 15:29:54,617 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,617 - ERROR - Error in episode 1671: name 'args' is not defined +2025-03-10 15:29:54,620 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,620 - ERROR - Error in episode 1672: name 'args' is not defined +2025-03-10 15:29:54,623 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,623 - ERROR - Error in episode 1673: name 'args' is not defined +2025-03-10 15:29:54,626 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,627 - ERROR - Error in episode 1674: name 'args' is not defined +2025-03-10 15:29:54,629 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,629 - ERROR - Error in episode 1675: name 'args' is not defined +2025-03-10 15:29:54,632 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,632 - ERROR - Error in episode 1676: name 'args' is not defined +2025-03-10 15:29:54,635 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,635 - ERROR - Error in episode 1677: name 'args' is not defined +2025-03-10 15:29:54,638 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,638 - ERROR - Error in episode 1678: name 'args' is not defined +2025-03-10 15:29:54,641 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,641 - ERROR - Error in episode 1679: name 'args' is not defined +2025-03-10 15:29:54,644 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,644 - ERROR - Error in episode 1680: name 'args' is not defined +2025-03-10 15:29:54,647 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,647 - ERROR - Error in episode 1681: name 'args' is not defined +2025-03-10 15:29:54,650 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,651 - ERROR - Error in episode 1682: name 'args' is not defined +2025-03-10 15:29:54,653 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,654 - ERROR - Error in episode 1683: name 'args' is not defined +2025-03-10 15:29:54,657 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,657 - ERROR - Error in episode 1684: name 'args' is not defined +2025-03-10 15:29:54,661 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,661 - ERROR - Error in episode 1685: name 'args' is not defined +2025-03-10 15:29:54,664 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,664 - ERROR - Error in episode 1686: name 'args' is not defined +2025-03-10 15:29:54,667 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,668 - ERROR - Error in episode 1687: name 'args' is not defined +2025-03-10 15:29:54,670 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,671 - ERROR - Error in episode 1688: name 'args' is not defined +2025-03-10 15:29:54,673 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,673 - ERROR - Error in episode 1689: name 'args' is not defined +2025-03-10 15:29:54,676 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,676 - ERROR - Error in episode 1690: name 'args' is not defined +2025-03-10 15:29:54,679 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,679 - ERROR - Error in episode 1691: name 'args' is not defined +2025-03-10 15:29:54,681 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,682 - ERROR - Error in episode 1692: name 'args' is not defined +2025-03-10 15:29:54,685 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,685 - ERROR - Error in episode 1693: name 'args' is not defined +2025-03-10 15:29:54,688 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,688 - ERROR - Error in episode 1694: name 'args' is not defined +2025-03-10 15:29:54,690 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,691 - ERROR - Error in episode 1695: name 'args' is not defined +2025-03-10 15:29:54,693 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,694 - ERROR - Error in episode 1696: name 'args' is not defined +2025-03-10 15:29:54,696 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,696 - ERROR - Error in episode 1697: name 'args' is not defined +2025-03-10 15:29:54,699 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,699 - ERROR - Error in episode 1698: name 'args' is not defined +2025-03-10 15:29:54,702 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,702 - ERROR - Error in episode 1699: name 'args' is not defined +2025-03-10 15:29:54,704 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,705 - ERROR - Error in episode 1700: name 'args' is not defined +2025-03-10 15:29:54,707 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,707 - ERROR - Error in episode 1701: name 'args' is not defined +2025-03-10 15:29:54,710 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,710 - ERROR - Error in episode 1702: name 'args' is not defined +2025-03-10 15:29:54,713 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,713 - ERROR - Error in episode 1703: name 'args' is not defined +2025-03-10 15:29:54,716 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,716 - ERROR - Error in episode 1704: name 'args' is not defined +2025-03-10 15:29:54,719 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,719 - ERROR - Error in episode 1705: name 'args' is not defined +2025-03-10 15:29:54,721 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,722 - ERROR - Error in episode 1706: name 'args' is not defined +2025-03-10 15:29:54,724 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,724 - ERROR - Error in episode 1707: name 'args' is not defined +2025-03-10 15:29:54,727 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,727 - ERROR - Error in episode 1708: name 'args' is not defined +2025-03-10 15:29:54,730 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,730 - ERROR - Error in episode 1709: name 'args' is not defined +2025-03-10 15:29:54,734 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,734 - ERROR - Error in episode 1710: name 'args' is not defined +2025-03-10 15:29:54,736 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,737 - ERROR - Error in episode 1711: name 'args' is not defined +2025-03-10 15:29:54,739 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,739 - ERROR - Error in episode 1712: name 'args' is not defined +2025-03-10 15:29:54,742 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,742 - ERROR - Error in episode 1713: name 'args' is not defined +2025-03-10 15:29:54,745 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,746 - ERROR - Error in episode 1714: name 'args' is not defined +2025-03-10 15:29:54,748 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,749 - ERROR - Error in episode 1715: name 'args' is not defined +2025-03-10 15:29:54,751 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,752 - ERROR - Error in episode 1716: name 'args' is not defined +2025-03-10 15:29:54,754 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,755 - ERROR - Error in episode 1717: name 'args' is not defined +2025-03-10 15:29:54,757 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,757 - ERROR - Error in episode 1718: name 'args' is not defined +2025-03-10 15:29:54,760 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,761 - ERROR - Error in episode 1719: name 'args' is not defined +2025-03-10 15:29:54,763 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,764 - ERROR - Error in episode 1720: name 'args' is not defined +2025-03-10 15:29:54,766 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,767 - ERROR - Error in episode 1721: name 'args' is not defined +2025-03-10 15:29:54,769 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,769 - ERROR - Error in episode 1722: name 'args' is not defined +2025-03-10 15:29:54,772 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,772 - ERROR - Error in episode 1723: name 'args' is not defined +2025-03-10 15:29:54,774 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,775 - ERROR - Error in episode 1724: name 'args' is not defined +2025-03-10 15:29:54,778 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,778 - ERROR - Error in episode 1725: name 'args' is not defined +2025-03-10 15:29:54,781 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,781 - ERROR - Error in episode 1726: name 'args' is not defined +2025-03-10 15:29:54,783 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,784 - ERROR - Error in episode 1727: name 'args' is not defined +2025-03-10 15:29:54,787 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,787 - ERROR - Error in episode 1728: name 'args' is not defined +2025-03-10 15:29:54,790 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,790 - ERROR - Error in episode 1729: name 'args' is not defined +2025-03-10 15:29:54,793 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,793 - ERROR - Error in episode 1730: name 'args' is not defined +2025-03-10 15:29:54,795 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,796 - ERROR - Error in episode 1731: name 'args' is not defined +2025-03-10 15:29:54,798 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,798 - ERROR - Error in episode 1732: name 'args' is not defined +2025-03-10 15:29:54,801 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,802 - ERROR - Error in episode 1733: name 'args' is not defined +2025-03-10 15:29:54,804 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,804 - ERROR - Error in episode 1734: name 'args' is not defined +2025-03-10 15:29:54,807 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,807 - ERROR - Error in episode 1735: name 'args' is not defined +2025-03-10 15:29:54,810 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,810 - ERROR - Error in episode 1736: name 'args' is not defined +2025-03-10 15:29:54,812 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,813 - ERROR - Error in episode 1737: name 'args' is not defined +2025-03-10 15:29:54,815 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,815 - ERROR - Error in episode 1738: name 'args' is not defined +2025-03-10 15:29:54,818 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,819 - ERROR - Error in episode 1739: name 'args' is not defined +2025-03-10 15:29:54,821 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,821 - ERROR - Error in episode 1740: name 'args' is not defined +2025-03-10 15:29:54,824 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,824 - ERROR - Error in episode 1741: name 'args' is not defined +2025-03-10 15:29:54,827 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,828 - ERROR - Error in episode 1742: name 'args' is not defined +2025-03-10 15:29:54,830 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,831 - ERROR - Error in episode 1743: name 'args' is not defined +2025-03-10 15:29:54,833 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,833 - ERROR - Error in episode 1744: name 'args' is not defined +2025-03-10 15:29:54,836 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,836 - ERROR - Error in episode 1745: name 'args' is not defined +2025-03-10 15:29:54,839 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,839 - ERROR - Error in episode 1746: name 'args' is not defined +2025-03-10 15:29:54,842 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,843 - ERROR - Error in episode 1747: name 'args' is not defined +2025-03-10 15:29:54,845 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,846 - ERROR - Error in episode 1748: name 'args' is not defined +2025-03-10 15:29:54,848 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,849 - ERROR - Error in episode 1749: name 'args' is not defined +2025-03-10 15:29:54,852 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,852 - ERROR - Error in episode 1750: name 'args' is not defined +2025-03-10 15:29:54,855 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,855 - ERROR - Error in episode 1751: name 'args' is not defined +2025-03-10 15:29:54,858 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,858 - ERROR - Error in episode 1752: name 'args' is not defined +2025-03-10 15:29:54,861 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,861 - ERROR - Error in episode 1753: name 'args' is not defined +2025-03-10 15:29:54,863 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,864 - ERROR - Error in episode 1754: name 'args' is not defined +2025-03-10 15:29:54,866 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,867 - ERROR - Error in episode 1755: name 'args' is not defined +2025-03-10 15:29:54,869 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,869 - ERROR - Error in episode 1756: name 'args' is not defined +2025-03-10 15:29:54,872 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,872 - ERROR - Error in episode 1757: name 'args' is not defined +2025-03-10 15:29:54,874 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,875 - ERROR - Error in episode 1758: name 'args' is not defined +2025-03-10 15:29:54,878 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,878 - ERROR - Error in episode 1759: name 'args' is not defined +2025-03-10 15:29:54,880 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,881 - ERROR - Error in episode 1760: name 'args' is not defined +2025-03-10 15:29:54,883 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,884 - ERROR - Error in episode 1761: name 'args' is not defined +2025-03-10 15:29:54,886 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,887 - ERROR - Error in episode 1762: name 'args' is not defined +2025-03-10 15:29:54,889 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,889 - ERROR - Error in episode 1763: name 'args' is not defined +2025-03-10 15:29:54,893 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,893 - ERROR - Error in episode 1764: name 'args' is not defined +2025-03-10 15:29:54,895 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,895 - ERROR - Error in episode 1765: name 'args' is not defined +2025-03-10 15:29:54,898 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,898 - ERROR - Error in episode 1766: name 'args' is not defined +2025-03-10 15:29:54,901 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,902 - ERROR - Error in episode 1767: name 'args' is not defined +2025-03-10 15:29:54,904 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,904 - ERROR - Error in episode 1768: name 'args' is not defined +2025-03-10 15:29:54,907 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,907 - ERROR - Error in episode 1769: name 'args' is not defined +2025-03-10 15:29:54,910 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,910 - ERROR - Error in episode 1770: name 'args' is not defined +2025-03-10 15:29:54,913 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,913 - ERROR - Error in episode 1771: name 'args' is not defined +2025-03-10 15:29:54,915 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,916 - ERROR - Error in episode 1772: name 'args' is not defined +2025-03-10 15:29:54,918 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,919 - ERROR - Error in episode 1773: name 'args' is not defined +2025-03-10 15:29:54,921 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,921 - ERROR - Error in episode 1774: name 'args' is not defined +2025-03-10 15:29:54,923 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,923 - ERROR - Error in episode 1775: name 'args' is not defined +2025-03-10 15:29:54,926 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,926 - ERROR - Error in episode 1776: name 'args' is not defined +2025-03-10 15:29:54,929 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,929 - ERROR - Error in episode 1777: name 'args' is not defined +2025-03-10 15:29:54,932 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,932 - ERROR - Error in episode 1778: name 'args' is not defined +2025-03-10 15:29:54,935 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,935 - ERROR - Error in episode 1779: name 'args' is not defined +2025-03-10 15:29:54,938 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,938 - ERROR - Error in episode 1780: name 'args' is not defined +2025-03-10 15:29:54,940 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,941 - ERROR - Error in episode 1781: name 'args' is not defined +2025-03-10 15:29:54,943 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,944 - ERROR - Error in episode 1782: name 'args' is not defined +2025-03-10 15:29:54,946 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,946 - ERROR - Error in episode 1783: name 'args' is not defined +2025-03-10 15:29:54,949 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,950 - ERROR - Error in episode 1784: name 'args' is not defined +2025-03-10 15:29:54,953 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,953 - ERROR - Error in episode 1785: name 'args' is not defined +2025-03-10 15:29:54,956 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,956 - ERROR - Error in episode 1786: name 'args' is not defined +2025-03-10 15:29:54,959 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,959 - ERROR - Error in episode 1787: name 'args' is not defined +2025-03-10 15:29:54,962 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,962 - ERROR - Error in episode 1788: name 'args' is not defined +2025-03-10 15:29:54,965 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,965 - ERROR - Error in episode 1789: name 'args' is not defined +2025-03-10 15:29:54,968 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,968 - ERROR - Error in episode 1790: name 'args' is not defined +2025-03-10 15:29:54,971 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,971 - ERROR - Error in episode 1791: name 'args' is not defined +2025-03-10 15:29:54,974 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,974 - ERROR - Error in episode 1792: name 'args' is not defined +2025-03-10 15:29:54,977 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,977 - ERROR - Error in episode 1793: name 'args' is not defined +2025-03-10 15:29:54,980 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,980 - ERROR - Error in episode 1794: name 'args' is not defined +2025-03-10 15:29:54,983 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,983 - ERROR - Error in episode 1795: name 'args' is not defined +2025-03-10 15:29:54,985 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,986 - ERROR - Error in episode 1796: name 'args' is not defined +2025-03-10 15:29:54,988 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,989 - ERROR - Error in episode 1797: name 'args' is not defined +2025-03-10 15:29:54,991 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,991 - ERROR - Error in episode 1798: name 'args' is not defined +2025-03-10 15:29:54,994 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,995 - ERROR - Error in episode 1799: name 'args' is not defined +2025-03-10 15:29:54,997 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:54,998 - ERROR - Error in episode 1800: name 'args' is not defined +2025-03-10 15:29:55,000 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,001 - ERROR - Error in episode 1801: name 'args' is not defined +2025-03-10 15:29:55,003 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,003 - ERROR - Error in episode 1802: name 'args' is not defined +2025-03-10 15:29:55,006 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,006 - ERROR - Error in episode 1803: name 'args' is not defined +2025-03-10 15:29:55,009 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,010 - ERROR - Error in episode 1804: name 'args' is not defined +2025-03-10 15:29:55,012 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,012 - ERROR - Error in episode 1805: name 'args' is not defined +2025-03-10 15:29:55,015 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,015 - ERROR - Error in episode 1806: name 'args' is not defined +2025-03-10 15:29:55,018 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,018 - ERROR - Error in episode 1807: name 'args' is not defined +2025-03-10 15:29:55,020 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,021 - ERROR - Error in episode 1808: name 'args' is not defined +2025-03-10 15:29:55,024 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,024 - ERROR - Error in episode 1809: name 'args' is not defined +2025-03-10 15:29:55,027 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,027 - ERROR - Error in episode 1810: name 'args' is not defined +2025-03-10 15:29:55,030 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,030 - ERROR - Error in episode 1811: name 'args' is not defined +2025-03-10 15:29:55,032 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,033 - ERROR - Error in episode 1812: name 'args' is not defined +2025-03-10 15:29:55,036 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,036 - ERROR - Error in episode 1813: name 'args' is not defined +2025-03-10 15:29:55,039 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,039 - ERROR - Error in episode 1814: name 'args' is not defined +2025-03-10 15:29:55,042 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,042 - ERROR - Error in episode 1815: name 'args' is not defined +2025-03-10 15:29:55,045 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,045 - ERROR - Error in episode 1816: name 'args' is not defined +2025-03-10 15:29:55,048 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,049 - ERROR - Error in episode 1817: name 'args' is not defined +2025-03-10 15:29:55,051 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,052 - ERROR - Error in episode 1818: name 'args' is not defined +2025-03-10 15:29:55,054 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,054 - ERROR - Error in episode 1819: name 'args' is not defined +2025-03-10 15:29:55,057 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,057 - ERROR - Error in episode 1820: name 'args' is not defined +2025-03-10 15:29:55,059 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,060 - ERROR - Error in episode 1821: name 'args' is not defined +2025-03-10 15:29:55,062 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,063 - ERROR - Error in episode 1822: name 'args' is not defined +2025-03-10 15:29:55,065 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,065 - ERROR - Error in episode 1823: name 'args' is not defined +2025-03-10 15:29:55,068 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,068 - ERROR - Error in episode 1824: name 'args' is not defined +2025-03-10 15:29:55,071 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,071 - ERROR - Error in episode 1825: name 'args' is not defined +2025-03-10 15:29:55,074 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,074 - ERROR - Error in episode 1826: name 'args' is not defined +2025-03-10 15:29:55,077 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,077 - ERROR - Error in episode 1827: name 'args' is not defined +2025-03-10 15:29:55,080 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,080 - ERROR - Error in episode 1828: name 'args' is not defined +2025-03-10 15:29:55,083 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,083 - ERROR - Error in episode 1829: name 'args' is not defined +2025-03-10 15:29:55,085 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,086 - ERROR - Error in episode 1830: name 'args' is not defined +2025-03-10 15:29:55,088 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,089 - ERROR - Error in episode 1831: name 'args' is not defined +2025-03-10 15:29:55,091 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,091 - ERROR - Error in episode 1832: name 'args' is not defined +2025-03-10 15:29:55,094 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,094 - ERROR - Error in episode 1833: name 'args' is not defined +2025-03-10 15:29:55,097 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,097 - ERROR - Error in episode 1834: name 'args' is not defined +2025-03-10 15:29:55,099 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,100 - ERROR - Error in episode 1835: name 'args' is not defined +2025-03-10 15:29:55,102 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,102 - ERROR - Error in episode 1836: name 'args' is not defined +2025-03-10 15:29:55,105 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,105 - ERROR - Error in episode 1837: name 'args' is not defined +2025-03-10 15:29:55,108 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,109 - ERROR - Error in episode 1838: name 'args' is not defined +2025-03-10 15:29:55,111 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,111 - ERROR - Error in episode 1839: name 'args' is not defined +2025-03-10 15:29:55,114 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,115 - ERROR - Error in episode 1840: name 'args' is not defined +2025-03-10 15:29:55,117 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,117 - ERROR - Error in episode 1841: name 'args' is not defined +2025-03-10 15:29:55,120 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,120 - ERROR - Error in episode 1842: name 'args' is not defined +2025-03-10 15:29:55,124 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,124 - ERROR - Error in episode 1843: name 'args' is not defined +2025-03-10 15:29:55,127 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,127 - ERROR - Error in episode 1844: name 'args' is not defined +2025-03-10 15:29:55,129 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,130 - ERROR - Error in episode 1845: name 'args' is not defined +2025-03-10 15:29:55,133 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,133 - ERROR - Error in episode 1846: name 'args' is not defined +2025-03-10 15:29:55,136 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,136 - ERROR - Error in episode 1847: name 'args' is not defined +2025-03-10 15:29:55,139 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,139 - ERROR - Error in episode 1848: name 'args' is not defined +2025-03-10 15:29:55,141 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,141 - ERROR - Error in episode 1849: name 'args' is not defined +2025-03-10 15:29:55,144 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,144 - ERROR - Error in episode 1850: name 'args' is not defined +2025-03-10 15:29:55,147 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,147 - ERROR - Error in episode 1851: name 'args' is not defined +2025-03-10 15:29:55,149 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,150 - ERROR - Error in episode 1852: name 'args' is not defined +2025-03-10 15:29:55,152 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,152 - ERROR - Error in episode 1853: name 'args' is not defined +2025-03-10 15:29:55,155 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,155 - ERROR - Error in episode 1854: name 'args' is not defined +2025-03-10 15:29:55,158 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,158 - ERROR - Error in episode 1855: name 'args' is not defined +2025-03-10 15:29:55,160 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,161 - ERROR - Error in episode 1856: name 'args' is not defined +2025-03-10 15:29:55,164 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,164 - ERROR - Error in episode 1857: name 'args' is not defined +2025-03-10 15:29:55,166 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,166 - ERROR - Error in episode 1858: name 'args' is not defined +2025-03-10 15:29:55,169 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,169 - ERROR - Error in episode 1859: name 'args' is not defined +2025-03-10 15:29:55,172 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,173 - ERROR - Error in episode 1860: name 'args' is not defined +2025-03-10 15:29:55,176 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,176 - ERROR - Error in episode 1861: name 'args' is not defined +2025-03-10 15:29:55,179 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,179 - ERROR - Error in episode 1862: name 'args' is not defined +2025-03-10 15:29:55,182 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,182 - ERROR - Error in episode 1863: name 'args' is not defined +2025-03-10 15:29:55,185 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,185 - ERROR - Error in episode 1864: name 'args' is not defined +2025-03-10 15:29:55,188 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,188 - ERROR - Error in episode 1865: name 'args' is not defined +2025-03-10 15:29:55,190 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,191 - ERROR - Error in episode 1866: name 'args' is not defined +2025-03-10 15:29:55,193 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,194 - ERROR - Error in episode 1867: name 'args' is not defined +2025-03-10 15:29:55,196 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,197 - ERROR - Error in episode 1868: name 'args' is not defined +2025-03-10 15:29:55,199 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,200 - ERROR - Error in episode 1869: name 'args' is not defined +2025-03-10 15:29:55,202 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,203 - ERROR - Error in episode 1870: name 'args' is not defined +2025-03-10 15:29:55,206 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,206 - ERROR - Error in episode 1871: name 'args' is not defined +2025-03-10 15:29:55,208 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,209 - ERROR - Error in episode 1872: name 'args' is not defined +2025-03-10 15:29:55,211 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,211 - ERROR - Error in episode 1873: name 'args' is not defined +2025-03-10 15:29:55,214 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,215 - ERROR - Error in episode 1874: name 'args' is not defined +2025-03-10 15:29:55,218 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,218 - ERROR - Error in episode 1875: name 'args' is not defined +2025-03-10 15:29:55,221 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,221 - ERROR - Error in episode 1876: name 'args' is not defined +2025-03-10 15:29:55,224 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,224 - ERROR - Error in episode 1877: name 'args' is not defined +2025-03-10 15:29:55,226 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,227 - ERROR - Error in episode 1878: name 'args' is not defined +2025-03-10 15:29:55,229 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,230 - ERROR - Error in episode 1879: name 'args' is not defined +2025-03-10 15:29:55,232 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,232 - ERROR - Error in episode 1880: name 'args' is not defined +2025-03-10 15:29:55,235 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,235 - ERROR - Error in episode 1881: name 'args' is not defined +2025-03-10 15:29:55,238 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,238 - ERROR - Error in episode 1882: name 'args' is not defined +2025-03-10 15:29:55,241 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,241 - ERROR - Error in episode 1883: name 'args' is not defined +2025-03-10 15:29:55,243 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,244 - ERROR - Error in episode 1884: name 'args' is not defined +2025-03-10 15:29:55,246 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,247 - ERROR - Error in episode 1885: name 'args' is not defined +2025-03-10 15:29:55,249 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,249 - ERROR - Error in episode 1886: name 'args' is not defined +2025-03-10 15:29:55,252 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,252 - ERROR - Error in episode 1887: name 'args' is not defined +2025-03-10 15:29:55,255 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,255 - ERROR - Error in episode 1888: name 'args' is not defined +2025-03-10 15:29:55,257 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,258 - ERROR - Error in episode 1889: name 'args' is not defined +2025-03-10 15:29:55,260 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,260 - ERROR - Error in episode 1890: name 'args' is not defined +2025-03-10 15:29:55,263 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,264 - ERROR - Error in episode 1891: name 'args' is not defined +2025-03-10 15:29:55,266 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,266 - ERROR - Error in episode 1892: name 'args' is not defined +2025-03-10 15:29:55,269 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,269 - ERROR - Error in episode 1893: name 'args' is not defined +2025-03-10 15:29:55,272 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,272 - ERROR - Error in episode 1894: name 'args' is not defined +2025-03-10 15:29:55,275 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,275 - ERROR - Error in episode 1895: name 'args' is not defined +2025-03-10 15:29:55,278 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,278 - ERROR - Error in episode 1896: name 'args' is not defined +2025-03-10 15:29:55,281 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,281 - ERROR - Error in episode 1897: name 'args' is not defined +2025-03-10 15:29:55,284 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,284 - ERROR - Error in episode 1898: name 'args' is not defined +2025-03-10 15:29:55,287 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,287 - ERROR - Error in episode 1899: name 'args' is not defined +2025-03-10 15:29:55,291 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,291 - ERROR - Error in episode 1900: name 'args' is not defined +2025-03-10 15:29:55,293 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,293 - ERROR - Error in episode 1901: name 'args' is not defined +2025-03-10 15:29:55,296 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,296 - ERROR - Error in episode 1902: name 'args' is not defined +2025-03-10 15:29:55,299 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,299 - ERROR - Error in episode 1903: name 'args' is not defined +2025-03-10 15:29:55,302 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,302 - ERROR - Error in episode 1904: name 'args' is not defined +2025-03-10 15:29:55,305 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,305 - ERROR - Error in episode 1905: name 'args' is not defined +2025-03-10 15:29:55,308 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,308 - ERROR - Error in episode 1906: name 'args' is not defined +2025-03-10 15:29:55,310 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,311 - ERROR - Error in episode 1907: name 'args' is not defined +2025-03-10 15:29:55,313 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,314 - ERROR - Error in episode 1908: name 'args' is not defined +2025-03-10 15:29:55,317 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,317 - ERROR - Error in episode 1909: name 'args' is not defined +2025-03-10 15:29:55,319 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,320 - ERROR - Error in episode 1910: name 'args' is not defined +2025-03-10 15:29:55,323 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,324 - ERROR - Error in episode 1911: name 'args' is not defined +2025-03-10 15:29:55,326 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,327 - ERROR - Error in episode 1912: name 'args' is not defined +2025-03-10 15:29:55,330 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,330 - ERROR - Error in episode 1913: name 'args' is not defined +2025-03-10 15:29:55,333 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,333 - ERROR - Error in episode 1914: name 'args' is not defined +2025-03-10 15:29:55,335 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,336 - ERROR - Error in episode 1915: name 'args' is not defined +2025-03-10 15:29:55,338 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,339 - ERROR - Error in episode 1916: name 'args' is not defined +2025-03-10 15:29:55,342 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,342 - ERROR - Error in episode 1917: name 'args' is not defined +2025-03-10 15:29:55,344 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,345 - ERROR - Error in episode 1918: name 'args' is not defined +2025-03-10 15:29:55,348 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,348 - ERROR - Error in episode 1919: name 'args' is not defined +2025-03-10 15:29:55,350 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,351 - ERROR - Error in episode 1920: name 'args' is not defined +2025-03-10 15:29:55,353 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,354 - ERROR - Error in episode 1921: name 'args' is not defined +2025-03-10 15:29:55,357 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,357 - ERROR - Error in episode 1922: name 'args' is not defined +2025-03-10 15:29:55,359 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,360 - ERROR - Error in episode 1923: name 'args' is not defined +2025-03-10 15:29:55,362 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,362 - ERROR - Error in episode 1924: name 'args' is not defined +2025-03-10 15:29:55,365 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,365 - ERROR - Error in episode 1925: name 'args' is not defined +2025-03-10 15:29:55,368 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,368 - ERROR - Error in episode 1926: name 'args' is not defined +2025-03-10 15:29:55,371 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,371 - ERROR - Error in episode 1927: name 'args' is not defined +2025-03-10 15:29:55,374 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,374 - ERROR - Error in episode 1928: name 'args' is not defined +2025-03-10 15:29:55,376 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,377 - ERROR - Error in episode 1929: name 'args' is not defined +2025-03-10 15:29:55,379 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,379 - ERROR - Error in episode 1930: name 'args' is not defined +2025-03-10 15:29:55,382 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,382 - ERROR - Error in episode 1931: name 'args' is not defined +2025-03-10 15:29:55,385 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,385 - ERROR - Error in episode 1932: name 'args' is not defined +2025-03-10 15:29:55,388 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,388 - ERROR - Error in episode 1933: name 'args' is not defined +2025-03-10 15:29:55,392 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,392 - ERROR - Error in episode 1934: name 'args' is not defined +2025-03-10 15:29:55,396 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,396 - ERROR - Error in episode 1935: name 'args' is not defined +2025-03-10 15:29:55,400 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,400 - ERROR - Error in episode 1936: name 'args' is not defined +2025-03-10 15:29:55,404 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,404 - ERROR - Error in episode 1937: name 'args' is not defined +2025-03-10 15:29:55,408 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,408 - ERROR - Error in episode 1938: name 'args' is not defined +2025-03-10 15:29:55,411 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,412 - ERROR - Error in episode 1939: name 'args' is not defined +2025-03-10 15:29:55,416 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,417 - ERROR - Error in episode 1940: name 'args' is not defined +2025-03-10 15:29:55,420 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,421 - ERROR - Error in episode 1941: name 'args' is not defined +2025-03-10 15:29:55,424 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,424 - ERROR - Error in episode 1942: name 'args' is not defined +2025-03-10 15:29:55,427 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,428 - ERROR - Error in episode 1943: name 'args' is not defined +2025-03-10 15:29:55,431 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,431 - ERROR - Error in episode 1944: name 'args' is not defined +2025-03-10 15:29:55,434 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,434 - ERROR - Error in episode 1945: name 'args' is not defined +2025-03-10 15:29:55,437 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,438 - ERROR - Error in episode 1946: name 'args' is not defined +2025-03-10 15:29:55,441 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,441 - ERROR - Error in episode 1947: name 'args' is not defined +2025-03-10 15:29:55,444 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,444 - ERROR - Error in episode 1948: name 'args' is not defined +2025-03-10 15:29:55,447 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,447 - ERROR - Error in episode 1949: name 'args' is not defined +2025-03-10 15:29:55,450 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,451 - ERROR - Error in episode 1950: name 'args' is not defined +2025-03-10 15:29:55,453 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,454 - ERROR - Error in episode 1951: name 'args' is not defined +2025-03-10 15:29:55,457 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,457 - ERROR - Error in episode 1952: name 'args' is not defined +2025-03-10 15:29:55,460 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,460 - ERROR - Error in episode 1953: name 'args' is not defined +2025-03-10 15:29:55,463 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,464 - ERROR - Error in episode 1954: name 'args' is not defined +2025-03-10 15:29:55,467 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,467 - ERROR - Error in episode 1955: name 'args' is not defined +2025-03-10 15:29:55,470 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,470 - ERROR - Error in episode 1956: name 'args' is not defined +2025-03-10 15:29:55,474 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,474 - ERROR - Error in episode 1957: name 'args' is not defined +2025-03-10 15:29:55,478 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,478 - ERROR - Error in episode 1958: name 'args' is not defined +2025-03-10 15:29:55,481 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,482 - ERROR - Error in episode 1959: name 'args' is not defined +2025-03-10 15:29:55,485 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,486 - ERROR - Error in episode 1960: name 'args' is not defined +2025-03-10 15:29:55,488 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,489 - ERROR - Error in episode 1961: name 'args' is not defined +2025-03-10 15:29:55,492 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,492 - ERROR - Error in episode 1962: name 'args' is not defined +2025-03-10 15:29:55,495 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,497 - ERROR - Error in episode 1963: name 'args' is not defined +2025-03-10 15:29:55,501 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,501 - ERROR - Error in episode 1964: name 'args' is not defined +2025-03-10 15:29:55,504 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,505 - ERROR - Error in episode 1965: name 'args' is not defined +2025-03-10 15:29:55,508 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,508 - ERROR - Error in episode 1966: name 'args' is not defined +2025-03-10 15:29:55,512 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,512 - ERROR - Error in episode 1967: name 'args' is not defined +2025-03-10 15:29:55,515 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,516 - ERROR - Error in episode 1968: name 'args' is not defined +2025-03-10 15:29:55,520 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,520 - ERROR - Error in episode 1969: name 'args' is not defined +2025-03-10 15:29:55,523 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,523 - ERROR - Error in episode 1970: name 'args' is not defined +2025-03-10 15:29:55,527 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,527 - ERROR - Error in episode 1971: name 'args' is not defined +2025-03-10 15:29:55,531 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,531 - ERROR - Error in episode 1972: name 'args' is not defined +2025-03-10 15:29:55,534 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,534 - ERROR - Error in episode 1973: name 'args' is not defined +2025-03-10 15:29:55,538 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,538 - ERROR - Error in episode 1974: name 'args' is not defined +2025-03-10 15:29:55,542 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,542 - ERROR - Error in episode 1975: name 'args' is not defined +2025-03-10 15:29:55,546 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,546 - ERROR - Error in episode 1976: name 'args' is not defined +2025-03-10 15:29:55,550 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,550 - ERROR - Error in episode 1977: name 'args' is not defined +2025-03-10 15:29:55,553 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,554 - ERROR - Error in episode 1978: name 'args' is not defined +2025-03-10 15:29:55,557 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,557 - ERROR - Error in episode 1979: name 'args' is not defined +2025-03-10 15:29:55,561 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,561 - ERROR - Error in episode 1980: name 'args' is not defined +2025-03-10 15:29:55,564 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,564 - ERROR - Error in episode 1981: name 'args' is not defined +2025-03-10 15:29:55,567 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,568 - ERROR - Error in episode 1982: name 'args' is not defined +2025-03-10 15:29:55,571 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,571 - ERROR - Error in episode 1983: name 'args' is not defined +2025-03-10 15:29:55,574 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,575 - ERROR - Error in episode 1984: name 'args' is not defined +2025-03-10 15:29:55,578 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,578 - ERROR - Error in episode 1985: name 'args' is not defined +2025-03-10 15:29:55,581 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,581 - ERROR - Error in episode 1986: name 'args' is not defined +2025-03-10 15:29:55,584 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,585 - ERROR - Error in episode 1987: name 'args' is not defined +2025-03-10 15:29:55,588 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,588 - ERROR - Error in episode 1988: name 'args' is not defined +2025-03-10 15:29:55,591 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,592 - ERROR - Error in episode 1989: name 'args' is not defined +2025-03-10 15:29:55,595 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,596 - ERROR - Error in episode 1990: name 'args' is not defined +2025-03-10 15:29:55,599 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,599 - ERROR - Error in episode 1991: name 'args' is not defined +2025-03-10 15:29:55,603 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,603 - ERROR - Error in episode 1992: name 'args' is not defined +2025-03-10 15:29:55,607 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,607 - ERROR - Error in episode 1993: name 'args' is not defined +2025-03-10 15:29:55,610 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,611 - ERROR - Error in episode 1994: name 'args' is not defined +2025-03-10 15:29:55,614 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,614 - ERROR - Error in episode 1995: name 'args' is not defined +2025-03-10 15:29:55,618 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,618 - ERROR - Error in episode 1996: name 'args' is not defined +2025-03-10 15:29:55,621 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,621 - ERROR - Error in episode 1997: name 'args' is not defined +2025-03-10 15:29:55,624 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,624 - ERROR - Error in episode 1998: name 'args' is not defined +2025-03-10 15:29:55,628 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,628 - ERROR - Error in episode 1999: name 'args' is not defined +2025-03-10 15:29:55,631 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,631 - ERROR - Error in episode 2000: name 'args' is not defined +2025-03-10 15:29:55,635 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,635 - ERROR - Error in episode 2001: name 'args' is not defined +2025-03-10 15:29:55,639 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,639 - ERROR - Error in episode 2002: name 'args' is not defined +2025-03-10 15:29:55,642 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,642 - ERROR - Error in episode 2003: name 'args' is not defined +2025-03-10 15:29:55,645 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,646 - ERROR - Error in episode 2004: name 'args' is not defined +2025-03-10 15:29:55,649 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,650 - ERROR - Error in episode 2005: name 'args' is not defined +2025-03-10 15:29:55,652 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,652 - ERROR - Error in episode 2006: name 'args' is not defined +2025-03-10 15:29:55,655 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,655 - ERROR - Error in episode 2007: name 'args' is not defined +2025-03-10 15:29:55,658 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,658 - ERROR - Error in episode 2008: name 'args' is not defined +2025-03-10 15:29:55,662 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,662 - ERROR - Error in episode 2009: name 'args' is not defined +2025-03-10 15:29:55,665 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,665 - ERROR - Error in episode 2010: name 'args' is not defined +2025-03-10 15:29:55,669 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,669 - ERROR - Error in episode 2011: name 'args' is not defined +2025-03-10 15:29:55,673 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,674 - ERROR - Error in episode 2012: name 'args' is not defined +2025-03-10 15:29:55,676 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,677 - ERROR - Error in episode 2013: name 'args' is not defined +2025-03-10 15:29:55,680 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,680 - ERROR - Error in episode 2014: name 'args' is not defined +2025-03-10 15:29:55,683 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,683 - ERROR - Error in episode 2015: name 'args' is not defined +2025-03-10 15:29:55,686 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,687 - ERROR - Error in episode 2016: name 'args' is not defined +2025-03-10 15:29:55,690 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,690 - ERROR - Error in episode 2017: name 'args' is not defined +2025-03-10 15:29:55,692 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,693 - ERROR - Error in episode 2018: name 'args' is not defined +2025-03-10 15:29:55,696 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,696 - ERROR - Error in episode 2019: name 'args' is not defined +2025-03-10 15:29:55,699 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,699 - ERROR - Error in episode 2020: name 'args' is not defined +2025-03-10 15:29:55,701 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,702 - ERROR - Error in episode 2021: name 'args' is not defined +2025-03-10 15:29:55,705 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,705 - ERROR - Error in episode 2022: name 'args' is not defined +2025-03-10 15:29:55,708 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,708 - ERROR - Error in episode 2023: name 'args' is not defined +2025-03-10 15:29:55,711 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,711 - ERROR - Error in episode 2024: name 'args' is not defined +2025-03-10 15:29:55,713 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,715 - ERROR - Error in episode 2025: name 'args' is not defined +2025-03-10 15:29:55,717 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,718 - ERROR - Error in episode 2026: name 'args' is not defined +2025-03-10 15:29:55,720 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,720 - ERROR - Error in episode 2027: name 'args' is not defined +2025-03-10 15:29:55,722 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,723 - ERROR - Error in episode 2028: name 'args' is not defined +2025-03-10 15:29:55,727 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,727 - ERROR - Error in episode 2029: name 'args' is not defined +2025-03-10 15:29:55,729 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,730 - ERROR - Error in episode 2030: name 'args' is not defined +2025-03-10 15:29:55,733 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,733 - ERROR - Error in episode 2031: name 'args' is not defined +2025-03-10 15:29:55,736 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,736 - ERROR - Error in episode 2032: name 'args' is not defined +2025-03-10 15:29:55,739 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,739 - ERROR - Error in episode 2033: name 'args' is not defined +2025-03-10 15:29:55,742 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,742 - ERROR - Error in episode 2034: name 'args' is not defined +2025-03-10 15:29:55,745 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,745 - ERROR - Error in episode 2035: name 'args' is not defined +2025-03-10 15:29:55,748 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,748 - ERROR - Error in episode 2036: name 'args' is not defined +2025-03-10 15:29:55,751 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,751 - ERROR - Error in episode 2037: name 'args' is not defined +2025-03-10 15:29:55,753 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,753 - ERROR - Error in episode 2038: name 'args' is not defined +2025-03-10 15:29:55,756 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,756 - ERROR - Error in episode 2039: name 'args' is not defined +2025-03-10 15:29:55,759 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,759 - ERROR - Error in episode 2040: name 'args' is not defined +2025-03-10 15:29:55,762 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,762 - ERROR - Error in episode 2041: name 'args' is not defined +2025-03-10 15:29:55,765 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,766 - ERROR - Error in episode 2042: name 'args' is not defined +2025-03-10 15:29:55,768 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,769 - ERROR - Error in episode 2043: name 'args' is not defined +2025-03-10 15:29:55,771 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,772 - ERROR - Error in episode 2044: name 'args' is not defined +2025-03-10 15:29:55,774 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,774 - ERROR - Error in episode 2045: name 'args' is not defined +2025-03-10 15:29:55,777 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,777 - ERROR - Error in episode 2046: name 'args' is not defined +2025-03-10 15:29:55,780 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,780 - ERROR - Error in episode 2047: name 'args' is not defined +2025-03-10 15:29:55,784 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,784 - ERROR - Error in episode 2048: name 'args' is not defined +2025-03-10 15:29:55,787 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,787 - ERROR - Error in episode 2049: name 'args' is not defined +2025-03-10 15:29:55,790 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,790 - ERROR - Error in episode 2050: name 'args' is not defined +2025-03-10 15:29:55,792 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,793 - ERROR - Error in episode 2051: name 'args' is not defined +2025-03-10 15:29:55,795 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,795 - ERROR - Error in episode 2052: name 'args' is not defined +2025-03-10 15:29:55,798 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,799 - ERROR - Error in episode 2053: name 'args' is not defined +2025-03-10 15:29:55,801 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,801 - ERROR - Error in episode 2054: name 'args' is not defined +2025-03-10 15:29:55,804 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,805 - ERROR - Error in episode 2055: name 'args' is not defined +2025-03-10 15:29:55,808 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,808 - ERROR - Error in episode 2056: name 'args' is not defined +2025-03-10 15:29:55,810 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,811 - ERROR - Error in episode 2057: name 'args' is not defined +2025-03-10 15:29:55,813 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,814 - ERROR - Error in episode 2058: name 'args' is not defined +2025-03-10 15:29:55,816 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,816 - ERROR - Error in episode 2059: name 'args' is not defined +2025-03-10 15:29:55,819 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,819 - ERROR - Error in episode 2060: name 'args' is not defined +2025-03-10 15:29:55,822 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,822 - ERROR - Error in episode 2061: name 'args' is not defined +2025-03-10 15:29:55,825 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,826 - ERROR - Error in episode 2062: name 'args' is not defined +2025-03-10 15:29:55,828 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,828 - ERROR - Error in episode 2063: name 'args' is not defined +2025-03-10 15:29:55,831 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,831 - ERROR - Error in episode 2064: name 'args' is not defined +2025-03-10 15:29:55,834 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,834 - ERROR - Error in episode 2065: name 'args' is not defined +2025-03-10 15:29:55,837 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,837 - ERROR - Error in episode 2066: name 'args' is not defined +2025-03-10 15:29:55,840 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,840 - ERROR - Error in episode 2067: name 'args' is not defined +2025-03-10 15:29:55,844 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,844 - ERROR - Error in episode 2068: name 'args' is not defined +2025-03-10 15:29:55,847 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,848 - ERROR - Error in episode 2069: name 'args' is not defined +2025-03-10 15:29:55,851 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,851 - ERROR - Error in episode 2070: name 'args' is not defined +2025-03-10 15:29:55,853 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,853 - ERROR - Error in episode 2071: name 'args' is not defined +2025-03-10 15:29:55,857 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,857 - ERROR - Error in episode 2072: name 'args' is not defined +2025-03-10 15:29:55,860 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,860 - ERROR - Error in episode 2073: name 'args' is not defined +2025-03-10 15:29:55,862 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,863 - ERROR - Error in episode 2074: name 'args' is not defined +2025-03-10 15:29:55,866 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,866 - ERROR - Error in episode 2075: name 'args' is not defined +2025-03-10 15:29:55,868 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,869 - ERROR - Error in episode 2076: name 'args' is not defined +2025-03-10 15:29:55,871 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,871 - ERROR - Error in episode 2077: name 'args' is not defined +2025-03-10 15:29:55,874 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,875 - ERROR - Error in episode 2078: name 'args' is not defined +2025-03-10 15:29:55,877 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,878 - ERROR - Error in episode 2079: name 'args' is not defined +2025-03-10 15:29:55,880 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,881 - ERROR - Error in episode 2080: name 'args' is not defined +2025-03-10 15:29:55,883 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,884 - ERROR - Error in episode 2081: name 'args' is not defined +2025-03-10 15:29:55,886 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,886 - ERROR - Error in episode 2082: name 'args' is not defined +2025-03-10 15:29:55,889 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,890 - ERROR - Error in episode 2083: name 'args' is not defined +2025-03-10 15:29:55,892 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,892 - ERROR - Error in episode 2084: name 'args' is not defined +2025-03-10 15:29:55,895 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,895 - ERROR - Error in episode 2085: name 'args' is not defined +2025-03-10 15:29:55,898 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,898 - ERROR - Error in episode 2086: name 'args' is not defined +2025-03-10 15:29:55,901 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,901 - ERROR - Error in episode 2087: name 'args' is not defined +2025-03-10 15:29:55,904 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,904 - ERROR - Error in episode 2088: name 'args' is not defined +2025-03-10 15:29:55,907 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,908 - ERROR - Error in episode 2089: name 'args' is not defined +2025-03-10 15:29:55,910 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,910 - ERROR - Error in episode 2090: name 'args' is not defined +2025-03-10 15:29:55,913 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,913 - ERROR - Error in episode 2091: name 'args' is not defined +2025-03-10 15:29:55,916 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,916 - ERROR - Error in episode 2092: name 'args' is not defined +2025-03-10 15:29:55,918 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,919 - ERROR - Error in episode 2093: name 'args' is not defined +2025-03-10 15:29:55,921 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,922 - ERROR - Error in episode 2094: name 'args' is not defined +2025-03-10 15:29:55,925 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,925 - ERROR - Error in episode 2095: name 'args' is not defined +2025-03-10 15:29:55,928 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,928 - ERROR - Error in episode 2096: name 'args' is not defined +2025-03-10 15:29:55,931 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,931 - ERROR - Error in episode 2097: name 'args' is not defined +2025-03-10 15:29:55,934 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,934 - ERROR - Error in episode 2098: name 'args' is not defined +2025-03-10 15:29:55,936 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,937 - ERROR - Error in episode 2099: name 'args' is not defined +2025-03-10 15:29:55,939 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,940 - ERROR - Error in episode 2100: name 'args' is not defined +2025-03-10 15:29:55,942 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,943 - ERROR - Error in episode 2101: name 'args' is not defined +2025-03-10 15:29:55,945 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,945 - ERROR - Error in episode 2102: name 'args' is not defined +2025-03-10 15:29:55,948 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,949 - ERROR - Error in episode 2103: name 'args' is not defined +2025-03-10 15:29:55,951 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,951 - ERROR - Error in episode 2104: name 'args' is not defined +2025-03-10 15:29:55,954 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,954 - ERROR - Error in episode 2105: name 'args' is not defined +2025-03-10 15:29:55,957 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,957 - ERROR - Error in episode 2106: name 'args' is not defined +2025-03-10 15:29:55,959 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,959 - ERROR - Error in episode 2107: name 'args' is not defined +2025-03-10 15:29:55,962 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,962 - ERROR - Error in episode 2108: name 'args' is not defined +2025-03-10 15:29:55,965 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,965 - ERROR - Error in episode 2109: name 'args' is not defined +2025-03-10 15:29:55,968 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,968 - ERROR - Error in episode 2110: name 'args' is not defined +2025-03-10 15:29:55,971 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,971 - ERROR - Error in episode 2111: name 'args' is not defined +2025-03-10 15:29:55,974 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,974 - ERROR - Error in episode 2112: name 'args' is not defined +2025-03-10 15:29:55,978 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,978 - ERROR - Error in episode 2113: name 'args' is not defined +2025-03-10 15:29:55,981 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,982 - ERROR - Error in episode 2114: name 'args' is not defined +2025-03-10 15:29:55,984 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,984 - ERROR - Error in episode 2115: name 'args' is not defined +2025-03-10 15:29:55,987 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,987 - ERROR - Error in episode 2116: name 'args' is not defined +2025-03-10 15:29:55,990 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,990 - ERROR - Error in episode 2117: name 'args' is not defined +2025-03-10 15:29:55,993 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,993 - ERROR - Error in episode 2118: name 'args' is not defined +2025-03-10 15:29:55,995 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,996 - ERROR - Error in episode 2119: name 'args' is not defined +2025-03-10 15:29:55,999 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:55,999 - ERROR - Error in episode 2120: name 'args' is not defined +2025-03-10 15:29:56,001 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,002 - ERROR - Error in episode 2121: name 'args' is not defined +2025-03-10 15:29:56,004 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,004 - ERROR - Error in episode 2122: name 'args' is not defined +2025-03-10 15:29:56,008 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,008 - ERROR - Error in episode 2123: name 'args' is not defined +2025-03-10 15:29:56,011 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,011 - ERROR - Error in episode 2124: name 'args' is not defined +2025-03-10 15:29:56,014 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,014 - ERROR - Error in episode 2125: name 'args' is not defined +2025-03-10 15:29:56,017 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,017 - ERROR - Error in episode 2126: name 'args' is not defined +2025-03-10 15:29:56,019 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,020 - ERROR - Error in episode 2127: name 'args' is not defined +2025-03-10 15:29:56,023 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,024 - ERROR - Error in episode 2128: name 'args' is not defined +2025-03-10 15:29:56,026 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,026 - ERROR - Error in episode 2129: name 'args' is not defined +2025-03-10 15:29:56,029 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,029 - ERROR - Error in episode 2130: name 'args' is not defined +2025-03-10 15:29:56,032 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,032 - ERROR - Error in episode 2131: name 'args' is not defined +2025-03-10 15:29:56,035 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,035 - ERROR - Error in episode 2132: name 'args' is not defined +2025-03-10 15:29:56,037 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,038 - ERROR - Error in episode 2133: name 'args' is not defined +2025-03-10 15:29:56,040 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,041 - ERROR - Error in episode 2134: name 'args' is not defined +2025-03-10 15:29:56,043 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,043 - ERROR - Error in episode 2135: name 'args' is not defined +2025-03-10 15:29:56,046 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,047 - ERROR - Error in episode 2136: name 'args' is not defined +2025-03-10 15:29:56,049 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,049 - ERROR - Error in episode 2137: name 'args' is not defined +2025-03-10 15:29:56,052 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,052 - ERROR - Error in episode 2138: name 'args' is not defined +2025-03-10 15:29:56,055 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,056 - ERROR - Error in episode 2139: name 'args' is not defined +2025-03-10 15:29:56,058 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,058 - ERROR - Error in episode 2140: name 'args' is not defined +2025-03-10 15:29:56,061 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,061 - ERROR - Error in episode 2141: name 'args' is not defined +2025-03-10 15:29:56,064 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,064 - ERROR - Error in episode 2142: name 'args' is not defined +2025-03-10 15:29:56,066 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,067 - ERROR - Error in episode 2143: name 'args' is not defined +2025-03-10 15:29:56,070 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,070 - ERROR - Error in episode 2144: name 'args' is not defined +2025-03-10 15:29:56,073 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,074 - ERROR - Error in episode 2145: name 'args' is not defined +2025-03-10 15:29:56,077 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,077 - ERROR - Error in episode 2146: name 'args' is not defined +2025-03-10 15:29:56,080 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,080 - ERROR - Error in episode 2147: name 'args' is not defined +2025-03-10 15:29:56,082 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,083 - ERROR - Error in episode 2148: name 'args' is not defined +2025-03-10 15:29:56,086 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,086 - ERROR - Error in episode 2149: name 'args' is not defined +2025-03-10 15:29:56,090 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,090 - ERROR - Error in episode 2150: name 'args' is not defined +2025-03-10 15:29:56,094 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,094 - ERROR - Error in episode 2151: name 'args' is not defined +2025-03-10 15:29:56,097 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,097 - ERROR - Error in episode 2152: name 'args' is not defined +2025-03-10 15:29:56,100 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,100 - ERROR - Error in episode 2153: name 'args' is not defined +2025-03-10 15:29:56,102 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,103 - ERROR - Error in episode 2154: name 'args' is not defined +2025-03-10 15:29:56,105 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,106 - ERROR - Error in episode 2155: name 'args' is not defined +2025-03-10 15:29:56,108 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,108 - ERROR - Error in episode 2156: name 'args' is not defined +2025-03-10 15:29:56,110 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,111 - ERROR - Error in episode 2157: name 'args' is not defined +2025-03-10 15:29:56,113 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,114 - ERROR - Error in episode 2158: name 'args' is not defined +2025-03-10 15:29:56,116 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,117 - ERROR - Error in episode 2159: name 'args' is not defined +2025-03-10 15:29:56,119 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,119 - ERROR - Error in episode 2160: name 'args' is not defined +2025-03-10 15:29:56,122 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,122 - ERROR - Error in episode 2161: name 'args' is not defined +2025-03-10 15:29:56,125 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,126 - ERROR - Error in episode 2162: name 'args' is not defined +2025-03-10 15:29:56,128 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,129 - ERROR - Error in episode 2163: name 'args' is not defined +2025-03-10 15:29:56,131 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,132 - ERROR - Error in episode 2164: name 'args' is not defined +2025-03-10 15:29:56,134 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,134 - ERROR - Error in episode 2165: name 'args' is not defined +2025-03-10 15:29:56,137 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,137 - ERROR - Error in episode 2166: name 'args' is not defined +2025-03-10 15:29:56,140 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,140 - ERROR - Error in episode 2167: name 'args' is not defined +2025-03-10 15:29:56,143 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,143 - ERROR - Error in episode 2168: name 'args' is not defined +2025-03-10 15:29:56,145 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,146 - ERROR - Error in episode 2169: name 'args' is not defined +2025-03-10 15:29:56,148 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,149 - ERROR - Error in episode 2170: name 'args' is not defined +2025-03-10 15:29:56,151 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,151 - ERROR - Error in episode 2171: name 'args' is not defined +2025-03-10 15:29:56,154 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,155 - ERROR - Error in episode 2172: name 'args' is not defined +2025-03-10 15:29:56,158 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,158 - ERROR - Error in episode 2173: name 'args' is not defined +2025-03-10 15:29:56,160 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,161 - ERROR - Error in episode 2174: name 'args' is not defined +2025-03-10 15:29:56,163 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,164 - ERROR - Error in episode 2175: name 'args' is not defined +2025-03-10 15:29:56,166 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,167 - ERROR - Error in episode 2176: name 'args' is not defined +2025-03-10 15:29:56,169 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,169 - ERROR - Error in episode 2177: name 'args' is not defined +2025-03-10 15:29:56,172 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,172 - ERROR - Error in episode 2178: name 'args' is not defined +2025-03-10 15:29:56,175 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,175 - ERROR - Error in episode 2179: name 'args' is not defined +2025-03-10 15:29:56,178 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,178 - ERROR - Error in episode 2180: name 'args' is not defined +2025-03-10 15:29:56,182 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,182 - ERROR - Error in episode 2181: name 'args' is not defined +2025-03-10 15:29:56,185 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,185 - ERROR - Error in episode 2182: name 'args' is not defined +2025-03-10 15:29:56,188 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,188 - ERROR - Error in episode 2183: name 'args' is not defined +2025-03-10 15:29:56,191 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,191 - ERROR - Error in episode 2184: name 'args' is not defined +2025-03-10 15:29:56,194 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,194 - ERROR - Error in episode 2185: name 'args' is not defined +2025-03-10 15:29:56,197 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,197 - ERROR - Error in episode 2186: name 'args' is not defined +2025-03-10 15:29:56,199 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,200 - ERROR - Error in episode 2187: name 'args' is not defined +2025-03-10 15:29:56,202 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,203 - ERROR - Error in episode 2188: name 'args' is not defined +2025-03-10 15:29:56,206 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,206 - ERROR - Error in episode 2189: name 'args' is not defined +2025-03-10 15:29:56,210 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,210 - ERROR - Error in episode 2190: name 'args' is not defined +2025-03-10 15:29:56,212 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,213 - ERROR - Error in episode 2191: name 'args' is not defined +2025-03-10 15:29:56,216 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,216 - ERROR - Error in episode 2192: name 'args' is not defined +2025-03-10 15:29:56,220 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,220 - ERROR - Error in episode 2193: name 'args' is not defined +2025-03-10 15:29:56,223 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,224 - ERROR - Error in episode 2194: name 'args' is not defined +2025-03-10 15:29:56,225 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,226 - ERROR - Error in episode 2195: name 'args' is not defined +2025-03-10 15:29:56,228 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,228 - ERROR - Error in episode 2196: name 'args' is not defined +2025-03-10 15:29:56,231 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,231 - ERROR - Error in episode 2197: name 'args' is not defined +2025-03-10 15:29:56,234 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,234 - ERROR - Error in episode 2198: name 'args' is not defined +2025-03-10 15:29:56,237 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,237 - ERROR - Error in episode 2199: name 'args' is not defined +2025-03-10 15:29:56,241 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,241 - ERROR - Error in episode 2200: name 'args' is not defined +2025-03-10 15:29:56,243 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,244 - ERROR - Error in episode 2201: name 'args' is not defined +2025-03-10 15:29:56,246 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,247 - ERROR - Error in episode 2202: name 'args' is not defined +2025-03-10 15:29:56,249 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,250 - ERROR - Error in episode 2203: name 'args' is not defined +2025-03-10 15:29:56,252 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,252 - ERROR - Error in episode 2204: name 'args' is not defined +2025-03-10 15:29:56,255 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,255 - ERROR - Error in episode 2205: name 'args' is not defined +2025-03-10 15:29:56,258 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,259 - ERROR - Error in episode 2206: name 'args' is not defined +2025-03-10 15:29:56,261 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,261 - ERROR - Error in episode 2207: name 'args' is not defined +2025-03-10 15:29:56,264 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,264 - ERROR - Error in episode 2208: name 'args' is not defined +2025-03-10 15:29:56,267 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,267 - ERROR - Error in episode 2209: name 'args' is not defined +2025-03-10 15:29:56,270 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,270 - ERROR - Error in episode 2210: name 'args' is not defined +2025-03-10 15:29:56,273 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,273 - ERROR - Error in episode 2211: name 'args' is not defined +2025-03-10 15:29:56,276 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,276 - ERROR - Error in episode 2212: name 'args' is not defined +2025-03-10 15:29:56,278 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,279 - ERROR - Error in episode 2213: name 'args' is not defined +2025-03-10 15:29:56,282 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,282 - ERROR - Error in episode 2214: name 'args' is not defined +2025-03-10 15:29:56,284 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,285 - ERROR - Error in episode 2215: name 'args' is not defined +2025-03-10 15:29:56,287 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,288 - ERROR - Error in episode 2216: name 'args' is not defined +2025-03-10 15:29:56,290 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,291 - ERROR - Error in episode 2217: name 'args' is not defined +2025-03-10 15:29:56,293 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,293 - ERROR - Error in episode 2218: name 'args' is not defined +2025-03-10 15:29:56,296 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,296 - ERROR - Error in episode 2219: name 'args' is not defined +2025-03-10 15:29:56,299 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,299 - ERROR - Error in episode 2220: name 'args' is not defined +2025-03-10 15:29:56,301 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,302 - ERROR - Error in episode 2221: name 'args' is not defined +2025-03-10 15:29:56,304 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,305 - ERROR - Error in episode 2222: name 'args' is not defined +2025-03-10 15:29:56,307 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,308 - ERROR - Error in episode 2223: name 'args' is not defined +2025-03-10 15:29:56,310 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,311 - ERROR - Error in episode 2224: name 'args' is not defined +2025-03-10 15:29:56,313 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,313 - ERROR - Error in episode 2225: name 'args' is not defined +2025-03-10 15:29:56,316 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,316 - ERROR - Error in episode 2226: name 'args' is not defined +2025-03-10 15:29:56,318 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,319 - ERROR - Error in episode 2227: name 'args' is not defined +2025-03-10 15:29:56,321 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,322 - ERROR - Error in episode 2228: name 'args' is not defined +2025-03-10 15:29:56,325 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,325 - ERROR - Error in episode 2229: name 'args' is not defined +2025-03-10 15:29:56,328 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,328 - ERROR - Error in episode 2230: name 'args' is not defined +2025-03-10 15:29:56,331 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,332 - ERROR - Error in episode 2231: name 'args' is not defined +2025-03-10 15:29:56,334 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,334 - ERROR - Error in episode 2232: name 'args' is not defined +2025-03-10 15:29:56,337 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,337 - ERROR - Error in episode 2233: name 'args' is not defined +2025-03-10 15:29:56,340 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,341 - ERROR - Error in episode 2234: name 'args' is not defined +2025-03-10 15:29:56,343 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,344 - ERROR - Error in episode 2235: name 'args' is not defined +2025-03-10 15:29:56,346 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,346 - ERROR - Error in episode 2236: name 'args' is not defined +2025-03-10 15:29:56,349 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,349 - ERROR - Error in episode 2237: name 'args' is not defined +2025-03-10 15:29:56,352 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,352 - ERROR - Error in episode 2238: name 'args' is not defined +2025-03-10 15:29:56,355 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,355 - ERROR - Error in episode 2239: name 'args' is not defined +2025-03-10 15:29:56,358 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,358 - ERROR - Error in episode 2240: name 'args' is not defined +2025-03-10 15:29:56,361 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,361 - ERROR - Error in episode 2241: name 'args' is not defined +2025-03-10 15:29:56,363 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,363 - ERROR - Error in episode 2242: name 'args' is not defined +2025-03-10 15:29:56,366 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,366 - ERROR - Error in episode 2243: name 'args' is not defined +2025-03-10 15:29:56,369 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,370 - ERROR - Error in episode 2244: name 'args' is not defined +2025-03-10 15:29:56,372 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,373 - ERROR - Error in episode 2245: name 'args' is not defined +2025-03-10 15:29:56,375 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,376 - ERROR - Error in episode 2246: name 'args' is not defined +2025-03-10 15:29:56,379 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,380 - ERROR - Error in episode 2247: name 'args' is not defined +2025-03-10 15:29:56,383 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,383 - ERROR - Error in episode 2248: name 'args' is not defined +2025-03-10 15:29:56,386 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,386 - ERROR - Error in episode 2249: name 'args' is not defined +2025-03-10 15:29:56,388 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,389 - ERROR - Error in episode 2250: name 'args' is not defined +2025-03-10 15:29:56,392 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,392 - ERROR - Error in episode 2251: name 'args' is not defined +2025-03-10 15:29:56,395 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,395 - ERROR - Error in episode 2252: name 'args' is not defined +2025-03-10 15:29:56,398 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,398 - ERROR - Error in episode 2253: name 'args' is not defined +2025-03-10 15:29:56,401 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,401 - ERROR - Error in episode 2254: name 'args' is not defined +2025-03-10 15:29:56,403 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,404 - ERROR - Error in episode 2255: name 'args' is not defined +2025-03-10 15:29:56,406 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,407 - ERROR - Error in episode 2256: name 'args' is not defined +2025-03-10 15:29:56,409 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,409 - ERROR - Error in episode 2257: name 'args' is not defined +2025-03-10 15:29:56,412 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,412 - ERROR - Error in episode 2258: name 'args' is not defined +2025-03-10 15:29:56,415 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,415 - ERROR - Error in episode 2259: name 'args' is not defined +2025-03-10 15:29:56,418 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,418 - ERROR - Error in episode 2260: name 'args' is not defined +2025-03-10 15:29:56,421 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,421 - ERROR - Error in episode 2261: name 'args' is not defined +2025-03-10 15:29:56,423 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,424 - ERROR - Error in episode 2262: name 'args' is not defined +2025-03-10 15:29:56,426 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,426 - ERROR - Error in episode 2263: name 'args' is not defined +2025-03-10 15:29:56,429 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,429 - ERROR - Error in episode 2264: name 'args' is not defined +2025-03-10 15:29:56,432 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,433 - ERROR - Error in episode 2265: name 'args' is not defined +2025-03-10 15:29:56,435 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,435 - ERROR - Error in episode 2266: name 'args' is not defined +2025-03-10 15:29:56,438 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,438 - ERROR - Error in episode 2267: name 'args' is not defined +2025-03-10 15:29:56,441 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,441 - ERROR - Error in episode 2268: name 'args' is not defined +2025-03-10 15:29:56,443 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,444 - ERROR - Error in episode 2269: name 'args' is not defined +2025-03-10 15:29:56,446 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,446 - ERROR - Error in episode 2270: name 'args' is not defined +2025-03-10 15:29:56,449 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,449 - ERROR - Error in episode 2271: name 'args' is not defined +2025-03-10 15:29:56,452 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,452 - ERROR - Error in episode 2272: name 'args' is not defined +2025-03-10 15:29:56,455 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,455 - ERROR - Error in episode 2273: name 'args' is not defined +2025-03-10 15:29:56,459 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,459 - ERROR - Error in episode 2274: name 'args' is not defined +2025-03-10 15:29:56,461 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,461 - ERROR - Error in episode 2275: name 'args' is not defined +2025-03-10 15:29:56,465 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,465 - ERROR - Error in episode 2276: name 'args' is not defined +2025-03-10 15:29:56,467 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,468 - ERROR - Error in episode 2277: name 'args' is not defined +2025-03-10 15:29:56,470 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,471 - ERROR - Error in episode 2278: name 'args' is not defined +2025-03-10 15:29:56,473 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,474 - ERROR - Error in episode 2279: name 'args' is not defined +2025-03-10 15:29:56,477 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,477 - ERROR - Error in episode 2280: name 'args' is not defined +2025-03-10 15:29:56,479 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,480 - ERROR - Error in episode 2281: name 'args' is not defined +2025-03-10 15:29:56,482 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,483 - ERROR - Error in episode 2282: name 'args' is not defined +2025-03-10 15:29:56,485 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,486 - ERROR - Error in episode 2283: name 'args' is not defined +2025-03-10 15:29:56,488 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,488 - ERROR - Error in episode 2284: name 'args' is not defined +2025-03-10 15:29:56,491 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,491 - ERROR - Error in episode 2285: name 'args' is not defined +2025-03-10 15:29:56,493 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,493 - ERROR - Error in episode 2286: name 'args' is not defined +2025-03-10 15:29:56,496 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,496 - ERROR - Error in episode 2287: name 'args' is not defined +2025-03-10 15:29:56,499 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,499 - ERROR - Error in episode 2288: name 'args' is not defined +2025-03-10 15:29:56,502 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,502 - ERROR - Error in episode 2289: name 'args' is not defined +2025-03-10 15:29:56,505 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,505 - ERROR - Error in episode 2290: name 'args' is not defined +2025-03-10 15:29:56,508 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,508 - ERROR - Error in episode 2291: name 'args' is not defined +2025-03-10 15:29:56,511 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,511 - ERROR - Error in episode 2292: name 'args' is not defined +2025-03-10 15:29:56,515 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,515 - ERROR - Error in episode 2293: name 'args' is not defined +2025-03-10 15:29:56,517 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,518 - ERROR - Error in episode 2294: name 'args' is not defined +2025-03-10 15:29:56,520 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,521 - ERROR - Error in episode 2295: name 'args' is not defined +2025-03-10 15:29:56,524 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,524 - ERROR - Error in episode 2296: name 'args' is not defined +2025-03-10 15:29:56,527 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,527 - ERROR - Error in episode 2297: name 'args' is not defined +2025-03-10 15:29:56,530 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,530 - ERROR - Error in episode 2298: name 'args' is not defined +2025-03-10 15:29:56,533 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,533 - ERROR - Error in episode 2299: name 'args' is not defined +2025-03-10 15:29:56,535 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,536 - ERROR - Error in episode 2300: name 'args' is not defined +2025-03-10 15:29:56,538 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,539 - ERROR - Error in episode 2301: name 'args' is not defined +2025-03-10 15:29:56,541 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,542 - ERROR - Error in episode 2302: name 'args' is not defined +2025-03-10 15:29:56,544 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,545 - ERROR - Error in episode 2303: name 'args' is not defined +2025-03-10 15:29:56,547 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,548 - ERROR - Error in episode 2304: name 'args' is not defined +2025-03-10 15:29:56,551 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,551 - ERROR - Error in episode 2305: name 'args' is not defined +2025-03-10 15:29:56,553 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,554 - ERROR - Error in episode 2306: name 'args' is not defined +2025-03-10 15:29:56,556 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,557 - ERROR - Error in episode 2307: name 'args' is not defined +2025-03-10 15:29:56,559 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,560 - ERROR - Error in episode 2308: name 'args' is not defined +2025-03-10 15:29:56,562 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,562 - ERROR - Error in episode 2309: name 'args' is not defined +2025-03-10 15:29:56,566 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,566 - ERROR - Error in episode 2310: name 'args' is not defined +2025-03-10 15:29:56,569 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,569 - ERROR - Error in episode 2311: name 'args' is not defined +2025-03-10 15:29:56,572 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,573 - ERROR - Error in episode 2312: name 'args' is not defined +2025-03-10 15:29:56,575 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,576 - ERROR - Error in episode 2313: name 'args' is not defined +2025-03-10 15:29:56,578 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,579 - ERROR - Error in episode 2314: name 'args' is not defined +2025-03-10 15:29:56,582 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,582 - ERROR - Error in episode 2315: name 'args' is not defined +2025-03-10 15:29:56,585 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,585 - ERROR - Error in episode 2316: name 'args' is not defined +2025-03-10 15:29:56,588 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,588 - ERROR - Error in episode 2317: name 'args' is not defined +2025-03-10 15:29:56,591 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,592 - ERROR - Error in episode 2318: name 'args' is not defined +2025-03-10 15:29:56,595 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,595 - ERROR - Error in episode 2319: name 'args' is not defined +2025-03-10 15:29:56,598 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,598 - ERROR - Error in episode 2320: name 'args' is not defined +2025-03-10 15:29:56,601 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,602 - ERROR - Error in episode 2321: name 'args' is not defined +2025-03-10 15:29:56,605 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,605 - ERROR - Error in episode 2322: name 'args' is not defined +2025-03-10 15:29:56,610 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,610 - ERROR - Error in episode 2323: name 'args' is not defined +2025-03-10 15:29:56,613 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,613 - ERROR - Error in episode 2324: name 'args' is not defined +2025-03-10 15:29:56,616 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,617 - ERROR - Error in episode 2325: name 'args' is not defined +2025-03-10 15:29:56,619 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,619 - ERROR - Error in episode 2326: name 'args' is not defined +2025-03-10 15:29:56,623 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,623 - ERROR - Error in episode 2327: name 'args' is not defined +2025-03-10 15:29:56,626 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,627 - ERROR - Error in episode 2328: name 'args' is not defined +2025-03-10 15:29:56,630 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,630 - ERROR - Error in episode 2329: name 'args' is not defined +2025-03-10 15:29:56,634 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,635 - ERROR - Error in episode 2330: name 'args' is not defined +2025-03-10 15:29:56,638 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,639 - ERROR - Error in episode 2331: name 'args' is not defined +2025-03-10 15:29:56,641 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,642 - ERROR - Error in episode 2332: name 'args' is not defined +2025-03-10 15:29:56,644 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,645 - ERROR - Error in episode 2333: name 'args' is not defined +2025-03-10 15:29:56,648 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,648 - ERROR - Error in episode 2334: name 'args' is not defined +2025-03-10 15:29:56,651 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,652 - ERROR - Error in episode 2335: name 'args' is not defined +2025-03-10 15:29:56,655 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,655 - ERROR - Error in episode 2336: name 'args' is not defined +2025-03-10 15:29:56,659 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,659 - ERROR - Error in episode 2337: name 'args' is not defined +2025-03-10 15:29:56,663 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,663 - ERROR - Error in episode 2338: name 'args' is not defined +2025-03-10 15:29:56,666 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,666 - ERROR - Error in episode 2339: name 'args' is not defined +2025-03-10 15:29:56,669 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,669 - ERROR - Error in episode 2340: name 'args' is not defined +2025-03-10 15:29:56,672 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,672 - ERROR - Error in episode 2341: name 'args' is not defined +2025-03-10 15:29:56,675 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,675 - ERROR - Error in episode 2342: name 'args' is not defined +2025-03-10 15:29:56,678 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,678 - ERROR - Error in episode 2343: name 'args' is not defined +2025-03-10 15:29:56,682 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,682 - ERROR - Error in episode 2344: name 'args' is not defined +2025-03-10 15:29:56,685 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,686 - ERROR - Error in episode 2345: name 'args' is not defined +2025-03-10 15:29:56,689 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,689 - ERROR - Error in episode 2346: name 'args' is not defined +2025-03-10 15:29:56,692 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,693 - ERROR - Error in episode 2347: name 'args' is not defined +2025-03-10 15:29:56,695 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,696 - ERROR - Error in episode 2348: name 'args' is not defined +2025-03-10 15:29:56,700 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,701 - ERROR - Error in episode 2349: name 'args' is not defined +2025-03-10 15:29:56,704 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,704 - ERROR - Error in episode 2350: name 'args' is not defined +2025-03-10 15:29:56,706 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,707 - ERROR - Error in episode 2351: name 'args' is not defined +2025-03-10 15:29:56,709 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,710 - ERROR - Error in episode 2352: name 'args' is not defined +2025-03-10 15:29:56,712 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,712 - ERROR - Error in episode 2353: name 'args' is not defined +2025-03-10 15:29:56,715 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,715 - ERROR - Error in episode 2354: name 'args' is not defined +2025-03-10 15:29:56,718 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,718 - ERROR - Error in episode 2355: name 'args' is not defined +2025-03-10 15:29:56,720 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,721 - ERROR - Error in episode 2356: name 'args' is not defined +2025-03-10 15:29:56,723 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,724 - ERROR - Error in episode 2357: name 'args' is not defined +2025-03-10 15:29:56,726 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,726 - ERROR - Error in episode 2358: name 'args' is not defined +2025-03-10 15:29:56,728 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,729 - ERROR - Error in episode 2359: name 'args' is not defined +2025-03-10 15:29:56,732 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,733 - ERROR - Error in episode 2360: name 'args' is not defined +2025-03-10 15:29:56,735 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,736 - ERROR - Error in episode 2361: name 'args' is not defined +2025-03-10 15:29:56,738 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,739 - ERROR - Error in episode 2362: name 'args' is not defined +2025-03-10 15:29:56,741 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,742 - ERROR - Error in episode 2363: name 'args' is not defined +2025-03-10 15:29:56,744 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,745 - ERROR - Error in episode 2364: name 'args' is not defined +2025-03-10 15:29:56,747 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,747 - ERROR - Error in episode 2365: name 'args' is not defined +2025-03-10 15:29:56,750 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,750 - ERROR - Error in episode 2366: name 'args' is not defined +2025-03-10 15:29:56,753 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,753 - ERROR - Error in episode 2367: name 'args' is not defined +2025-03-10 15:29:56,756 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,756 - ERROR - Error in episode 2368: name 'args' is not defined +2025-03-10 15:29:56,758 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,759 - ERROR - Error in episode 2369: name 'args' is not defined +2025-03-10 15:29:56,761 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,761 - ERROR - Error in episode 2370: name 'args' is not defined +2025-03-10 15:29:56,764 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,765 - ERROR - Error in episode 2371: name 'args' is not defined +2025-03-10 15:29:56,767 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,767 - ERROR - Error in episode 2372: name 'args' is not defined +2025-03-10 15:29:56,770 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,770 - ERROR - Error in episode 2373: name 'args' is not defined +2025-03-10 15:29:56,773 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,774 - ERROR - Error in episode 2374: name 'args' is not defined +2025-03-10 15:29:56,776 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,777 - ERROR - Error in episode 2375: name 'args' is not defined +2025-03-10 15:29:56,779 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,780 - ERROR - Error in episode 2376: name 'args' is not defined +2025-03-10 15:29:56,782 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,783 - ERROR - Error in episode 2377: name 'args' is not defined +2025-03-10 15:29:56,786 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,786 - ERROR - Error in episode 2378: name 'args' is not defined +2025-03-10 15:29:56,789 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,789 - ERROR - Error in episode 2379: name 'args' is not defined +2025-03-10 15:29:56,791 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,792 - ERROR - Error in episode 2380: name 'args' is not defined +2025-03-10 15:29:56,794 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,795 - ERROR - Error in episode 2381: name 'args' is not defined +2025-03-10 15:29:56,797 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,797 - ERROR - Error in episode 2382: name 'args' is not defined +2025-03-10 15:29:56,800 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,800 - ERROR - Error in episode 2383: name 'args' is not defined +2025-03-10 15:29:56,803 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,804 - ERROR - Error in episode 2384: name 'args' is not defined +2025-03-10 15:29:56,807 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,807 - ERROR - Error in episode 2385: name 'args' is not defined +2025-03-10 15:29:56,810 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,810 - ERROR - Error in episode 2386: name 'args' is not defined +2025-03-10 15:29:56,813 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,813 - ERROR - Error in episode 2387: name 'args' is not defined +2025-03-10 15:29:56,816 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,817 - ERROR - Error in episode 2388: name 'args' is not defined +2025-03-10 15:29:56,820 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,820 - ERROR - Error in episode 2389: name 'args' is not defined +2025-03-10 15:29:56,822 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,823 - ERROR - Error in episode 2390: name 'args' is not defined +2025-03-10 15:29:56,825 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,825 - ERROR - Error in episode 2391: name 'args' is not defined +2025-03-10 15:29:56,828 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,829 - ERROR - Error in episode 2392: name 'args' is not defined +2025-03-10 15:29:56,832 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,832 - ERROR - Error in episode 2393: name 'args' is not defined +2025-03-10 15:29:56,834 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,835 - ERROR - Error in episode 2394: name 'args' is not defined +2025-03-10 15:29:56,837 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,837 - ERROR - Error in episode 2395: name 'args' is not defined +2025-03-10 15:29:56,840 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,841 - ERROR - Error in episode 2396: name 'args' is not defined +2025-03-10 15:29:56,843 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,843 - ERROR - Error in episode 2397: name 'args' is not defined +2025-03-10 15:29:56,846 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,846 - ERROR - Error in episode 2398: name 'args' is not defined +2025-03-10 15:29:56,849 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,849 - ERROR - Error in episode 2399: name 'args' is not defined +2025-03-10 15:29:56,851 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,852 - ERROR - Error in episode 2400: name 'args' is not defined +2025-03-10 15:29:56,854 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,854 - ERROR - Error in episode 2401: name 'args' is not defined +2025-03-10 15:29:56,857 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,857 - ERROR - Error in episode 2402: name 'args' is not defined +2025-03-10 15:29:56,859 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,860 - ERROR - Error in episode 2403: name 'args' is not defined +2025-03-10 15:29:56,862 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,862 - ERROR - Error in episode 2404: name 'args' is not defined +2025-03-10 15:29:56,865 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,866 - ERROR - Error in episode 2405: name 'args' is not defined +2025-03-10 15:29:56,868 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,868 - ERROR - Error in episode 2406: name 'args' is not defined +2025-03-10 15:29:56,871 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,871 - ERROR - Error in episode 2407: name 'args' is not defined +2025-03-10 15:29:56,873 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,874 - ERROR - Error in episode 2408: name 'args' is not defined +2025-03-10 15:29:56,876 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,877 - ERROR - Error in episode 2409: name 'args' is not defined +2025-03-10 15:29:56,879 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,879 - ERROR - Error in episode 2410: name 'args' is not defined +2025-03-10 15:29:56,883 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,883 - ERROR - Error in episode 2411: name 'args' is not defined +2025-03-10 15:29:56,886 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,886 - ERROR - Error in episode 2412: name 'args' is not defined +2025-03-10 15:29:56,888 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,889 - ERROR - Error in episode 2413: name 'args' is not defined +2025-03-10 15:29:56,891 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,892 - ERROR - Error in episode 2414: name 'args' is not defined +2025-03-10 15:29:56,894 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,894 - ERROR - Error in episode 2415: name 'args' is not defined +2025-03-10 15:29:56,897 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,898 - ERROR - Error in episode 2416: name 'args' is not defined +2025-03-10 15:29:56,900 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,900 - ERROR - Error in episode 2417: name 'args' is not defined +2025-03-10 15:29:56,903 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,903 - ERROR - Error in episode 2418: name 'args' is not defined +2025-03-10 15:29:56,906 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,906 - ERROR - Error in episode 2419: name 'args' is not defined +2025-03-10 15:29:56,909 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,910 - ERROR - Error in episode 2420: name 'args' is not defined +2025-03-10 15:29:56,912 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,912 - ERROR - Error in episode 2421: name 'args' is not defined +2025-03-10 15:29:56,915 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,916 - ERROR - Error in episode 2422: name 'args' is not defined +2025-03-10 15:29:56,918 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,919 - ERROR - Error in episode 2423: name 'args' is not defined +2025-03-10 15:29:56,921 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,921 - ERROR - Error in episode 2424: name 'args' is not defined +2025-03-10 15:29:56,924 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,925 - ERROR - Error in episode 2425: name 'args' is not defined +2025-03-10 15:29:56,927 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,928 - ERROR - Error in episode 2426: name 'args' is not defined +2025-03-10 15:29:56,930 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,931 - ERROR - Error in episode 2427: name 'args' is not defined +2025-03-10 15:29:56,933 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,934 - ERROR - Error in episode 2428: name 'args' is not defined +2025-03-10 15:29:56,936 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,937 - ERROR - Error in episode 2429: name 'args' is not defined +2025-03-10 15:29:56,940 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,940 - ERROR - Error in episode 2430: name 'args' is not defined +2025-03-10 15:29:56,942 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,942 - ERROR - Error in episode 2431: name 'args' is not defined +2025-03-10 15:29:56,945 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,945 - ERROR - Error in episode 2432: name 'args' is not defined +2025-03-10 15:29:56,948 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,949 - ERROR - Error in episode 2433: name 'args' is not defined +2025-03-10 15:29:56,951 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,951 - ERROR - Error in episode 2434: name 'args' is not defined +2025-03-10 15:29:56,954 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,954 - ERROR - Error in episode 2435: name 'args' is not defined +2025-03-10 15:29:56,957 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,957 - ERROR - Error in episode 2436: name 'args' is not defined +2025-03-10 15:29:56,959 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,959 - ERROR - Error in episode 2437: name 'args' is not defined +2025-03-10 15:29:56,962 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,962 - ERROR - Error in episode 2438: name 'args' is not defined +2025-03-10 15:29:56,965 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,965 - ERROR - Error in episode 2439: name 'args' is not defined +2025-03-10 15:29:56,968 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,968 - ERROR - Error in episode 2440: name 'args' is not defined +2025-03-10 15:29:56,971 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,971 - ERROR - Error in episode 2441: name 'args' is not defined +2025-03-10 15:29:56,974 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,974 - ERROR - Error in episode 2442: name 'args' is not defined +2025-03-10 15:29:56,977 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,977 - ERROR - Error in episode 2443: name 'args' is not defined +2025-03-10 15:29:56,979 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,980 - ERROR - Error in episode 2444: name 'args' is not defined +2025-03-10 15:29:56,983 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,983 - ERROR - Error in episode 2445: name 'args' is not defined +2025-03-10 15:29:56,986 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,986 - ERROR - Error in episode 2446: name 'args' is not defined +2025-03-10 15:29:56,989 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,989 - ERROR - Error in episode 2447: name 'args' is not defined +2025-03-10 15:29:56,992 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,992 - ERROR - Error in episode 2448: name 'args' is not defined +2025-03-10 15:29:56,994 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,995 - ERROR - Error in episode 2449: name 'args' is not defined +2025-03-10 15:29:56,997 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:56,998 - ERROR - Error in episode 2450: name 'args' is not defined +2025-03-10 15:29:57,000 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,000 - ERROR - Error in episode 2451: name 'args' is not defined +2025-03-10 15:29:57,003 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,003 - ERROR - Error in episode 2452: name 'args' is not defined +2025-03-10 15:29:57,006 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,006 - ERROR - Error in episode 2453: name 'args' is not defined +2025-03-10 15:29:57,009 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,009 - ERROR - Error in episode 2454: name 'args' is not defined +2025-03-10 15:29:57,012 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,012 - ERROR - Error in episode 2455: name 'args' is not defined +2025-03-10 15:29:57,015 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,015 - ERROR - Error in episode 2456: name 'args' is not defined +2025-03-10 15:29:57,018 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,018 - ERROR - Error in episode 2457: name 'args' is not defined +2025-03-10 15:29:57,021 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,021 - ERROR - Error in episode 2458: name 'args' is not defined +2025-03-10 15:29:57,024 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,024 - ERROR - Error in episode 2459: name 'args' is not defined +2025-03-10 15:29:57,027 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,027 - ERROR - Error in episode 2460: name 'args' is not defined +2025-03-10 15:29:57,029 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,029 - ERROR - Error in episode 2461: name 'args' is not defined +2025-03-10 15:29:57,032 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,032 - ERROR - Error in episode 2462: name 'args' is not defined +2025-03-10 15:29:57,035 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,035 - ERROR - Error in episode 2463: name 'args' is not defined +2025-03-10 15:29:57,038 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,038 - ERROR - Error in episode 2464: name 'args' is not defined +2025-03-10 15:29:57,041 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,041 - ERROR - Error in episode 2465: name 'args' is not defined +2025-03-10 15:29:57,043 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,043 - ERROR - Error in episode 2466: name 'args' is not defined +2025-03-10 15:29:57,046 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,046 - ERROR - Error in episode 2467: name 'args' is not defined +2025-03-10 15:29:57,049 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,049 - ERROR - Error in episode 2468: name 'args' is not defined +2025-03-10 15:29:57,052 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,052 - ERROR - Error in episode 2469: name 'args' is not defined +2025-03-10 15:29:57,054 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,055 - ERROR - Error in episode 2470: name 'args' is not defined +2025-03-10 15:29:57,057 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,058 - ERROR - Error in episode 2471: name 'args' is not defined +2025-03-10 15:29:57,060 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,060 - ERROR - Error in episode 2472: name 'args' is not defined +2025-03-10 15:29:57,063 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,063 - ERROR - Error in episode 2473: name 'args' is not defined +2025-03-10 15:29:57,066 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,066 - ERROR - Error in episode 2474: name 'args' is not defined +2025-03-10 15:29:57,069 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,069 - ERROR - Error in episode 2475: name 'args' is not defined +2025-03-10 15:29:57,071 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,071 - ERROR - Error in episode 2476: name 'args' is not defined +2025-03-10 15:29:57,075 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,075 - ERROR - Error in episode 2477: name 'args' is not defined +2025-03-10 15:29:57,078 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,078 - ERROR - Error in episode 2478: name 'args' is not defined +2025-03-10 15:29:57,081 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,081 - ERROR - Error in episode 2479: name 'args' is not defined +2025-03-10 15:29:57,084 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,085 - ERROR - Error in episode 2480: name 'args' is not defined +2025-03-10 15:29:57,087 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,087 - ERROR - Error in episode 2481: name 'args' is not defined +2025-03-10 15:29:57,092 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,092 - ERROR - Error in episode 2482: name 'args' is not defined +2025-03-10 15:29:57,095 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,096 - ERROR - Error in episode 2483: name 'args' is not defined +2025-03-10 15:29:57,098 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,099 - ERROR - Error in episode 2484: name 'args' is not defined +2025-03-10 15:29:57,101 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,102 - ERROR - Error in episode 2485: name 'args' is not defined +2025-03-10 15:29:57,104 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,104 - ERROR - Error in episode 2486: name 'args' is not defined +2025-03-10 15:29:57,107 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,107 - ERROR - Error in episode 2487: name 'args' is not defined +2025-03-10 15:29:57,109 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,110 - ERROR - Error in episode 2488: name 'args' is not defined +2025-03-10 15:29:57,112 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,112 - ERROR - Error in episode 2489: name 'args' is not defined +2025-03-10 15:29:57,115 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,115 - ERROR - Error in episode 2490: name 'args' is not defined +2025-03-10 15:29:57,118 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,118 - ERROR - Error in episode 2491: name 'args' is not defined +2025-03-10 15:29:57,120 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,121 - ERROR - Error in episode 2492: name 'args' is not defined +2025-03-10 15:29:57,123 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,123 - ERROR - Error in episode 2493: name 'args' is not defined +2025-03-10 15:29:57,126 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,126 - ERROR - Error in episode 2494: name 'args' is not defined +2025-03-10 15:29:57,129 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,129 - ERROR - Error in episode 2495: name 'args' is not defined +2025-03-10 15:29:57,132 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,133 - ERROR - Error in episode 2496: name 'args' is not defined +2025-03-10 15:29:57,136 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,137 - ERROR - Error in episode 2497: name 'args' is not defined +2025-03-10 15:29:57,139 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,141 - ERROR - Error in episode 2498: name 'args' is not defined +2025-03-10 15:29:57,143 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,143 - ERROR - Error in episode 2499: name 'args' is not defined +2025-03-10 15:29:57,146 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,146 - ERROR - Error in episode 2500: name 'args' is not defined +2025-03-10 15:29:57,148 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,149 - ERROR - Error in episode 2501: name 'args' is not defined +2025-03-10 15:29:57,151 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,151 - ERROR - Error in episode 2502: name 'args' is not defined +2025-03-10 15:29:57,153 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,153 - ERROR - Error in episode 2503: name 'args' is not defined +2025-03-10 15:29:57,156 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,157 - ERROR - Error in episode 2504: name 'args' is not defined +2025-03-10 15:29:57,159 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,159 - ERROR - Error in episode 2505: name 'args' is not defined +2025-03-10 15:29:57,162 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,162 - ERROR - Error in episode 2506: name 'args' is not defined +2025-03-10 15:29:57,166 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,166 - ERROR - Error in episode 2507: name 'args' is not defined +2025-03-10 15:29:57,168 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,169 - ERROR - Error in episode 2508: name 'args' is not defined +2025-03-10 15:29:57,171 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,172 - ERROR - Error in episode 2509: name 'args' is not defined +2025-03-10 15:29:57,175 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,176 - ERROR - Error in episode 2510: name 'args' is not defined +2025-03-10 15:29:57,178 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,178 - ERROR - Error in episode 2511: name 'args' is not defined +2025-03-10 15:29:57,180 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,181 - ERROR - Error in episode 2512: name 'args' is not defined +2025-03-10 15:29:57,183 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,184 - ERROR - Error in episode 2513: name 'args' is not defined +2025-03-10 15:29:57,187 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,187 - ERROR - Error in episode 2514: name 'args' is not defined +2025-03-10 15:29:57,190 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,191 - ERROR - Error in episode 2515: name 'args' is not defined +2025-03-10 15:29:57,193 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,193 - ERROR - Error in episode 2516: name 'args' is not defined +2025-03-10 15:29:57,196 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,196 - ERROR - Error in episode 2517: name 'args' is not defined +2025-03-10 15:29:57,199 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,199 - ERROR - Error in episode 2518: name 'args' is not defined +2025-03-10 15:29:57,202 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,202 - ERROR - Error in episode 2519: name 'args' is not defined +2025-03-10 15:29:57,204 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,205 - ERROR - Error in episode 2520: name 'args' is not defined +2025-03-10 15:29:57,207 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,208 - ERROR - Error in episode 2521: name 'args' is not defined +2025-03-10 15:29:57,210 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,210 - ERROR - Error in episode 2522: name 'args' is not defined +2025-03-10 15:29:57,213 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,213 - ERROR - Error in episode 2523: name 'args' is not defined +2025-03-10 15:29:57,216 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,216 - ERROR - Error in episode 2524: name 'args' is not defined +2025-03-10 15:29:57,218 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,218 - ERROR - Error in episode 2525: name 'args' is not defined +2025-03-10 15:29:57,221 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,221 - ERROR - Error in episode 2526: name 'args' is not defined +2025-03-10 15:29:57,224 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,225 - ERROR - Error in episode 2527: name 'args' is not defined +2025-03-10 15:29:57,227 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,227 - ERROR - Error in episode 2528: name 'args' is not defined +2025-03-10 15:29:57,230 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,230 - ERROR - Error in episode 2529: name 'args' is not defined +2025-03-10 15:29:57,233 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,233 - ERROR - Error in episode 2530: name 'args' is not defined +2025-03-10 15:29:57,236 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,236 - ERROR - Error in episode 2531: name 'args' is not defined +2025-03-10 15:29:57,238 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,239 - ERROR - Error in episode 2532: name 'args' is not defined +2025-03-10 15:29:57,241 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,242 - ERROR - Error in episode 2533: name 'args' is not defined +2025-03-10 15:29:57,244 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,245 - ERROR - Error in episode 2534: name 'args' is not defined +2025-03-10 15:29:57,247 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,247 - ERROR - Error in episode 2535: name 'args' is not defined +2025-03-10 15:29:57,250 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,251 - ERROR - Error in episode 2536: name 'args' is not defined +2025-03-10 15:29:57,253 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,253 - ERROR - Error in episode 2537: name 'args' is not defined +2025-03-10 15:29:57,256 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,256 - ERROR - Error in episode 2538: name 'args' is not defined +2025-03-10 15:29:57,258 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,259 - ERROR - Error in episode 2539: name 'args' is not defined +2025-03-10 15:29:57,261 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,261 - ERROR - Error in episode 2540: name 'args' is not defined +2025-03-10 15:29:57,264 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,264 - ERROR - Error in episode 2541: name 'args' is not defined +2025-03-10 15:29:57,268 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,268 - ERROR - Error in episode 2542: name 'args' is not defined +2025-03-10 15:29:57,270 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,270 - ERROR - Error in episode 2543: name 'args' is not defined +2025-03-10 15:29:57,273 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,273 - ERROR - Error in episode 2544: name 'args' is not defined +2025-03-10 15:29:57,276 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,276 - ERROR - Error in episode 2545: name 'args' is not defined +2025-03-10 15:29:57,279 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,280 - ERROR - Error in episode 2546: name 'args' is not defined +2025-03-10 15:29:57,283 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,283 - ERROR - Error in episode 2547: name 'args' is not defined +2025-03-10 15:29:57,286 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,286 - ERROR - Error in episode 2548: name 'args' is not defined +2025-03-10 15:29:57,289 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,290 - ERROR - Error in episode 2549: name 'args' is not defined +2025-03-10 15:29:57,292 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,293 - ERROR - Error in episode 2550: name 'args' is not defined +2025-03-10 15:29:57,295 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,296 - ERROR - Error in episode 2551: name 'args' is not defined +2025-03-10 15:29:57,299 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,299 - ERROR - Error in episode 2552: name 'args' is not defined +2025-03-10 15:29:57,302 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,302 - ERROR - Error in episode 2553: name 'args' is not defined +2025-03-10 15:29:57,305 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,305 - ERROR - Error in episode 2554: name 'args' is not defined +2025-03-10 15:29:57,308 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,308 - ERROR - Error in episode 2555: name 'args' is not defined +2025-03-10 15:29:57,311 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,311 - ERROR - Error in episode 2556: name 'args' is not defined +2025-03-10 15:29:57,314 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,314 - ERROR - Error in episode 2557: name 'args' is not defined +2025-03-10 15:29:57,317 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,317 - ERROR - Error in episode 2558: name 'args' is not defined +2025-03-10 15:29:57,320 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,321 - ERROR - Error in episode 2559: name 'args' is not defined +2025-03-10 15:29:57,323 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,323 - ERROR - Error in episode 2560: name 'args' is not defined +2025-03-10 15:29:57,326 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,326 - ERROR - Error in episode 2561: name 'args' is not defined +2025-03-10 15:29:57,328 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,329 - ERROR - Error in episode 2562: name 'args' is not defined +2025-03-10 15:29:57,331 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,333 - ERROR - Error in episode 2563: name 'args' is not defined +2025-03-10 15:29:57,335 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,335 - ERROR - Error in episode 2564: name 'args' is not defined +2025-03-10 15:29:57,339 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,339 - ERROR - Error in episode 2565: name 'args' is not defined +2025-03-10 15:29:57,342 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,343 - ERROR - Error in episode 2566: name 'args' is not defined +2025-03-10 15:29:57,345 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,345 - ERROR - Error in episode 2567: name 'args' is not defined +2025-03-10 15:29:57,348 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,348 - ERROR - Error in episode 2568: name 'args' is not defined +2025-03-10 15:29:57,351 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,351 - ERROR - Error in episode 2569: name 'args' is not defined +2025-03-10 15:29:57,354 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,354 - ERROR - Error in episode 2570: name 'args' is not defined +2025-03-10 15:29:57,356 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,356 - ERROR - Error in episode 2571: name 'args' is not defined +2025-03-10 15:29:57,359 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,360 - ERROR - Error in episode 2572: name 'args' is not defined +2025-03-10 15:29:57,363 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,363 - ERROR - Error in episode 2573: name 'args' is not defined +2025-03-10 15:29:57,366 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,366 - ERROR - Error in episode 2574: name 'args' is not defined +2025-03-10 15:29:57,369 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,369 - ERROR - Error in episode 2575: name 'args' is not defined +2025-03-10 15:29:57,372 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,372 - ERROR - Error in episode 2576: name 'args' is not defined +2025-03-10 15:29:57,375 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,375 - ERROR - Error in episode 2577: name 'args' is not defined +2025-03-10 15:29:57,377 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,378 - ERROR - Error in episode 2578: name 'args' is not defined +2025-03-10 15:29:57,380 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,381 - ERROR - Error in episode 2579: name 'args' is not defined +2025-03-10 15:29:57,384 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,384 - ERROR - Error in episode 2580: name 'args' is not defined +2025-03-10 15:29:57,386 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,387 - ERROR - Error in episode 2581: name 'args' is not defined +2025-03-10 15:29:57,389 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,389 - ERROR - Error in episode 2582: name 'args' is not defined +2025-03-10 15:29:57,392 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,392 - ERROR - Error in episode 2583: name 'args' is not defined +2025-03-10 15:29:57,394 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,395 - ERROR - Error in episode 2584: name 'args' is not defined +2025-03-10 15:29:57,397 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,397 - ERROR - Error in episode 2585: name 'args' is not defined +2025-03-10 15:29:57,400 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,400 - ERROR - Error in episode 2586: name 'args' is not defined +2025-03-10 15:29:57,403 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,403 - ERROR - Error in episode 2587: name 'args' is not defined +2025-03-10 15:29:57,405 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,405 - ERROR - Error in episode 2588: name 'args' is not defined +2025-03-10 15:29:57,408 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,408 - ERROR - Error in episode 2589: name 'args' is not defined +2025-03-10 15:29:57,410 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,411 - ERROR - Error in episode 2590: name 'args' is not defined +2025-03-10 15:29:57,413 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,413 - ERROR - Error in episode 2591: name 'args' is not defined +2025-03-10 15:29:57,416 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,416 - ERROR - Error in episode 2592: name 'args' is not defined +2025-03-10 15:29:57,419 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,419 - ERROR - Error in episode 2593: name 'args' is not defined +2025-03-10 15:29:57,422 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,422 - ERROR - Error in episode 2594: name 'args' is not defined +2025-03-10 15:29:57,426 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,426 - ERROR - Error in episode 2595: name 'args' is not defined +2025-03-10 15:29:57,428 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,429 - ERROR - Error in episode 2596: name 'args' is not defined +2025-03-10 15:29:57,431 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,432 - ERROR - Error in episode 2597: name 'args' is not defined +2025-03-10 15:29:57,434 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,435 - ERROR - Error in episode 2598: name 'args' is not defined +2025-03-10 15:29:57,437 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,438 - ERROR - Error in episode 2599: name 'args' is not defined +2025-03-10 15:29:57,440 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,441 - ERROR - Error in episode 2600: name 'args' is not defined +2025-03-10 15:29:57,443 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,443 - ERROR - Error in episode 2601: name 'args' is not defined +2025-03-10 15:29:57,446 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,446 - ERROR - Error in episode 2602: name 'args' is not defined +2025-03-10 15:29:57,449 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,449 - ERROR - Error in episode 2603: name 'args' is not defined +2025-03-10 15:29:57,451 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,452 - ERROR - Error in episode 2604: name 'args' is not defined +2025-03-10 15:29:57,454 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,454 - ERROR - Error in episode 2605: name 'args' is not defined +2025-03-10 15:29:57,457 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,457 - ERROR - Error in episode 2606: name 'args' is not defined +2025-03-10 15:29:57,460 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,460 - ERROR - Error in episode 2607: name 'args' is not defined +2025-03-10 15:29:57,464 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,464 - ERROR - Error in episode 2608: name 'args' is not defined +2025-03-10 15:29:57,469 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,469 - ERROR - Error in episode 2609: name 'args' is not defined +2025-03-10 15:29:57,471 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,472 - ERROR - Error in episode 2610: name 'args' is not defined +2025-03-10 15:29:57,474 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,475 - ERROR - Error in episode 2611: name 'args' is not defined +2025-03-10 15:29:57,477 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,478 - ERROR - Error in episode 2612: name 'args' is not defined +2025-03-10 15:29:57,481 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,481 - ERROR - Error in episode 2613: name 'args' is not defined +2025-03-10 15:29:57,484 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,484 - ERROR - Error in episode 2614: name 'args' is not defined +2025-03-10 15:29:57,488 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,488 - ERROR - Error in episode 2615: name 'args' is not defined +2025-03-10 15:29:57,492 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,493 - ERROR - Error in episode 2616: name 'args' is not defined +2025-03-10 15:29:57,496 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,497 - ERROR - Error in episode 2617: name 'args' is not defined +2025-03-10 15:29:57,500 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,500 - ERROR - Error in episode 2618: name 'args' is not defined +2025-03-10 15:29:57,503 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,503 - ERROR - Error in episode 2619: name 'args' is not defined +2025-03-10 15:29:57,508 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,509 - ERROR - Error in episode 2620: name 'args' is not defined +2025-03-10 15:29:57,511 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,512 - ERROR - Error in episode 2621: name 'args' is not defined +2025-03-10 15:29:57,515 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,515 - ERROR - Error in episode 2622: name 'args' is not defined +2025-03-10 15:29:57,518 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,519 - ERROR - Error in episode 2623: name 'args' is not defined +2025-03-10 15:29:57,521 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,522 - ERROR - Error in episode 2624: name 'args' is not defined +2025-03-10 15:29:57,525 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,526 - ERROR - Error in episode 2625: name 'args' is not defined +2025-03-10 15:29:57,529 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,530 - ERROR - Error in episode 2626: name 'args' is not defined +2025-03-10 15:29:57,532 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,533 - ERROR - Error in episode 2627: name 'args' is not defined +2025-03-10 15:29:57,536 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,536 - ERROR - Error in episode 2628: name 'args' is not defined +2025-03-10 15:29:57,540 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,541 - ERROR - Error in episode 2629: name 'args' is not defined +2025-03-10 15:29:57,544 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,545 - ERROR - Error in episode 2630: name 'args' is not defined +2025-03-10 15:29:57,548 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,548 - ERROR - Error in episode 2631: name 'args' is not defined +2025-03-10 15:29:57,552 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,552 - ERROR - Error in episode 2632: name 'args' is not defined +2025-03-10 15:29:57,555 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,556 - ERROR - Error in episode 2633: name 'args' is not defined +2025-03-10 15:29:57,559 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,560 - ERROR - Error in episode 2634: name 'args' is not defined +2025-03-10 15:29:57,563 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,563 - ERROR - Error in episode 2635: name 'args' is not defined +2025-03-10 15:29:57,566 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,567 - ERROR - Error in episode 2636: name 'args' is not defined +2025-03-10 15:29:57,572 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,573 - ERROR - Error in episode 2637: name 'args' is not defined +2025-03-10 15:29:57,576 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,576 - ERROR - Error in episode 2638: name 'args' is not defined +2025-03-10 15:29:57,580 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,581 - ERROR - Error in episode 2639: name 'args' is not defined +2025-03-10 15:29:57,584 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,584 - ERROR - Error in episode 2640: name 'args' is not defined +2025-03-10 15:29:57,587 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,588 - ERROR - Error in episode 2641: name 'args' is not defined +2025-03-10 15:29:57,591 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,591 - ERROR - Error in episode 2642: name 'args' is not defined +2025-03-10 15:29:57,594 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,595 - ERROR - Error in episode 2643: name 'args' is not defined +2025-03-10 15:29:57,599 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,600 - ERROR - Error in episode 2644: name 'args' is not defined +2025-03-10 15:29:57,602 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,603 - ERROR - Error in episode 2645: name 'args' is not defined +2025-03-10 15:29:57,606 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,606 - ERROR - Error in episode 2646: name 'args' is not defined +2025-03-10 15:29:57,609 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,609 - ERROR - Error in episode 2647: name 'args' is not defined +2025-03-10 15:29:57,613 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,613 - ERROR - Error in episode 2648: name 'args' is not defined +2025-03-10 15:29:57,617 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,617 - ERROR - Error in episode 2649: name 'args' is not defined +2025-03-10 15:29:57,621 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,621 - ERROR - Error in episode 2650: name 'args' is not defined +2025-03-10 15:29:57,625 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,625 - ERROR - Error in episode 2651: name 'args' is not defined +2025-03-10 15:29:57,628 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,629 - ERROR - Error in episode 2652: name 'args' is not defined +2025-03-10 15:29:57,633 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,633 - ERROR - Error in episode 2653: name 'args' is not defined +2025-03-10 15:29:57,637 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,637 - ERROR - Error in episode 2654: name 'args' is not defined +2025-03-10 15:29:57,641 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,641 - ERROR - Error in episode 2655: name 'args' is not defined +2025-03-10 15:29:57,644 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,645 - ERROR - Error in episode 2656: name 'args' is not defined +2025-03-10 15:29:57,648 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,649 - ERROR - Error in episode 2657: name 'args' is not defined +2025-03-10 15:29:57,652 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,652 - ERROR - Error in episode 2658: name 'args' is not defined +2025-03-10 15:29:57,655 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,655 - ERROR - Error in episode 2659: name 'args' is not defined +2025-03-10 15:29:57,659 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,660 - ERROR - Error in episode 2660: name 'args' is not defined +2025-03-10 15:29:57,663 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,664 - ERROR - Error in episode 2661: name 'args' is not defined +2025-03-10 15:29:57,667 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,668 - ERROR - Error in episode 2662: name 'args' is not defined +2025-03-10 15:29:57,671 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,671 - ERROR - Error in episode 2663: name 'args' is not defined +2025-03-10 15:29:57,675 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,675 - ERROR - Error in episode 2664: name 'args' is not defined +2025-03-10 15:29:57,679 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,680 - ERROR - Error in episode 2665: name 'args' is not defined +2025-03-10 15:29:57,683 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,683 - ERROR - Error in episode 2666: name 'args' is not defined +2025-03-10 15:29:57,687 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,687 - ERROR - Error in episode 2667: name 'args' is not defined +2025-03-10 15:29:57,690 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,691 - ERROR - Error in episode 2668: name 'args' is not defined +2025-03-10 15:29:57,694 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,694 - ERROR - Error in episode 2669: name 'args' is not defined +2025-03-10 15:29:57,697 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,698 - ERROR - Error in episode 2670: name 'args' is not defined +2025-03-10 15:29:57,702 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,703 - ERROR - Error in episode 2671: name 'args' is not defined +2025-03-10 15:29:57,706 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,706 - ERROR - Error in episode 2672: name 'args' is not defined +2025-03-10 15:29:57,710 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,710 - ERROR - Error in episode 2673: name 'args' is not defined +2025-03-10 15:29:57,713 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,714 - ERROR - Error in episode 2674: name 'args' is not defined +2025-03-10 15:29:57,718 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,719 - ERROR - Error in episode 2675: name 'args' is not defined +2025-03-10 15:29:57,722 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,722 - ERROR - Error in episode 2676: name 'args' is not defined +2025-03-10 15:29:57,726 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,727 - ERROR - Error in episode 2677: name 'args' is not defined +2025-03-10 15:29:57,729 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,731 - ERROR - Error in episode 2678: name 'args' is not defined +2025-03-10 15:29:57,734 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,735 - ERROR - Error in episode 2679: name 'args' is not defined +2025-03-10 15:29:57,737 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,738 - ERROR - Error in episode 2680: name 'args' is not defined +2025-03-10 15:29:57,740 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,741 - ERROR - Error in episode 2681: name 'args' is not defined +2025-03-10 15:29:57,744 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,745 - ERROR - Error in episode 2682: name 'args' is not defined +2025-03-10 15:29:57,748 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,748 - ERROR - Error in episode 2683: name 'args' is not defined +2025-03-10 15:29:57,751 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,751 - ERROR - Error in episode 2684: name 'args' is not defined +2025-03-10 15:29:57,754 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,755 - ERROR - Error in episode 2685: name 'args' is not defined +2025-03-10 15:29:57,758 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,759 - ERROR - Error in episode 2686: name 'args' is not defined +2025-03-10 15:29:57,762 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,762 - ERROR - Error in episode 2687: name 'args' is not defined +2025-03-10 15:29:57,765 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,765 - ERROR - Error in episode 2688: name 'args' is not defined +2025-03-10 15:29:57,769 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,769 - ERROR - Error in episode 2689: name 'args' is not defined +2025-03-10 15:29:57,773 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,773 - ERROR - Error in episode 2690: name 'args' is not defined +2025-03-10 15:29:57,777 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,777 - ERROR - Error in episode 2691: name 'args' is not defined +2025-03-10 15:29:57,781 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,781 - ERROR - Error in episode 2692: name 'args' is not defined +2025-03-10 15:29:57,785 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,785 - ERROR - Error in episode 2693: name 'args' is not defined +2025-03-10 15:29:57,789 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,789 - ERROR - Error in episode 2694: name 'args' is not defined +2025-03-10 15:29:57,792 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,792 - ERROR - Error in episode 2695: name 'args' is not defined +2025-03-10 15:29:57,795 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,796 - ERROR - Error in episode 2696: name 'args' is not defined +2025-03-10 15:29:57,799 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,799 - ERROR - Error in episode 2697: name 'args' is not defined +2025-03-10 15:29:57,802 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,802 - ERROR - Error in episode 2698: name 'args' is not defined +2025-03-10 15:29:57,805 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,805 - ERROR - Error in episode 2699: name 'args' is not defined +2025-03-10 15:29:57,808 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,808 - ERROR - Error in episode 2700: name 'args' is not defined +2025-03-10 15:29:57,811 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,811 - ERROR - Error in episode 2701: name 'args' is not defined +2025-03-10 15:29:57,815 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,815 - ERROR - Error in episode 2702: name 'args' is not defined +2025-03-10 15:29:57,818 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,819 - ERROR - Error in episode 2703: name 'args' is not defined +2025-03-10 15:29:57,821 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,821 - ERROR - Error in episode 2704: name 'args' is not defined +2025-03-10 15:29:57,826 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,826 - ERROR - Error in episode 2705: name 'args' is not defined +2025-03-10 15:29:57,829 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,830 - ERROR - Error in episode 2706: name 'args' is not defined +2025-03-10 15:29:57,834 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,834 - ERROR - Error in episode 2707: name 'args' is not defined +2025-03-10 15:29:57,838 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,838 - ERROR - Error in episode 2708: name 'args' is not defined +2025-03-10 15:29:57,841 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,841 - ERROR - Error in episode 2709: name 'args' is not defined +2025-03-10 15:29:57,844 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,845 - ERROR - Error in episode 2710: name 'args' is not defined +2025-03-10 15:29:57,848 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,848 - ERROR - Error in episode 2711: name 'args' is not defined +2025-03-10 15:29:57,852 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,853 - ERROR - Error in episode 2712: name 'args' is not defined +2025-03-10 15:29:57,856 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,856 - ERROR - Error in episode 2713: name 'args' is not defined +2025-03-10 15:29:57,860 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,861 - ERROR - Error in episode 2714: name 'args' is not defined +2025-03-10 15:29:57,864 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,865 - ERROR - Error in episode 2715: name 'args' is not defined +2025-03-10 15:29:57,868 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,869 - ERROR - Error in episode 2716: name 'args' is not defined +2025-03-10 15:29:57,872 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,872 - ERROR - Error in episode 2717: name 'args' is not defined +2025-03-10 15:29:57,876 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,877 - ERROR - Error in episode 2718: name 'args' is not defined +2025-03-10 15:29:57,879 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,879 - ERROR - Error in episode 2719: name 'args' is not defined +2025-03-10 15:29:57,884 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,884 - ERROR - Error in episode 2720: name 'args' is not defined +2025-03-10 15:29:57,887 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,887 - ERROR - Error in episode 2721: name 'args' is not defined +2025-03-10 15:29:57,891 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,891 - ERROR - Error in episode 2722: name 'args' is not defined +2025-03-10 15:29:57,893 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,894 - ERROR - Error in episode 2723: name 'args' is not defined +2025-03-10 15:29:57,896 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,897 - ERROR - Error in episode 2724: name 'args' is not defined +2025-03-10 15:29:57,899 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,899 - ERROR - Error in episode 2725: name 'args' is not defined +2025-03-10 15:29:57,901 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,902 - ERROR - Error in episode 2726: name 'args' is not defined +2025-03-10 15:29:57,904 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,905 - ERROR - Error in episode 2727: name 'args' is not defined +2025-03-10 15:29:57,907 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,907 - ERROR - Error in episode 2728: name 'args' is not defined +2025-03-10 15:29:57,910 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,910 - ERROR - Error in episode 2729: name 'args' is not defined +2025-03-10 15:29:57,913 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,914 - ERROR - Error in episode 2730: name 'args' is not defined +2025-03-10 15:29:57,917 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,917 - ERROR - Error in episode 2731: name 'args' is not defined +2025-03-10 15:29:57,919 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,921 - ERROR - Error in episode 2732: name 'args' is not defined +2025-03-10 15:29:57,923 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,923 - ERROR - Error in episode 2733: name 'args' is not defined +2025-03-10 15:29:57,926 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,926 - ERROR - Error in episode 2734: name 'args' is not defined +2025-03-10 15:29:57,929 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,929 - ERROR - Error in episode 2735: name 'args' is not defined +2025-03-10 15:29:57,933 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,933 - ERROR - Error in episode 2736: name 'args' is not defined +2025-03-10 15:29:57,936 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,936 - ERROR - Error in episode 2737: name 'args' is not defined +2025-03-10 15:29:57,939 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,939 - ERROR - Error in episode 2738: name 'args' is not defined +2025-03-10 15:29:57,941 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,942 - ERROR - Error in episode 2739: name 'args' is not defined +2025-03-10 15:29:57,944 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,944 - ERROR - Error in episode 2740: name 'args' is not defined +2025-03-10 15:29:57,947 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,948 - ERROR - Error in episode 2741: name 'args' is not defined +2025-03-10 15:29:57,950 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,951 - ERROR - Error in episode 2742: name 'args' is not defined +2025-03-10 15:29:57,953 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,953 - ERROR - Error in episode 2743: name 'args' is not defined +2025-03-10 15:29:57,956 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,956 - ERROR - Error in episode 2744: name 'args' is not defined +2025-03-10 15:29:57,959 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,959 - ERROR - Error in episode 2745: name 'args' is not defined +2025-03-10 15:29:57,962 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,962 - ERROR - Error in episode 2746: name 'args' is not defined +2025-03-10 15:29:57,965 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,965 - ERROR - Error in episode 2747: name 'args' is not defined +2025-03-10 15:29:57,968 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,968 - ERROR - Error in episode 2748: name 'args' is not defined +2025-03-10 15:29:57,971 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,971 - ERROR - Error in episode 2749: name 'args' is not defined +2025-03-10 15:29:57,974 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,974 - ERROR - Error in episode 2750: name 'args' is not defined +2025-03-10 15:29:57,977 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,977 - ERROR - Error in episode 2751: name 'args' is not defined +2025-03-10 15:29:57,980 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,980 - ERROR - Error in episode 2752: name 'args' is not defined +2025-03-10 15:29:57,982 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,983 - ERROR - Error in episode 2753: name 'args' is not defined +2025-03-10 15:29:57,985 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,985 - ERROR - Error in episode 2754: name 'args' is not defined +2025-03-10 15:29:57,988 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,988 - ERROR - Error in episode 2755: name 'args' is not defined +2025-03-10 15:29:57,991 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,991 - ERROR - Error in episode 2756: name 'args' is not defined +2025-03-10 15:29:57,994 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,995 - ERROR - Error in episode 2757: name 'args' is not defined +2025-03-10 15:29:57,997 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:57,997 - ERROR - Error in episode 2758: name 'args' is not defined +2025-03-10 15:29:58,000 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,000 - ERROR - Error in episode 2759: name 'args' is not defined +2025-03-10 15:29:58,003 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,003 - ERROR - Error in episode 2760: name 'args' is not defined +2025-03-10 15:29:58,005 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,006 - ERROR - Error in episode 2761: name 'args' is not defined +2025-03-10 15:29:58,008 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,008 - ERROR - Error in episode 2762: name 'args' is not defined +2025-03-10 15:29:58,011 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,011 - ERROR - Error in episode 2763: name 'args' is not defined +2025-03-10 15:29:58,014 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,014 - ERROR - Error in episode 2764: name 'args' is not defined +2025-03-10 15:29:58,017 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,017 - ERROR - Error in episode 2765: name 'args' is not defined +2025-03-10 15:29:58,019 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,020 - ERROR - Error in episode 2766: name 'args' is not defined +2025-03-10 15:29:58,021 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,022 - ERROR - Error in episode 2767: name 'args' is not defined +2025-03-10 15:29:58,024 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,024 - ERROR - Error in episode 2768: name 'args' is not defined +2025-03-10 15:29:58,027 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,028 - ERROR - Error in episode 2769: name 'args' is not defined +2025-03-10 15:29:58,030 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,030 - ERROR - Error in episode 2770: name 'args' is not defined +2025-03-10 15:29:58,033 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,034 - ERROR - Error in episode 2771: name 'args' is not defined +2025-03-10 15:29:58,036 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,037 - ERROR - Error in episode 2772: name 'args' is not defined +2025-03-10 15:29:58,039 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,040 - ERROR - Error in episode 2773: name 'args' is not defined +2025-03-10 15:29:58,043 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,043 - ERROR - Error in episode 2774: name 'args' is not defined +2025-03-10 15:29:58,045 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,046 - ERROR - Error in episode 2775: name 'args' is not defined +2025-03-10 15:29:58,049 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,049 - ERROR - Error in episode 2776: name 'args' is not defined +2025-03-10 15:29:58,052 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,052 - ERROR - Error in episode 2777: name 'args' is not defined +2025-03-10 15:29:58,055 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,055 - ERROR - Error in episode 2778: name 'args' is not defined +2025-03-10 15:29:58,058 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,058 - ERROR - Error in episode 2779: name 'args' is not defined +2025-03-10 15:29:58,060 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,060 - ERROR - Error in episode 2780: name 'args' is not defined +2025-03-10 15:29:58,064 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,064 - ERROR - Error in episode 2781: name 'args' is not defined +2025-03-10 15:29:58,066 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,067 - ERROR - Error in episode 2782: name 'args' is not defined +2025-03-10 15:29:58,069 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,069 - ERROR - Error in episode 2783: name 'args' is not defined +2025-03-10 15:29:58,072 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,072 - ERROR - Error in episode 2784: name 'args' is not defined +2025-03-10 15:29:58,074 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,074 - ERROR - Error in episode 2785: name 'args' is not defined +2025-03-10 15:29:58,077 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,077 - ERROR - Error in episode 2786: name 'args' is not defined +2025-03-10 15:29:58,080 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,080 - ERROR - Error in episode 2787: name 'args' is not defined +2025-03-10 15:29:58,082 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,083 - ERROR - Error in episode 2788: name 'args' is not defined +2025-03-10 15:29:58,086 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,087 - ERROR - Error in episode 2789: name 'args' is not defined +2025-03-10 15:29:58,089 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,090 - ERROR - Error in episode 2790: name 'args' is not defined +2025-03-10 15:29:58,092 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,093 - ERROR - Error in episode 2791: name 'args' is not defined +2025-03-10 15:29:58,096 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,096 - ERROR - Error in episode 2792: name 'args' is not defined +2025-03-10 15:29:58,099 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,099 - ERROR - Error in episode 2793: name 'args' is not defined +2025-03-10 15:29:58,102 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,102 - ERROR - Error in episode 2794: name 'args' is not defined +2025-03-10 15:29:58,105 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,105 - ERROR - Error in episode 2795: name 'args' is not defined +2025-03-10 15:29:58,107 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,108 - ERROR - Error in episode 2796: name 'args' is not defined +2025-03-10 15:29:58,111 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,111 - ERROR - Error in episode 2797: name 'args' is not defined +2025-03-10 15:29:58,114 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,114 - ERROR - Error in episode 2798: name 'args' is not defined +2025-03-10 15:29:58,116 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,117 - ERROR - Error in episode 2799: name 'args' is not defined +2025-03-10 15:29:58,119 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,119 - ERROR - Error in episode 2800: name 'args' is not defined +2025-03-10 15:29:58,123 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,123 - ERROR - Error in episode 2801: name 'args' is not defined +2025-03-10 15:29:58,125 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,126 - ERROR - Error in episode 2802: name 'args' is not defined +2025-03-10 15:29:58,129 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,129 - ERROR - Error in episode 2803: name 'args' is not defined +2025-03-10 15:29:58,133 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,133 - ERROR - Error in episode 2804: name 'args' is not defined +2025-03-10 15:29:58,136 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,136 - ERROR - Error in episode 2805: name 'args' is not defined +2025-03-10 15:29:58,139 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,139 - ERROR - Error in episode 2806: name 'args' is not defined +2025-03-10 15:29:58,142 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,142 - ERROR - Error in episode 2807: name 'args' is not defined +2025-03-10 15:29:58,145 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,145 - ERROR - Error in episode 2808: name 'args' is not defined +2025-03-10 15:29:58,148 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,148 - ERROR - Error in episode 2809: name 'args' is not defined +2025-03-10 15:29:58,151 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,151 - ERROR - Error in episode 2810: name 'args' is not defined +2025-03-10 15:29:58,154 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,154 - ERROR - Error in episode 2811: name 'args' is not defined +2025-03-10 15:29:58,157 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,157 - ERROR - Error in episode 2812: name 'args' is not defined +2025-03-10 15:29:58,159 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,160 - ERROR - Error in episode 2813: name 'args' is not defined +2025-03-10 15:29:58,163 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,163 - ERROR - Error in episode 2814: name 'args' is not defined +2025-03-10 15:29:58,166 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,166 - ERROR - Error in episode 2815: name 'args' is not defined +2025-03-10 15:29:58,169 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,169 - ERROR - Error in episode 2816: name 'args' is not defined +2025-03-10 15:29:58,172 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,172 - ERROR - Error in episode 2817: name 'args' is not defined +2025-03-10 15:29:58,175 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,175 - ERROR - Error in episode 2818: name 'args' is not defined +2025-03-10 15:29:58,177 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,177 - ERROR - Error in episode 2819: name 'args' is not defined +2025-03-10 15:29:58,181 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,182 - ERROR - Error in episode 2820: name 'args' is not defined +2025-03-10 15:29:58,184 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,185 - ERROR - Error in episode 2821: name 'args' is not defined +2025-03-10 15:29:58,187 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,187 - ERROR - Error in episode 2822: name 'args' is not defined +2025-03-10 15:29:58,190 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,190 - ERROR - Error in episode 2823: name 'args' is not defined +2025-03-10 15:29:58,193 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,193 - ERROR - Error in episode 2824: name 'args' is not defined +2025-03-10 15:29:58,195 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,196 - ERROR - Error in episode 2825: name 'args' is not defined +2025-03-10 15:29:58,198 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,199 - ERROR - Error in episode 2826: name 'args' is not defined +2025-03-10 15:29:58,202 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,202 - ERROR - Error in episode 2827: name 'args' is not defined +2025-03-10 15:29:58,205 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,205 - ERROR - Error in episode 2828: name 'args' is not defined +2025-03-10 15:29:58,208 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,208 - ERROR - Error in episode 2829: name 'args' is not defined +2025-03-10 15:29:58,211 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,211 - ERROR - Error in episode 2830: name 'args' is not defined +2025-03-10 15:29:58,214 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,214 - ERROR - Error in episode 2831: name 'args' is not defined +2025-03-10 15:29:58,216 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,217 - ERROR - Error in episode 2832: name 'args' is not defined +2025-03-10 15:29:58,220 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,220 - ERROR - Error in episode 2833: name 'args' is not defined +2025-03-10 15:29:58,222 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,223 - ERROR - Error in episode 2834: name 'args' is not defined +2025-03-10 15:29:58,226 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,227 - ERROR - Error in episode 2835: name 'args' is not defined +2025-03-10 15:29:58,229 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,229 - ERROR - Error in episode 2836: name 'args' is not defined +2025-03-10 15:29:58,232 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,232 - ERROR - Error in episode 2837: name 'args' is not defined +2025-03-10 15:29:58,235 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,235 - ERROR - Error in episode 2838: name 'args' is not defined +2025-03-10 15:29:58,237 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,238 - ERROR - Error in episode 2839: name 'args' is not defined +2025-03-10 15:29:58,240 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,240 - ERROR - Error in episode 2840: name 'args' is not defined +2025-03-10 15:29:58,243 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,243 - ERROR - Error in episode 2841: name 'args' is not defined +2025-03-10 15:29:58,246 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,246 - ERROR - Error in episode 2842: name 'args' is not defined +2025-03-10 15:29:58,249 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,249 - ERROR - Error in episode 2843: name 'args' is not defined +2025-03-10 15:29:58,251 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,251 - ERROR - Error in episode 2844: name 'args' is not defined +2025-03-10 15:29:58,254 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,254 - ERROR - Error in episode 2845: name 'args' is not defined +2025-03-10 15:29:58,256 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,258 - ERROR - Error in episode 2846: name 'args' is not defined +2025-03-10 15:29:58,260 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,261 - ERROR - Error in episode 2847: name 'args' is not defined +2025-03-10 15:29:58,263 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,263 - ERROR - Error in episode 2848: name 'args' is not defined +2025-03-10 15:29:58,266 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,266 - ERROR - Error in episode 2849: name 'args' is not defined +2025-03-10 15:29:58,269 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,269 - ERROR - Error in episode 2850: name 'args' is not defined +2025-03-10 15:29:58,271 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,272 - ERROR - Error in episode 2851: name 'args' is not defined +2025-03-10 15:29:58,274 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,275 - ERROR - Error in episode 2852: name 'args' is not defined +2025-03-10 15:29:58,278 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,278 - ERROR - Error in episode 2853: name 'args' is not defined +2025-03-10 15:29:58,281 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,281 - ERROR - Error in episode 2854: name 'args' is not defined +2025-03-10 15:29:58,283 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,283 - ERROR - Error in episode 2855: name 'args' is not defined +2025-03-10 15:29:58,286 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,286 - ERROR - Error in episode 2856: name 'args' is not defined +2025-03-10 15:29:58,289 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,289 - ERROR - Error in episode 2857: name 'args' is not defined +2025-03-10 15:29:58,292 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,292 - ERROR - Error in episode 2858: name 'args' is not defined +2025-03-10 15:29:58,295 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,295 - ERROR - Error in episode 2859: name 'args' is not defined +2025-03-10 15:29:58,298 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,299 - ERROR - Error in episode 2860: name 'args' is not defined +2025-03-10 15:29:58,301 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,302 - ERROR - Error in episode 2861: name 'args' is not defined +2025-03-10 15:29:58,305 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,305 - ERROR - Error in episode 2862: name 'args' is not defined +2025-03-10 15:29:58,308 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,308 - ERROR - Error in episode 2863: name 'args' is not defined +2025-03-10 15:29:58,311 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,311 - ERROR - Error in episode 2864: name 'args' is not defined +2025-03-10 15:29:58,315 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,315 - ERROR - Error in episode 2865: name 'args' is not defined +2025-03-10 15:29:58,318 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,318 - ERROR - Error in episode 2866: name 'args' is not defined +2025-03-10 15:29:58,321 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,321 - ERROR - Error in episode 2867: name 'args' is not defined +2025-03-10 15:29:58,324 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,324 - ERROR - Error in episode 2868: name 'args' is not defined +2025-03-10 15:29:58,326 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,327 - ERROR - Error in episode 2869: name 'args' is not defined +2025-03-10 15:29:58,330 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,330 - ERROR - Error in episode 2870: name 'args' is not defined +2025-03-10 15:29:58,332 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,334 - ERROR - Error in episode 2871: name 'args' is not defined +2025-03-10 15:29:58,336 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,337 - ERROR - Error in episode 2872: name 'args' is not defined +2025-03-10 15:29:58,340 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,340 - ERROR - Error in episode 2873: name 'args' is not defined +2025-03-10 15:29:58,343 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,343 - ERROR - Error in episode 2874: name 'args' is not defined +2025-03-10 15:29:58,345 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,346 - ERROR - Error in episode 2875: name 'args' is not defined +2025-03-10 15:29:58,348 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,348 - ERROR - Error in episode 2876: name 'args' is not defined +2025-03-10 15:29:58,351 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,351 - ERROR - Error in episode 2877: name 'args' is not defined +2025-03-10 15:29:58,353 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,353 - ERROR - Error in episode 2878: name 'args' is not defined +2025-03-10 15:29:58,356 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,357 - ERROR - Error in episode 2879: name 'args' is not defined +2025-03-10 15:29:58,360 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,360 - ERROR - Error in episode 2880: name 'args' is not defined +2025-03-10 15:29:58,362 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,362 - ERROR - Error in episode 2881: name 'args' is not defined +2025-03-10 15:29:58,364 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,365 - ERROR - Error in episode 2882: name 'args' is not defined +2025-03-10 15:29:58,368 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,369 - ERROR - Error in episode 2883: name 'args' is not defined +2025-03-10 15:29:58,371 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,372 - ERROR - Error in episode 2884: name 'args' is not defined +2025-03-10 15:29:58,374 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,374 - ERROR - Error in episode 2885: name 'args' is not defined +2025-03-10 15:29:58,376 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,376 - ERROR - Error in episode 2886: name 'args' is not defined +2025-03-10 15:29:58,379 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,379 - ERROR - Error in episode 2887: name 'args' is not defined +2025-03-10 15:29:58,382 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,382 - ERROR - Error in episode 2888: name 'args' is not defined +2025-03-10 15:29:58,385 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,385 - ERROR - Error in episode 2889: name 'args' is not defined +2025-03-10 15:29:58,387 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,388 - ERROR - Error in episode 2890: name 'args' is not defined +2025-03-10 15:29:58,390 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,390 - ERROR - Error in episode 2891: name 'args' is not defined +2025-03-10 15:29:58,393 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,394 - ERROR - Error in episode 2892: name 'args' is not defined +2025-03-10 15:29:58,397 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,397 - ERROR - Error in episode 2893: name 'args' is not defined +2025-03-10 15:29:58,401 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,401 - ERROR - Error in episode 2894: name 'args' is not defined +2025-03-10 15:29:58,405 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,405 - ERROR - Error in episode 2895: name 'args' is not defined +2025-03-10 15:29:58,407 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,408 - ERROR - Error in episode 2896: name 'args' is not defined +2025-03-10 15:29:58,410 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,410 - ERROR - Error in episode 2897: name 'args' is not defined +2025-03-10 15:29:58,413 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,413 - ERROR - Error in episode 2898: name 'args' is not defined +2025-03-10 15:29:58,416 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,416 - ERROR - Error in episode 2899: name 'args' is not defined +2025-03-10 15:29:58,418 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,419 - ERROR - Error in episode 2900: name 'args' is not defined +2025-03-10 15:29:58,421 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,422 - ERROR - Error in episode 2901: name 'args' is not defined +2025-03-10 15:29:58,424 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,424 - ERROR - Error in episode 2902: name 'args' is not defined +2025-03-10 15:29:58,427 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,428 - ERROR - Error in episode 2903: name 'args' is not defined +2025-03-10 15:29:58,430 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,430 - ERROR - Error in episode 2904: name 'args' is not defined +2025-03-10 15:29:58,433 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,433 - ERROR - Error in episode 2905: name 'args' is not defined +2025-03-10 15:29:58,436 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,437 - ERROR - Error in episode 2906: name 'args' is not defined +2025-03-10 15:29:58,439 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,440 - ERROR - Error in episode 2907: name 'args' is not defined +2025-03-10 15:29:58,442 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,443 - ERROR - Error in episode 2908: name 'args' is not defined +2025-03-10 15:29:58,445 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,446 - ERROR - Error in episode 2909: name 'args' is not defined +2025-03-10 15:29:58,448 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,448 - ERROR - Error in episode 2910: name 'args' is not defined +2025-03-10 15:29:58,451 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,451 - ERROR - Error in episode 2911: name 'args' is not defined +2025-03-10 15:29:58,454 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,454 - ERROR - Error in episode 2912: name 'args' is not defined +2025-03-10 15:29:58,457 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,457 - ERROR - Error in episode 2913: name 'args' is not defined +2025-03-10 15:29:58,460 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,460 - ERROR - Error in episode 2914: name 'args' is not defined +2025-03-10 15:29:58,463 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,463 - ERROR - Error in episode 2915: name 'args' is not defined +2025-03-10 15:29:58,466 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,466 - ERROR - Error in episode 2916: name 'args' is not defined +2025-03-10 15:29:58,469 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,469 - ERROR - Error in episode 2917: name 'args' is not defined +2025-03-10 15:29:58,471 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,472 - ERROR - Error in episode 2918: name 'args' is not defined +2025-03-10 15:29:58,474 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,474 - ERROR - Error in episode 2919: name 'args' is not defined +2025-03-10 15:29:58,478 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,478 - ERROR - Error in episode 2920: name 'args' is not defined +2025-03-10 15:29:58,481 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,481 - ERROR - Error in episode 2921: name 'args' is not defined +2025-03-10 15:29:58,484 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,484 - ERROR - Error in episode 2922: name 'args' is not defined +2025-03-10 15:29:58,486 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,487 - ERROR - Error in episode 2923: name 'args' is not defined +2025-03-10 15:29:58,489 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,489 - ERROR - Error in episode 2924: name 'args' is not defined +2025-03-10 15:29:58,492 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,493 - ERROR - Error in episode 2925: name 'args' is not defined +2025-03-10 15:29:58,496 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,496 - ERROR - Error in episode 2926: name 'args' is not defined +2025-03-10 15:29:58,499 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,499 - ERROR - Error in episode 2927: name 'args' is not defined +2025-03-10 15:29:58,502 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,502 - ERROR - Error in episode 2928: name 'args' is not defined +2025-03-10 15:29:58,505 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,505 - ERROR - Error in episode 2929: name 'args' is not defined +2025-03-10 15:29:58,508 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,509 - ERROR - Error in episode 2930: name 'args' is not defined +2025-03-10 15:29:58,512 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,512 - ERROR - Error in episode 2931: name 'args' is not defined +2025-03-10 15:29:58,514 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,515 - ERROR - Error in episode 2932: name 'args' is not defined +2025-03-10 15:29:58,518 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,518 - ERROR - Error in episode 2933: name 'args' is not defined +2025-03-10 15:29:58,520 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,521 - ERROR - Error in episode 2934: name 'args' is not defined +2025-03-10 15:29:58,523 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,524 - ERROR - Error in episode 2935: name 'args' is not defined +2025-03-10 15:29:58,527 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,527 - ERROR - Error in episode 2936: name 'args' is not defined +2025-03-10 15:29:58,531 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,531 - ERROR - Error in episode 2937: name 'args' is not defined +2025-03-10 15:29:58,534 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,534 - ERROR - Error in episode 2938: name 'args' is not defined +2025-03-10 15:29:58,537 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,537 - ERROR - Error in episode 2939: name 'args' is not defined +2025-03-10 15:29:58,539 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,540 - ERROR - Error in episode 2940: name 'args' is not defined +2025-03-10 15:29:58,542 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,542 - ERROR - Error in episode 2941: name 'args' is not defined +2025-03-10 15:29:58,545 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,545 - ERROR - Error in episode 2942: name 'args' is not defined +2025-03-10 15:29:58,547 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,548 - ERROR - Error in episode 2943: name 'args' is not defined +2025-03-10 15:29:58,551 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,551 - ERROR - Error in episode 2944: name 'args' is not defined +2025-03-10 15:29:58,554 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,554 - ERROR - Error in episode 2945: name 'args' is not defined +2025-03-10 15:29:58,556 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,556 - ERROR - Error in episode 2946: name 'args' is not defined +2025-03-10 15:29:58,559 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,560 - ERROR - Error in episode 2947: name 'args' is not defined +2025-03-10 15:29:58,562 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,562 - ERROR - Error in episode 2948: name 'args' is not defined +2025-03-10 15:29:58,565 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,565 - ERROR - Error in episode 2949: name 'args' is not defined +2025-03-10 15:29:58,568 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,568 - ERROR - Error in episode 2950: name 'args' is not defined +2025-03-10 15:29:58,571 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,571 - ERROR - Error in episode 2951: name 'args' is not defined +2025-03-10 15:29:58,574 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,574 - ERROR - Error in episode 2952: name 'args' is not defined +2025-03-10 15:29:58,578 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,578 - ERROR - Error in episode 2953: name 'args' is not defined +2025-03-10 15:29:58,581 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,581 - ERROR - Error in episode 2954: name 'args' is not defined +2025-03-10 15:29:58,584 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,584 - ERROR - Error in episode 2955: name 'args' is not defined +2025-03-10 15:29:58,587 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,588 - ERROR - Error in episode 2956: name 'args' is not defined +2025-03-10 15:29:58,590 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,591 - ERROR - Error in episode 2957: name 'args' is not defined +2025-03-10 15:29:58,593 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,593 - ERROR - Error in episode 2958: name 'args' is not defined +2025-03-10 15:29:58,597 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,597 - ERROR - Error in episode 2959: name 'args' is not defined +2025-03-10 15:29:58,599 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,600 - ERROR - Error in episode 2960: name 'args' is not defined +2025-03-10 15:29:58,603 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,603 - ERROR - Error in episode 2961: name 'args' is not defined +2025-03-10 15:29:58,606 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,606 - ERROR - Error in episode 2962: name 'args' is not defined +2025-03-10 15:29:58,608 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,609 - ERROR - Error in episode 2963: name 'args' is not defined +2025-03-10 15:29:58,611 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,612 - ERROR - Error in episode 2964: name 'args' is not defined +2025-03-10 15:29:58,614 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,614 - ERROR - Error in episode 2965: name 'args' is not defined +2025-03-10 15:29:58,617 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,617 - ERROR - Error in episode 2966: name 'args' is not defined +2025-03-10 15:29:58,620 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,620 - ERROR - Error in episode 2967: name 'args' is not defined +2025-03-10 15:29:58,623 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,623 - ERROR - Error in episode 2968: name 'args' is not defined +2025-03-10 15:29:58,626 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,627 - ERROR - Error in episode 2969: name 'args' is not defined +2025-03-10 15:29:58,629 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,630 - ERROR - Error in episode 2970: name 'args' is not defined +2025-03-10 15:29:58,632 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,632 - ERROR - Error in episode 2971: name 'args' is not defined +2025-03-10 15:29:58,635 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,635 - ERROR - Error in episode 2972: name 'args' is not defined +2025-03-10 15:29:58,639 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,639 - ERROR - Error in episode 2973: name 'args' is not defined +2025-03-10 15:29:58,641 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,642 - ERROR - Error in episode 2974: name 'args' is not defined +2025-03-10 15:29:58,644 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,644 - ERROR - Error in episode 2975: name 'args' is not defined +2025-03-10 15:29:58,647 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,648 - ERROR - Error in episode 2976: name 'args' is not defined +2025-03-10 15:29:58,651 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,651 - ERROR - Error in episode 2977: name 'args' is not defined +2025-03-10 15:29:58,653 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,653 - ERROR - Error in episode 2978: name 'args' is not defined +2025-03-10 15:29:58,657 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,658 - ERROR - Error in episode 2979: name 'args' is not defined +2025-03-10 15:29:58,660 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,661 - ERROR - Error in episode 2980: name 'args' is not defined +2025-03-10 15:29:58,663 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,663 - ERROR - Error in episode 2981: name 'args' is not defined +2025-03-10 15:29:58,667 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,667 - ERROR - Error in episode 2982: name 'args' is not defined +2025-03-10 15:29:58,670 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,670 - ERROR - Error in episode 2983: name 'args' is not defined +2025-03-10 15:29:58,673 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,673 - ERROR - Error in episode 2984: name 'args' is not defined +2025-03-10 15:29:58,676 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,676 - ERROR - Error in episode 2985: name 'args' is not defined +2025-03-10 15:29:58,678 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,679 - ERROR - Error in episode 2986: name 'args' is not defined +2025-03-10 15:29:58,681 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,682 - ERROR - Error in episode 2987: name 'args' is not defined +2025-03-10 15:29:58,685 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,685 - ERROR - Error in episode 2988: name 'args' is not defined +2025-03-10 15:29:58,688 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,688 - ERROR - Error in episode 2989: name 'args' is not defined +2025-03-10 15:29:58,690 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,692 - ERROR - Error in episode 2990: name 'args' is not defined +2025-03-10 15:29:58,694 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,694 - ERROR - Error in episode 2991: name 'args' is not defined +2025-03-10 15:29:58,697 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,697 - ERROR - Error in episode 2992: name 'args' is not defined +2025-03-10 15:29:58,699 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,700 - ERROR - Error in episode 2993: name 'args' is not defined +2025-03-10 15:29:58,702 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,703 - ERROR - Error in episode 2994: name 'args' is not defined +2025-03-10 15:29:58,705 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,706 - ERROR - Error in episode 2995: name 'args' is not defined +2025-03-10 15:29:58,708 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,709 - ERROR - Error in episode 2996: name 'args' is not defined +2025-03-10 15:29:58,711 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,711 - ERROR - Error in episode 2997: name 'args' is not defined +2025-03-10 15:29:58,714 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,714 - ERROR - Error in episode 2998: name 'args' is not defined +2025-03-10 15:29:58,716 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,717 - ERROR - Error in episode 2999: name 'args' is not defined +2025-03-10 15:29:58,720 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,720 - ERROR - Error in episode 3000: name 'args' is not defined +2025-03-10 15:29:58,723 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,723 - ERROR - Error in episode 3001: name 'args' is not defined +2025-03-10 15:29:58,726 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,726 - ERROR - Error in episode 3002: name 'args' is not defined +2025-03-10 15:29:58,729 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,729 - ERROR - Error in episode 3003: name 'args' is not defined +2025-03-10 15:29:58,731 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,732 - ERROR - Error in episode 3004: name 'args' is not defined +2025-03-10 15:29:58,734 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,734 - ERROR - Error in episode 3005: name 'args' is not defined +2025-03-10 15:29:58,737 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,738 - ERROR - Error in episode 3006: name 'args' is not defined +2025-03-10 15:29:58,740 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,741 - ERROR - Error in episode 3007: name 'args' is not defined +2025-03-10 15:29:58,743 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,744 - ERROR - Error in episode 3008: name 'args' is not defined +2025-03-10 15:29:58,747 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,747 - ERROR - Error in episode 3009: name 'args' is not defined +2025-03-10 15:29:58,750 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,750 - ERROR - Error in episode 3010: name 'args' is not defined +2025-03-10 15:29:58,752 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,753 - ERROR - Error in episode 3011: name 'args' is not defined +2025-03-10 15:29:58,756 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,756 - ERROR - Error in episode 3012: name 'args' is not defined +2025-03-10 15:29:58,758 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,758 - ERROR - Error in episode 3013: name 'args' is not defined +2025-03-10 15:29:58,761 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,761 - ERROR - Error in episode 3014: name 'args' is not defined +2025-03-10 15:29:58,763 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,764 - ERROR - Error in episode 3015: name 'args' is not defined +2025-03-10 15:29:58,767 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,767 - ERROR - Error in episode 3016: name 'args' is not defined +2025-03-10 15:29:58,770 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,770 - ERROR - Error in episode 3017: name 'args' is not defined +2025-03-10 15:29:58,773 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,773 - ERROR - Error in episode 3018: name 'args' is not defined +2025-03-10 15:29:58,776 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,776 - ERROR - Error in episode 3019: name 'args' is not defined +2025-03-10 15:29:58,779 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,779 - ERROR - Error in episode 3020: name 'args' is not defined +2025-03-10 15:29:58,781 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,782 - ERROR - Error in episode 3021: name 'args' is not defined +2025-03-10 15:29:58,784 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,785 - ERROR - Error in episode 3022: name 'args' is not defined +2025-03-10 15:29:58,787 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,787 - ERROR - Error in episode 3023: name 'args' is not defined +2025-03-10 15:29:58,790 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,790 - ERROR - Error in episode 3024: name 'args' is not defined +2025-03-10 15:29:58,793 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,793 - ERROR - Error in episode 3025: name 'args' is not defined +2025-03-10 15:29:58,796 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,797 - ERROR - Error in episode 3026: name 'args' is not defined +2025-03-10 15:29:58,799 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,799 - ERROR - Error in episode 3027: name 'args' is not defined +2025-03-10 15:29:58,802 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,802 - ERROR - Error in episode 3028: name 'args' is not defined +2025-03-10 15:29:58,805 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,805 - ERROR - Error in episode 3029: name 'args' is not defined +2025-03-10 15:29:58,808 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,808 - ERROR - Error in episode 3030: name 'args' is not defined +2025-03-10 15:29:58,810 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,811 - ERROR - Error in episode 3031: name 'args' is not defined +2025-03-10 15:29:58,814 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,814 - ERROR - Error in episode 3032: name 'args' is not defined +2025-03-10 15:29:58,816 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,817 - ERROR - Error in episode 3033: name 'args' is not defined +2025-03-10 15:29:58,820 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,820 - ERROR - Error in episode 3034: name 'args' is not defined +2025-03-10 15:29:58,823 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,823 - ERROR - Error in episode 3035: name 'args' is not defined +2025-03-10 15:29:58,826 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,826 - ERROR - Error in episode 3036: name 'args' is not defined +2025-03-10 15:29:58,829 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,829 - ERROR - Error in episode 3037: name 'args' is not defined +2025-03-10 15:29:58,832 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,832 - ERROR - Error in episode 3038: name 'args' is not defined +2025-03-10 15:29:58,834 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,835 - ERROR - Error in episode 3039: name 'args' is not defined +2025-03-10 15:29:58,838 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,838 - ERROR - Error in episode 3040: name 'args' is not defined +2025-03-10 15:29:58,840 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,841 - ERROR - Error in episode 3041: name 'args' is not defined +2025-03-10 15:29:58,843 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,844 - ERROR - Error in episode 3042: name 'args' is not defined +2025-03-10 15:29:58,847 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,847 - ERROR - Error in episode 3043: name 'args' is not defined +2025-03-10 15:29:58,850 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,851 - ERROR - Error in episode 3044: name 'args' is not defined +2025-03-10 15:29:58,853 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,853 - ERROR - Error in episode 3045: name 'args' is not defined +2025-03-10 15:29:58,856 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,856 - ERROR - Error in episode 3046: name 'args' is not defined +2025-03-10 15:29:58,858 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,858 - ERROR - Error in episode 3047: name 'args' is not defined +2025-03-10 15:29:58,861 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,861 - ERROR - Error in episode 3048: name 'args' is not defined +2025-03-10 15:29:58,865 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,865 - ERROR - Error in episode 3049: name 'args' is not defined +2025-03-10 15:29:58,867 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,868 - ERROR - Error in episode 3050: name 'args' is not defined +2025-03-10 15:29:58,870 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,870 - ERROR - Error in episode 3051: name 'args' is not defined +2025-03-10 15:29:58,873 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,873 - ERROR - Error in episode 3052: name 'args' is not defined +2025-03-10 15:29:58,876 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,876 - ERROR - Error in episode 3053: name 'args' is not defined +2025-03-10 15:29:58,878 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,879 - ERROR - Error in episode 3054: name 'args' is not defined +2025-03-10 15:29:58,881 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,881 - ERROR - Error in episode 3055: name 'args' is not defined +2025-03-10 15:29:58,885 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,885 - ERROR - Error in episode 3056: name 'args' is not defined +2025-03-10 15:29:58,888 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,888 - ERROR - Error in episode 3057: name 'args' is not defined +2025-03-10 15:29:58,891 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,891 - ERROR - Error in episode 3058: name 'args' is not defined +2025-03-10 15:29:58,893 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,894 - ERROR - Error in episode 3059: name 'args' is not defined +2025-03-10 15:29:58,896 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,897 - ERROR - Error in episode 3060: name 'args' is not defined +2025-03-10 15:29:58,899 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,900 - ERROR - Error in episode 3061: name 'args' is not defined +2025-03-10 15:29:58,902 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,903 - ERROR - Error in episode 3062: name 'args' is not defined +2025-03-10 15:29:58,905 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,905 - ERROR - Error in episode 3063: name 'args' is not defined +2025-03-10 15:29:58,908 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,908 - ERROR - Error in episode 3064: name 'args' is not defined +2025-03-10 15:29:58,910 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,911 - ERROR - Error in episode 3065: name 'args' is not defined +2025-03-10 15:29:58,913 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,914 - ERROR - Error in episode 3066: name 'args' is not defined +2025-03-10 15:29:58,917 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,917 - ERROR - Error in episode 3067: name 'args' is not defined +2025-03-10 15:29:58,920 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,921 - ERROR - Error in episode 3068: name 'args' is not defined +2025-03-10 15:29:58,923 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,924 - ERROR - Error in episode 3069: name 'args' is not defined +2025-03-10 15:29:58,926 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,926 - ERROR - Error in episode 3070: name 'args' is not defined +2025-03-10 15:29:58,929 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,930 - ERROR - Error in episode 3071: name 'args' is not defined +2025-03-10 15:29:58,932 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,933 - ERROR - Error in episode 3072: name 'args' is not defined +2025-03-10 15:29:58,935 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,935 - ERROR - Error in episode 3073: name 'args' is not defined +2025-03-10 15:29:58,938 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,939 - ERROR - Error in episode 3074: name 'args' is not defined +2025-03-10 15:29:58,941 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,941 - ERROR - Error in episode 3075: name 'args' is not defined +2025-03-10 15:29:58,944 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,944 - ERROR - Error in episode 3076: name 'args' is not defined +2025-03-10 15:29:58,947 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,947 - ERROR - Error in episode 3077: name 'args' is not defined +2025-03-10 15:29:58,950 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,950 - ERROR - Error in episode 3078: name 'args' is not defined +2025-03-10 15:29:58,952 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,953 - ERROR - Error in episode 3079: name 'args' is not defined +2025-03-10 15:29:58,955 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,956 - ERROR - Error in episode 3080: name 'args' is not defined +2025-03-10 15:29:58,958 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,958 - ERROR - Error in episode 3081: name 'args' is not defined +2025-03-10 15:29:58,960 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,961 - ERROR - Error in episode 3082: name 'args' is not defined +2025-03-10 15:29:58,964 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,964 - ERROR - Error in episode 3083: name 'args' is not defined +2025-03-10 15:29:58,967 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,967 - ERROR - Error in episode 3084: name 'args' is not defined +2025-03-10 15:29:58,970 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,970 - ERROR - Error in episode 3085: name 'args' is not defined +2025-03-10 15:29:58,974 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,974 - ERROR - Error in episode 3086: name 'args' is not defined +2025-03-10 15:29:58,977 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,977 - ERROR - Error in episode 3087: name 'args' is not defined +2025-03-10 15:29:58,980 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,980 - ERROR - Error in episode 3088: name 'args' is not defined +2025-03-10 15:29:58,982 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,983 - ERROR - Error in episode 3089: name 'args' is not defined +2025-03-10 15:29:58,985 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,985 - ERROR - Error in episode 3090: name 'args' is not defined +2025-03-10 15:29:58,988 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,988 - ERROR - Error in episode 3091: name 'args' is not defined +2025-03-10 15:29:58,990 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,991 - ERROR - Error in episode 3092: name 'args' is not defined +2025-03-10 15:29:58,993 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,993 - ERROR - Error in episode 3093: name 'args' is not defined +2025-03-10 15:29:58,996 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:58,996 - ERROR - Error in episode 3094: name 'args' is not defined +2025-03-10 15:29:58,999 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,000 - ERROR - Error in episode 3095: name 'args' is not defined +2025-03-10 15:29:59,002 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,002 - ERROR - Error in episode 3096: name 'args' is not defined +2025-03-10 15:29:59,004 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,005 - ERROR - Error in episode 3097: name 'args' is not defined +2025-03-10 15:29:59,008 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,009 - ERROR - Error in episode 3098: name 'args' is not defined +2025-03-10 15:29:59,011 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,011 - ERROR - Error in episode 3099: name 'args' is not defined +2025-03-10 15:29:59,014 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,014 - ERROR - Error in episode 3100: name 'args' is not defined +2025-03-10 15:29:59,017 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,017 - ERROR - Error in episode 3101: name 'args' is not defined +2025-03-10 15:29:59,020 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,020 - ERROR - Error in episode 3102: name 'args' is not defined +2025-03-10 15:29:59,022 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,023 - ERROR - Error in episode 3103: name 'args' is not defined +2025-03-10 15:29:59,025 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,025 - ERROR - Error in episode 3104: name 'args' is not defined +2025-03-10 15:29:59,028 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,028 - ERROR - Error in episode 3105: name 'args' is not defined +2025-03-10 15:29:59,031 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,031 - ERROR - Error in episode 3106: name 'args' is not defined +2025-03-10 15:29:59,033 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,034 - ERROR - Error in episode 3107: name 'args' is not defined +2025-03-10 15:29:59,036 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,036 - ERROR - Error in episode 3108: name 'args' is not defined +2025-03-10 15:29:59,039 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,039 - ERROR - Error in episode 3109: name 'args' is not defined +2025-03-10 15:29:59,042 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,042 - ERROR - Error in episode 3110: name 'args' is not defined +2025-03-10 15:29:59,044 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,045 - ERROR - Error in episode 3111: name 'args' is not defined +2025-03-10 15:29:59,048 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,048 - ERROR - Error in episode 3112: name 'args' is not defined +2025-03-10 15:29:59,051 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,051 - ERROR - Error in episode 3113: name 'args' is not defined +2025-03-10 15:29:59,053 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,054 - ERROR - Error in episode 3114: name 'args' is not defined +2025-03-10 15:29:59,057 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,057 - ERROR - Error in episode 3115: name 'args' is not defined +2025-03-10 15:29:59,060 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,060 - ERROR - Error in episode 3116: name 'args' is not defined +2025-03-10 15:29:59,063 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,063 - ERROR - Error in episode 3117: name 'args' is not defined +2025-03-10 15:29:59,066 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,066 - ERROR - Error in episode 3118: name 'args' is not defined +2025-03-10 15:29:59,069 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,069 - ERROR - Error in episode 3119: name 'args' is not defined +2025-03-10 15:29:59,072 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,072 - ERROR - Error in episode 3120: name 'args' is not defined +2025-03-10 15:29:59,074 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,075 - ERROR - Error in episode 3121: name 'args' is not defined +2025-03-10 15:29:59,077 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,077 - ERROR - Error in episode 3122: name 'args' is not defined +2025-03-10 15:29:59,079 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,080 - ERROR - Error in episode 3123: name 'args' is not defined +2025-03-10 15:29:59,082 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,082 - ERROR - Error in episode 3124: name 'args' is not defined +2025-03-10 15:29:59,085 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,085 - ERROR - Error in episode 3125: name 'args' is not defined +2025-03-10 15:29:59,087 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,088 - ERROR - Error in episode 3126: name 'args' is not defined +2025-03-10 15:29:59,090 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,090 - ERROR - Error in episode 3127: name 'args' is not defined +2025-03-10 15:29:59,094 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,094 - ERROR - Error in episode 3128: name 'args' is not defined +2025-03-10 15:29:59,097 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,097 - ERROR - Error in episode 3129: name 'args' is not defined +2025-03-10 15:29:59,100 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,101 - ERROR - Error in episode 3130: name 'args' is not defined +2025-03-10 15:29:59,103 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,103 - ERROR - Error in episode 3131: name 'args' is not defined +2025-03-10 15:29:59,106 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,106 - ERROR - Error in episode 3132: name 'args' is not defined +2025-03-10 15:29:59,109 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,109 - ERROR - Error in episode 3133: name 'args' is not defined +2025-03-10 15:29:59,111 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,111 - ERROR - Error in episode 3134: name 'args' is not defined +2025-03-10 15:29:59,113 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,114 - ERROR - Error in episode 3135: name 'args' is not defined +2025-03-10 15:29:59,116 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,117 - ERROR - Error in episode 3136: name 'args' is not defined +2025-03-10 15:29:59,119 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,119 - ERROR - Error in episode 3137: name 'args' is not defined +2025-03-10 15:29:59,122 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,122 - ERROR - Error in episode 3138: name 'args' is not defined +2025-03-10 15:29:59,125 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,125 - ERROR - Error in episode 3139: name 'args' is not defined +2025-03-10 15:29:59,128 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,128 - ERROR - Error in episode 3140: name 'args' is not defined +2025-03-10 15:29:59,131 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,132 - ERROR - Error in episode 3141: name 'args' is not defined +2025-03-10 15:29:59,135 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,135 - ERROR - Error in episode 3142: name 'args' is not defined +2025-03-10 15:29:59,137 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,138 - ERROR - Error in episode 3143: name 'args' is not defined +2025-03-10 15:29:59,140 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,141 - ERROR - Error in episode 3144: name 'args' is not defined +2025-03-10 15:29:59,144 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,144 - ERROR - Error in episode 3145: name 'args' is not defined +2025-03-10 15:29:59,146 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,147 - ERROR - Error in episode 3146: name 'args' is not defined +2025-03-10 15:29:59,149 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,150 - ERROR - Error in episode 3147: name 'args' is not defined +2025-03-10 15:29:59,153 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,153 - ERROR - Error in episode 3148: name 'args' is not defined +2025-03-10 15:29:59,156 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,156 - ERROR - Error in episode 3149: name 'args' is not defined +2025-03-10 15:29:59,159 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,159 - ERROR - Error in episode 3150: name 'args' is not defined +2025-03-10 15:29:59,161 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,162 - ERROR - Error in episode 3151: name 'args' is not defined +2025-03-10 15:29:59,164 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,165 - ERROR - Error in episode 3152: name 'args' is not defined +2025-03-10 15:29:59,168 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,168 - ERROR - Error in episode 3153: name 'args' is not defined +2025-03-10 15:29:59,170 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,171 - ERROR - Error in episode 3154: name 'args' is not defined +2025-03-10 15:29:59,173 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,173 - ERROR - Error in episode 3155: name 'args' is not defined +2025-03-10 15:29:59,176 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,176 - ERROR - Error in episode 3156: name 'args' is not defined +2025-03-10 15:29:59,178 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,179 - ERROR - Error in episode 3157: name 'args' is not defined +2025-03-10 15:29:59,181 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,181 - ERROR - Error in episode 3158: name 'args' is not defined +2025-03-10 15:29:59,184 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,185 - ERROR - Error in episode 3159: name 'args' is not defined +2025-03-10 15:29:59,187 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,187 - ERROR - Error in episode 3160: name 'args' is not defined +2025-03-10 15:29:59,189 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,190 - ERROR - Error in episode 3161: name 'args' is not defined +2025-03-10 15:29:59,192 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,193 - ERROR - Error in episode 3162: name 'args' is not defined +2025-03-10 15:29:59,195 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,196 - ERROR - Error in episode 3163: name 'args' is not defined +2025-03-10 15:29:59,198 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,198 - ERROR - Error in episode 3164: name 'args' is not defined +2025-03-10 15:29:59,201 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,201 - ERROR - Error in episode 3165: name 'args' is not defined +2025-03-10 15:29:59,204 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,204 - ERROR - Error in episode 3166: name 'args' is not defined +2025-03-10 15:29:59,206 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,207 - ERROR - Error in episode 3167: name 'args' is not defined +2025-03-10 15:29:59,210 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,210 - ERROR - Error in episode 3168: name 'args' is not defined +2025-03-10 15:29:59,213 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,214 - ERROR - Error in episode 3169: name 'args' is not defined +2025-03-10 15:29:59,216 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,216 - ERROR - Error in episode 3170: name 'args' is not defined +2025-03-10 15:29:59,219 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,219 - ERROR - Error in episode 3171: name 'args' is not defined +2025-03-10 15:29:59,222 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,222 - ERROR - Error in episode 3172: name 'args' is not defined +2025-03-10 15:29:59,224 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,224 - ERROR - Error in episode 3173: name 'args' is not defined +2025-03-10 15:29:59,226 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,227 - ERROR - Error in episode 3174: name 'args' is not defined +2025-03-10 15:29:59,229 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,230 - ERROR - Error in episode 3175: name 'args' is not defined +2025-03-10 15:29:59,233 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,233 - ERROR - Error in episode 3176: name 'args' is not defined +2025-03-10 15:29:59,236 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,236 - ERROR - Error in episode 3177: name 'args' is not defined +2025-03-10 15:29:59,239 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,239 - ERROR - Error in episode 3178: name 'args' is not defined +2025-03-10 15:29:59,242 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,242 - ERROR - Error in episode 3179: name 'args' is not defined +2025-03-10 15:29:59,245 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,245 - ERROR - Error in episode 3180: name 'args' is not defined +2025-03-10 15:29:59,247 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,248 - ERROR - Error in episode 3181: name 'args' is not defined +2025-03-10 15:29:59,250 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,251 - ERROR - Error in episode 3182: name 'args' is not defined +2025-03-10 15:29:59,253 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,253 - ERROR - Error in episode 3183: name 'args' is not defined +2025-03-10 15:29:59,256 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,257 - ERROR - Error in episode 3184: name 'args' is not defined +2025-03-10 15:29:59,260 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,260 - ERROR - Error in episode 3185: name 'args' is not defined +2025-03-10 15:29:59,262 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,264 - ERROR - Error in episode 3186: name 'args' is not defined +2025-03-10 15:29:59,266 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,266 - ERROR - Error in episode 3187: name 'args' is not defined +2025-03-10 15:29:59,268 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,269 - ERROR - Error in episode 3188: name 'args' is not defined +2025-03-10 15:29:59,272 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,272 - ERROR - Error in episode 3189: name 'args' is not defined +2025-03-10 15:29:59,275 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,275 - ERROR - Error in episode 3190: name 'args' is not defined +2025-03-10 15:29:59,277 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,278 - ERROR - Error in episode 3191: name 'args' is not defined +2025-03-10 15:29:59,281 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,281 - ERROR - Error in episode 3192: name 'args' is not defined +2025-03-10 15:29:59,283 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,283 - ERROR - Error in episode 3193: name 'args' is not defined +2025-03-10 15:29:59,287 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,287 - ERROR - Error in episode 3194: name 'args' is not defined +2025-03-10 15:29:59,290 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,290 - ERROR - Error in episode 3195: name 'args' is not defined +2025-03-10 15:29:59,293 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,294 - ERROR - Error in episode 3196: name 'args' is not defined +2025-03-10 15:29:59,296 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,297 - ERROR - Error in episode 3197: name 'args' is not defined +2025-03-10 15:29:59,300 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,300 - ERROR - Error in episode 3198: name 'args' is not defined +2025-03-10 15:29:59,303 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,303 - ERROR - Error in episode 3199: name 'args' is not defined +2025-03-10 15:29:59,306 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,306 - ERROR - Error in episode 3200: name 'args' is not defined +2025-03-10 15:29:59,309 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,309 - ERROR - Error in episode 3201: name 'args' is not defined +2025-03-10 15:29:59,312 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,312 - ERROR - Error in episode 3202: name 'args' is not defined +2025-03-10 15:29:59,315 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,315 - ERROR - Error in episode 3203: name 'args' is not defined +2025-03-10 15:29:59,318 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,318 - ERROR - Error in episode 3204: name 'args' is not defined +2025-03-10 15:29:59,321 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,321 - ERROR - Error in episode 3205: name 'args' is not defined +2025-03-10 15:29:59,324 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,324 - ERROR - Error in episode 3206: name 'args' is not defined +2025-03-10 15:29:59,326 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,326 - ERROR - Error in episode 3207: name 'args' is not defined +2025-03-10 15:29:59,329 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,329 - ERROR - Error in episode 3208: name 'args' is not defined +2025-03-10 15:29:59,332 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,332 - ERROR - Error in episode 3209: name 'args' is not defined +2025-03-10 15:29:59,334 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,335 - ERROR - Error in episode 3210: name 'args' is not defined +2025-03-10 15:29:59,337 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,337 - ERROR - Error in episode 3211: name 'args' is not defined +2025-03-10 15:29:59,341 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,341 - ERROR - Error in episode 3212: name 'args' is not defined +2025-03-10 15:29:59,344 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,344 - ERROR - Error in episode 3213: name 'args' is not defined +2025-03-10 15:29:59,347 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,347 - ERROR - Error in episode 3214: name 'args' is not defined +2025-03-10 15:29:59,349 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,349 - ERROR - Error in episode 3215: name 'args' is not defined +2025-03-10 15:29:59,352 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,352 - ERROR - Error in episode 3216: name 'args' is not defined +2025-03-10 15:29:59,355 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,355 - ERROR - Error in episode 3217: name 'args' is not defined +2025-03-10 15:29:59,358 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,359 - ERROR - Error in episode 3218: name 'args' is not defined +2025-03-10 15:29:59,362 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,363 - ERROR - Error in episode 3219: name 'args' is not defined +2025-03-10 15:29:59,365 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,366 - ERROR - Error in episode 3220: name 'args' is not defined +2025-03-10 15:29:59,369 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,370 - ERROR - Error in episode 3221: name 'args' is not defined +2025-03-10 15:29:59,373 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,373 - ERROR - Error in episode 3222: name 'args' is not defined +2025-03-10 15:29:59,376 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,376 - ERROR - Error in episode 3223: name 'args' is not defined +2025-03-10 15:29:59,380 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,381 - ERROR - Error in episode 3224: name 'args' is not defined +2025-03-10 15:29:59,383 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,384 - ERROR - Error in episode 3225: name 'args' is not defined +2025-03-10 15:29:59,387 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,387 - ERROR - Error in episode 3226: name 'args' is not defined +2025-03-10 15:29:59,392 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,392 - ERROR - Error in episode 3227: name 'args' is not defined +2025-03-10 15:29:59,396 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,397 - ERROR - Error in episode 3228: name 'args' is not defined +2025-03-10 15:29:59,399 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,400 - ERROR - Error in episode 3229: name 'args' is not defined +2025-03-10 15:29:59,403 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,403 - ERROR - Error in episode 3230: name 'args' is not defined +2025-03-10 15:29:59,407 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,407 - ERROR - Error in episode 3231: name 'args' is not defined +2025-03-10 15:29:59,412 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,412 - ERROR - Error in episode 3232: name 'args' is not defined +2025-03-10 15:29:59,415 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,416 - ERROR - Error in episode 3233: name 'args' is not defined +2025-03-10 15:29:59,418 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,418 - ERROR - Error in episode 3234: name 'args' is not defined +2025-03-10 15:29:59,422 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,423 - ERROR - Error in episode 3235: name 'args' is not defined +2025-03-10 15:29:59,425 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,425 - ERROR - Error in episode 3236: name 'args' is not defined +2025-03-10 15:29:59,428 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,429 - ERROR - Error in episode 3237: name 'args' is not defined +2025-03-10 15:29:59,432 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,433 - ERROR - Error in episode 3238: name 'args' is not defined +2025-03-10 15:29:59,435 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,435 - ERROR - Error in episode 3239: name 'args' is not defined +2025-03-10 15:29:59,438 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,438 - ERROR - Error in episode 3240: name 'args' is not defined +2025-03-10 15:29:59,442 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,442 - ERROR - Error in episode 3241: name 'args' is not defined +2025-03-10 15:29:59,445 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,445 - ERROR - Error in episode 3242: name 'args' is not defined +2025-03-10 15:29:59,447 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,448 - ERROR - Error in episode 3243: name 'args' is not defined +2025-03-10 15:29:59,450 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,451 - ERROR - Error in episode 3244: name 'args' is not defined +2025-03-10 15:29:59,454 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,454 - ERROR - Error in episode 3245: name 'args' is not defined +2025-03-10 15:29:59,458 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,458 - ERROR - Error in episode 3246: name 'args' is not defined +2025-03-10 15:29:59,461 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,461 - ERROR - Error in episode 3247: name 'args' is not defined +2025-03-10 15:29:59,464 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,465 - ERROR - Error in episode 3248: name 'args' is not defined +2025-03-10 15:29:59,468 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,468 - ERROR - Error in episode 3249: name 'args' is not defined +2025-03-10 15:29:59,471 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,471 - ERROR - Error in episode 3250: name 'args' is not defined +2025-03-10 15:29:59,474 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,474 - ERROR - Error in episode 3251: name 'args' is not defined +2025-03-10 15:29:59,477 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,477 - ERROR - Error in episode 3252: name 'args' is not defined +2025-03-10 15:29:59,480 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,480 - ERROR - Error in episode 3253: name 'args' is not defined +2025-03-10 15:29:59,484 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,484 - ERROR - Error in episode 3254: name 'args' is not defined +2025-03-10 15:29:59,487 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,487 - ERROR - Error in episode 3255: name 'args' is not defined +2025-03-10 15:29:59,490 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,491 - ERROR - Error in episode 3256: name 'args' is not defined +2025-03-10 15:29:59,494 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,494 - ERROR - Error in episode 3257: name 'args' is not defined +2025-03-10 15:29:59,497 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,497 - ERROR - Error in episode 3258: name 'args' is not defined +2025-03-10 15:29:59,499 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,500 - ERROR - Error in episode 3259: name 'args' is not defined +2025-03-10 15:29:59,502 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,503 - ERROR - Error in episode 3260: name 'args' is not defined +2025-03-10 15:29:59,505 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,506 - ERROR - Error in episode 3261: name 'args' is not defined +2025-03-10 15:29:59,509 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,509 - ERROR - Error in episode 3262: name 'args' is not defined +2025-03-10 15:29:59,512 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,512 - ERROR - Error in episode 3263: name 'args' is not defined +2025-03-10 15:29:59,515 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,515 - ERROR - Error in episode 3264: name 'args' is not defined +2025-03-10 15:29:59,518 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,518 - ERROR - Error in episode 3265: name 'args' is not defined +2025-03-10 15:29:59,521 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,521 - ERROR - Error in episode 3266: name 'args' is not defined +2025-03-10 15:29:59,523 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,523 - ERROR - Error in episode 3267: name 'args' is not defined +2025-03-10 15:29:59,527 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,527 - ERROR - Error in episode 3268: name 'args' is not defined +2025-03-10 15:29:59,530 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,531 - ERROR - Error in episode 3269: name 'args' is not defined +2025-03-10 15:29:59,533 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,533 - ERROR - Error in episode 3270: name 'args' is not defined +2025-03-10 15:29:59,536 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,537 - ERROR - Error in episode 3271: name 'args' is not defined +2025-03-10 15:29:59,539 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,540 - ERROR - Error in episode 3272: name 'args' is not defined +2025-03-10 15:29:59,542 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,542 - ERROR - Error in episode 3273: name 'args' is not defined +2025-03-10 15:29:59,546 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,546 - ERROR - Error in episode 3274: name 'args' is not defined +2025-03-10 15:29:59,548 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,549 - ERROR - Error in episode 3275: name 'args' is not defined +2025-03-10 15:29:59,552 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,552 - ERROR - Error in episode 3276: name 'args' is not defined +2025-03-10 15:29:59,554 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,555 - ERROR - Error in episode 3277: name 'args' is not defined +2025-03-10 15:29:59,557 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,558 - ERROR - Error in episode 3278: name 'args' is not defined +2025-03-10 15:29:59,561 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,562 - ERROR - Error in episode 3279: name 'args' is not defined +2025-03-10 15:29:59,565 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,565 - ERROR - Error in episode 3280: name 'args' is not defined +2025-03-10 15:29:59,568 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,568 - ERROR - Error in episode 3281: name 'args' is not defined +2025-03-10 15:29:59,570 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,570 - ERROR - Error in episode 3282: name 'args' is not defined +2025-03-10 15:29:59,573 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,573 - ERROR - Error in episode 3283: name 'args' is not defined +2025-03-10 15:29:59,576 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,576 - ERROR - Error in episode 3284: name 'args' is not defined +2025-03-10 15:29:59,580 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,580 - ERROR - Error in episode 3285: name 'args' is not defined +2025-03-10 15:29:59,583 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,583 - ERROR - Error in episode 3286: name 'args' is not defined +2025-03-10 15:29:59,586 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,586 - ERROR - Error in episode 3287: name 'args' is not defined +2025-03-10 15:29:59,588 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,589 - ERROR - Error in episode 3288: name 'args' is not defined +2025-03-10 15:29:59,591 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,591 - ERROR - Error in episode 3289: name 'args' is not defined +2025-03-10 15:29:59,594 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,595 - ERROR - Error in episode 3290: name 'args' is not defined +2025-03-10 15:29:59,597 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,597 - ERROR - Error in episode 3291: name 'args' is not defined +2025-03-10 15:29:59,600 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,601 - ERROR - Error in episode 3292: name 'args' is not defined +2025-03-10 15:29:59,603 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,604 - ERROR - Error in episode 3293: name 'args' is not defined +2025-03-10 15:29:59,606 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,607 - ERROR - Error in episode 3294: name 'args' is not defined +2025-03-10 15:29:59,609 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,610 - ERROR - Error in episode 3295: name 'args' is not defined +2025-03-10 15:29:59,612 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,612 - ERROR - Error in episode 3296: name 'args' is not defined +2025-03-10 15:29:59,615 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,615 - ERROR - Error in episode 3297: name 'args' is not defined +2025-03-10 15:29:59,619 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,619 - ERROR - Error in episode 3298: name 'args' is not defined +2025-03-10 15:29:59,622 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,622 - ERROR - Error in episode 3299: name 'args' is not defined +2025-03-10 15:29:59,624 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,625 - ERROR - Error in episode 3300: name 'args' is not defined +2025-03-10 15:29:59,627 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,627 - ERROR - Error in episode 3301: name 'args' is not defined +2025-03-10 15:29:59,630 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,630 - ERROR - Error in episode 3302: name 'args' is not defined +2025-03-10 15:29:59,632 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,633 - ERROR - Error in episode 3303: name 'args' is not defined +2025-03-10 15:29:59,636 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,636 - ERROR - Error in episode 3304: name 'args' is not defined +2025-03-10 15:29:59,638 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,639 - ERROR - Error in episode 3305: name 'args' is not defined +2025-03-10 15:29:59,641 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,642 - ERROR - Error in episode 3306: name 'args' is not defined +2025-03-10 15:29:59,644 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,645 - ERROR - Error in episode 3307: name 'args' is not defined +2025-03-10 15:29:59,647 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,647 - ERROR - Error in episode 3308: name 'args' is not defined +2025-03-10 15:29:59,650 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,650 - ERROR - Error in episode 3309: name 'args' is not defined +2025-03-10 15:29:59,653 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,653 - ERROR - Error in episode 3310: name 'args' is not defined +2025-03-10 15:29:59,656 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,657 - ERROR - Error in episode 3311: name 'args' is not defined +2025-03-10 15:29:59,660 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,660 - ERROR - Error in episode 3312: name 'args' is not defined +2025-03-10 15:29:59,663 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,664 - ERROR - Error in episode 3313: name 'args' is not defined +2025-03-10 15:29:59,667 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,667 - ERROR - Error in episode 3314: name 'args' is not defined +2025-03-10 15:29:59,671 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,671 - ERROR - Error in episode 3315: name 'args' is not defined +2025-03-10 15:29:59,674 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,675 - ERROR - Error in episode 3316: name 'args' is not defined +2025-03-10 15:29:59,678 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,678 - ERROR - Error in episode 3317: name 'args' is not defined +2025-03-10 15:29:59,681 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,681 - ERROR - Error in episode 3318: name 'args' is not defined +2025-03-10 15:29:59,684 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,685 - ERROR - Error in episode 3319: name 'args' is not defined +2025-03-10 15:29:59,687 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,688 - ERROR - Error in episode 3320: name 'args' is not defined +2025-03-10 15:29:59,691 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,691 - ERROR - Error in episode 3321: name 'args' is not defined +2025-03-10 15:29:59,694 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,694 - ERROR - Error in episode 3322: name 'args' is not defined +2025-03-10 15:29:59,697 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,698 - ERROR - Error in episode 3323: name 'args' is not defined +2025-03-10 15:29:59,700 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,701 - ERROR - Error in episode 3324: name 'args' is not defined +2025-03-10 15:29:59,704 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,704 - ERROR - Error in episode 3325: name 'args' is not defined +2025-03-10 15:29:59,707 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,707 - ERROR - Error in episode 3326: name 'args' is not defined +2025-03-10 15:29:59,711 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,711 - ERROR - Error in episode 3327: name 'args' is not defined +2025-03-10 15:29:59,714 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,714 - ERROR - Error in episode 3328: name 'args' is not defined +2025-03-10 15:29:59,717 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,717 - ERROR - Error in episode 3329: name 'args' is not defined +2025-03-10 15:29:59,720 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,721 - ERROR - Error in episode 3330: name 'args' is not defined +2025-03-10 15:29:59,723 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,724 - ERROR - Error in episode 3331: name 'args' is not defined +2025-03-10 15:29:59,727 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,727 - ERROR - Error in episode 3332: name 'args' is not defined +2025-03-10 15:29:59,730 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,730 - ERROR - Error in episode 3333: name 'args' is not defined +2025-03-10 15:29:59,733 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,734 - ERROR - Error in episode 3334: name 'args' is not defined +2025-03-10 15:29:59,736 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,737 - ERROR - Error in episode 3335: name 'args' is not defined +2025-03-10 15:29:59,739 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,740 - ERROR - Error in episode 3336: name 'args' is not defined +2025-03-10 15:29:59,742 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,742 - ERROR - Error in episode 3337: name 'args' is not defined +2025-03-10 15:29:59,745 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,745 - ERROR - Error in episode 3338: name 'args' is not defined +2025-03-10 15:29:59,747 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,748 - ERROR - Error in episode 3339: name 'args' is not defined +2025-03-10 15:29:59,750 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,751 - ERROR - Error in episode 3340: name 'args' is not defined +2025-03-10 15:29:59,753 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,754 - ERROR - Error in episode 3341: name 'args' is not defined +2025-03-10 15:29:59,757 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,757 - ERROR - Error in episode 3342: name 'args' is not defined +2025-03-10 15:29:59,759 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,761 - ERROR - Error in episode 3343: name 'args' is not defined +2025-03-10 15:29:59,763 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,763 - ERROR - Error in episode 3344: name 'args' is not defined +2025-03-10 15:29:59,766 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,766 - ERROR - Error in episode 3345: name 'args' is not defined +2025-03-10 15:29:59,769 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,770 - ERROR - Error in episode 3346: name 'args' is not defined +2025-03-10 15:29:59,773 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,773 - ERROR - Error in episode 3347: name 'args' is not defined +2025-03-10 15:29:59,776 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,776 - ERROR - Error in episode 3348: name 'args' is not defined +2025-03-10 15:29:59,779 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,780 - ERROR - Error in episode 3349: name 'args' is not defined +2025-03-10 15:29:59,782 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,783 - ERROR - Error in episode 3350: name 'args' is not defined +2025-03-10 15:29:59,785 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,786 - ERROR - Error in episode 3351: name 'args' is not defined +2025-03-10 15:29:59,788 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,788 - ERROR - Error in episode 3352: name 'args' is not defined +2025-03-10 15:29:59,791 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,791 - ERROR - Error in episode 3353: name 'args' is not defined +2025-03-10 15:29:59,794 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,794 - ERROR - Error in episode 3354: name 'args' is not defined +2025-03-10 15:29:59,797 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,797 - ERROR - Error in episode 3355: name 'args' is not defined +2025-03-10 15:29:59,800 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,800 - ERROR - Error in episode 3356: name 'args' is not defined +2025-03-10 15:29:59,803 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,804 - ERROR - Error in episode 3357: name 'args' is not defined +2025-03-10 15:29:59,806 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,807 - ERROR - Error in episode 3358: name 'args' is not defined +2025-03-10 15:29:59,810 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,810 - ERROR - Error in episode 3359: name 'args' is not defined +2025-03-10 15:29:59,813 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,813 - ERROR - Error in episode 3360: name 'args' is not defined +2025-03-10 15:29:59,816 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,816 - ERROR - Error in episode 3361: name 'args' is not defined +2025-03-10 15:29:59,819 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,819 - ERROR - Error in episode 3362: name 'args' is not defined +2025-03-10 15:29:59,821 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,822 - ERROR - Error in episode 3363: name 'args' is not defined +2025-03-10 15:29:59,824 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,824 - ERROR - Error in episode 3364: name 'args' is not defined +2025-03-10 15:29:59,828 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,828 - ERROR - Error in episode 3365: name 'args' is not defined +2025-03-10 15:29:59,830 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,831 - ERROR - Error in episode 3366: name 'args' is not defined +2025-03-10 15:29:59,833 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,834 - ERROR - Error in episode 3367: name 'args' is not defined +2025-03-10 15:29:59,836 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,837 - ERROR - Error in episode 3368: name 'args' is not defined +2025-03-10 15:29:59,839 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,840 - ERROR - Error in episode 3369: name 'args' is not defined +2025-03-10 15:29:59,842 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,842 - ERROR - Error in episode 3370: name 'args' is not defined +2025-03-10 15:29:59,845 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,845 - ERROR - Error in episode 3371: name 'args' is not defined +2025-03-10 15:29:59,848 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,848 - ERROR - Error in episode 3372: name 'args' is not defined +2025-03-10 15:29:59,851 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,851 - ERROR - Error in episode 3373: name 'args' is not defined +2025-03-10 15:29:59,853 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,854 - ERROR - Error in episode 3374: name 'args' is not defined +2025-03-10 15:29:59,856 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,857 - ERROR - Error in episode 3375: name 'args' is not defined +2025-03-10 15:29:59,859 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,859 - ERROR - Error in episode 3376: name 'args' is not defined +2025-03-10 15:29:59,862 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,862 - ERROR - Error in episode 3377: name 'args' is not defined +2025-03-10 15:29:59,865 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,865 - ERROR - Error in episode 3378: name 'args' is not defined +2025-03-10 15:29:59,868 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,868 - ERROR - Error in episode 3379: name 'args' is not defined +2025-03-10 15:29:59,870 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,871 - ERROR - Error in episode 3380: name 'args' is not defined +2025-03-10 15:29:59,873 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,873 - ERROR - Error in episode 3381: name 'args' is not defined +2025-03-10 15:29:59,876 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,877 - ERROR - Error in episode 3382: name 'args' is not defined +2025-03-10 15:29:59,879 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,880 - ERROR - Error in episode 3383: name 'args' is not defined +2025-03-10 15:29:59,882 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,882 - ERROR - Error in episode 3384: name 'args' is not defined +2025-03-10 15:29:59,885 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,885 - ERROR - Error in episode 3385: name 'args' is not defined +2025-03-10 15:29:59,888 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,888 - ERROR - Error in episode 3386: name 'args' is not defined +2025-03-10 15:29:59,890 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,891 - ERROR - Error in episode 3387: name 'args' is not defined +2025-03-10 15:29:59,893 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,893 - ERROR - Error in episode 3388: name 'args' is not defined +2025-03-10 15:29:59,897 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,897 - ERROR - Error in episode 3389: name 'args' is not defined +2025-03-10 15:29:59,899 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,900 - ERROR - Error in episode 3390: name 'args' is not defined +2025-03-10 15:29:59,902 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,903 - ERROR - Error in episode 3391: name 'args' is not defined +2025-03-10 15:29:59,905 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,906 - ERROR - Error in episode 3392: name 'args' is not defined +2025-03-10 15:29:59,909 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,909 - ERROR - Error in episode 3393: name 'args' is not defined +2025-03-10 15:29:59,912 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,912 - ERROR - Error in episode 3394: name 'args' is not defined +2025-03-10 15:29:59,915 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,915 - ERROR - Error in episode 3395: name 'args' is not defined +2025-03-10 15:29:59,918 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,918 - ERROR - Error in episode 3396: name 'args' is not defined +2025-03-10 15:29:59,920 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,920 - ERROR - Error in episode 3397: name 'args' is not defined +2025-03-10 15:29:59,922 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,923 - ERROR - Error in episode 3398: name 'args' is not defined +2025-03-10 15:29:59,925 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,927 - ERROR - Error in episode 3399: name 'args' is not defined +2025-03-10 15:29:59,929 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,929 - ERROR - Error in episode 3400: name 'args' is not defined +2025-03-10 15:29:59,932 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,932 - ERROR - Error in episode 3401: name 'args' is not defined +2025-03-10 15:29:59,935 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,935 - ERROR - Error in episode 3402: name 'args' is not defined +2025-03-10 15:29:59,938 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,938 - ERROR - Error in episode 3403: name 'args' is not defined +2025-03-10 15:29:59,941 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,941 - ERROR - Error in episode 3404: name 'args' is not defined +2025-03-10 15:29:59,944 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,945 - ERROR - Error in episode 3405: name 'args' is not defined +2025-03-10 15:29:59,947 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,947 - ERROR - Error in episode 3406: name 'args' is not defined +2025-03-10 15:29:59,950 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,951 - ERROR - Error in episode 3407: name 'args' is not defined +2025-03-10 15:29:59,953 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,954 - ERROR - Error in episode 3408: name 'args' is not defined +2025-03-10 15:29:59,956 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,957 - ERROR - Error in episode 3409: name 'args' is not defined +2025-03-10 15:29:59,959 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,960 - ERROR - Error in episode 3410: name 'args' is not defined +2025-03-10 15:29:59,962 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,962 - ERROR - Error in episode 3411: name 'args' is not defined +2025-03-10 15:29:59,965 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,965 - ERROR - Error in episode 3412: name 'args' is not defined +2025-03-10 15:29:59,967 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,968 - ERROR - Error in episode 3413: name 'args' is not defined +2025-03-10 15:29:59,970 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,971 - ERROR - Error in episode 3414: name 'args' is not defined +2025-03-10 15:29:59,974 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,974 - ERROR - Error in episode 3415: name 'args' is not defined +2025-03-10 15:29:59,977 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,978 - ERROR - Error in episode 3416: name 'args' is not defined +2025-03-10 15:29:59,980 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,980 - ERROR - Error in episode 3417: name 'args' is not defined +2025-03-10 15:29:59,983 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,983 - ERROR - Error in episode 3418: name 'args' is not defined +2025-03-10 15:29:59,987 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,987 - ERROR - Error in episode 3419: name 'args' is not defined +2025-03-10 15:29:59,990 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,991 - ERROR - Error in episode 3420: name 'args' is not defined +2025-03-10 15:29:59,994 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,994 - ERROR - Error in episode 3421: name 'args' is not defined +2025-03-10 15:29:59,997 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:29:59,997 - ERROR - Error in episode 3422: name 'args' is not defined +2025-03-10 15:29:59,999 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,000 - ERROR - Error in episode 3423: name 'args' is not defined +2025-03-10 15:30:00,004 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,004 - ERROR - Error in episode 3424: name 'args' is not defined +2025-03-10 15:30:00,007 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,007 - ERROR - Error in episode 3425: name 'args' is not defined +2025-03-10 15:30:00,011 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,011 - ERROR - Error in episode 3426: name 'args' is not defined +2025-03-10 15:30:00,014 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,015 - ERROR - Error in episode 3427: name 'args' is not defined +2025-03-10 15:30:00,018 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,019 - ERROR - Error in episode 3428: name 'args' is not defined +2025-03-10 15:30:00,021 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,022 - ERROR - Error in episode 3429: name 'args' is not defined +2025-03-10 15:30:00,026 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,026 - ERROR - Error in episode 3430: name 'args' is not defined +2025-03-10 15:30:00,030 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,030 - ERROR - Error in episode 3431: name 'args' is not defined +2025-03-10 15:30:00,034 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,035 - ERROR - Error in episode 3432: name 'args' is not defined +2025-03-10 15:30:00,038 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,038 - ERROR - Error in episode 3433: name 'args' is not defined +2025-03-10 15:30:00,041 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,041 - ERROR - Error in episode 3434: name 'args' is not defined +2025-03-10 15:30:00,045 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,046 - ERROR - Error in episode 3435: name 'args' is not defined +2025-03-10 15:30:00,048 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,049 - ERROR - Error in episode 3436: name 'args' is not defined +2025-03-10 15:30:00,052 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,052 - ERROR - Error in episode 3437: name 'args' is not defined +2025-03-10 15:30:00,054 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,055 - ERROR - Error in episode 3438: name 'args' is not defined +2025-03-10 15:30:00,057 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,058 - ERROR - Error in episode 3439: name 'args' is not defined +2025-03-10 15:30:00,060 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,061 - ERROR - Error in episode 3440: name 'args' is not defined +2025-03-10 15:30:00,063 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,063 - ERROR - Error in episode 3441: name 'args' is not defined +2025-03-10 15:30:00,066 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,066 - ERROR - Error in episode 3442: name 'args' is not defined +2025-03-10 15:30:00,069 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,070 - ERROR - Error in episode 3443: name 'args' is not defined +2025-03-10 15:30:00,072 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,072 - ERROR - Error in episode 3444: name 'args' is not defined +2025-03-10 15:30:00,075 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,075 - ERROR - Error in episode 3445: name 'args' is not defined +2025-03-10 15:30:00,079 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,079 - ERROR - Error in episode 3446: name 'args' is not defined +2025-03-10 15:30:00,081 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,082 - ERROR - Error in episode 3447: name 'args' is not defined +2025-03-10 15:30:00,085 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,085 - ERROR - Error in episode 3448: name 'args' is not defined +2025-03-10 15:30:00,088 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,088 - ERROR - Error in episode 3449: name 'args' is not defined +2025-03-10 15:30:00,091 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,091 - ERROR - Error in episode 3450: name 'args' is not defined +2025-03-10 15:30:00,094 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,094 - ERROR - Error in episode 3451: name 'args' is not defined +2025-03-10 15:30:00,097 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,097 - ERROR - Error in episode 3452: name 'args' is not defined +2025-03-10 15:30:00,100 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,100 - ERROR - Error in episode 3453: name 'args' is not defined +2025-03-10 15:30:00,103 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,103 - ERROR - Error in episode 3454: name 'args' is not defined +2025-03-10 15:30:00,105 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,106 - ERROR - Error in episode 3455: name 'args' is not defined +2025-03-10 15:30:00,108 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,109 - ERROR - Error in episode 3456: name 'args' is not defined +2025-03-10 15:30:00,111 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,112 - ERROR - Error in episode 3457: name 'args' is not defined +2025-03-10 15:30:00,114 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,115 - ERROR - Error in episode 3458: name 'args' is not defined +2025-03-10 15:30:00,117 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,117 - ERROR - Error in episode 3459: name 'args' is not defined +2025-03-10 15:30:00,120 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,120 - ERROR - Error in episode 3460: name 'args' is not defined +2025-03-10 15:30:00,123 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,123 - ERROR - Error in episode 3461: name 'args' is not defined +2025-03-10 15:30:00,126 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,127 - ERROR - Error in episode 3462: name 'args' is not defined +2025-03-10 15:30:00,129 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,129 - ERROR - Error in episode 3463: name 'args' is not defined +2025-03-10 15:30:00,132 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,132 - ERROR - Error in episode 3464: name 'args' is not defined +2025-03-10 15:30:00,135 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,135 - ERROR - Error in episode 3465: name 'args' is not defined +2025-03-10 15:30:00,137 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,138 - ERROR - Error in episode 3466: name 'args' is not defined +2025-03-10 15:30:00,140 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,140 - ERROR - Error in episode 3467: name 'args' is not defined +2025-03-10 15:30:00,143 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,143 - ERROR - Error in episode 3468: name 'args' is not defined +2025-03-10 15:30:00,146 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,146 - ERROR - Error in episode 3469: name 'args' is not defined +2025-03-10 15:30:00,149 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,149 - ERROR - Error in episode 3470: name 'args' is not defined +2025-03-10 15:30:00,152 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,152 - ERROR - Error in episode 3471: name 'args' is not defined +2025-03-10 15:30:00,155 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,155 - ERROR - Error in episode 3472: name 'args' is not defined +2025-03-10 15:30:00,159 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,159 - ERROR - Error in episode 3473: name 'args' is not defined +2025-03-10 15:30:00,162 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,162 - ERROR - Error in episode 3474: name 'args' is not defined +2025-03-10 15:30:00,164 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,165 - ERROR - Error in episode 3475: name 'args' is not defined +2025-03-10 15:30:00,167 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,168 - ERROR - Error in episode 3476: name 'args' is not defined +2025-03-10 15:30:00,170 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,170 - ERROR - Error in episode 3477: name 'args' is not defined +2025-03-10 15:30:00,172 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,173 - ERROR - Error in episode 3478: name 'args' is not defined +2025-03-10 15:30:00,175 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,176 - ERROR - Error in episode 3479: name 'args' is not defined +2025-03-10 15:30:00,179 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,179 - ERROR - Error in episode 3480: name 'args' is not defined +2025-03-10 15:30:00,181 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,182 - ERROR - Error in episode 3481: name 'args' is not defined +2025-03-10 15:30:00,184 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,184 - ERROR - Error in episode 3482: name 'args' is not defined +2025-03-10 15:30:00,187 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,187 - ERROR - Error in episode 3483: name 'args' is not defined +2025-03-10 15:30:00,190 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,190 - ERROR - Error in episode 3484: name 'args' is not defined +2025-03-10 15:30:00,193 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,194 - ERROR - Error in episode 3485: name 'args' is not defined +2025-03-10 15:30:00,196 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,196 - ERROR - Error in episode 3486: name 'args' is not defined +2025-03-10 15:30:00,199 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,199 - ERROR - Error in episode 3487: name 'args' is not defined +2025-03-10 15:30:00,203 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,204 - ERROR - Error in episode 3488: name 'args' is not defined +2025-03-10 15:30:00,207 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,207 - ERROR - Error in episode 3489: name 'args' is not defined +2025-03-10 15:30:00,211 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,211 - ERROR - Error in episode 3490: name 'args' is not defined +2025-03-10 15:30:00,214 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,214 - ERROR - Error in episode 3491: name 'args' is not defined +2025-03-10 15:30:00,217 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,217 - ERROR - Error in episode 3492: name 'args' is not defined +2025-03-10 15:30:00,221 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,221 - ERROR - Error in episode 3493: name 'args' is not defined +2025-03-10 15:30:00,223 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,224 - ERROR - Error in episode 3494: name 'args' is not defined +2025-03-10 15:30:00,227 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,227 - ERROR - Error in episode 3495: name 'args' is not defined +2025-03-10 15:30:00,229 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,230 - ERROR - Error in episode 3496: name 'args' is not defined +2025-03-10 15:30:00,234 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,235 - ERROR - Error in episode 3497: name 'args' is not defined +2025-03-10 15:30:00,238 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,239 - ERROR - Error in episode 3498: name 'args' is not defined +2025-03-10 15:30:00,242 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,243 - ERROR - Error in episode 3499: name 'args' is not defined +2025-03-10 15:30:00,245 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,246 - ERROR - Error in episode 3500: name 'args' is not defined +2025-03-10 15:30:00,249 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,249 - ERROR - Error in episode 3501: name 'args' is not defined +2025-03-10 15:30:00,253 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,253 - ERROR - Error in episode 3502: name 'args' is not defined +2025-03-10 15:30:00,257 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,257 - ERROR - Error in episode 3503: name 'args' is not defined +2025-03-10 15:30:00,260 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,261 - ERROR - Error in episode 3504: name 'args' is not defined +2025-03-10 15:30:00,263 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,263 - ERROR - Error in episode 3505: name 'args' is not defined +2025-03-10 15:30:00,266 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,267 - ERROR - Error in episode 3506: name 'args' is not defined +2025-03-10 15:30:00,269 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,270 - ERROR - Error in episode 3507: name 'args' is not defined +2025-03-10 15:30:00,273 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,273 - ERROR - Error in episode 3508: name 'args' is not defined +2025-03-10 15:30:00,276 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,277 - ERROR - Error in episode 3509: name 'args' is not defined +2025-03-10 15:30:00,279 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,279 - ERROR - Error in episode 3510: name 'args' is not defined +2025-03-10 15:30:00,283 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,283 - ERROR - Error in episode 3511: name 'args' is not defined +2025-03-10 15:30:00,286 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,287 - ERROR - Error in episode 3512: name 'args' is not defined +2025-03-10 15:30:00,289 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,290 - ERROR - Error in episode 3513: name 'args' is not defined +2025-03-10 15:30:00,292 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,292 - ERROR - Error in episode 3514: name 'args' is not defined +2025-03-10 15:30:00,296 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,296 - ERROR - Error in episode 3515: name 'args' is not defined +2025-03-10 15:30:00,299 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,299 - ERROR - Error in episode 3516: name 'args' is not defined +2025-03-10 15:30:00,303 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,303 - ERROR - Error in episode 3517: name 'args' is not defined +2025-03-10 15:30:00,307 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,308 - ERROR - Error in episode 3518: name 'args' is not defined +2025-03-10 15:30:00,311 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,312 - ERROR - Error in episode 3519: name 'args' is not defined +2025-03-10 15:30:00,315 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,315 - ERROR - Error in episode 3520: name 'args' is not defined +2025-03-10 15:30:00,318 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,319 - ERROR - Error in episode 3521: name 'args' is not defined +2025-03-10 15:30:00,322 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,322 - ERROR - Error in episode 3522: name 'args' is not defined +2025-03-10 15:30:00,325 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,325 - ERROR - Error in episode 3523: name 'args' is not defined +2025-03-10 15:30:00,328 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,329 - ERROR - Error in episode 3524: name 'args' is not defined +2025-03-10 15:30:00,332 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,333 - ERROR - Error in episode 3525: name 'args' is not defined +2025-03-10 15:30:00,336 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,336 - ERROR - Error in episode 3526: name 'args' is not defined +2025-03-10 15:30:00,339 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,339 - ERROR - Error in episode 3527: name 'args' is not defined +2025-03-10 15:30:00,342 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,343 - ERROR - Error in episode 3528: name 'args' is not defined +2025-03-10 15:30:00,345 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,346 - ERROR - Error in episode 3529: name 'args' is not defined +2025-03-10 15:30:00,350 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,350 - ERROR - Error in episode 3530: name 'args' is not defined +2025-03-10 15:30:00,353 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,354 - ERROR - Error in episode 3531: name 'args' is not defined +2025-03-10 15:30:00,357 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,357 - ERROR - Error in episode 3532: name 'args' is not defined +2025-03-10 15:30:00,361 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,362 - ERROR - Error in episode 3533: name 'args' is not defined +2025-03-10 15:30:00,364 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,364 - ERROR - Error in episode 3534: name 'args' is not defined +2025-03-10 15:30:00,367 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,367 - ERROR - Error in episode 3535: name 'args' is not defined +2025-03-10 15:30:00,371 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,372 - ERROR - Error in episode 3536: name 'args' is not defined +2025-03-10 15:30:00,374 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,375 - ERROR - Error in episode 3537: name 'args' is not defined +2025-03-10 15:30:00,378 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,378 - ERROR - Error in episode 3538: name 'args' is not defined +2025-03-10 15:30:00,381 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,382 - ERROR - Error in episode 3539: name 'args' is not defined +2025-03-10 15:30:00,384 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,385 - ERROR - Error in episode 3540: name 'args' is not defined +2025-03-10 15:30:00,388 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,389 - ERROR - Error in episode 3541: name 'args' is not defined +2025-03-10 15:30:00,392 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,392 - ERROR - Error in episode 3542: name 'args' is not defined +2025-03-10 15:30:00,396 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,396 - ERROR - Error in episode 3543: name 'args' is not defined +2025-03-10 15:30:00,399 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,400 - ERROR - Error in episode 3544: name 'args' is not defined +2025-03-10 15:30:00,402 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,402 - ERROR - Error in episode 3545: name 'args' is not defined +2025-03-10 15:30:00,405 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,405 - ERROR - Error in episode 3546: name 'args' is not defined +2025-03-10 15:30:00,409 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,409 - ERROR - Error in episode 3547: name 'args' is not defined +2025-03-10 15:30:00,412 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,412 - ERROR - Error in episode 3548: name 'args' is not defined +2025-03-10 15:30:00,416 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,416 - ERROR - Error in episode 3549: name 'args' is not defined +2025-03-10 15:30:00,419 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,419 - ERROR - Error in episode 3550: name 'args' is not defined +2025-03-10 15:30:00,423 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,423 - ERROR - Error in episode 3551: name 'args' is not defined +2025-03-10 15:30:00,426 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,426 - ERROR - Error in episode 3552: name 'args' is not defined +2025-03-10 15:30:00,430 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,430 - ERROR - Error in episode 3553: name 'args' is not defined +2025-03-10 15:30:00,434 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,434 - ERROR - Error in episode 3554: name 'args' is not defined +2025-03-10 15:30:00,437 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,437 - ERROR - Error in episode 3555: name 'args' is not defined +2025-03-10 15:30:00,440 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,440 - ERROR - Error in episode 3556: name 'args' is not defined +2025-03-10 15:30:00,443 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,444 - ERROR - Error in episode 3557: name 'args' is not defined +2025-03-10 15:30:00,447 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,447 - ERROR - Error in episode 3558: name 'args' is not defined +2025-03-10 15:30:00,450 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,451 - ERROR - Error in episode 3559: name 'args' is not defined +2025-03-10 15:30:00,453 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,453 - ERROR - Error in episode 3560: name 'args' is not defined +2025-03-10 15:30:00,456 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,457 - ERROR - Error in episode 3561: name 'args' is not defined +2025-03-10 15:30:00,460 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,460 - ERROR - Error in episode 3562: name 'args' is not defined +2025-03-10 15:30:00,463 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,464 - ERROR - Error in episode 3563: name 'args' is not defined +2025-03-10 15:30:00,467 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,467 - ERROR - Error in episode 3564: name 'args' is not defined +2025-03-10 15:30:00,469 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,470 - ERROR - Error in episode 3565: name 'args' is not defined +2025-03-10 15:30:00,473 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,473 - ERROR - Error in episode 3566: name 'args' is not defined +2025-03-10 15:30:00,476 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,477 - ERROR - Error in episode 3567: name 'args' is not defined +2025-03-10 15:30:00,479 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,480 - ERROR - Error in episode 3568: name 'args' is not defined +2025-03-10 15:30:00,483 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,484 - ERROR - Error in episode 3569: name 'args' is not defined +2025-03-10 15:30:00,487 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,487 - ERROR - Error in episode 3570: name 'args' is not defined +2025-03-10 15:30:00,490 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,490 - ERROR - Error in episode 3571: name 'args' is not defined +2025-03-10 15:30:00,493 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,493 - ERROR - Error in episode 3572: name 'args' is not defined +2025-03-10 15:30:00,497 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,497 - ERROR - Error in episode 3573: name 'args' is not defined +2025-03-10 15:30:00,500 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,501 - ERROR - Error in episode 3574: name 'args' is not defined +2025-03-10 15:30:00,504 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,504 - ERROR - Error in episode 3575: name 'args' is not defined +2025-03-10 15:30:00,507 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,507 - ERROR - Error in episode 3576: name 'args' is not defined +2025-03-10 15:30:00,509 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,510 - ERROR - Error in episode 3577: name 'args' is not defined +2025-03-10 15:30:00,513 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,513 - ERROR - Error in episode 3578: name 'args' is not defined +2025-03-10 15:30:00,517 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,517 - ERROR - Error in episode 3579: name 'args' is not defined +2025-03-10 15:30:00,520 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,520 - ERROR - Error in episode 3580: name 'args' is not defined +2025-03-10 15:30:00,523 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,523 - ERROR - Error in episode 3581: name 'args' is not defined +2025-03-10 15:30:00,525 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,526 - ERROR - Error in episode 3582: name 'args' is not defined +2025-03-10 15:30:00,529 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,529 - ERROR - Error in episode 3583: name 'args' is not defined +2025-03-10 15:30:00,532 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,532 - ERROR - Error in episode 3584: name 'args' is not defined +2025-03-10 15:30:00,535 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,535 - ERROR - Error in episode 3585: name 'args' is not defined +2025-03-10 15:30:00,538 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,538 - ERROR - Error in episode 3586: name 'args' is not defined +2025-03-10 15:30:00,541 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,541 - ERROR - Error in episode 3587: name 'args' is not defined +2025-03-10 15:30:00,543 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,543 - ERROR - Error in episode 3588: name 'args' is not defined +2025-03-10 15:30:00,546 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,546 - ERROR - Error in episode 3589: name 'args' is not defined +2025-03-10 15:30:00,550 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,550 - ERROR - Error in episode 3590: name 'args' is not defined +2025-03-10 15:30:00,553 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,553 - ERROR - Error in episode 3591: name 'args' is not defined +2025-03-10 15:30:00,556 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,556 - ERROR - Error in episode 3592: name 'args' is not defined +2025-03-10 15:30:00,558 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,559 - ERROR - Error in episode 3593: name 'args' is not defined +2025-03-10 15:30:00,562 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,562 - ERROR - Error in episode 3594: name 'args' is not defined +2025-03-10 15:30:00,566 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,566 - ERROR - Error in episode 3595: name 'args' is not defined +2025-03-10 15:30:00,568 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,569 - ERROR - Error in episode 3596: name 'args' is not defined +2025-03-10 15:30:00,571 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,572 - ERROR - Error in episode 3597: name 'args' is not defined +2025-03-10 15:30:00,574 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,575 - ERROR - Error in episode 3598: name 'args' is not defined +2025-03-10 15:30:00,577 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,578 - ERROR - Error in episode 3599: name 'args' is not defined +2025-03-10 15:30:00,580 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,580 - ERROR - Error in episode 3600: name 'args' is not defined +2025-03-10 15:30:00,583 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,583 - ERROR - Error in episode 3601: name 'args' is not defined +2025-03-10 15:30:00,586 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,587 - ERROR - Error in episode 3602: name 'args' is not defined +2025-03-10 15:30:00,589 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,590 - ERROR - Error in episode 3603: name 'args' is not defined +2025-03-10 15:30:00,592 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,592 - ERROR - Error in episode 3604: name 'args' is not defined +2025-03-10 15:30:00,595 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,595 - ERROR - Error in episode 3605: name 'args' is not defined +2025-03-10 15:30:00,599 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,599 - ERROR - Error in episode 3606: name 'args' is not defined +2025-03-10 15:30:00,601 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,602 - ERROR - Error in episode 3607: name 'args' is not defined +2025-03-10 15:30:00,605 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,606 - ERROR - Error in episode 3608: name 'args' is not defined +2025-03-10 15:30:00,608 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,609 - ERROR - Error in episode 3609: name 'args' is not defined +2025-03-10 15:30:00,611 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,612 - ERROR - Error in episode 3610: name 'args' is not defined +2025-03-10 15:30:00,614 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,615 - ERROR - Error in episode 3611: name 'args' is not defined +2025-03-10 15:30:00,617 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,617 - ERROR - Error in episode 3612: name 'args' is not defined +2025-03-10 15:30:00,620 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,620 - ERROR - Error in episode 3613: name 'args' is not defined +2025-03-10 15:30:00,624 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,624 - ERROR - Error in episode 3614: name 'args' is not defined +2025-03-10 15:30:00,627 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,627 - ERROR - Error in episode 3615: name 'args' is not defined +2025-03-10 15:30:00,629 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,629 - ERROR - Error in episode 3616: name 'args' is not defined +2025-03-10 15:30:00,632 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,632 - ERROR - Error in episode 3617: name 'args' is not defined +2025-03-10 15:30:00,635 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,635 - ERROR - Error in episode 3618: name 'args' is not defined +2025-03-10 15:30:00,638 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,638 - ERROR - Error in episode 3619: name 'args' is not defined +2025-03-10 15:30:00,641 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,642 - ERROR - Error in episode 3620: name 'args' is not defined +2025-03-10 15:30:00,644 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,645 - ERROR - Error in episode 3621: name 'args' is not defined +2025-03-10 15:30:00,648 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,648 - ERROR - Error in episode 3622: name 'args' is not defined +2025-03-10 15:30:00,651 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,651 - ERROR - Error in episode 3623: name 'args' is not defined +2025-03-10 15:30:00,654 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,654 - ERROR - Error in episode 3624: name 'args' is not defined +2025-03-10 15:30:00,657 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,657 - ERROR - Error in episode 3625: name 'args' is not defined +2025-03-10 15:30:00,661 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,661 - ERROR - Error in episode 3626: name 'args' is not defined +2025-03-10 15:30:00,664 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,664 - ERROR - Error in episode 3627: name 'args' is not defined +2025-03-10 15:30:00,667 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,667 - ERROR - Error in episode 3628: name 'args' is not defined +2025-03-10 15:30:00,670 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,670 - ERROR - Error in episode 3629: name 'args' is not defined +2025-03-10 15:30:00,673 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,673 - ERROR - Error in episode 3630: name 'args' is not defined +2025-03-10 15:30:00,676 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,676 - ERROR - Error in episode 3631: name 'args' is not defined +2025-03-10 15:30:00,679 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,679 - ERROR - Error in episode 3632: name 'args' is not defined +2025-03-10 15:30:00,682 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,683 - ERROR - Error in episode 3633: name 'args' is not defined +2025-03-10 15:30:00,685 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,685 - ERROR - Error in episode 3634: name 'args' is not defined +2025-03-10 15:30:00,688 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,688 - ERROR - Error in episode 3635: name 'args' is not defined +2025-03-10 15:30:00,691 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,692 - ERROR - Error in episode 3636: name 'args' is not defined +2025-03-10 15:30:00,694 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,694 - ERROR - Error in episode 3637: name 'args' is not defined +2025-03-10 15:30:00,697 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,697 - ERROR - Error in episode 3638: name 'args' is not defined +2025-03-10 15:30:00,700 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,700 - ERROR - Error in episode 3639: name 'args' is not defined +2025-03-10 15:30:00,703 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,703 - ERROR - Error in episode 3640: name 'args' is not defined +2025-03-10 15:30:00,706 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,706 - ERROR - Error in episode 3641: name 'args' is not defined +2025-03-10 15:30:00,709 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,709 - ERROR - Error in episode 3642: name 'args' is not defined +2025-03-10 15:30:00,712 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,712 - ERROR - Error in episode 3643: name 'args' is not defined +2025-03-10 15:30:00,715 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,715 - ERROR - Error in episode 3644: name 'args' is not defined +2025-03-10 15:30:00,717 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,717 - ERROR - Error in episode 3645: name 'args' is not defined +2025-03-10 15:30:00,721 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,721 - ERROR - Error in episode 3646: name 'args' is not defined +2025-03-10 15:30:00,724 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,724 - ERROR - Error in episode 3647: name 'args' is not defined +2025-03-10 15:30:00,727 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,727 - ERROR - Error in episode 3648: name 'args' is not defined +2025-03-10 15:30:00,730 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,730 - ERROR - Error in episode 3649: name 'args' is not defined +2025-03-10 15:30:00,733 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,733 - ERROR - Error in episode 3650: name 'args' is not defined +2025-03-10 15:30:00,736 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,736 - ERROR - Error in episode 3651: name 'args' is not defined +2025-03-10 15:30:00,738 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,739 - ERROR - Error in episode 3652: name 'args' is not defined +2025-03-10 15:30:00,741 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,742 - ERROR - Error in episode 3653: name 'args' is not defined +2025-03-10 15:30:00,744 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,744 - ERROR - Error in episode 3654: name 'args' is not defined +2025-03-10 15:30:00,747 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,747 - ERROR - Error in episode 3655: name 'args' is not defined +2025-03-10 15:30:00,750 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,751 - ERROR - Error in episode 3656: name 'args' is not defined +2025-03-10 15:30:00,753 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,753 - ERROR - Error in episode 3657: name 'args' is not defined +2025-03-10 15:30:00,756 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,756 - ERROR - Error in episode 3658: name 'args' is not defined +2025-03-10 15:30:00,759 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,759 - ERROR - Error in episode 3659: name 'args' is not defined +2025-03-10 15:30:00,761 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,762 - ERROR - Error in episode 3660: name 'args' is not defined +2025-03-10 15:30:00,765 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,765 - ERROR - Error in episode 3661: name 'args' is not defined +2025-03-10 15:30:00,768 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,768 - ERROR - Error in episode 3662: name 'args' is not defined +2025-03-10 15:30:00,771 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,771 - ERROR - Error in episode 3663: name 'args' is not defined +2025-03-10 15:30:00,774 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,774 - ERROR - Error in episode 3664: name 'args' is not defined +2025-03-10 15:30:00,777 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,777 - ERROR - Error in episode 3665: name 'args' is not defined +2025-03-10 15:30:00,779 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,779 - ERROR - Error in episode 3666: name 'args' is not defined +2025-03-10 15:30:00,783 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,783 - ERROR - Error in episode 3667: name 'args' is not defined +2025-03-10 15:30:00,786 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,786 - ERROR - Error in episode 3668: name 'args' is not defined +2025-03-10 15:30:00,789 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,789 - ERROR - Error in episode 3669: name 'args' is not defined +2025-03-10 15:30:00,792 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,792 - ERROR - Error in episode 3670: name 'args' is not defined +2025-03-10 15:30:00,795 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,795 - ERROR - Error in episode 3671: name 'args' is not defined +2025-03-10 15:30:00,797 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,798 - ERROR - Error in episode 3672: name 'args' is not defined +2025-03-10 15:30:00,800 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,801 - ERROR - Error in episode 3673: name 'args' is not defined +2025-03-10 15:30:00,803 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,804 - ERROR - Error in episode 3674: name 'args' is not defined +2025-03-10 15:30:00,807 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,807 - ERROR - Error in episode 3675: name 'args' is not defined +2025-03-10 15:30:00,810 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,810 - ERROR - Error in episode 3676: name 'args' is not defined +2025-03-10 15:30:00,813 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,814 - ERROR - Error in episode 3677: name 'args' is not defined +2025-03-10 15:30:00,816 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,817 - ERROR - Error in episode 3678: name 'args' is not defined +2025-03-10 15:30:00,820 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,820 - ERROR - Error in episode 3679: name 'args' is not defined +2025-03-10 15:30:00,823 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,823 - ERROR - Error in episode 3680: name 'args' is not defined +2025-03-10 15:30:00,826 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,826 - ERROR - Error in episode 3681: name 'args' is not defined +2025-03-10 15:30:00,828 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,828 - ERROR - Error in episode 3682: name 'args' is not defined +2025-03-10 15:30:00,831 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,831 - ERROR - Error in episode 3683: name 'args' is not defined +2025-03-10 15:30:00,834 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,834 - ERROR - Error in episode 3684: name 'args' is not defined +2025-03-10 15:30:00,837 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,837 - ERROR - Error in episode 3685: name 'args' is not defined +2025-03-10 15:30:00,840 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,840 - ERROR - Error in episode 3686: name 'args' is not defined +2025-03-10 15:30:00,843 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,843 - ERROR - Error in episode 3687: name 'args' is not defined +2025-03-10 15:30:00,845 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,846 - ERROR - Error in episode 3688: name 'args' is not defined +2025-03-10 15:30:00,849 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,849 - ERROR - Error in episode 3689: name 'args' is not defined +2025-03-10 15:30:00,851 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,852 - ERROR - Error in episode 3690: name 'args' is not defined +2025-03-10 15:30:00,854 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,854 - ERROR - Error in episode 3691: name 'args' is not defined +2025-03-10 15:30:00,857 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,857 - ERROR - Error in episode 3692: name 'args' is not defined +2025-03-10 15:30:00,859 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,860 - ERROR - Error in episode 3693: name 'args' is not defined +2025-03-10 15:30:00,862 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,862 - ERROR - Error in episode 3694: name 'args' is not defined +2025-03-10 15:30:00,865 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,865 - ERROR - Error in episode 3695: name 'args' is not defined +2025-03-10 15:30:00,869 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,869 - ERROR - Error in episode 3696: name 'args' is not defined +2025-03-10 15:30:00,871 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,872 - ERROR - Error in episode 3697: name 'args' is not defined +2025-03-10 15:30:00,874 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,875 - ERROR - Error in episode 3698: name 'args' is not defined +2025-03-10 15:30:00,877 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,877 - ERROR - Error in episode 3699: name 'args' is not defined +2025-03-10 15:30:00,879 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,880 - ERROR - Error in episode 3700: name 'args' is not defined +2025-03-10 15:30:00,883 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,883 - ERROR - Error in episode 3701: name 'args' is not defined +2025-03-10 15:30:00,886 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,886 - ERROR - Error in episode 3702: name 'args' is not defined +2025-03-10 15:30:00,888 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,889 - ERROR - Error in episode 3703: name 'args' is not defined +2025-03-10 15:30:00,891 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,892 - ERROR - Error in episode 3704: name 'args' is not defined +2025-03-10 15:30:00,894 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,894 - ERROR - Error in episode 3705: name 'args' is not defined +2025-03-10 15:30:00,897 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,897 - ERROR - Error in episode 3706: name 'args' is not defined +2025-03-10 15:30:00,900 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,900 - ERROR - Error in episode 3707: name 'args' is not defined +2025-03-10 15:30:00,903 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,903 - ERROR - Error in episode 3708: name 'args' is not defined +2025-03-10 15:30:00,905 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,906 - ERROR - Error in episode 3709: name 'args' is not defined +2025-03-10 15:30:00,908 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,908 - ERROR - Error in episode 3710: name 'args' is not defined +2025-03-10 15:30:00,911 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,912 - ERROR - Error in episode 3711: name 'args' is not defined +2025-03-10 15:30:00,914 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,915 - ERROR - Error in episode 3712: name 'args' is not defined +2025-03-10 15:30:00,918 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,918 - ERROR - Error in episode 3713: name 'args' is not defined +2025-03-10 15:30:00,921 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,921 - ERROR - Error in episode 3714: name 'args' is not defined +2025-03-10 15:30:00,924 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,924 - ERROR - Error in episode 3715: name 'args' is not defined +2025-03-10 15:30:00,928 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,928 - ERROR - Error in episode 3716: name 'args' is not defined +2025-03-10 15:30:00,930 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,930 - ERROR - Error in episode 3717: name 'args' is not defined +2025-03-10 15:30:00,933 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,933 - ERROR - Error in episode 3718: name 'args' is not defined +2025-03-10 15:30:00,936 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,936 - ERROR - Error in episode 3719: name 'args' is not defined +2025-03-10 15:30:00,939 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,939 - ERROR - Error in episode 3720: name 'args' is not defined +2025-03-10 15:30:00,942 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,942 - ERROR - Error in episode 3721: name 'args' is not defined +2025-03-10 15:30:00,945 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,945 - ERROR - Error in episode 3722: name 'args' is not defined +2025-03-10 15:30:00,947 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,948 - ERROR - Error in episode 3723: name 'args' is not defined +2025-03-10 15:30:00,950 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,950 - ERROR - Error in episode 3724: name 'args' is not defined +2025-03-10 15:30:00,953 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,953 - ERROR - Error in episode 3725: name 'args' is not defined +2025-03-10 15:30:00,956 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,956 - ERROR - Error in episode 3726: name 'args' is not defined +2025-03-10 15:30:00,958 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,959 - ERROR - Error in episode 3727: name 'args' is not defined +2025-03-10 15:30:00,961 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,961 - ERROR - Error in episode 3728: name 'args' is not defined +2025-03-10 15:30:00,963 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,964 - ERROR - Error in episode 3729: name 'args' is not defined +2025-03-10 15:30:00,966 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,966 - ERROR - Error in episode 3730: name 'args' is not defined +2025-03-10 15:30:00,970 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,970 - ERROR - Error in episode 3731: name 'args' is not defined +2025-03-10 15:30:00,972 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,973 - ERROR - Error in episode 3732: name 'args' is not defined +2025-03-10 15:30:00,975 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,976 - ERROR - Error in episode 3733: name 'args' is not defined +2025-03-10 15:30:00,978 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,979 - ERROR - Error in episode 3734: name 'args' is not defined +2025-03-10 15:30:00,981 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,981 - ERROR - Error in episode 3735: name 'args' is not defined +2025-03-10 15:30:00,984 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,984 - ERROR - Error in episode 3736: name 'args' is not defined +2025-03-10 15:30:00,987 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,987 - ERROR - Error in episode 3737: name 'args' is not defined +2025-03-10 15:30:00,989 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,990 - ERROR - Error in episode 3738: name 'args' is not defined +2025-03-10 15:30:00,992 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,993 - ERROR - Error in episode 3739: name 'args' is not defined +2025-03-10 15:30:00,995 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,995 - ERROR - Error in episode 3740: name 'args' is not defined +2025-03-10 15:30:00,998 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:00,998 - ERROR - Error in episode 3741: name 'args' is not defined +2025-03-10 15:30:01,001 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,001 - ERROR - Error in episode 3742: name 'args' is not defined +2025-03-10 15:30:01,003 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,004 - ERROR - Error in episode 3743: name 'args' is not defined +2025-03-10 15:30:01,006 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,006 - ERROR - Error in episode 3744: name 'args' is not defined +2025-03-10 15:30:01,009 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,010 - ERROR - Error in episode 3745: name 'args' is not defined +2025-03-10 15:30:01,012 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,013 - ERROR - Error in episode 3746: name 'args' is not defined +2025-03-10 15:30:01,015 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,016 - ERROR - Error in episode 3747: name 'args' is not defined +2025-03-10 15:30:01,019 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,019 - ERROR - Error in episode 3748: name 'args' is not defined +2025-03-10 15:30:01,021 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,022 - ERROR - Error in episode 3749: name 'args' is not defined +2025-03-10 15:30:01,024 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,025 - ERROR - Error in episode 3750: name 'args' is not defined +2025-03-10 15:30:01,028 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,028 - ERROR - Error in episode 3751: name 'args' is not defined +2025-03-10 15:30:01,030 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,030 - ERROR - Error in episode 3752: name 'args' is not defined +2025-03-10 15:30:01,033 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,034 - ERROR - Error in episode 3753: name 'args' is not defined +2025-03-10 15:30:01,036 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,036 - ERROR - Error in episode 3754: name 'args' is not defined +2025-03-10 15:30:01,040 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,040 - ERROR - Error in episode 3755: name 'args' is not defined +2025-03-10 15:30:01,043 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,044 - ERROR - Error in episode 3756: name 'args' is not defined +2025-03-10 15:30:01,047 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,047 - ERROR - Error in episode 3757: name 'args' is not defined +2025-03-10 15:30:01,049 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,050 - ERROR - Error in episode 3758: name 'args' is not defined +2025-03-10 15:30:01,052 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,052 - ERROR - Error in episode 3759: name 'args' is not defined +2025-03-10 15:30:01,055 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,055 - ERROR - Error in episode 3760: name 'args' is not defined +2025-03-10 15:30:01,059 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,059 - ERROR - Error in episode 3761: name 'args' is not defined +2025-03-10 15:30:01,062 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,062 - ERROR - Error in episode 3762: name 'args' is not defined +2025-03-10 15:30:01,065 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,065 - ERROR - Error in episode 3763: name 'args' is not defined +2025-03-10 15:30:01,068 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,068 - ERROR - Error in episode 3764: name 'args' is not defined +2025-03-10 15:30:01,070 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,071 - ERROR - Error in episode 3765: name 'args' is not defined +2025-03-10 15:30:01,073 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,074 - ERROR - Error in episode 3766: name 'args' is not defined +2025-03-10 15:30:01,076 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,077 - ERROR - Error in episode 3767: name 'args' is not defined +2025-03-10 15:30:01,080 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,080 - ERROR - Error in episode 3768: name 'args' is not defined +2025-03-10 15:30:01,083 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,084 - ERROR - Error in episode 3769: name 'args' is not defined +2025-03-10 15:30:01,086 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,087 - ERROR - Error in episode 3770: name 'args' is not defined +2025-03-10 15:30:01,090 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,090 - ERROR - Error in episode 3771: name 'args' is not defined +2025-03-10 15:30:01,093 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,094 - ERROR - Error in episode 3772: name 'args' is not defined +2025-03-10 15:30:01,096 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,097 - ERROR - Error in episode 3773: name 'args' is not defined +2025-03-10 15:30:01,100 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,100 - ERROR - Error in episode 3774: name 'args' is not defined +2025-03-10 15:30:01,103 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,103 - ERROR - Error in episode 3775: name 'args' is not defined +2025-03-10 15:30:01,106 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,106 - ERROR - Error in episode 3776: name 'args' is not defined +2025-03-10 15:30:01,109 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,109 - ERROR - Error in episode 3777: name 'args' is not defined +2025-03-10 15:30:01,112 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,112 - ERROR - Error in episode 3778: name 'args' is not defined +2025-03-10 15:30:01,115 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,116 - ERROR - Error in episode 3779: name 'args' is not defined +2025-03-10 15:30:01,118 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,118 - ERROR - Error in episode 3780: name 'args' is not defined +2025-03-10 15:30:01,121 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,121 - ERROR - Error in episode 3781: name 'args' is not defined +2025-03-10 15:30:01,124 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,124 - ERROR - Error in episode 3782: name 'args' is not defined +2025-03-10 15:30:01,127 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,127 - ERROR - Error in episode 3783: name 'args' is not defined +2025-03-10 15:30:01,131 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,131 - ERROR - Error in episode 3784: name 'args' is not defined +2025-03-10 15:30:01,134 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,134 - ERROR - Error in episode 3785: name 'args' is not defined +2025-03-10 15:30:01,137 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,137 - ERROR - Error in episode 3786: name 'args' is not defined +2025-03-10 15:30:01,139 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,140 - ERROR - Error in episode 3787: name 'args' is not defined +2025-03-10 15:30:01,142 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,142 - ERROR - Error in episode 3788: name 'args' is not defined +2025-03-10 15:30:01,145 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,145 - ERROR - Error in episode 3789: name 'args' is not defined +2025-03-10 15:30:01,148 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,148 - ERROR - Error in episode 3790: name 'args' is not defined +2025-03-10 15:30:01,150 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,150 - ERROR - Error in episode 3791: name 'args' is not defined +2025-03-10 15:30:01,153 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,153 - ERROR - Error in episode 3792: name 'args' is not defined +2025-03-10 15:30:01,157 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,157 - ERROR - Error in episode 3793: name 'args' is not defined +2025-03-10 15:30:01,159 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,160 - ERROR - Error in episode 3794: name 'args' is not defined +2025-03-10 15:30:01,162 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,163 - ERROR - Error in episode 3795: name 'args' is not defined +2025-03-10 15:30:01,166 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,166 - ERROR - Error in episode 3796: name 'args' is not defined +2025-03-10 15:30:01,169 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,169 - ERROR - Error in episode 3797: name 'args' is not defined +2025-03-10 15:30:01,172 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,172 - ERROR - Error in episode 3798: name 'args' is not defined +2025-03-10 15:30:01,175 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,175 - ERROR - Error in episode 3799: name 'args' is not defined +2025-03-10 15:30:01,177 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,178 - ERROR - Error in episode 3800: name 'args' is not defined +2025-03-10 15:30:01,180 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,181 - ERROR - Error in episode 3801: name 'args' is not defined +2025-03-10 15:30:01,183 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,183 - ERROR - Error in episode 3802: name 'args' is not defined +2025-03-10 15:30:01,186 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,186 - ERROR - Error in episode 3803: name 'args' is not defined +2025-03-10 15:30:01,188 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,189 - ERROR - Error in episode 3804: name 'args' is not defined +2025-03-10 15:30:01,191 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,192 - ERROR - Error in episode 3805: name 'args' is not defined +2025-03-10 15:30:01,194 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,195 - ERROR - Error in episode 3806: name 'args' is not defined +2025-03-10 15:30:01,198 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,199 - ERROR - Error in episode 3807: name 'args' is not defined +2025-03-10 15:30:01,202 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,202 - ERROR - Error in episode 3808: name 'args' is not defined +2025-03-10 15:30:01,205 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,205 - ERROR - Error in episode 3809: name 'args' is not defined +2025-03-10 15:30:01,208 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,209 - ERROR - Error in episode 3810: name 'args' is not defined +2025-03-10 15:30:01,211 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,212 - ERROR - Error in episode 3811: name 'args' is not defined +2025-03-10 15:30:01,215 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,217 - ERROR - Error in episode 3812: name 'args' is not defined +2025-03-10 15:30:01,220 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,221 - ERROR - Error in episode 3813: name 'args' is not defined +2025-03-10 15:30:01,224 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,224 - ERROR - Error in episode 3814: name 'args' is not defined +2025-03-10 15:30:01,227 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,227 - ERROR - Error in episode 3815: name 'args' is not defined +2025-03-10 15:30:01,230 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,231 - ERROR - Error in episode 3816: name 'args' is not defined +2025-03-10 15:30:01,233 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,234 - ERROR - Error in episode 3817: name 'args' is not defined +2025-03-10 15:30:01,236 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,237 - ERROR - Error in episode 3818: name 'args' is not defined +2025-03-10 15:30:01,239 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,240 - ERROR - Error in episode 3819: name 'args' is not defined +2025-03-10 15:30:01,242 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,242 - ERROR - Error in episode 3820: name 'args' is not defined +2025-03-10 15:30:01,244 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,244 - ERROR - Error in episode 3821: name 'args' is not defined +2025-03-10 15:30:01,248 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,249 - ERROR - Error in episode 3822: name 'args' is not defined +2025-03-10 15:30:01,251 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,251 - ERROR - Error in episode 3823: name 'args' is not defined +2025-03-10 15:30:01,254 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,254 - ERROR - Error in episode 3824: name 'args' is not defined +2025-03-10 15:30:01,257 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,257 - ERROR - Error in episode 3825: name 'args' is not defined +2025-03-10 15:30:01,259 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,260 - ERROR - Error in episode 3826: name 'args' is not defined +2025-03-10 15:30:01,262 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,262 - ERROR - Error in episode 3827: name 'args' is not defined +2025-03-10 15:30:01,266 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,267 - ERROR - Error in episode 3828: name 'args' is not defined +2025-03-10 15:30:01,269 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,269 - ERROR - Error in episode 3829: name 'args' is not defined +2025-03-10 15:30:01,272 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,272 - ERROR - Error in episode 3830: name 'args' is not defined +2025-03-10 15:30:01,275 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,276 - ERROR - Error in episode 3831: name 'args' is not defined +2025-03-10 15:30:01,278 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,278 - ERROR - Error in episode 3832: name 'args' is not defined +2025-03-10 15:30:01,281 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,281 - ERROR - Error in episode 3833: name 'args' is not defined +2025-03-10 15:30:01,284 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,284 - ERROR - Error in episode 3834: name 'args' is not defined +2025-03-10 15:30:01,287 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,287 - ERROR - Error in episode 3835: name 'args' is not defined +2025-03-10 15:30:01,290 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,290 - ERROR - Error in episode 3836: name 'args' is not defined +2025-03-10 15:30:01,292 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,293 - ERROR - Error in episode 3837: name 'args' is not defined +2025-03-10 15:30:01,296 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,296 - ERROR - Error in episode 3838: name 'args' is not defined +2025-03-10 15:30:01,299 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,299 - ERROR - Error in episode 3839: name 'args' is not defined +2025-03-10 15:30:01,302 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,302 - ERROR - Error in episode 3840: name 'args' is not defined +2025-03-10 15:30:01,305 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,305 - ERROR - Error in episode 3841: name 'args' is not defined +2025-03-10 15:30:01,309 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,309 - ERROR - Error in episode 3842: name 'args' is not defined +2025-03-10 15:30:01,312 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,312 - ERROR - Error in episode 3843: name 'args' is not defined +2025-03-10 15:30:01,316 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,316 - ERROR - Error in episode 3844: name 'args' is not defined +2025-03-10 15:30:01,319 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,319 - ERROR - Error in episode 3845: name 'args' is not defined +2025-03-10 15:30:01,322 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,323 - ERROR - Error in episode 3846: name 'args' is not defined +2025-03-10 15:30:01,325 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,325 - ERROR - Error in episode 3847: name 'args' is not defined +2025-03-10 15:30:01,328 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,329 - ERROR - Error in episode 3848: name 'args' is not defined +2025-03-10 15:30:01,331 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,331 - ERROR - Error in episode 3849: name 'args' is not defined +2025-03-10 15:30:01,333 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,334 - ERROR - Error in episode 3850: name 'args' is not defined +2025-03-10 15:30:01,336 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,336 - ERROR - Error in episode 3851: name 'args' is not defined +2025-03-10 15:30:01,339 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,339 - ERROR - Error in episode 3852: name 'args' is not defined +2025-03-10 15:30:01,342 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,342 - ERROR - Error in episode 3853: name 'args' is not defined +2025-03-10 15:30:01,344 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,345 - ERROR - Error in episode 3854: name 'args' is not defined +2025-03-10 15:30:01,347 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,347 - ERROR - Error in episode 3855: name 'args' is not defined +2025-03-10 15:30:01,350 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,350 - ERROR - Error in episode 3856: name 'args' is not defined +2025-03-10 15:30:01,353 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,353 - ERROR - Error in episode 3857: name 'args' is not defined +2025-03-10 15:30:01,355 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,357 - ERROR - Error in episode 3858: name 'args' is not defined +2025-03-10 15:30:01,359 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,359 - ERROR - Error in episode 3859: name 'args' is not defined +2025-03-10 15:30:01,362 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,362 - ERROR - Error in episode 3860: name 'args' is not defined +2025-03-10 15:30:01,365 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,365 - ERROR - Error in episode 3861: name 'args' is not defined +2025-03-10 15:30:01,368 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,368 - ERROR - Error in episode 3862: name 'args' is not defined +2025-03-10 15:30:01,370 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,370 - ERROR - Error in episode 3863: name 'args' is not defined +2025-03-10 15:30:01,374 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,374 - ERROR - Error in episode 3864: name 'args' is not defined +2025-03-10 15:30:01,376 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,377 - ERROR - Error in episode 3865: name 'args' is not defined +2025-03-10 15:30:01,379 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,379 - ERROR - Error in episode 3866: name 'args' is not defined +2025-03-10 15:30:01,382 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,382 - ERROR - Error in episode 3867: name 'args' is not defined +2025-03-10 15:30:01,385 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,385 - ERROR - Error in episode 3868: name 'args' is not defined +2025-03-10 15:30:01,387 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,388 - ERROR - Error in episode 3869: name 'args' is not defined +2025-03-10 15:30:01,391 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,391 - ERROR - Error in episode 3870: name 'args' is not defined +2025-03-10 15:30:01,393 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,394 - ERROR - Error in episode 3871: name 'args' is not defined +2025-03-10 15:30:01,397 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,397 - ERROR - Error in episode 3872: name 'args' is not defined +2025-03-10 15:30:01,400 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,400 - ERROR - Error in episode 3873: name 'args' is not defined +2025-03-10 15:30:01,403 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,403 - ERROR - Error in episode 3874: name 'args' is not defined +2025-03-10 15:30:01,406 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,406 - ERROR - Error in episode 3875: name 'args' is not defined +2025-03-10 15:30:01,409 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,409 - ERROR - Error in episode 3876: name 'args' is not defined +2025-03-10 15:30:01,412 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,413 - ERROR - Error in episode 3877: name 'args' is not defined +2025-03-10 15:30:01,415 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,415 - ERROR - Error in episode 3878: name 'args' is not defined +2025-03-10 15:30:01,418 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,418 - ERROR - Error in episode 3879: name 'args' is not defined +2025-03-10 15:30:01,421 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,421 - ERROR - Error in episode 3880: name 'args' is not defined +2025-03-10 15:30:01,424 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,424 - ERROR - Error in episode 3881: name 'args' is not defined +2025-03-10 15:30:01,427 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,427 - ERROR - Error in episode 3882: name 'args' is not defined +2025-03-10 15:30:01,430 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,430 - ERROR - Error in episode 3883: name 'args' is not defined +2025-03-10 15:30:01,433 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,433 - ERROR - Error in episode 3884: name 'args' is not defined +2025-03-10 15:30:01,436 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,437 - ERROR - Error in episode 3885: name 'args' is not defined +2025-03-10 15:30:01,439 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,440 - ERROR - Error in episode 3886: name 'args' is not defined +2025-03-10 15:30:01,442 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,442 - ERROR - Error in episode 3887: name 'args' is not defined +2025-03-10 15:30:01,445 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,445 - ERROR - Error in episode 3888: name 'args' is not defined +2025-03-10 15:30:01,447 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,448 - ERROR - Error in episode 3889: name 'args' is not defined +2025-03-10 15:30:01,450 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,452 - ERROR - Error in episode 3890: name 'args' is not defined +2025-03-10 15:30:01,454 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,454 - ERROR - Error in episode 3891: name 'args' is not defined +2025-03-10 15:30:01,457 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,457 - ERROR - Error in episode 3892: name 'args' is not defined +2025-03-10 15:30:01,459 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,460 - ERROR - Error in episode 3893: name 'args' is not defined +2025-03-10 15:30:01,462 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,463 - ERROR - Error in episode 3894: name 'args' is not defined +2025-03-10 15:30:01,465 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,465 - ERROR - Error in episode 3895: name 'args' is not defined +2025-03-10 15:30:01,468 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,468 - ERROR - Error in episode 3896: name 'args' is not defined +2025-03-10 15:30:01,471 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,471 - ERROR - Error in episode 3897: name 'args' is not defined +2025-03-10 15:30:01,473 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,474 - ERROR - Error in episode 3898: name 'args' is not defined +2025-03-10 15:30:01,476 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,477 - ERROR - Error in episode 3899: name 'args' is not defined +2025-03-10 15:30:01,479 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,480 - ERROR - Error in episode 3900: name 'args' is not defined +2025-03-10 15:30:01,482 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,482 - ERROR - Error in episode 3901: name 'args' is not defined +2025-03-10 15:30:01,485 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,486 - ERROR - Error in episode 3902: name 'args' is not defined +2025-03-10 15:30:01,488 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,489 - ERROR - Error in episode 3903: name 'args' is not defined +2025-03-10 15:30:01,491 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,491 - ERROR - Error in episode 3904: name 'args' is not defined +2025-03-10 15:30:01,494 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,494 - ERROR - Error in episode 3905: name 'args' is not defined +2025-03-10 15:30:01,497 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,497 - ERROR - Error in episode 3906: name 'args' is not defined +2025-03-10 15:30:01,500 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,500 - ERROR - Error in episode 3907: name 'args' is not defined +2025-03-10 15:30:01,503 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,503 - ERROR - Error in episode 3908: name 'args' is not defined +2025-03-10 15:30:01,506 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,506 - ERROR - Error in episode 3909: name 'args' is not defined +2025-03-10 15:30:01,509 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,509 - ERROR - Error in episode 3910: name 'args' is not defined +2025-03-10 15:30:01,512 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,512 - ERROR - Error in episode 3911: name 'args' is not defined +2025-03-10 15:30:01,515 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,515 - ERROR - Error in episode 3912: name 'args' is not defined +2025-03-10 15:30:01,518 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,518 - ERROR - Error in episode 3913: name 'args' is not defined +2025-03-10 15:30:01,521 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,522 - ERROR - Error in episode 3914: name 'args' is not defined +2025-03-10 15:30:01,524 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,525 - ERROR - Error in episode 3915: name 'args' is not defined +2025-03-10 15:30:01,527 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,527 - ERROR - Error in episode 3916: name 'args' is not defined +2025-03-10 15:30:01,530 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,530 - ERROR - Error in episode 3917: name 'args' is not defined +2025-03-10 15:30:01,533 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,533 - ERROR - Error in episode 3918: name 'args' is not defined +2025-03-10 15:30:01,536 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,537 - ERROR - Error in episode 3919: name 'args' is not defined +2025-03-10 15:30:01,539 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,540 - ERROR - Error in episode 3920: name 'args' is not defined +2025-03-10 15:30:01,543 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,544 - ERROR - Error in episode 3921: name 'args' is not defined +2025-03-10 15:30:01,546 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,547 - ERROR - Error in episode 3922: name 'args' is not defined +2025-03-10 15:30:01,550 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,550 - ERROR - Error in episode 3923: name 'args' is not defined +2025-03-10 15:30:01,554 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,554 - ERROR - Error in episode 3924: name 'args' is not defined +2025-03-10 15:30:01,557 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,557 - ERROR - Error in episode 3925: name 'args' is not defined +2025-03-10 15:30:01,561 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,561 - ERROR - Error in episode 3926: name 'args' is not defined +2025-03-10 15:30:01,565 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,566 - ERROR - Error in episode 3927: name 'args' is not defined +2025-03-10 15:30:01,568 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,569 - ERROR - Error in episode 3928: name 'args' is not defined +2025-03-10 15:30:01,573 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,573 - ERROR - Error in episode 3929: name 'args' is not defined +2025-03-10 15:30:01,577 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,577 - ERROR - Error in episode 3930: name 'args' is not defined +2025-03-10 15:30:01,580 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,580 - ERROR - Error in episode 3931: name 'args' is not defined +2025-03-10 15:30:01,583 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,583 - ERROR - Error in episode 3932: name 'args' is not defined +2025-03-10 15:30:01,586 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,586 - ERROR - Error in episode 3933: name 'args' is not defined +2025-03-10 15:30:01,589 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,589 - ERROR - Error in episode 3934: name 'args' is not defined +2025-03-10 15:30:01,592 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,592 - ERROR - Error in episode 3935: name 'args' is not defined +2025-03-10 15:30:01,596 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,596 - ERROR - Error in episode 3936: name 'args' is not defined +2025-03-10 15:30:01,598 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,598 - ERROR - Error in episode 3937: name 'args' is not defined +2025-03-10 15:30:01,601 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,602 - ERROR - Error in episode 3938: name 'args' is not defined +2025-03-10 15:30:01,604 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,605 - ERROR - Error in episode 3939: name 'args' is not defined +2025-03-10 15:30:01,607 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,607 - ERROR - Error in episode 3940: name 'args' is not defined +2025-03-10 15:30:01,611 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,611 - ERROR - Error in episode 3941: name 'args' is not defined +2025-03-10 15:30:01,614 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,614 - ERROR - Error in episode 3942: name 'args' is not defined +2025-03-10 15:30:01,617 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,617 - ERROR - Error in episode 3943: name 'args' is not defined +2025-03-10 15:30:01,620 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,621 - ERROR - Error in episode 3944: name 'args' is not defined +2025-03-10 15:30:01,623 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,624 - ERROR - Error in episode 3945: name 'args' is not defined +2025-03-10 15:30:01,626 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,627 - ERROR - Error in episode 3946: name 'args' is not defined +2025-03-10 15:30:01,629 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,629 - ERROR - Error in episode 3947: name 'args' is not defined +2025-03-10 15:30:01,633 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,634 - ERROR - Error in episode 3948: name 'args' is not defined +2025-03-10 15:30:01,637 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,637 - ERROR - Error in episode 3949: name 'args' is not defined +2025-03-10 15:30:01,640 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,641 - ERROR - Error in episode 3950: name 'args' is not defined +2025-03-10 15:30:01,643 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,644 - ERROR - Error in episode 3951: name 'args' is not defined +2025-03-10 15:30:01,646 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,646 - ERROR - Error in episode 3952: name 'args' is not defined +2025-03-10 15:30:01,650 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,650 - ERROR - Error in episode 3953: name 'args' is not defined +2025-03-10 15:30:01,652 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,652 - ERROR - Error in episode 3954: name 'args' is not defined +2025-03-10 15:30:01,655 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,655 - ERROR - Error in episode 3955: name 'args' is not defined +2025-03-10 15:30:01,658 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,658 - ERROR - Error in episode 3956: name 'args' is not defined +2025-03-10 15:30:01,661 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,661 - ERROR - Error in episode 3957: name 'args' is not defined +2025-03-10 15:30:01,663 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,665 - ERROR - Error in episode 3958: name 'args' is not defined +2025-03-10 15:30:01,668 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,668 - ERROR - Error in episode 3959: name 'args' is not defined +2025-03-10 15:30:01,670 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,671 - ERROR - Error in episode 3960: name 'args' is not defined +2025-03-10 15:30:01,674 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,674 - ERROR - Error in episode 3961: name 'args' is not defined +2025-03-10 15:30:01,677 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,677 - ERROR - Error in episode 3962: name 'args' is not defined +2025-03-10 15:30:01,680 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,680 - ERROR - Error in episode 3963: name 'args' is not defined +2025-03-10 15:30:01,683 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,683 - ERROR - Error in episode 3964: name 'args' is not defined +2025-03-10 15:30:01,686 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,686 - ERROR - Error in episode 3965: name 'args' is not defined +2025-03-10 15:30:01,689 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,689 - ERROR - Error in episode 3966: name 'args' is not defined +2025-03-10 15:30:01,692 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,692 - ERROR - Error in episode 3967: name 'args' is not defined +2025-03-10 15:30:01,696 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,696 - ERROR - Error in episode 3968: name 'args' is not defined +2025-03-10 15:30:01,698 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,698 - ERROR - Error in episode 3969: name 'args' is not defined +2025-03-10 15:30:01,700 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,701 - ERROR - Error in episode 3970: name 'args' is not defined +2025-03-10 15:30:01,703 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,703 - ERROR - Error in episode 3971: name 'args' is not defined +2025-03-10 15:30:01,705 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,707 - ERROR - Error in episode 3972: name 'args' is not defined +2025-03-10 15:30:01,709 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,709 - ERROR - Error in episode 3973: name 'args' is not defined +2025-03-10 15:30:01,712 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,712 - ERROR - Error in episode 3974: name 'args' is not defined +2025-03-10 15:30:01,714 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,715 - ERROR - Error in episode 3975: name 'args' is not defined +2025-03-10 15:30:01,718 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,718 - ERROR - Error in episode 3976: name 'args' is not defined +2025-03-10 15:30:01,720 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,721 - ERROR - Error in episode 3977: name 'args' is not defined +2025-03-10 15:30:01,724 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,724 - ERROR - Error in episode 3978: name 'args' is not defined +2025-03-10 15:30:01,726 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,727 - ERROR - Error in episode 3979: name 'args' is not defined +2025-03-10 15:30:01,729 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,729 - ERROR - Error in episode 3980: name 'args' is not defined +2025-03-10 15:30:01,732 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,732 - ERROR - Error in episode 3981: name 'args' is not defined +2025-03-10 15:30:01,735 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,735 - ERROR - Error in episode 3982: name 'args' is not defined +2025-03-10 15:30:01,737 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,738 - ERROR - Error in episode 3983: name 'args' is not defined +2025-03-10 15:30:01,741 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,741 - ERROR - Error in episode 3984: name 'args' is not defined +2025-03-10 15:30:01,744 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,744 - ERROR - Error in episode 3985: name 'args' is not defined +2025-03-10 15:30:01,747 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,747 - ERROR - Error in episode 3986: name 'args' is not defined +2025-03-10 15:30:01,750 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,750 - ERROR - Error in episode 3987: name 'args' is not defined +2025-03-10 15:30:01,753 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,753 - ERROR - Error in episode 3988: name 'args' is not defined +2025-03-10 15:30:01,756 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,756 - ERROR - Error in episode 3989: name 'args' is not defined +2025-03-10 15:30:01,759 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,759 - ERROR - Error in episode 3990: name 'args' is not defined +2025-03-10 15:30:01,761 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,763 - ERROR - Error in episode 3991: name 'args' is not defined +2025-03-10 15:30:01,765 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,765 - ERROR - Error in episode 3992: name 'args' is not defined +2025-03-10 15:30:01,768 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,768 - ERROR - Error in episode 3993: name 'args' is not defined +2025-03-10 15:30:01,770 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,771 - ERROR - Error in episode 3994: name 'args' is not defined +2025-03-10 15:30:01,773 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,773 - ERROR - Error in episode 3995: name 'args' is not defined +2025-03-10 15:30:01,776 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,776 - ERROR - Error in episode 3996: name 'args' is not defined +2025-03-10 15:30:01,778 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,779 - ERROR - Error in episode 3997: name 'args' is not defined +2025-03-10 15:30:01,781 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,782 - ERROR - Error in episode 3998: name 'args' is not defined +2025-03-10 15:30:01,784 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,784 - ERROR - Error in episode 3999: name 'args' is not defined +2025-03-10 15:30:01,787 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,787 - ERROR - Error in episode 4000: name 'args' is not defined +2025-03-10 15:30:01,791 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,791 - ERROR - Error in episode 4001: name 'args' is not defined +2025-03-10 15:30:01,794 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,794 - ERROR - Error in episode 4002: name 'args' is not defined +2025-03-10 15:30:01,796 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,797 - ERROR - Error in episode 4003: name 'args' is not defined +2025-03-10 15:30:01,800 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,800 - ERROR - Error in episode 4004: name 'args' is not defined +2025-03-10 15:30:01,802 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,802 - ERROR - Error in episode 4005: name 'args' is not defined +2025-03-10 15:30:01,805 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,805 - ERROR - Error in episode 4006: name 'args' is not defined +2025-03-10 15:30:01,808 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,808 - ERROR - Error in episode 4007: name 'args' is not defined +2025-03-10 15:30:01,810 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,811 - ERROR - Error in episode 4008: name 'args' is not defined +2025-03-10 15:30:01,813 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,814 - ERROR - Error in episode 4009: name 'args' is not defined +2025-03-10 15:30:01,816 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,817 - ERROR - Error in episode 4010: name 'args' is not defined +2025-03-10 15:30:01,819 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,819 - ERROR - Error in episode 4011: name 'args' is not defined +2025-03-10 15:30:01,822 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,822 - ERROR - Error in episode 4012: name 'args' is not defined +2025-03-10 15:30:01,825 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,826 - ERROR - Error in episode 4013: name 'args' is not defined +2025-03-10 15:30:01,828 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,828 - ERROR - Error in episode 4014: name 'args' is not defined +2025-03-10 15:30:01,831 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,831 - ERROR - Error in episode 4015: name 'args' is not defined +2025-03-10 15:30:01,834 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,834 - ERROR - Error in episode 4016: name 'args' is not defined +2025-03-10 15:30:01,837 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,837 - ERROR - Error in episode 4017: name 'args' is not defined +2025-03-10 15:30:01,841 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,841 - ERROR - Error in episode 4018: name 'args' is not defined +2025-03-10 15:30:01,843 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,844 - ERROR - Error in episode 4019: name 'args' is not defined +2025-03-10 15:30:01,846 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,846 - ERROR - Error in episode 4020: name 'args' is not defined +2025-03-10 15:30:01,849 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,849 - ERROR - Error in episode 4021: name 'args' is not defined +2025-03-10 15:30:01,852 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,852 - ERROR - Error in episode 4022: name 'args' is not defined +2025-03-10 15:30:01,854 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,855 - ERROR - Error in episode 4023: name 'args' is not defined +2025-03-10 15:30:01,858 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,858 - ERROR - Error in episode 4024: name 'args' is not defined +2025-03-10 15:30:01,861 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,861 - ERROR - Error in episode 4025: name 'args' is not defined +2025-03-10 15:30:01,863 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,864 - ERROR - Error in episode 4026: name 'args' is not defined +2025-03-10 15:30:01,866 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,866 - ERROR - Error in episode 4027: name 'args' is not defined +2025-03-10 15:30:01,869 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,869 - ERROR - Error in episode 4028: name 'args' is not defined +2025-03-10 15:30:01,871 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,872 - ERROR - Error in episode 4029: name 'args' is not defined +2025-03-10 15:30:01,874 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,875 - ERROR - Error in episode 4030: name 'args' is not defined +2025-03-10 15:30:01,877 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,877 - ERROR - Error in episode 4031: name 'args' is not defined +2025-03-10 15:30:01,880 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,880 - ERROR - Error in episode 4032: name 'args' is not defined +2025-03-10 15:30:01,883 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,883 - ERROR - Error in episode 4033: name 'args' is not defined +2025-03-10 15:30:01,885 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,885 - ERROR - Error in episode 4034: name 'args' is not defined +2025-03-10 15:30:01,888 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,888 - ERROR - Error in episode 4035: name 'args' is not defined +2025-03-10 15:30:01,891 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,891 - ERROR - Error in episode 4036: name 'args' is not defined +2025-03-10 15:30:01,894 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,894 - ERROR - Error in episode 4037: name 'args' is not defined +2025-03-10 15:30:01,896 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,897 - ERROR - Error in episode 4038: name 'args' is not defined +2025-03-10 15:30:01,899 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,899 - ERROR - Error in episode 4039: name 'args' is not defined +2025-03-10 15:30:01,902 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,902 - ERROR - Error in episode 4040: name 'args' is not defined +2025-03-10 15:30:01,904 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,904 - ERROR - Error in episode 4041: name 'args' is not defined +2025-03-10 15:30:01,907 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,908 - ERROR - Error in episode 4042: name 'args' is not defined +2025-03-10 15:30:01,910 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,910 - ERROR - Error in episode 4043: name 'args' is not defined +2025-03-10 15:30:01,913 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,913 - ERROR - Error in episode 4044: name 'args' is not defined +2025-03-10 15:30:01,916 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,916 - ERROR - Error in episode 4045: name 'args' is not defined +2025-03-10 15:30:01,919 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,920 - ERROR - Error in episode 4046: name 'args' is not defined +2025-03-10 15:30:01,922 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,922 - ERROR - Error in episode 4047: name 'args' is not defined +2025-03-10 15:30:01,925 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,926 - ERROR - Error in episode 4048: name 'args' is not defined +2025-03-10 15:30:01,928 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,928 - ERROR - Error in episode 4049: name 'args' is not defined +2025-03-10 15:30:01,931 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,931 - ERROR - Error in episode 4050: name 'args' is not defined +2025-03-10 15:30:01,934 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,935 - ERROR - Error in episode 4051: name 'args' is not defined +2025-03-10 15:30:01,937 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,937 - ERROR - Error in episode 4052: name 'args' is not defined +2025-03-10 15:30:01,940 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,940 - ERROR - Error in episode 4053: name 'args' is not defined +2025-03-10 15:30:01,942 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,943 - ERROR - Error in episode 4054: name 'args' is not defined +2025-03-10 15:30:01,945 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,946 - ERROR - Error in episode 4055: name 'args' is not defined +2025-03-10 15:30:01,948 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,950 - ERROR - Error in episode 4056: name 'args' is not defined +2025-03-10 15:30:01,952 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,952 - ERROR - Error in episode 4057: name 'args' is not defined +2025-03-10 15:30:01,955 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,955 - ERROR - Error in episode 4058: name 'args' is not defined +2025-03-10 15:30:01,958 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,959 - ERROR - Error in episode 4059: name 'args' is not defined +2025-03-10 15:30:01,961 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,961 - ERROR - Error in episode 4060: name 'args' is not defined +2025-03-10 15:30:01,964 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,965 - ERROR - Error in episode 4061: name 'args' is not defined +2025-03-10 15:30:01,967 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,967 - ERROR - Error in episode 4062: name 'args' is not defined +2025-03-10 15:30:01,969 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,970 - ERROR - Error in episode 4063: name 'args' is not defined +2025-03-10 15:30:01,972 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,972 - ERROR - Error in episode 4064: name 'args' is not defined +2025-03-10 15:30:01,975 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,975 - ERROR - Error in episode 4065: name 'args' is not defined +2025-03-10 15:30:01,977 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,978 - ERROR - Error in episode 4066: name 'args' is not defined +2025-03-10 15:30:01,980 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,981 - ERROR - Error in episode 4067: name 'args' is not defined +2025-03-10 15:30:01,983 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,983 - ERROR - Error in episode 4068: name 'args' is not defined +2025-03-10 15:30:01,985 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,986 - ERROR - Error in episode 4069: name 'args' is not defined +2025-03-10 15:30:01,988 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,988 - ERROR - Error in episode 4070: name 'args' is not defined +2025-03-10 15:30:01,991 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,991 - ERROR - Error in episode 4071: name 'args' is not defined +2025-03-10 15:30:01,994 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,994 - ERROR - Error in episode 4072: name 'args' is not defined +2025-03-10 15:30:01,996 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:01,997 - ERROR - Error in episode 4073: name 'args' is not defined +2025-03-10 15:30:02,000 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,001 - ERROR - Error in episode 4074: name 'args' is not defined +2025-03-10 15:30:02,003 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,003 - ERROR - Error in episode 4075: name 'args' is not defined +2025-03-10 15:30:02,006 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,007 - ERROR - Error in episode 4076: name 'args' is not defined +2025-03-10 15:30:02,009 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,009 - ERROR - Error in episode 4077: name 'args' is not defined +2025-03-10 15:30:02,012 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,012 - ERROR - Error in episode 4078: name 'args' is not defined +2025-03-10 15:30:02,015 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,016 - ERROR - Error in episode 4079: name 'args' is not defined +2025-03-10 15:30:02,018 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,019 - ERROR - Error in episode 4080: name 'args' is not defined +2025-03-10 15:30:02,022 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,022 - ERROR - Error in episode 4081: name 'args' is not defined +2025-03-10 15:30:02,025 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,025 - ERROR - Error in episode 4082: name 'args' is not defined +2025-03-10 15:30:02,029 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,029 - ERROR - Error in episode 4083: name 'args' is not defined +2025-03-10 15:30:02,032 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,032 - ERROR - Error in episode 4084: name 'args' is not defined +2025-03-10 15:30:02,035 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,035 - ERROR - Error in episode 4085: name 'args' is not defined +2025-03-10 15:30:02,037 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,038 - ERROR - Error in episode 4086: name 'args' is not defined +2025-03-10 15:30:02,040 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,041 - ERROR - Error in episode 4087: name 'args' is not defined +2025-03-10 15:30:02,043 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,043 - ERROR - Error in episode 4088: name 'args' is not defined +2025-03-10 15:30:02,046 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,046 - ERROR - Error in episode 4089: name 'args' is not defined +2025-03-10 15:30:02,049 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,049 - ERROR - Error in episode 4090: name 'args' is not defined +2025-03-10 15:30:02,052 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,052 - ERROR - Error in episode 4091: name 'args' is not defined +2025-03-10 15:30:02,055 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,055 - ERROR - Error in episode 4092: name 'args' is not defined +2025-03-10 15:30:02,057 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,058 - ERROR - Error in episode 4093: name 'args' is not defined +2025-03-10 15:30:02,060 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,060 - ERROR - Error in episode 4094: name 'args' is not defined +2025-03-10 15:30:02,062 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,063 - ERROR - Error in episode 4095: name 'args' is not defined +2025-03-10 15:30:02,066 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,066 - ERROR - Error in episode 4096: name 'args' is not defined +2025-03-10 15:30:02,069 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,069 - ERROR - Error in episode 4097: name 'args' is not defined +2025-03-10 15:30:02,071 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,072 - ERROR - Error in episode 4098: name 'args' is not defined +2025-03-10 15:30:02,075 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,076 - ERROR - Error in episode 4099: name 'args' is not defined +2025-03-10 15:30:02,078 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,079 - ERROR - Error in episode 4100: name 'args' is not defined +2025-03-10 15:30:02,082 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,082 - ERROR - Error in episode 4101: name 'args' is not defined +2025-03-10 15:30:02,084 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,085 - ERROR - Error in episode 4102: name 'args' is not defined +2025-03-10 15:30:02,087 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,087 - ERROR - Error in episode 4103: name 'args' is not defined +2025-03-10 15:30:02,090 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,091 - ERROR - Error in episode 4104: name 'args' is not defined +2025-03-10 15:30:02,093 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,094 - ERROR - Error in episode 4105: name 'args' is not defined +2025-03-10 15:30:02,096 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,097 - ERROR - Error in episode 4106: name 'args' is not defined +2025-03-10 15:30:02,099 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,099 - ERROR - Error in episode 4107: name 'args' is not defined +2025-03-10 15:30:02,102 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,103 - ERROR - Error in episode 4108: name 'args' is not defined +2025-03-10 15:30:02,105 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,106 - ERROR - Error in episode 4109: name 'args' is not defined +2025-03-10 15:30:02,109 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,109 - ERROR - Error in episode 4110: name 'args' is not defined +2025-03-10 15:30:02,112 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,112 - ERROR - Error in episode 4111: name 'args' is not defined +2025-03-10 15:30:02,114 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,115 - ERROR - Error in episode 4112: name 'args' is not defined +2025-03-10 15:30:02,118 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,118 - ERROR - Error in episode 4113: name 'args' is not defined +2025-03-10 15:30:02,120 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,121 - ERROR - Error in episode 4114: name 'args' is not defined +2025-03-10 15:30:02,124 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,124 - ERROR - Error in episode 4115: name 'args' is not defined +2025-03-10 15:30:02,126 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,127 - ERROR - Error in episode 4116: name 'args' is not defined +2025-03-10 15:30:02,130 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,130 - ERROR - Error in episode 4117: name 'args' is not defined +2025-03-10 15:30:02,133 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,133 - ERROR - Error in episode 4118: name 'args' is not defined +2025-03-10 15:30:02,136 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,136 - ERROR - Error in episode 4119: name 'args' is not defined +2025-03-10 15:30:02,138 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,139 - ERROR - Error in episode 4120: name 'args' is not defined +2025-03-10 15:30:02,142 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,142 - ERROR - Error in episode 4121: name 'args' is not defined +2025-03-10 15:30:02,145 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,145 - ERROR - Error in episode 4122: name 'args' is not defined +2025-03-10 15:30:02,147 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,147 - ERROR - Error in episode 4123: name 'args' is not defined +2025-03-10 15:30:02,151 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,151 - ERROR - Error in episode 4124: name 'args' is not defined +2025-03-10 15:30:02,153 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,153 - ERROR - Error in episode 4125: name 'args' is not defined +2025-03-10 15:30:02,157 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,157 - ERROR - Error in episode 4126: name 'args' is not defined +2025-03-10 15:30:02,159 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,160 - ERROR - Error in episode 4127: name 'args' is not defined +2025-03-10 15:30:02,162 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,162 - ERROR - Error in episode 4128: name 'args' is not defined +2025-03-10 15:30:02,165 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,166 - ERROR - Error in episode 4129: name 'args' is not defined +2025-03-10 15:30:02,168 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,168 - ERROR - Error in episode 4130: name 'args' is not defined +2025-03-10 15:30:02,171 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,171 - ERROR - Error in episode 4131: name 'args' is not defined +2025-03-10 15:30:02,174 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,175 - ERROR - Error in episode 4132: name 'args' is not defined +2025-03-10 15:30:02,177 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,177 - ERROR - Error in episode 4133: name 'args' is not defined +2025-03-10 15:30:02,180 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,180 - ERROR - Error in episode 4134: name 'args' is not defined +2025-03-10 15:30:02,183 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,183 - ERROR - Error in episode 4135: name 'args' is not defined +2025-03-10 15:30:02,186 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,186 - ERROR - Error in episode 4136: name 'args' is not defined +2025-03-10 15:30:02,189 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,189 - ERROR - Error in episode 4137: name 'args' is not defined +2025-03-10 15:30:02,192 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,193 - ERROR - Error in episode 4138: name 'args' is not defined +2025-03-10 15:30:02,195 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,195 - ERROR - Error in episode 4139: name 'args' is not defined +2025-03-10 15:30:02,198 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,198 - ERROR - Error in episode 4140: name 'args' is not defined +2025-03-10 15:30:02,201 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,201 - ERROR - Error in episode 4141: name 'args' is not defined +2025-03-10 15:30:02,204 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,204 - ERROR - Error in episode 4142: name 'args' is not defined +2025-03-10 15:30:02,208 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,208 - ERROR - Error in episode 4143: name 'args' is not defined +2025-03-10 15:30:02,210 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,211 - ERROR - Error in episode 4144: name 'args' is not defined +2025-03-10 15:30:02,213 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,213 - ERROR - Error in episode 4145: name 'args' is not defined +2025-03-10 15:30:02,217 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,217 - ERROR - Error in episode 4146: name 'args' is not defined +2025-03-10 15:30:02,219 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,220 - ERROR - Error in episode 4147: name 'args' is not defined +2025-03-10 15:30:02,222 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,223 - ERROR - Error in episode 4148: name 'args' is not defined +2025-03-10 15:30:02,225 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,226 - ERROR - Error in episode 4149: name 'args' is not defined +2025-03-10 15:30:02,228 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,229 - ERROR - Error in episode 4150: name 'args' is not defined +2025-03-10 15:30:02,231 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,231 - ERROR - Error in episode 4151: name 'args' is not defined +2025-03-10 15:30:02,234 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,234 - ERROR - Error in episode 4152: name 'args' is not defined +2025-03-10 15:30:02,236 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,236 - ERROR - Error in episode 4153: name 'args' is not defined +2025-03-10 15:30:02,239 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,239 - ERROR - Error in episode 4154: name 'args' is not defined +2025-03-10 15:30:02,241 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,242 - ERROR - Error in episode 4155: name 'args' is not defined +2025-03-10 15:30:02,244 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,244 - ERROR - Error in episode 4156: name 'args' is not defined +2025-03-10 15:30:02,247 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,247 - ERROR - Error in episode 4157: name 'args' is not defined +2025-03-10 15:30:02,249 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,249 - ERROR - Error in episode 4158: name 'args' is not defined +2025-03-10 15:30:02,252 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,252 - ERROR - Error in episode 4159: name 'args' is not defined +2025-03-10 15:30:02,255 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,255 - ERROR - Error in episode 4160: name 'args' is not defined +2025-03-10 15:30:02,258 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,258 - ERROR - Error in episode 4161: name 'args' is not defined +2025-03-10 15:30:02,261 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,261 - ERROR - Error in episode 4162: name 'args' is not defined +2025-03-10 15:30:02,264 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,264 - ERROR - Error in episode 4163: name 'args' is not defined +2025-03-10 15:30:02,266 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,267 - ERROR - Error in episode 4164: name 'args' is not defined +2025-03-10 15:30:02,269 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,271 - ERROR - Error in episode 4165: name 'args' is not defined +2025-03-10 15:30:02,273 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,273 - ERROR - Error in episode 4166: name 'args' is not defined +2025-03-10 15:30:02,276 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,276 - ERROR - Error in episode 4167: name 'args' is not defined +2025-03-10 15:30:02,278 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,279 - ERROR - Error in episode 4168: name 'args' is not defined +2025-03-10 15:30:02,281 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,281 - ERROR - Error in episode 4169: name 'args' is not defined +2025-03-10 15:30:02,284 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,284 - ERROR - Error in episode 4170: name 'args' is not defined +2025-03-10 15:30:02,287 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,287 - ERROR - Error in episode 4171: name 'args' is not defined +2025-03-10 15:30:02,290 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,290 - ERROR - Error in episode 4172: name 'args' is not defined +2025-03-10 15:30:02,293 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,293 - ERROR - Error in episode 4173: name 'args' is not defined +2025-03-10 15:30:02,296 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,296 - ERROR - Error in episode 4174: name 'args' is not defined +2025-03-10 15:30:02,299 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,299 - ERROR - Error in episode 4175: name 'args' is not defined +2025-03-10 15:30:02,301 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,302 - ERROR - Error in episode 4176: name 'args' is not defined +2025-03-10 15:30:02,304 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,305 - ERROR - Error in episode 4177: name 'args' is not defined +2025-03-10 15:30:02,307 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,307 - ERROR - Error in episode 4178: name 'args' is not defined +2025-03-10 15:30:02,310 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,310 - ERROR - Error in episode 4179: name 'args' is not defined +2025-03-10 15:30:02,313 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,313 - ERROR - Error in episode 4180: name 'args' is not defined +2025-03-10 15:30:02,315 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,316 - ERROR - Error in episode 4181: name 'args' is not defined +2025-03-10 15:30:02,318 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,318 - ERROR - Error in episode 4182: name 'args' is not defined +2025-03-10 15:30:02,321 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,321 - ERROR - Error in episode 4183: name 'args' is not defined +2025-03-10 15:30:02,324 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,324 - ERROR - Error in episode 4184: name 'args' is not defined +2025-03-10 15:30:02,327 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,327 - ERROR - Error in episode 4185: name 'args' is not defined +2025-03-10 15:30:02,330 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,330 - ERROR - Error in episode 4186: name 'args' is not defined +2025-03-10 15:30:02,332 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,333 - ERROR - Error in episode 4187: name 'args' is not defined +2025-03-10 15:30:02,335 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,336 - ERROR - Error in episode 4188: name 'args' is not defined +2025-03-10 15:30:02,338 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,338 - ERROR - Error in episode 4189: name 'args' is not defined +2025-03-10 15:30:02,341 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,341 - ERROR - Error in episode 4190: name 'args' is not defined +2025-03-10 15:30:02,343 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,344 - ERROR - Error in episode 4191: name 'args' is not defined +2025-03-10 15:30:02,346 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,347 - ERROR - Error in episode 4192: name 'args' is not defined +2025-03-10 15:30:02,349 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,349 - ERROR - Error in episode 4193: name 'args' is not defined +2025-03-10 15:30:02,351 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,352 - ERROR - Error in episode 4194: name 'args' is not defined +2025-03-10 15:30:02,355 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,355 - ERROR - Error in episode 4195: name 'args' is not defined +2025-03-10 15:30:02,357 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,357 - ERROR - Error in episode 4196: name 'args' is not defined +2025-03-10 15:30:02,360 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,360 - ERROR - Error in episode 4197: name 'args' is not defined +2025-03-10 15:30:02,363 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,363 - ERROR - Error in episode 4198: name 'args' is not defined +2025-03-10 15:30:02,365 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,366 - ERROR - Error in episode 4199: name 'args' is not defined +2025-03-10 15:30:02,368 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,368 - ERROR - Error in episode 4200: name 'args' is not defined +2025-03-10 15:30:02,371 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,373 - ERROR - Error in episode 4201: name 'args' is not defined +2025-03-10 15:30:02,375 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,375 - ERROR - Error in episode 4202: name 'args' is not defined +2025-03-10 15:30:02,378 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,379 - ERROR - Error in episode 4203: name 'args' is not defined +2025-03-10 15:30:02,381 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,381 - ERROR - Error in episode 4204: name 'args' is not defined +2025-03-10 15:30:02,383 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,384 - ERROR - Error in episode 4205: name 'args' is not defined +2025-03-10 15:30:02,386 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,386 - ERROR - Error in episode 4206: name 'args' is not defined +2025-03-10 15:30:02,389 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,389 - ERROR - Error in episode 4207: name 'args' is not defined +2025-03-10 15:30:02,392 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,392 - ERROR - Error in episode 4208: name 'args' is not defined +2025-03-10 15:30:02,395 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,395 - ERROR - Error in episode 4209: name 'args' is not defined +2025-03-10 15:30:02,398 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,398 - ERROR - Error in episode 4210: name 'args' is not defined +2025-03-10 15:30:02,401 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,401 - ERROR - Error in episode 4211: name 'args' is not defined +2025-03-10 15:30:02,404 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,404 - ERROR - Error in episode 4212: name 'args' is not defined +2025-03-10 15:30:02,407 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,408 - ERROR - Error in episode 4213: name 'args' is not defined +2025-03-10 15:30:02,410 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,410 - ERROR - Error in episode 4214: name 'args' is not defined +2025-03-10 15:30:02,414 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,414 - ERROR - Error in episode 4215: name 'args' is not defined +2025-03-10 15:30:02,417 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,417 - ERROR - Error in episode 4216: name 'args' is not defined +2025-03-10 15:30:02,419 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,420 - ERROR - Error in episode 4217: name 'args' is not defined +2025-03-10 15:30:02,422 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,422 - ERROR - Error in episode 4218: name 'args' is not defined +2025-03-10 15:30:02,426 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,426 - ERROR - Error in episode 4219: name 'args' is not defined +2025-03-10 15:30:02,428 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,429 - ERROR - Error in episode 4220: name 'args' is not defined +2025-03-10 15:30:02,432 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,432 - ERROR - Error in episode 4221: name 'args' is not defined +2025-03-10 15:30:02,436 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,436 - ERROR - Error in episode 4222: name 'args' is not defined +2025-03-10 15:30:02,438 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,439 - ERROR - Error in episode 4223: name 'args' is not defined +2025-03-10 15:30:02,441 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,442 - ERROR - Error in episode 4224: name 'args' is not defined +2025-03-10 15:30:02,444 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,444 - ERROR - Error in episode 4225: name 'args' is not defined +2025-03-10 15:30:02,447 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,447 - ERROR - Error in episode 4226: name 'args' is not defined +2025-03-10 15:30:02,450 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,450 - ERROR - Error in episode 4227: name 'args' is not defined +2025-03-10 15:30:02,452 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,453 - ERROR - Error in episode 4228: name 'args' is not defined +2025-03-10 15:30:02,455 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,456 - ERROR - Error in episode 4229: name 'args' is not defined +2025-03-10 15:30:02,458 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,458 - ERROR - Error in episode 4230: name 'args' is not defined +2025-03-10 15:30:02,461 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,461 - ERROR - Error in episode 4231: name 'args' is not defined +2025-03-10 15:30:02,464 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,464 - ERROR - Error in episode 4232: name 'args' is not defined +2025-03-10 15:30:02,467 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,467 - ERROR - Error in episode 4233: name 'args' is not defined +2025-03-10 15:30:02,470 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,470 - ERROR - Error in episode 4234: name 'args' is not defined +2025-03-10 15:30:02,472 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,473 - ERROR - Error in episode 4235: name 'args' is not defined +2025-03-10 15:30:02,475 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,475 - ERROR - Error in episode 4236: name 'args' is not defined +2025-03-10 15:30:02,478 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,478 - ERROR - Error in episode 4237: name 'args' is not defined +2025-03-10 15:30:02,480 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,481 - ERROR - Error in episode 4238: name 'args' is not defined +2025-03-10 15:30:02,484 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,484 - ERROR - Error in episode 4239: name 'args' is not defined +2025-03-10 15:30:02,486 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,487 - ERROR - Error in episode 4240: name 'args' is not defined +2025-03-10 15:30:02,489 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,489 - ERROR - Error in episode 4241: name 'args' is not defined +2025-03-10 15:30:02,492 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,493 - ERROR - Error in episode 4242: name 'args' is not defined +2025-03-10 15:30:02,495 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,496 - ERROR - Error in episode 4243: name 'args' is not defined +2025-03-10 15:30:02,498 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,500 - ERROR - Error in episode 4244: name 'args' is not defined +2025-03-10 15:30:02,502 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,502 - ERROR - Error in episode 4245: name 'args' is not defined +2025-03-10 15:30:02,505 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,505 - ERROR - Error in episode 4246: name 'args' is not defined +2025-03-10 15:30:02,508 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,508 - ERROR - Error in episode 4247: name 'args' is not defined +2025-03-10 15:30:02,510 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,511 - ERROR - Error in episode 4248: name 'args' is not defined +2025-03-10 15:30:02,513 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,513 - ERROR - Error in episode 4249: name 'args' is not defined +2025-03-10 15:30:02,516 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,516 - ERROR - Error in episode 4250: name 'args' is not defined +2025-03-10 15:30:02,520 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,520 - ERROR - Error in episode 4251: name 'args' is not defined +2025-03-10 15:30:02,522 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,523 - ERROR - Error in episode 4252: name 'args' is not defined +2025-03-10 15:30:02,525 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,526 - ERROR - Error in episode 4253: name 'args' is not defined +2025-03-10 15:30:02,528 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,528 - ERROR - Error in episode 4254: name 'args' is not defined +2025-03-10 15:30:02,532 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,533 - ERROR - Error in episode 4255: name 'args' is not defined +2025-03-10 15:30:02,535 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,535 - ERROR - Error in episode 4256: name 'args' is not defined +2025-03-10 15:30:02,538 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,538 - ERROR - Error in episode 4257: name 'args' is not defined +2025-03-10 15:30:02,540 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,541 - ERROR - Error in episode 4258: name 'args' is not defined +2025-03-10 15:30:02,544 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,544 - ERROR - Error in episode 4259: name 'args' is not defined +2025-03-10 15:30:02,546 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,547 - ERROR - Error in episode 4260: name 'args' is not defined +2025-03-10 15:30:02,549 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,549 - ERROR - Error in episode 4261: name 'args' is not defined +2025-03-10 15:30:02,552 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,552 - ERROR - Error in episode 4262: name 'args' is not defined +2025-03-10 15:30:02,555 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,555 - ERROR - Error in episode 4263: name 'args' is not defined +2025-03-10 15:30:02,558 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,558 - ERROR - Error in episode 4264: name 'args' is not defined +2025-03-10 15:30:02,560 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,560 - ERROR - Error in episode 4265: name 'args' is not defined +2025-03-10 15:30:02,563 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,563 - ERROR - Error in episode 4266: name 'args' is not defined +2025-03-10 15:30:02,566 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,566 - ERROR - Error in episode 4267: name 'args' is not defined +2025-03-10 15:30:02,568 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,569 - ERROR - Error in episode 4268: name 'args' is not defined +2025-03-10 15:30:02,572 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,572 - ERROR - Error in episode 4269: name 'args' is not defined +2025-03-10 15:30:02,575 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,575 - ERROR - Error in episode 4270: name 'args' is not defined +2025-03-10 15:30:02,577 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,578 - ERROR - Error in episode 4271: name 'args' is not defined +2025-03-10 15:30:02,581 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,581 - ERROR - Error in episode 4272: name 'args' is not defined +2025-03-10 15:30:02,584 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,584 - ERROR - Error in episode 4273: name 'args' is not defined +2025-03-10 15:30:02,587 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,587 - ERROR - Error in episode 4274: name 'args' is not defined +2025-03-10 15:30:02,591 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,591 - ERROR - Error in episode 4275: name 'args' is not defined +2025-03-10 15:30:02,595 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,595 - ERROR - Error in episode 4276: name 'args' is not defined +2025-03-10 15:30:02,597 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,598 - ERROR - Error in episode 4277: name 'args' is not defined +2025-03-10 15:30:02,600 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,601 - ERROR - Error in episode 4278: name 'args' is not defined +2025-03-10 15:30:02,603 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,603 - ERROR - Error in episode 4279: name 'args' is not defined +2025-03-10 15:30:02,606 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,606 - ERROR - Error in episode 4280: name 'args' is not defined +2025-03-10 15:30:02,609 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,609 - ERROR - Error in episode 4281: name 'args' is not defined +2025-03-10 15:30:02,611 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,612 - ERROR - Error in episode 4282: name 'args' is not defined +2025-03-10 15:30:02,614 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,614 - ERROR - Error in episode 4283: name 'args' is not defined +2025-03-10 15:30:02,618 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,618 - ERROR - Error in episode 4284: name 'args' is not defined +2025-03-10 15:30:02,620 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,621 - ERROR - Error in episode 4285: name 'args' is not defined +2025-03-10 15:30:02,623 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,623 - ERROR - Error in episode 4286: name 'args' is not defined +2025-03-10 15:30:02,626 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,626 - ERROR - Error in episode 4287: name 'args' is not defined +2025-03-10 15:30:02,628 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,629 - ERROR - Error in episode 4288: name 'args' is not defined +2025-03-10 15:30:02,633 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,633 - ERROR - Error in episode 4289: name 'args' is not defined +2025-03-10 15:30:02,636 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,636 - ERROR - Error in episode 4290: name 'args' is not defined +2025-03-10 15:30:02,639 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,639 - ERROR - Error in episode 4291: name 'args' is not defined +2025-03-10 15:30:02,642 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,642 - ERROR - Error in episode 4292: name 'args' is not defined +2025-03-10 15:30:02,645 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,645 - ERROR - Error in episode 4293: name 'args' is not defined +2025-03-10 15:30:02,648 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,648 - ERROR - Error in episode 4294: name 'args' is not defined +2025-03-10 15:30:02,651 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,651 - ERROR - Error in episode 4295: name 'args' is not defined +2025-03-10 15:30:02,654 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,654 - ERROR - Error in episode 4296: name 'args' is not defined +2025-03-10 15:30:02,656 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,656 - ERROR - Error in episode 4297: name 'args' is not defined +2025-03-10 15:30:02,660 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,661 - ERROR - Error in episode 4298: name 'args' is not defined +2025-03-10 15:30:02,663 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,664 - ERROR - Error in episode 4299: name 'args' is not defined +2025-03-10 15:30:02,666 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,666 - ERROR - Error in episode 4300: name 'args' is not defined +2025-03-10 15:30:02,669 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,669 - ERROR - Error in episode 4301: name 'args' is not defined +2025-03-10 15:30:02,671 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,672 - ERROR - Error in episode 4302: name 'args' is not defined +2025-03-10 15:30:02,675 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,675 - ERROR - Error in episode 4303: name 'args' is not defined +2025-03-10 15:30:02,678 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,678 - ERROR - Error in episode 4304: name 'args' is not defined +2025-03-10 15:30:02,680 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,681 - ERROR - Error in episode 4305: name 'args' is not defined +2025-03-10 15:30:02,683 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,684 - ERROR - Error in episode 4306: name 'args' is not defined +2025-03-10 15:30:02,686 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,686 - ERROR - Error in episode 4307: name 'args' is not defined +2025-03-10 15:30:02,689 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,690 - ERROR - Error in episode 4308: name 'args' is not defined +2025-03-10 15:30:02,692 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,693 - ERROR - Error in episode 4309: name 'args' is not defined +2025-03-10 15:30:02,695 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,696 - ERROR - Error in episode 4310: name 'args' is not defined +2025-03-10 15:30:02,698 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,698 - ERROR - Error in episode 4311: name 'args' is not defined +2025-03-10 15:30:02,701 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,701 - ERROR - Error in episode 4312: name 'args' is not defined +2025-03-10 15:30:02,704 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,704 - ERROR - Error in episode 4313: name 'args' is not defined +2025-03-10 15:30:02,706 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,707 - ERROR - Error in episode 4314: name 'args' is not defined +2025-03-10 15:30:02,709 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,710 - ERROR - Error in episode 4315: name 'args' is not defined +2025-03-10 15:30:02,712 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,712 - ERROR - Error in episode 4316: name 'args' is not defined +2025-03-10 15:30:02,715 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,715 - ERROR - Error in episode 4317: name 'args' is not defined +2025-03-10 15:30:02,718 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,718 - ERROR - Error in episode 4318: name 'args' is not defined +2025-03-10 15:30:02,721 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,721 - ERROR - Error in episode 4319: name 'args' is not defined +2025-03-10 15:30:02,724 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,724 - ERROR - Error in episode 4320: name 'args' is not defined +2025-03-10 15:30:02,728 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,728 - ERROR - Error in episode 4321: name 'args' is not defined +2025-03-10 15:30:02,730 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,730 - ERROR - Error in episode 4322: name 'args' is not defined +2025-03-10 15:30:02,733 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,734 - ERROR - Error in episode 4323: name 'args' is not defined +2025-03-10 15:30:02,736 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,737 - ERROR - Error in episode 4324: name 'args' is not defined +2025-03-10 15:30:02,740 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,740 - ERROR - Error in episode 4325: name 'args' is not defined +2025-03-10 15:30:02,743 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,743 - ERROR - Error in episode 4326: name 'args' is not defined +2025-03-10 15:30:02,745 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,746 - ERROR - Error in episode 4327: name 'args' is not defined +2025-03-10 15:30:02,748 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,748 - ERROR - Error in episode 4328: name 'args' is not defined +2025-03-10 15:30:02,751 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,751 - ERROR - Error in episode 4329: name 'args' is not defined +2025-03-10 15:30:02,753 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,754 - ERROR - Error in episode 4330: name 'args' is not defined +2025-03-10 15:30:02,756 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,756 - ERROR - Error in episode 4331: name 'args' is not defined +2025-03-10 15:30:02,759 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,759 - ERROR - Error in episode 4332: name 'args' is not defined +2025-03-10 15:30:02,762 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,762 - ERROR - Error in episode 4333: name 'args' is not defined +2025-03-10 15:30:02,764 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,765 - ERROR - Error in episode 4334: name 'args' is not defined +2025-03-10 15:30:02,767 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,768 - ERROR - Error in episode 4335: name 'args' is not defined +2025-03-10 15:30:02,770 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,771 - ERROR - Error in episode 4336: name 'args' is not defined +2025-03-10 15:30:02,773 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,773 - ERROR - Error in episode 4337: name 'args' is not defined +2025-03-10 15:30:02,776 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,776 - ERROR - Error in episode 4338: name 'args' is not defined +2025-03-10 15:30:02,779 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,779 - ERROR - Error in episode 4339: name 'args' is not defined +2025-03-10 15:30:02,781 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,782 - ERROR - Error in episode 4340: name 'args' is not defined +2025-03-10 15:30:02,784 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,785 - ERROR - Error in episode 4341: name 'args' is not defined +2025-03-10 15:30:02,787 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,787 - ERROR - Error in episode 4342: name 'args' is not defined +2025-03-10 15:30:02,790 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,790 - ERROR - Error in episode 4343: name 'args' is not defined +2025-03-10 15:30:02,793 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,793 - ERROR - Error in episode 4344: name 'args' is not defined +2025-03-10 15:30:02,795 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,796 - ERROR - Error in episode 4345: name 'args' is not defined +2025-03-10 15:30:02,798 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,799 - ERROR - Error in episode 4346: name 'args' is not defined +2025-03-10 15:30:02,801 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,801 - ERROR - Error in episode 4347: name 'args' is not defined +2025-03-10 15:30:02,805 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,806 - ERROR - Error in episode 4348: name 'args' is not defined +2025-03-10 15:30:02,808 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,809 - ERROR - Error in episode 4349: name 'args' is not defined +2025-03-10 15:30:02,811 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,811 - ERROR - Error in episode 4350: name 'args' is not defined +2025-03-10 15:30:02,814 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,814 - ERROR - Error in episode 4351: name 'args' is not defined +2025-03-10 15:30:02,817 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,817 - ERROR - Error in episode 4352: name 'args' is not defined +2025-03-10 15:30:02,819 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,820 - ERROR - Error in episode 4353: name 'args' is not defined +2025-03-10 15:30:02,822 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,822 - ERROR - Error in episode 4354: name 'args' is not defined +2025-03-10 15:30:02,826 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,826 - ERROR - Error in episode 4355: name 'args' is not defined +2025-03-10 15:30:02,828 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,828 - ERROR - Error in episode 4356: name 'args' is not defined +2025-03-10 15:30:02,831 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,831 - ERROR - Error in episode 4357: name 'args' is not defined +2025-03-10 15:30:02,834 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,834 - ERROR - Error in episode 4358: name 'args' is not defined +2025-03-10 15:30:02,837 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,837 - ERROR - Error in episode 4359: name 'args' is not defined +2025-03-10 15:30:02,839 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,840 - ERROR - Error in episode 4360: name 'args' is not defined +2025-03-10 15:30:02,842 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,843 - ERROR - Error in episode 4361: name 'args' is not defined +2025-03-10 15:30:02,845 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,846 - ERROR - Error in episode 4362: name 'args' is not defined +2025-03-10 15:30:02,848 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,848 - ERROR - Error in episode 4363: name 'args' is not defined +2025-03-10 15:30:02,851 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,851 - ERROR - Error in episode 4364: name 'args' is not defined +2025-03-10 15:30:02,854 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,854 - ERROR - Error in episode 4365: name 'args' is not defined +2025-03-10 15:30:02,857 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,857 - ERROR - Error in episode 4366: name 'args' is not defined +2025-03-10 15:30:02,860 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,860 - ERROR - Error in episode 4367: name 'args' is not defined +2025-03-10 15:30:02,862 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,863 - ERROR - Error in episode 4368: name 'args' is not defined +2025-03-10 15:30:02,865 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,866 - ERROR - Error in episode 4369: name 'args' is not defined +2025-03-10 15:30:02,868 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,868 - ERROR - Error in episode 4370: name 'args' is not defined +2025-03-10 15:30:02,871 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,871 - ERROR - Error in episode 4371: name 'args' is not defined +2025-03-10 15:30:02,874 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,874 - ERROR - Error in episode 4372: name 'args' is not defined +2025-03-10 15:30:02,877 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,877 - ERROR - Error in episode 4373: name 'args' is not defined +2025-03-10 15:30:02,879 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,879 - ERROR - Error in episode 4374: name 'args' is not defined +2025-03-10 15:30:02,883 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,883 - ERROR - Error in episode 4375: name 'args' is not defined +2025-03-10 15:30:02,886 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,886 - ERROR - Error in episode 4376: name 'args' is not defined +2025-03-10 15:30:02,889 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,889 - ERROR - Error in episode 4377: name 'args' is not defined +2025-03-10 15:30:02,892 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,892 - ERROR - Error in episode 4378: name 'args' is not defined +2025-03-10 15:30:02,894 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,895 - ERROR - Error in episode 4379: name 'args' is not defined +2025-03-10 15:30:02,897 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,897 - ERROR - Error in episode 4380: name 'args' is not defined +2025-03-10 15:30:02,900 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,900 - ERROR - Error in episode 4381: name 'args' is not defined +2025-03-10 15:30:02,902 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,903 - ERROR - Error in episode 4382: name 'args' is not defined +2025-03-10 15:30:02,905 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,906 - ERROR - Error in episode 4383: name 'args' is not defined +2025-03-10 15:30:02,908 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,909 - ERROR - Error in episode 4384: name 'args' is not defined +2025-03-10 15:30:02,911 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,911 - ERROR - Error in episode 4385: name 'args' is not defined +2025-03-10 15:30:02,914 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,914 - ERROR - Error in episode 4386: name 'args' is not defined +2025-03-10 15:30:02,916 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,917 - ERROR - Error in episode 4387: name 'args' is not defined +2025-03-10 15:30:02,920 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,920 - ERROR - Error in episode 4388: name 'args' is not defined +2025-03-10 15:30:02,922 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,923 - ERROR - Error in episode 4389: name 'args' is not defined +2025-03-10 15:30:02,926 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,926 - ERROR - Error in episode 4390: name 'args' is not defined +2025-03-10 15:30:02,929 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,929 - ERROR - Error in episode 4391: name 'args' is not defined +2025-03-10 15:30:02,931 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,932 - ERROR - Error in episode 4392: name 'args' is not defined +2025-03-10 15:30:02,934 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,935 - ERROR - Error in episode 4393: name 'args' is not defined +2025-03-10 15:30:02,937 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,937 - ERROR - Error in episode 4394: name 'args' is not defined +2025-03-10 15:30:02,940 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,940 - ERROR - Error in episode 4395: name 'args' is not defined +2025-03-10 15:30:02,942 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,943 - ERROR - Error in episode 4396: name 'args' is not defined +2025-03-10 15:30:02,946 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,946 - ERROR - Error in episode 4397: name 'args' is not defined +2025-03-10 15:30:02,948 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,949 - ERROR - Error in episode 4398: name 'args' is not defined +2025-03-10 15:30:02,951 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,952 - ERROR - Error in episode 4399: name 'args' is not defined +2025-03-10 15:30:02,954 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,954 - ERROR - Error in episode 4400: name 'args' is not defined +2025-03-10 15:30:02,957 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,957 - ERROR - Error in episode 4401: name 'args' is not defined +2025-03-10 15:30:02,960 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,960 - ERROR - Error in episode 4402: name 'args' is not defined +2025-03-10 15:30:02,962 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,962 - ERROR - Error in episode 4403: name 'args' is not defined +2025-03-10 15:30:02,965 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,965 - ERROR - Error in episode 4404: name 'args' is not defined +2025-03-10 15:30:02,968 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,968 - ERROR - Error in episode 4405: name 'args' is not defined +2025-03-10 15:30:02,971 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,971 - ERROR - Error in episode 4406: name 'args' is not defined +2025-03-10 15:30:02,973 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,974 - ERROR - Error in episode 4407: name 'args' is not defined +2025-03-10 15:30:02,976 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,976 - ERROR - Error in episode 4408: name 'args' is not defined +2025-03-10 15:30:02,979 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,979 - ERROR - Error in episode 4409: name 'args' is not defined +2025-03-10 15:30:02,982 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,982 - ERROR - Error in episode 4410: name 'args' is not defined +2025-03-10 15:30:02,985 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,985 - ERROR - Error in episode 4411: name 'args' is not defined +2025-03-10 15:30:02,988 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,988 - ERROR - Error in episode 4412: name 'args' is not defined +2025-03-10 15:30:02,991 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,991 - ERROR - Error in episode 4413: name 'args' is not defined +2025-03-10 15:30:02,994 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,994 - ERROR - Error in episode 4414: name 'args' is not defined +2025-03-10 15:30:02,996 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:02,997 - ERROR - Error in episode 4415: name 'args' is not defined +2025-03-10 15:30:03,000 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,000 - ERROR - Error in episode 4416: name 'args' is not defined +2025-03-10 15:30:03,002 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,003 - ERROR - Error in episode 4417: name 'args' is not defined +2025-03-10 15:30:03,005 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,005 - ERROR - Error in episode 4418: name 'args' is not defined +2025-03-10 15:30:03,008 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,008 - ERROR - Error in episode 4419: name 'args' is not defined +2025-03-10 15:30:03,011 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,011 - ERROR - Error in episode 4420: name 'args' is not defined +2025-03-10 15:30:03,013 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,014 - ERROR - Error in episode 4421: name 'args' is not defined +2025-03-10 15:30:03,017 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,017 - ERROR - Error in episode 4422: name 'args' is not defined +2025-03-10 15:30:03,019 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,020 - ERROR - Error in episode 4423: name 'args' is not defined +2025-03-10 15:30:03,022 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,022 - ERROR - Error in episode 4424: name 'args' is not defined +2025-03-10 15:30:03,025 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,026 - ERROR - Error in episode 4425: name 'args' is not defined +2025-03-10 15:30:03,030 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,030 - ERROR - Error in episode 4426: name 'args' is not defined +2025-03-10 15:30:03,033 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,033 - ERROR - Error in episode 4427: name 'args' is not defined +2025-03-10 15:30:03,035 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,036 - ERROR - Error in episode 4428: name 'args' is not defined +2025-03-10 15:30:03,038 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,038 - ERROR - Error in episode 4429: name 'args' is not defined +2025-03-10 15:30:03,041 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,041 - ERROR - Error in episode 4430: name 'args' is not defined +2025-03-10 15:30:03,043 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,044 - ERROR - Error in episode 4431: name 'args' is not defined +2025-03-10 15:30:03,046 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,046 - ERROR - Error in episode 4432: name 'args' is not defined +2025-03-10 15:30:03,049 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,049 - ERROR - Error in episode 4433: name 'args' is not defined +2025-03-10 15:30:03,052 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,052 - ERROR - Error in episode 4434: name 'args' is not defined +2025-03-10 15:30:03,054 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,055 - ERROR - Error in episode 4435: name 'args' is not defined +2025-03-10 15:30:03,057 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,059 - ERROR - Error in episode 4436: name 'args' is not defined +2025-03-10 15:30:03,061 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,061 - ERROR - Error in episode 4437: name 'args' is not defined +2025-03-10 15:30:03,064 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,064 - ERROR - Error in episode 4438: name 'args' is not defined +2025-03-10 15:30:03,066 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,067 - ERROR - Error in episode 4439: name 'args' is not defined +2025-03-10 15:30:03,069 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,069 - ERROR - Error in episode 4440: name 'args' is not defined +2025-03-10 15:30:03,072 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,072 - ERROR - Error in episode 4441: name 'args' is not defined +2025-03-10 15:30:03,074 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,075 - ERROR - Error in episode 4442: name 'args' is not defined +2025-03-10 15:30:03,078 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,078 - ERROR - Error in episode 4443: name 'args' is not defined +2025-03-10 15:30:03,080 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,081 - ERROR - Error in episode 4444: name 'args' is not defined +2025-03-10 15:30:03,083 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,083 - ERROR - Error in episode 4445: name 'args' is not defined +2025-03-10 15:30:03,086 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,086 - ERROR - Error in episode 4446: name 'args' is not defined +2025-03-10 15:30:03,090 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,090 - ERROR - Error in episode 4447: name 'args' is not defined +2025-03-10 15:30:03,093 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,093 - ERROR - Error in episode 4448: name 'args' is not defined +2025-03-10 15:30:03,096 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,096 - ERROR - Error in episode 4449: name 'args' is not defined +2025-03-10 15:30:03,099 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,099 - ERROR - Error in episode 4450: name 'args' is not defined +2025-03-10 15:30:03,102 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,102 - ERROR - Error in episode 4451: name 'args' is not defined +2025-03-10 15:30:03,105 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,105 - ERROR - Error in episode 4452: name 'args' is not defined +2025-03-10 15:30:03,107 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,109 - ERROR - Error in episode 4453: name 'args' is not defined +2025-03-10 15:30:03,111 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,111 - ERROR - Error in episode 4454: name 'args' is not defined +2025-03-10 15:30:03,114 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,115 - ERROR - Error in episode 4455: name 'args' is not defined +2025-03-10 15:30:03,117 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,117 - ERROR - Error in episode 4456: name 'args' is not defined +2025-03-10 15:30:03,119 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,120 - ERROR - Error in episode 4457: name 'args' is not defined +2025-03-10 15:30:03,122 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,123 - ERROR - Error in episode 4458: name 'args' is not defined +2025-03-10 15:30:03,125 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,125 - ERROR - Error in episode 4459: name 'args' is not defined +2025-03-10 15:30:03,128 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,128 - ERROR - Error in episode 4460: name 'args' is not defined +2025-03-10 15:30:03,131 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,131 - ERROR - Error in episode 4461: name 'args' is not defined +2025-03-10 15:30:03,134 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,134 - ERROR - Error in episode 4462: name 'args' is not defined +2025-03-10 15:30:03,137 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,137 - ERROR - Error in episode 4463: name 'args' is not defined +2025-03-10 15:30:03,140 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,140 - ERROR - Error in episode 4464: name 'args' is not defined +2025-03-10 15:30:03,143 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,143 - ERROR - Error in episode 4465: name 'args' is not defined +2025-03-10 15:30:03,146 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,146 - ERROR - Error in episode 4466: name 'args' is not defined +2025-03-10 15:30:03,148 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,148 - ERROR - Error in episode 4467: name 'args' is not defined +2025-03-10 15:30:03,151 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,151 - ERROR - Error in episode 4468: name 'args' is not defined +2025-03-10 15:30:03,154 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,154 - ERROR - Error in episode 4469: name 'args' is not defined +2025-03-10 15:30:03,157 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,157 - ERROR - Error in episode 4470: name 'args' is not defined +2025-03-10 15:30:03,160 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,161 - ERROR - Error in episode 4471: name 'args' is not defined +2025-03-10 15:30:03,163 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,164 - ERROR - Error in episode 4472: name 'args' is not defined +2025-03-10 15:30:03,166 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,167 - ERROR - Error in episode 4473: name 'args' is not defined +2025-03-10 15:30:03,169 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,170 - ERROR - Error in episode 4474: name 'args' is not defined +2025-03-10 15:30:03,172 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,172 - ERROR - Error in episode 4475: name 'args' is not defined +2025-03-10 15:30:03,176 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,176 - ERROR - Error in episode 4476: name 'args' is not defined +2025-03-10 15:30:03,178 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,179 - ERROR - Error in episode 4477: name 'args' is not defined +2025-03-10 15:30:03,182 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,182 - ERROR - Error in episode 4478: name 'args' is not defined +2025-03-10 15:30:03,185 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,186 - ERROR - Error in episode 4479: name 'args' is not defined +2025-03-10 15:30:03,189 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,189 - ERROR - Error in episode 4480: name 'args' is not defined +2025-03-10 15:30:03,192 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,192 - ERROR - Error in episode 4481: name 'args' is not defined +2025-03-10 15:30:03,195 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,195 - ERROR - Error in episode 4482: name 'args' is not defined +2025-03-10 15:30:03,197 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,198 - ERROR - Error in episode 4483: name 'args' is not defined +2025-03-10 15:30:03,201 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,201 - ERROR - Error in episode 4484: name 'args' is not defined +2025-03-10 15:30:03,203 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,204 - ERROR - Error in episode 4485: name 'args' is not defined +2025-03-10 15:30:03,206 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,207 - ERROR - Error in episode 4486: name 'args' is not defined +2025-03-10 15:30:03,209 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,210 - ERROR - Error in episode 4487: name 'args' is not defined +2025-03-10 15:30:03,212 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,212 - ERROR - Error in episode 4488: name 'args' is not defined +2025-03-10 15:30:03,215 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,215 - ERROR - Error in episode 4489: name 'args' is not defined +2025-03-10 15:30:03,218 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,218 - ERROR - Error in episode 4490: name 'args' is not defined +2025-03-10 15:30:03,221 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,221 - ERROR - Error in episode 4491: name 'args' is not defined +2025-03-10 15:30:03,224 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,224 - ERROR - Error in episode 4492: name 'args' is not defined +2025-03-10 15:30:03,227 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,227 - ERROR - Error in episode 4493: name 'args' is not defined +2025-03-10 15:30:03,230 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,231 - ERROR - Error in episode 4494: name 'args' is not defined +2025-03-10 15:30:03,234 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,234 - ERROR - Error in episode 4495: name 'args' is not defined +2025-03-10 15:30:03,237 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,237 - ERROR - Error in episode 4496: name 'args' is not defined +2025-03-10 15:30:03,239 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,240 - ERROR - Error in episode 4497: name 'args' is not defined +2025-03-10 15:30:03,243 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,243 - ERROR - Error in episode 4498: name 'args' is not defined +2025-03-10 15:30:03,246 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,246 - ERROR - Error in episode 4499: name 'args' is not defined +2025-03-10 15:30:03,248 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,249 - ERROR - Error in episode 4500: name 'args' is not defined +2025-03-10 15:30:03,251 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,252 - ERROR - Error in episode 4501: name 'args' is not defined +2025-03-10 15:30:03,254 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,255 - ERROR - Error in episode 4502: name 'args' is not defined +2025-03-10 15:30:03,257 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,258 - ERROR - Error in episode 4503: name 'args' is not defined +2025-03-10 15:30:03,260 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,260 - ERROR - Error in episode 4504: name 'args' is not defined +2025-03-10 15:30:03,262 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,263 - ERROR - Error in episode 4505: name 'args' is not defined +2025-03-10 15:30:03,265 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,265 - ERROR - Error in episode 4506: name 'args' is not defined +2025-03-10 15:30:03,268 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,269 - ERROR - Error in episode 4507: name 'args' is not defined +2025-03-10 15:30:03,272 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,273 - ERROR - Error in episode 4508: name 'args' is not defined +2025-03-10 15:30:03,276 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,276 - ERROR - Error in episode 4509: name 'args' is not defined +2025-03-10 15:30:03,279 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,279 - ERROR - Error in episode 4510: name 'args' is not defined +2025-03-10 15:30:03,282 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,282 - ERROR - Error in episode 4511: name 'args' is not defined +2025-03-10 15:30:03,285 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,285 - ERROR - Error in episode 4512: name 'args' is not defined +2025-03-10 15:30:03,288 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,288 - ERROR - Error in episode 4513: name 'args' is not defined +2025-03-10 15:30:03,291 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,291 - ERROR - Error in episode 4514: name 'args' is not defined +2025-03-10 15:30:03,294 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,294 - ERROR - Error in episode 4515: name 'args' is not defined +2025-03-10 15:30:03,297 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,297 - ERROR - Error in episode 4516: name 'args' is not defined +2025-03-10 15:30:03,299 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,300 - ERROR - Error in episode 4517: name 'args' is not defined +2025-03-10 15:30:03,303 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,304 - ERROR - Error in episode 4518: name 'args' is not defined +2025-03-10 15:30:03,306 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,306 - ERROR - Error in episode 4519: name 'args' is not defined +2025-03-10 15:30:03,309 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,309 - ERROR - Error in episode 4520: name 'args' is not defined +2025-03-10 15:30:03,312 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,312 - ERROR - Error in episode 4521: name 'args' is not defined +2025-03-10 15:30:03,315 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,315 - ERROR - Error in episode 4522: name 'args' is not defined +2025-03-10 15:30:03,318 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,318 - ERROR - Error in episode 4523: name 'args' is not defined +2025-03-10 15:30:03,320 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,321 - ERROR - Error in episode 4524: name 'args' is not defined +2025-03-10 15:30:03,323 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,323 - ERROR - Error in episode 4525: name 'args' is not defined +2025-03-10 15:30:03,326 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,326 - ERROR - Error in episode 4526: name 'args' is not defined +2025-03-10 15:30:03,330 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,330 - ERROR - Error in episode 4527: name 'args' is not defined +2025-03-10 15:30:03,333 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,333 - ERROR - Error in episode 4528: name 'args' is not defined +2025-03-10 15:30:03,335 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,336 - ERROR - Error in episode 4529: name 'args' is not defined +2025-03-10 15:30:03,338 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,339 - ERROR - Error in episode 4530: name 'args' is not defined +2025-03-10 15:30:03,341 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,341 - ERROR - Error in episode 4531: name 'args' is not defined +2025-03-10 15:30:03,344 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,345 - ERROR - Error in episode 4532: name 'args' is not defined +2025-03-10 15:30:03,347 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,347 - ERROR - Error in episode 4533: name 'args' is not defined +2025-03-10 15:30:03,350 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,350 - ERROR - Error in episode 4534: name 'args' is not defined +2025-03-10 15:30:03,352 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,353 - ERROR - Error in episode 4535: name 'args' is not defined +2025-03-10 15:30:03,355 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,355 - ERROR - Error in episode 4536: name 'args' is not defined +2025-03-10 15:30:03,357 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,358 - ERROR - Error in episode 4537: name 'args' is not defined +2025-03-10 15:30:03,360 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,361 - ERROR - Error in episode 4538: name 'args' is not defined +2025-03-10 15:30:03,363 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,363 - ERROR - Error in episode 4539: name 'args' is not defined +2025-03-10 15:30:03,366 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,366 - ERROR - Error in episode 4540: name 'args' is not defined +2025-03-10 15:30:03,369 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,369 - ERROR - Error in episode 4541: name 'args' is not defined +2025-03-10 15:30:03,371 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,372 - ERROR - Error in episode 4542: name 'args' is not defined +2025-03-10 15:30:03,374 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,374 - ERROR - Error in episode 4543: name 'args' is not defined +2025-03-10 15:30:03,377 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,377 - ERROR - Error in episode 4544: name 'args' is not defined +2025-03-10 15:30:03,380 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,380 - ERROR - Error in episode 4545: name 'args' is not defined +2025-03-10 15:30:03,383 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,384 - ERROR - Error in episode 4546: name 'args' is not defined +2025-03-10 15:30:03,386 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,386 - ERROR - Error in episode 4547: name 'args' is not defined +2025-03-10 15:30:03,389 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,389 - ERROR - Error in episode 4548: name 'args' is not defined +2025-03-10 15:30:03,392 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,392 - ERROR - Error in episode 4549: name 'args' is not defined +2025-03-10 15:30:03,395 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,395 - ERROR - Error in episode 4550: name 'args' is not defined +2025-03-10 15:30:03,398 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,398 - ERROR - Error in episode 4551: name 'args' is not defined +2025-03-10 15:30:03,401 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,401 - ERROR - Error in episode 4552: name 'args' is not defined +2025-03-10 15:30:03,403 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,404 - ERROR - Error in episode 4553: name 'args' is not defined +2025-03-10 15:30:03,406 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,407 - ERROR - Error in episode 4554: name 'args' is not defined +2025-03-10 15:30:03,409 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,410 - ERROR - Error in episode 4555: name 'args' is not defined +2025-03-10 15:30:03,412 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,412 - ERROR - Error in episode 4556: name 'args' is not defined +2025-03-10 15:30:03,415 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,415 - ERROR - Error in episode 4557: name 'args' is not defined +2025-03-10 15:30:03,419 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,419 - ERROR - Error in episode 4558: name 'args' is not defined +2025-03-10 15:30:03,422 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,422 - ERROR - Error in episode 4559: name 'args' is not defined +2025-03-10 15:30:03,424 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,424 - ERROR - Error in episode 4560: name 'args' is not defined +2025-03-10 15:30:03,428 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,428 - ERROR - Error in episode 4561: name 'args' is not defined +2025-03-10 15:30:03,430 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,431 - ERROR - Error in episode 4562: name 'args' is not defined +2025-03-10 15:30:03,434 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,434 - ERROR - Error in episode 4563: name 'args' is not defined +2025-03-10 15:30:03,436 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,437 - ERROR - Error in episode 4564: name 'args' is not defined +2025-03-10 15:30:03,439 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,439 - ERROR - Error in episode 4565: name 'args' is not defined +2025-03-10 15:30:03,442 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,442 - ERROR - Error in episode 4566: name 'args' is not defined +2025-03-10 15:30:03,445 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,445 - ERROR - Error in episode 4567: name 'args' is not defined +2025-03-10 15:30:03,448 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,448 - ERROR - Error in episode 4568: name 'args' is not defined +2025-03-10 15:30:03,451 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,451 - ERROR - Error in episode 4569: name 'args' is not defined +2025-03-10 15:30:03,454 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,454 - ERROR - Error in episode 4570: name 'args' is not defined +2025-03-10 15:30:03,457 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,457 - ERROR - Error in episode 4571: name 'args' is not defined +2025-03-10 15:30:03,459 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,460 - ERROR - Error in episode 4572: name 'args' is not defined +2025-03-10 15:30:03,462 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,462 - ERROR - Error in episode 4573: name 'args' is not defined +2025-03-10 15:30:03,465 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,465 - ERROR - Error in episode 4574: name 'args' is not defined +2025-03-10 15:30:03,468 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,468 - ERROR - Error in episode 4575: name 'args' is not defined +2025-03-10 15:30:03,470 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,471 - ERROR - Error in episode 4576: name 'args' is not defined +2025-03-10 15:30:03,473 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,474 - ERROR - Error in episode 4577: name 'args' is not defined +2025-03-10 15:30:03,476 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,477 - ERROR - Error in episode 4578: name 'args' is not defined +2025-03-10 15:30:03,479 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,479 - ERROR - Error in episode 4579: name 'args' is not defined +2025-03-10 15:30:03,482 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,482 - ERROR - Error in episode 4580: name 'args' is not defined +2025-03-10 15:30:03,485 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,486 - ERROR - Error in episode 4581: name 'args' is not defined +2025-03-10 15:30:03,488 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,488 - ERROR - Error in episode 4582: name 'args' is not defined +2025-03-10 15:30:03,491 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,491 - ERROR - Error in episode 4583: name 'args' is not defined +2025-03-10 15:30:03,493 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,494 - ERROR - Error in episode 4584: name 'args' is not defined +2025-03-10 15:30:03,496 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,496 - ERROR - Error in episode 4585: name 'args' is not defined +2025-03-10 15:30:03,499 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,499 - ERROR - Error in episode 4586: name 'args' is not defined +2025-03-10 15:30:03,502 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,502 - ERROR - Error in episode 4587: name 'args' is not defined +2025-03-10 15:30:03,505 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,505 - ERROR - Error in episode 4588: name 'args' is not defined +2025-03-10 15:30:03,508 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,508 - ERROR - Error in episode 4589: name 'args' is not defined +2025-03-10 15:30:03,510 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,511 - ERROR - Error in episode 4590: name 'args' is not defined +2025-03-10 15:30:03,513 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,513 - ERROR - Error in episode 4591: name 'args' is not defined +2025-03-10 15:30:03,515 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,516 - ERROR - Error in episode 4592: name 'args' is not defined +2025-03-10 15:30:03,518 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,518 - ERROR - Error in episode 4593: name 'args' is not defined +2025-03-10 15:30:03,520 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,521 - ERROR - Error in episode 4594: name 'args' is not defined +2025-03-10 15:30:03,523 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,523 - ERROR - Error in episode 4595: name 'args' is not defined +2025-03-10 15:30:03,525 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,526 - ERROR - Error in episode 4596: name 'args' is not defined +2025-03-10 15:30:03,528 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,529 - ERROR - Error in episode 4597: name 'args' is not defined +2025-03-10 15:30:03,531 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,531 - ERROR - Error in episode 4598: name 'args' is not defined +2025-03-10 15:30:03,534 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,534 - ERROR - Error in episode 4599: name 'args' is not defined +2025-03-10 15:30:03,536 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,536 - ERROR - Error in episode 4600: name 'args' is not defined +2025-03-10 15:30:03,539 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,539 - ERROR - Error in episode 4601: name 'args' is not defined +2025-03-10 15:30:03,542 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,543 - ERROR - Error in episode 4602: name 'args' is not defined +2025-03-10 15:30:03,546 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,547 - ERROR - Error in episode 4603: name 'args' is not defined +2025-03-10 15:30:03,550 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,550 - ERROR - Error in episode 4604: name 'args' is not defined +2025-03-10 15:30:03,553 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,553 - ERROR - Error in episode 4605: name 'args' is not defined +2025-03-10 15:30:03,555 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,556 - ERROR - Error in episode 4606: name 'args' is not defined +2025-03-10 15:30:03,558 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,559 - ERROR - Error in episode 4607: name 'args' is not defined +2025-03-10 15:30:03,561 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,561 - ERROR - Error in episode 4608: name 'args' is not defined +2025-03-10 15:30:03,563 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,564 - ERROR - Error in episode 4609: name 'args' is not defined +2025-03-10 15:30:03,566 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,567 - ERROR - Error in episode 4610: name 'args' is not defined +2025-03-10 15:30:03,569 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,569 - ERROR - Error in episode 4611: name 'args' is not defined +2025-03-10 15:30:03,572 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,572 - ERROR - Error in episode 4612: name 'args' is not defined +2025-03-10 15:30:03,575 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,576 - ERROR - Error in episode 4613: name 'args' is not defined +2025-03-10 15:30:03,578 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,578 - ERROR - Error in episode 4614: name 'args' is not defined +2025-03-10 15:30:03,581 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,581 - ERROR - Error in episode 4615: name 'args' is not defined +2025-03-10 15:30:03,584 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,584 - ERROR - Error in episode 4616: name 'args' is not defined +2025-03-10 15:30:03,587 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,587 - ERROR - Error in episode 4617: name 'args' is not defined +2025-03-10 15:30:03,589 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,590 - ERROR - Error in episode 4618: name 'args' is not defined +2025-03-10 15:30:03,592 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,593 - ERROR - Error in episode 4619: name 'args' is not defined +2025-03-10 15:30:03,595 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,595 - ERROR - Error in episode 4620: name 'args' is not defined +2025-03-10 15:30:03,598 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,598 - ERROR - Error in episode 4621: name 'args' is not defined +2025-03-10 15:30:03,601 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,601 - ERROR - Error in episode 4622: name 'args' is not defined +2025-03-10 15:30:03,603 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,604 - ERROR - Error in episode 4623: name 'args' is not defined +2025-03-10 15:30:03,606 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,606 - ERROR - Error in episode 4624: name 'args' is not defined +2025-03-10 15:30:03,609 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,609 - ERROR - Error in episode 4625: name 'args' is not defined +2025-03-10 15:30:03,613 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,613 - ERROR - Error in episode 4626: name 'args' is not defined +2025-03-10 15:30:03,615 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,615 - ERROR - Error in episode 4627: name 'args' is not defined +2025-03-10 15:30:03,618 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,618 - ERROR - Error in episode 4628: name 'args' is not defined +2025-03-10 15:30:03,621 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,621 - ERROR - Error in episode 4629: name 'args' is not defined +2025-03-10 15:30:03,624 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,624 - ERROR - Error in episode 4630: name 'args' is not defined +2025-03-10 15:30:03,627 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,627 - ERROR - Error in episode 4631: name 'args' is not defined +2025-03-10 15:30:03,630 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,631 - ERROR - Error in episode 4632: name 'args' is not defined +2025-03-10 15:30:03,633 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,634 - ERROR - Error in episode 4633: name 'args' is not defined +2025-03-10 15:30:03,638 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,638 - ERROR - Error in episode 4634: name 'args' is not defined +2025-03-10 15:30:03,641 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,641 - ERROR - Error in episode 4635: name 'args' is not defined +2025-03-10 15:30:03,644 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,644 - ERROR - Error in episode 4636: name 'args' is not defined +2025-03-10 15:30:03,646 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,646 - ERROR - Error in episode 4637: name 'args' is not defined +2025-03-10 15:30:03,649 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,650 - ERROR - Error in episode 4638: name 'args' is not defined +2025-03-10 15:30:03,652 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,652 - ERROR - Error in episode 4639: name 'args' is not defined +2025-03-10 15:30:03,656 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,656 - ERROR - Error in episode 4640: name 'args' is not defined +2025-03-10 15:30:03,659 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,659 - ERROR - Error in episode 4641: name 'args' is not defined +2025-03-10 15:30:03,661 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,662 - ERROR - Error in episode 4642: name 'args' is not defined +2025-03-10 15:30:03,664 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,664 - ERROR - Error in episode 4643: name 'args' is not defined +2025-03-10 15:30:03,667 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,668 - ERROR - Error in episode 4644: name 'args' is not defined +2025-03-10 15:30:03,670 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,671 - ERROR - Error in episode 4645: name 'args' is not defined +2025-03-10 15:30:03,674 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,675 - ERROR - Error in episode 4646: name 'args' is not defined +2025-03-10 15:30:03,678 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,679 - ERROR - Error in episode 4647: name 'args' is not defined +2025-03-10 15:30:03,681 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,681 - ERROR - Error in episode 4648: name 'args' is not defined +2025-03-10 15:30:03,684 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,684 - ERROR - Error in episode 4649: name 'args' is not defined +2025-03-10 15:30:03,687 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,687 - ERROR - Error in episode 4650: name 'args' is not defined +2025-03-10 15:30:03,690 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,690 - ERROR - Error in episode 4651: name 'args' is not defined +2025-03-10 15:30:03,693 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,693 - ERROR - Error in episode 4652: name 'args' is not defined +2025-03-10 15:30:03,695 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,696 - ERROR - Error in episode 4653: name 'args' is not defined +2025-03-10 15:30:03,698 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,699 - ERROR - Error in episode 4654: name 'args' is not defined +2025-03-10 15:30:03,701 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,702 - ERROR - Error in episode 4655: name 'args' is not defined +2025-03-10 15:30:03,704 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,705 - ERROR - Error in episode 4656: name 'args' is not defined +2025-03-10 15:30:03,708 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,708 - ERROR - Error in episode 4657: name 'args' is not defined +2025-03-10 15:30:03,711 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,711 - ERROR - Error in episode 4658: name 'args' is not defined +2025-03-10 15:30:03,713 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,713 - ERROR - Error in episode 4659: name 'args' is not defined +2025-03-10 15:30:03,716 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,716 - ERROR - Error in episode 4660: name 'args' is not defined +2025-03-10 15:30:03,719 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,720 - ERROR - Error in episode 4661: name 'args' is not defined +2025-03-10 15:30:03,722 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,722 - ERROR - Error in episode 4662: name 'args' is not defined +2025-03-10 15:30:03,725 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,725 - ERROR - Error in episode 4663: name 'args' is not defined +2025-03-10 15:30:03,727 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,728 - ERROR - Error in episode 4664: name 'args' is not defined +2025-03-10 15:30:03,730 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,731 - ERROR - Error in episode 4665: name 'args' is not defined +2025-03-10 15:30:03,733 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,734 - ERROR - Error in episode 4666: name 'args' is not defined +2025-03-10 15:30:03,737 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,737 - ERROR - Error in episode 4667: name 'args' is not defined +2025-03-10 15:30:03,739 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,739 - ERROR - Error in episode 4668: name 'args' is not defined +2025-03-10 15:30:03,743 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,743 - ERROR - Error in episode 4669: name 'args' is not defined +2025-03-10 15:30:03,746 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,746 - ERROR - Error in episode 4670: name 'args' is not defined +2025-03-10 15:30:03,748 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,749 - ERROR - Error in episode 4671: name 'args' is not defined +2025-03-10 15:30:03,752 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,752 - ERROR - Error in episode 4672: name 'args' is not defined +2025-03-10 15:30:03,754 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,755 - ERROR - Error in episode 4673: name 'args' is not defined +2025-03-10 15:30:03,757 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,757 - ERROR - Error in episode 4674: name 'args' is not defined +2025-03-10 15:30:03,760 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,761 - ERROR - Error in episode 4675: name 'args' is not defined +2025-03-10 15:30:03,763 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,764 - ERROR - Error in episode 4676: name 'args' is not defined +2025-03-10 15:30:03,766 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,767 - ERROR - Error in episode 4677: name 'args' is not defined +2025-03-10 15:30:03,769 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,770 - ERROR - Error in episode 4678: name 'args' is not defined +2025-03-10 15:30:03,772 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,773 - ERROR - Error in episode 4679: name 'args' is not defined +2025-03-10 15:30:03,775 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,776 - ERROR - Error in episode 4680: name 'args' is not defined +2025-03-10 15:30:03,778 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,778 - ERROR - Error in episode 4681: name 'args' is not defined +2025-03-10 15:30:03,781 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,782 - ERROR - Error in episode 4682: name 'args' is not defined +2025-03-10 15:30:03,784 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,785 - ERROR - Error in episode 4683: name 'args' is not defined +2025-03-10 15:30:03,787 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,788 - ERROR - Error in episode 4684: name 'args' is not defined +2025-03-10 15:30:03,790 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,791 - ERROR - Error in episode 4685: name 'args' is not defined +2025-03-10 15:30:03,794 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,794 - ERROR - Error in episode 4686: name 'args' is not defined +2025-03-10 15:30:03,796 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,797 - ERROR - Error in episode 4687: name 'args' is not defined +2025-03-10 15:30:03,799 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,799 - ERROR - Error in episode 4688: name 'args' is not defined +2025-03-10 15:30:03,801 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,802 - ERROR - Error in episode 4689: name 'args' is not defined +2025-03-10 15:30:03,805 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,805 - ERROR - Error in episode 4690: name 'args' is not defined +2025-03-10 15:30:03,808 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,808 - ERROR - Error in episode 4691: name 'args' is not defined +2025-03-10 15:30:03,812 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,812 - ERROR - Error in episode 4692: name 'args' is not defined +2025-03-10 15:30:03,814 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,815 - ERROR - Error in episode 4693: name 'args' is not defined +2025-03-10 15:30:03,817 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,817 - ERROR - Error in episode 4694: name 'args' is not defined +2025-03-10 15:30:03,820 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,820 - ERROR - Error in episode 4695: name 'args' is not defined +2025-03-10 15:30:03,822 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,823 - ERROR - Error in episode 4696: name 'args' is not defined +2025-03-10 15:30:03,825 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,826 - ERROR - Error in episode 4697: name 'args' is not defined +2025-03-10 15:30:03,828 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,829 - ERROR - Error in episode 4698: name 'args' is not defined +2025-03-10 15:30:03,831 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,831 - ERROR - Error in episode 4699: name 'args' is not defined +2025-03-10 15:30:03,834 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,834 - ERROR - Error in episode 4700: name 'args' is not defined +2025-03-10 15:30:03,837 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,838 - ERROR - Error in episode 4701: name 'args' is not defined +2025-03-10 15:30:03,840 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,840 - ERROR - Error in episode 4702: name 'args' is not defined +2025-03-10 15:30:03,843 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,843 - ERROR - Error in episode 4703: name 'args' is not defined +2025-03-10 15:30:03,845 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,846 - ERROR - Error in episode 4704: name 'args' is not defined +2025-03-10 15:30:03,848 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,848 - ERROR - Error in episode 4705: name 'args' is not defined +2025-03-10 15:30:03,851 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,851 - ERROR - Error in episode 4706: name 'args' is not defined +2025-03-10 15:30:03,853 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,854 - ERROR - Error in episode 4707: name 'args' is not defined +2025-03-10 15:30:03,856 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,856 - ERROR - Error in episode 4708: name 'args' is not defined +2025-03-10 15:30:03,860 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,860 - ERROR - Error in episode 4709: name 'args' is not defined +2025-03-10 15:30:03,863 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,863 - ERROR - Error in episode 4710: name 'args' is not defined +2025-03-10 15:30:03,865 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,866 - ERROR - Error in episode 4711: name 'args' is not defined +2025-03-10 15:30:03,868 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,868 - ERROR - Error in episode 4712: name 'args' is not defined +2025-03-10 15:30:03,870 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,871 - ERROR - Error in episode 4713: name 'args' is not defined +2025-03-10 15:30:03,873 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,873 - ERROR - Error in episode 4714: name 'args' is not defined +2025-03-10 15:30:03,876 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,877 - ERROR - Error in episode 4715: name 'args' is not defined +2025-03-10 15:30:03,879 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,879 - ERROR - Error in episode 4716: name 'args' is not defined +2025-03-10 15:30:03,881 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,882 - ERROR - Error in episode 4717: name 'args' is not defined +2025-03-10 15:30:03,884 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,885 - ERROR - Error in episode 4718: name 'args' is not defined +2025-03-10 15:30:03,887 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,887 - ERROR - Error in episode 4719: name 'args' is not defined +2025-03-10 15:30:03,890 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,890 - ERROR - Error in episode 4720: name 'args' is not defined +2025-03-10 15:30:03,893 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,893 - ERROR - Error in episode 4721: name 'args' is not defined +2025-03-10 15:30:03,895 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,896 - ERROR - Error in episode 4722: name 'args' is not defined +2025-03-10 15:30:03,898 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,899 - ERROR - Error in episode 4723: name 'args' is not defined +2025-03-10 15:30:03,901 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,902 - ERROR - Error in episode 4724: name 'args' is not defined +2025-03-10 15:30:03,904 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,905 - ERROR - Error in episode 4725: name 'args' is not defined +2025-03-10 15:30:03,907 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,909 - ERROR - Error in episode 4726: name 'args' is not defined +2025-03-10 15:30:03,911 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,911 - ERROR - Error in episode 4727: name 'args' is not defined +2025-03-10 15:30:03,914 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,914 - ERROR - Error in episode 4728: name 'args' is not defined +2025-03-10 15:30:03,917 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,917 - ERROR - Error in episode 4729: name 'args' is not defined +2025-03-10 15:30:03,920 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,920 - ERROR - Error in episode 4730: name 'args' is not defined +2025-03-10 15:30:03,922 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,923 - ERROR - Error in episode 4731: name 'args' is not defined +2025-03-10 15:30:03,925 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,926 - ERROR - Error in episode 4732: name 'args' is not defined +2025-03-10 15:30:03,929 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,929 - ERROR - Error in episode 4733: name 'args' is not defined +2025-03-10 15:30:03,931 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,932 - ERROR - Error in episode 4734: name 'args' is not defined +2025-03-10 15:30:03,934 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,934 - ERROR - Error in episode 4735: name 'args' is not defined +2025-03-10 15:30:03,937 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,937 - ERROR - Error in episode 4736: name 'args' is not defined +2025-03-10 15:30:03,939 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,940 - ERROR - Error in episode 4737: name 'args' is not defined +2025-03-10 15:30:03,943 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,943 - ERROR - Error in episode 4738: name 'args' is not defined +2025-03-10 15:30:03,945 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,946 - ERROR - Error in episode 4739: name 'args' is not defined +2025-03-10 15:30:03,949 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,949 - ERROR - Error in episode 4740: name 'args' is not defined +2025-03-10 15:30:03,952 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,953 - ERROR - Error in episode 4741: name 'args' is not defined +2025-03-10 15:30:03,955 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,955 - ERROR - Error in episode 4742: name 'args' is not defined +2025-03-10 15:30:03,958 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,959 - ERROR - Error in episode 4743: name 'args' is not defined +2025-03-10 15:30:03,961 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,961 - ERROR - Error in episode 4744: name 'args' is not defined +2025-03-10 15:30:03,964 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,964 - ERROR - Error in episode 4745: name 'args' is not defined +2025-03-10 15:30:03,967 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,967 - ERROR - Error in episode 4746: name 'args' is not defined +2025-03-10 15:30:03,969 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,970 - ERROR - Error in episode 4747: name 'args' is not defined +2025-03-10 15:30:03,972 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,972 - ERROR - Error in episode 4748: name 'args' is not defined +2025-03-10 15:30:03,975 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,975 - ERROR - Error in episode 4749: name 'args' is not defined +2025-03-10 15:30:03,977 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,978 - ERROR - Error in episode 4750: name 'args' is not defined +2025-03-10 15:30:03,980 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,980 - ERROR - Error in episode 4751: name 'args' is not defined +2025-03-10 15:30:03,984 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,984 - ERROR - Error in episode 4752: name 'args' is not defined +2025-03-10 15:30:03,986 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,986 - ERROR - Error in episode 4753: name 'args' is not defined +2025-03-10 15:30:03,988 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,989 - ERROR - Error in episode 4754: name 'args' is not defined +2025-03-10 15:30:03,991 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,992 - ERROR - Error in episode 4755: name 'args' is not defined +2025-03-10 15:30:03,994 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,994 - ERROR - Error in episode 4756: name 'args' is not defined +2025-03-10 15:30:03,997 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:03,997 - ERROR - Error in episode 4757: name 'args' is not defined +2025-03-10 15:30:04,000 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,000 - ERROR - Error in episode 4758: name 'args' is not defined +2025-03-10 15:30:04,003 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,004 - ERROR - Error in episode 4759: name 'args' is not defined +2025-03-10 15:30:04,006 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,006 - ERROR - Error in episode 4760: name 'args' is not defined +2025-03-10 15:30:04,009 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,010 - ERROR - Error in episode 4761: name 'args' is not defined +2025-03-10 15:30:04,012 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,012 - ERROR - Error in episode 4762: name 'args' is not defined +2025-03-10 15:30:04,015 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,015 - ERROR - Error in episode 4763: name 'args' is not defined +2025-03-10 15:30:04,018 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,018 - ERROR - Error in episode 4764: name 'args' is not defined +2025-03-10 15:30:04,021 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,021 - ERROR - Error in episode 4765: name 'args' is not defined +2025-03-10 15:30:04,023 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,024 - ERROR - Error in episode 4766: name 'args' is not defined +2025-03-10 15:30:04,026 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,026 - ERROR - Error in episode 4767: name 'args' is not defined +2025-03-10 15:30:04,029 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,029 - ERROR - Error in episode 4768: name 'args' is not defined +2025-03-10 15:30:04,032 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,032 - ERROR - Error in episode 4769: name 'args' is not defined +2025-03-10 15:30:04,035 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,036 - ERROR - Error in episode 4770: name 'args' is not defined +2025-03-10 15:30:04,038 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,038 - ERROR - Error in episode 4771: name 'args' is not defined +2025-03-10 15:30:04,041 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,041 - ERROR - Error in episode 4772: name 'args' is not defined +2025-03-10 15:30:04,044 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,044 - ERROR - Error in episode 4773: name 'args' is not defined +2025-03-10 15:30:04,047 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,047 - ERROR - Error in episode 4774: name 'args' is not defined +2025-03-10 15:30:04,050 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,050 - ERROR - Error in episode 4775: name 'args' is not defined +2025-03-10 15:30:04,053 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,053 - ERROR - Error in episode 4776: name 'args' is not defined +2025-03-10 15:30:04,055 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,056 - ERROR - Error in episode 4777: name 'args' is not defined +2025-03-10 15:30:04,059 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,060 - ERROR - Error in episode 4778: name 'args' is not defined +2025-03-10 15:30:04,062 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,063 - ERROR - Error in episode 4779: name 'args' is not defined +2025-03-10 15:30:04,065 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,065 - ERROR - Error in episode 4780: name 'args' is not defined +2025-03-10 15:30:04,068 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,068 - ERROR - Error in episode 4781: name 'args' is not defined +2025-03-10 15:30:04,071 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,071 - ERROR - Error in episode 4782: name 'args' is not defined +2025-03-10 15:30:04,074 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,074 - ERROR - Error in episode 4783: name 'args' is not defined +2025-03-10 15:30:04,076 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,077 - ERROR - Error in episode 4784: name 'args' is not defined +2025-03-10 15:30:04,079 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,080 - ERROR - Error in episode 4785: name 'args' is not defined +2025-03-10 15:30:04,082 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,082 - ERROR - Error in episode 4786: name 'args' is not defined +2025-03-10 15:30:04,085 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,086 - ERROR - Error in episode 4787: name 'args' is not defined +2025-03-10 15:30:04,088 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,089 - ERROR - Error in episode 4788: name 'args' is not defined +2025-03-10 15:30:04,091 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,091 - ERROR - Error in episode 4789: name 'args' is not defined +2025-03-10 15:30:04,094 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,094 - ERROR - Error in episode 4790: name 'args' is not defined +2025-03-10 15:30:04,096 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,097 - ERROR - Error in episode 4791: name 'args' is not defined +2025-03-10 15:30:04,100 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,100 - ERROR - Error in episode 4792: name 'args' is not defined +2025-03-10 15:30:04,102 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,103 - ERROR - Error in episode 4793: name 'args' is not defined +2025-03-10 15:30:04,105 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,105 - ERROR - Error in episode 4794: name 'args' is not defined +2025-03-10 15:30:04,109 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,109 - ERROR - Error in episode 4795: name 'args' is not defined +2025-03-10 15:30:04,111 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,112 - ERROR - Error in episode 4796: name 'args' is not defined +2025-03-10 15:30:04,114 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,114 - ERROR - Error in episode 4797: name 'args' is not defined +2025-03-10 15:30:04,117 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,117 - ERROR - Error in episode 4798: name 'args' is not defined +2025-03-10 15:30:04,119 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,120 - ERROR - Error in episode 4799: name 'args' is not defined +2025-03-10 15:30:04,122 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,122 - ERROR - Error in episode 4800: name 'args' is not defined +2025-03-10 15:30:04,125 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,126 - ERROR - Error in episode 4801: name 'args' is not defined +2025-03-10 15:30:04,127 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,129 - ERROR - Error in episode 4802: name 'args' is not defined +2025-03-10 15:30:04,131 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,131 - ERROR - Error in episode 4803: name 'args' is not defined +2025-03-10 15:30:04,134 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,134 - ERROR - Error in episode 4804: name 'args' is not defined +2025-03-10 15:30:04,137 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,137 - ERROR - Error in episode 4805: name 'args' is not defined +2025-03-10 15:30:04,139 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,140 - ERROR - Error in episode 4806: name 'args' is not defined +2025-03-10 15:30:04,143 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,143 - ERROR - Error in episode 4807: name 'args' is not defined +2025-03-10 15:30:04,146 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,146 - ERROR - Error in episode 4808: name 'args' is not defined +2025-03-10 15:30:04,149 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,149 - ERROR - Error in episode 4809: name 'args' is not defined +2025-03-10 15:30:04,152 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,152 - ERROR - Error in episode 4810: name 'args' is not defined +2025-03-10 15:30:04,155 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,155 - ERROR - Error in episode 4811: name 'args' is not defined +2025-03-10 15:30:04,158 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,159 - ERROR - Error in episode 4812: name 'args' is not defined +2025-03-10 15:30:04,161 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,161 - ERROR - Error in episode 4813: name 'args' is not defined +2025-03-10 15:30:04,164 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,164 - ERROR - Error in episode 4814: name 'args' is not defined +2025-03-10 15:30:04,167 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,168 - ERROR - Error in episode 4815: name 'args' is not defined +2025-03-10 15:30:04,170 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,170 - ERROR - Error in episode 4816: name 'args' is not defined +2025-03-10 15:30:04,172 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,173 - ERROR - Error in episode 4817: name 'args' is not defined +2025-03-10 15:30:04,175 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,175 - ERROR - Error in episode 4818: name 'args' is not defined +2025-03-10 15:30:04,178 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,178 - ERROR - Error in episode 4819: name 'args' is not defined +2025-03-10 15:30:04,180 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,181 - ERROR - Error in episode 4820: name 'args' is not defined +2025-03-10 15:30:04,183 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,184 - ERROR - Error in episode 4821: name 'args' is not defined +2025-03-10 15:30:04,186 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,186 - ERROR - Error in episode 4822: name 'args' is not defined +2025-03-10 15:30:04,190 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,190 - ERROR - Error in episode 4823: name 'args' is not defined +2025-03-10 15:30:04,194 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,195 - ERROR - Error in episode 4824: name 'args' is not defined +2025-03-10 15:30:04,198 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,198 - ERROR - Error in episode 4825: name 'args' is not defined +2025-03-10 15:30:04,202 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,203 - ERROR - Error in episode 4826: name 'args' is not defined +2025-03-10 15:30:04,205 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,206 - ERROR - Error in episode 4827: name 'args' is not defined +2025-03-10 15:30:04,209 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,209 - ERROR - Error in episode 4828: name 'args' is not defined +2025-03-10 15:30:04,211 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,212 - ERROR - Error in episode 4829: name 'args' is not defined +2025-03-10 15:30:04,214 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,215 - ERROR - Error in episode 4830: name 'args' is not defined +2025-03-10 15:30:04,217 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,217 - ERROR - Error in episode 4831: name 'args' is not defined +2025-03-10 15:30:04,221 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,221 - ERROR - Error in episode 4832: name 'args' is not defined +2025-03-10 15:30:04,223 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,224 - ERROR - Error in episode 4833: name 'args' is not defined +2025-03-10 15:30:04,226 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,226 - ERROR - Error in episode 4834: name 'args' is not defined +2025-03-10 15:30:04,229 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,230 - ERROR - Error in episode 4835: name 'args' is not defined +2025-03-10 15:30:04,232 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,233 - ERROR - Error in episode 4836: name 'args' is not defined +2025-03-10 15:30:04,235 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,235 - ERROR - Error in episode 4837: name 'args' is not defined +2025-03-10 15:30:04,238 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,238 - ERROR - Error in episode 4838: name 'args' is not defined +2025-03-10 15:30:04,241 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,242 - ERROR - Error in episode 4839: name 'args' is not defined +2025-03-10 15:30:04,244 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,244 - ERROR - Error in episode 4840: name 'args' is not defined +2025-03-10 15:30:04,247 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,247 - ERROR - Error in episode 4841: name 'args' is not defined +2025-03-10 15:30:04,250 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,251 - ERROR - Error in episode 4842: name 'args' is not defined +2025-03-10 15:30:04,253 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,253 - ERROR - Error in episode 4843: name 'args' is not defined +2025-03-10 15:30:04,256 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,256 - ERROR - Error in episode 4844: name 'args' is not defined +2025-03-10 15:30:04,259 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,260 - ERROR - Error in episode 4845: name 'args' is not defined +2025-03-10 15:30:04,262 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,262 - ERROR - Error in episode 4846: name 'args' is not defined +2025-03-10 15:30:04,266 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,266 - ERROR - Error in episode 4847: name 'args' is not defined +2025-03-10 15:30:04,268 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,268 - ERROR - Error in episode 4848: name 'args' is not defined +2025-03-10 15:30:04,270 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,271 - ERROR - Error in episode 4849: name 'args' is not defined +2025-03-10 15:30:04,273 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,275 - ERROR - Error in episode 4850: name 'args' is not defined +2025-03-10 15:30:04,276 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,276 - ERROR - Error in episode 4851: name 'args' is not defined +2025-03-10 15:30:04,279 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,279 - ERROR - Error in episode 4852: name 'args' is not defined +2025-03-10 15:30:04,283 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,284 - ERROR - Error in episode 4853: name 'args' is not defined +2025-03-10 15:30:04,286 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,287 - ERROR - Error in episode 4854: name 'args' is not defined +2025-03-10 15:30:04,289 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,290 - ERROR - Error in episode 4855: name 'args' is not defined +2025-03-10 15:30:04,292 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,292 - ERROR - Error in episode 4856: name 'args' is not defined +2025-03-10 15:30:04,294 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,295 - ERROR - Error in episode 4857: name 'args' is not defined +2025-03-10 15:30:04,297 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,297 - ERROR - Error in episode 4858: name 'args' is not defined +2025-03-10 15:30:04,300 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,300 - ERROR - Error in episode 4859: name 'args' is not defined +2025-03-10 15:30:04,303 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,303 - ERROR - Error in episode 4860: name 'args' is not defined +2025-03-10 15:30:04,305 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,306 - ERROR - Error in episode 4861: name 'args' is not defined +2025-03-10 15:30:04,309 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,309 - ERROR - Error in episode 4862: name 'args' is not defined +2025-03-10 15:30:04,312 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,313 - ERROR - Error in episode 4863: name 'args' is not defined +2025-03-10 15:30:04,315 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,316 - ERROR - Error in episode 4864: name 'args' is not defined +2025-03-10 15:30:04,318 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,318 - ERROR - Error in episode 4865: name 'args' is not defined +2025-03-10 15:30:04,321 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,321 - ERROR - Error in episode 4866: name 'args' is not defined +2025-03-10 15:30:04,324 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,324 - ERROR - Error in episode 4867: name 'args' is not defined +2025-03-10 15:30:04,327 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,328 - ERROR - Error in episode 4868: name 'args' is not defined +2025-03-10 15:30:04,330 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,330 - ERROR - Error in episode 4869: name 'args' is not defined +2025-03-10 15:30:04,333 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,334 - ERROR - Error in episode 4870: name 'args' is not defined +2025-03-10 15:30:04,336 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,336 - ERROR - Error in episode 4871: name 'args' is not defined +2025-03-10 15:30:04,339 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,339 - ERROR - Error in episode 4872: name 'args' is not defined +2025-03-10 15:30:04,342 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,342 - ERROR - Error in episode 4873: name 'args' is not defined +2025-03-10 15:30:04,345 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,345 - ERROR - Error in episode 4874: name 'args' is not defined +2025-03-10 15:30:04,348 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,348 - ERROR - Error in episode 4875: name 'args' is not defined +2025-03-10 15:30:04,351 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,351 - ERROR - Error in episode 4876: name 'args' is not defined +2025-03-10 15:30:04,353 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,354 - ERROR - Error in episode 4877: name 'args' is not defined +2025-03-10 15:30:04,356 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,356 - ERROR - Error in episode 4878: name 'args' is not defined +2025-03-10 15:30:04,359 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,360 - ERROR - Error in episode 4879: name 'args' is not defined +2025-03-10 15:30:04,362 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,363 - ERROR - Error in episode 4880: name 'args' is not defined +2025-03-10 15:30:04,365 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,366 - ERROR - Error in episode 4881: name 'args' is not defined +2025-03-10 15:30:04,369 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,369 - ERROR - Error in episode 4882: name 'args' is not defined +2025-03-10 15:30:04,371 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,372 - ERROR - Error in episode 4883: name 'args' is not defined +2025-03-10 15:30:04,374 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,374 - ERROR - Error in episode 4884: name 'args' is not defined +2025-03-10 15:30:04,377 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,377 - ERROR - Error in episode 4885: name 'args' is not defined +2025-03-10 15:30:04,380 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,380 - ERROR - Error in episode 4886: name 'args' is not defined +2025-03-10 15:30:04,382 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,382 - ERROR - Error in episode 4887: name 'args' is not defined +2025-03-10 15:30:04,385 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,385 - ERROR - Error in episode 4888: name 'args' is not defined +2025-03-10 15:30:04,388 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,388 - ERROR - Error in episode 4889: name 'args' is not defined +2025-03-10 15:30:04,391 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,392 - ERROR - Error in episode 4890: name 'args' is not defined +2025-03-10 15:30:04,394 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,394 - ERROR - Error in episode 4891: name 'args' is not defined +2025-03-10 15:30:04,397 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,397 - ERROR - Error in episode 4892: name 'args' is not defined +2025-03-10 15:30:04,400 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,400 - ERROR - Error in episode 4893: name 'args' is not defined +2025-03-10 15:30:04,402 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,403 - ERROR - Error in episode 4894: name 'args' is not defined +2025-03-10 15:30:04,405 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,405 - ERROR - Error in episode 4895: name 'args' is not defined +2025-03-10 15:30:04,408 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,408 - ERROR - Error in episode 4896: name 'args' is not defined +2025-03-10 15:30:04,410 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,411 - ERROR - Error in episode 4897: name 'args' is not defined +2025-03-10 15:30:04,414 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,414 - ERROR - Error in episode 4898: name 'args' is not defined +2025-03-10 15:30:04,417 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,418 - ERROR - Error in episode 4899: name 'args' is not defined +2025-03-10 15:30:04,420 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,420 - ERROR - Error in episode 4900: name 'args' is not defined +2025-03-10 15:30:04,424 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,424 - ERROR - Error in episode 4901: name 'args' is not defined +2025-03-10 15:30:04,426 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,427 - ERROR - Error in episode 4902: name 'args' is not defined +2025-03-10 15:30:04,429 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,429 - ERROR - Error in episode 4903: name 'args' is not defined +2025-03-10 15:30:04,432 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,432 - ERROR - Error in episode 4904: name 'args' is not defined +2025-03-10 15:30:04,435 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,436 - ERROR - Error in episode 4905: name 'args' is not defined +2025-03-10 15:30:04,439 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,439 - ERROR - Error in episode 4906: name 'args' is not defined +2025-03-10 15:30:04,441 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,442 - ERROR - Error in episode 4907: name 'args' is not defined +2025-03-10 15:30:04,444 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,445 - ERROR - Error in episode 4908: name 'args' is not defined +2025-03-10 15:30:04,447 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,448 - ERROR - Error in episode 4909: name 'args' is not defined +2025-03-10 15:30:04,450 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,451 - ERROR - Error in episode 4910: name 'args' is not defined +2025-03-10 15:30:04,454 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,455 - ERROR - Error in episode 4911: name 'args' is not defined +2025-03-10 15:30:04,457 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,458 - ERROR - Error in episode 4912: name 'args' is not defined +2025-03-10 15:30:04,460 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,461 - ERROR - Error in episode 4913: name 'args' is not defined +2025-03-10 15:30:04,463 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,463 - ERROR - Error in episode 4914: name 'args' is not defined +2025-03-10 15:30:04,466 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,466 - ERROR - Error in episode 4915: name 'args' is not defined +2025-03-10 15:30:04,469 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,469 - ERROR - Error in episode 4916: name 'args' is not defined +2025-03-10 15:30:04,472 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,472 - ERROR - Error in episode 4917: name 'args' is not defined +2025-03-10 15:30:04,475 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,475 - ERROR - Error in episode 4918: name 'args' is not defined +2025-03-10 15:30:04,478 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,478 - ERROR - Error in episode 4919: name 'args' is not defined +2025-03-10 15:30:04,481 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,481 - ERROR - Error in episode 4920: name 'args' is not defined +2025-03-10 15:30:04,484 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,484 - ERROR - Error in episode 4921: name 'args' is not defined +2025-03-10 15:30:04,486 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,487 - ERROR - Error in episode 4922: name 'args' is not defined +2025-03-10 15:30:04,490 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,490 - ERROR - Error in episode 4923: name 'args' is not defined +2025-03-10 15:30:04,493 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,494 - ERROR - Error in episode 4924: name 'args' is not defined +2025-03-10 15:30:04,496 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,496 - ERROR - Error in episode 4925: name 'args' is not defined +2025-03-10 15:30:04,499 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,499 - ERROR - Error in episode 4926: name 'args' is not defined +2025-03-10 15:30:04,502 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,502 - ERROR - Error in episode 4927: name 'args' is not defined +2025-03-10 15:30:04,506 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,506 - ERROR - Error in episode 4928: name 'args' is not defined +2025-03-10 15:30:04,508 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,509 - ERROR - Error in episode 4929: name 'args' is not defined +2025-03-10 15:30:04,511 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,511 - ERROR - Error in episode 4930: name 'args' is not defined +2025-03-10 15:30:04,514 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,514 - ERROR - Error in episode 4931: name 'args' is not defined +2025-03-10 15:30:04,517 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,517 - ERROR - Error in episode 4932: name 'args' is not defined +2025-03-10 15:30:04,520 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,520 - ERROR - Error in episode 4933: name 'args' is not defined +2025-03-10 15:30:04,522 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,523 - ERROR - Error in episode 4934: name 'args' is not defined +2025-03-10 15:30:04,525 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,525 - ERROR - Error in episode 4935: name 'args' is not defined +2025-03-10 15:30:04,527 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,529 - ERROR - Error in episode 4936: name 'args' is not defined +2025-03-10 15:30:04,531 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,531 - ERROR - Error in episode 4937: name 'args' is not defined +2025-03-10 15:30:04,534 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,534 - ERROR - Error in episode 4938: name 'args' is not defined +2025-03-10 15:30:04,536 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,536 - ERROR - Error in episode 4939: name 'args' is not defined +2025-03-10 15:30:04,539 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,539 - ERROR - Error in episode 4940: name 'args' is not defined +2025-03-10 15:30:04,542 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,543 - ERROR - Error in episode 4941: name 'args' is not defined +2025-03-10 15:30:04,545 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,545 - ERROR - Error in episode 4942: name 'args' is not defined +2025-03-10 15:30:04,548 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,548 - ERROR - Error in episode 4943: name 'args' is not defined +2025-03-10 15:30:04,550 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,551 - ERROR - Error in episode 4944: name 'args' is not defined +2025-03-10 15:30:04,554 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,554 - ERROR - Error in episode 4945: name 'args' is not defined +2025-03-10 15:30:04,556 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,557 - ERROR - Error in episode 4946: name 'args' is not defined +2025-03-10 15:30:04,560 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,560 - ERROR - Error in episode 4947: name 'args' is not defined +2025-03-10 15:30:04,562 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,563 - ERROR - Error in episode 4948: name 'args' is not defined +2025-03-10 15:30:04,565 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,565 - ERROR - Error in episode 4949: name 'args' is not defined +2025-03-10 15:30:04,568 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,568 - ERROR - Error in episode 4950: name 'args' is not defined +2025-03-10 15:30:04,571 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,571 - ERROR - Error in episode 4951: name 'args' is not defined +2025-03-10 15:30:04,574 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,575 - ERROR - Error in episode 4952: name 'args' is not defined +2025-03-10 15:30:04,577 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,578 - ERROR - Error in episode 4953: name 'args' is not defined +2025-03-10 15:30:04,581 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,581 - ERROR - Error in episode 4954: name 'args' is not defined +2025-03-10 15:30:04,584 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,584 - ERROR - Error in episode 4955: name 'args' is not defined +2025-03-10 15:30:04,587 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,587 - ERROR - Error in episode 4956: name 'args' is not defined +2025-03-10 15:30:04,589 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,590 - ERROR - Error in episode 4957: name 'args' is not defined +2025-03-10 15:30:04,592 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,593 - ERROR - Error in episode 4958: name 'args' is not defined +2025-03-10 15:30:04,595 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,595 - ERROR - Error in episode 4959: name 'args' is not defined +2025-03-10 15:30:04,598 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,598 - ERROR - Error in episode 4960: name 'args' is not defined +2025-03-10 15:30:04,601 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,601 - ERROR - Error in episode 4961: name 'args' is not defined +2025-03-10 15:30:04,604 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,604 - ERROR - Error in episode 4962: name 'args' is not defined +2025-03-10 15:30:04,607 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,607 - ERROR - Error in episode 4963: name 'args' is not defined +2025-03-10 15:30:04,611 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,611 - ERROR - Error in episode 4964: name 'args' is not defined +2025-03-10 15:30:04,614 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,614 - ERROR - Error in episode 4965: name 'args' is not defined +2025-03-10 15:30:04,616 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,617 - ERROR - Error in episode 4966: name 'args' is not defined +2025-03-10 15:30:04,619 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,619 - ERROR - Error in episode 4967: name 'args' is not defined +2025-03-10 15:30:04,622 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,623 - ERROR - Error in episode 4968: name 'args' is not defined +2025-03-10 15:30:04,625 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,626 - ERROR - Error in episode 4969: name 'args' is not defined +2025-03-10 15:30:04,628 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,628 - ERROR - Error in episode 4970: name 'args' is not defined +2025-03-10 15:30:04,631 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,631 - ERROR - Error in episode 4971: name 'args' is not defined +2025-03-10 15:30:04,633 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,635 - ERROR - Error in episode 4972: name 'args' is not defined +2025-03-10 15:30:04,637 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,637 - ERROR - Error in episode 4973: name 'args' is not defined +2025-03-10 15:30:04,639 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,641 - ERROR - Error in episode 4974: name 'args' is not defined +2025-03-10 15:30:04,644 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,644 - ERROR - Error in episode 4975: name 'args' is not defined +2025-03-10 15:30:04,647 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,648 - ERROR - Error in episode 4976: name 'args' is not defined +2025-03-10 15:30:04,651 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,651 - ERROR - Error in episode 4977: name 'args' is not defined +2025-03-10 15:30:04,654 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,655 - ERROR - Error in episode 4978: name 'args' is not defined +2025-03-10 15:30:04,657 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,658 - ERROR - Error in episode 4979: name 'args' is not defined +2025-03-10 15:30:04,660 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,660 - ERROR - Error in episode 4980: name 'args' is not defined +2025-03-10 15:30:04,664 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,664 - ERROR - Error in episode 4981: name 'args' is not defined +2025-03-10 15:30:04,668 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,668 - ERROR - Error in episode 4982: name 'args' is not defined +2025-03-10 15:30:04,671 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,671 - ERROR - Error in episode 4983: name 'args' is not defined +2025-03-10 15:30:04,674 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,674 - ERROR - Error in episode 4984: name 'args' is not defined +2025-03-10 15:30:04,677 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,677 - ERROR - Error in episode 4985: name 'args' is not defined +2025-03-10 15:30:04,680 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,680 - ERROR - Error in episode 4986: name 'args' is not defined +2025-03-10 15:30:04,682 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,683 - ERROR - Error in episode 4987: name 'args' is not defined +2025-03-10 15:30:04,685 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,687 - ERROR - Error in episode 4988: name 'args' is not defined +2025-03-10 15:30:04,690 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,690 - ERROR - Error in episode 4989: name 'args' is not defined +2025-03-10 15:30:04,693 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,693 - ERROR - Error in episode 4990: name 'args' is not defined +2025-03-10 15:30:04,695 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,696 - ERROR - Error in episode 4991: name 'args' is not defined +2025-03-10 15:30:04,698 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,698 - ERROR - Error in episode 4992: name 'args' is not defined +2025-03-10 15:30:04,701 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,702 - ERROR - Error in episode 4993: name 'args' is not defined +2025-03-10 15:30:04,704 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,705 - ERROR - Error in episode 4994: name 'args' is not defined +2025-03-10 15:30:04,708 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,708 - ERROR - Error in episode 4995: name 'args' is not defined +2025-03-10 15:30:04,710 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,711 - ERROR - Error in episode 4996: name 'args' is not defined +2025-03-10 15:30:04,713 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,713 - ERROR - Error in episode 4997: name 'args' is not defined +2025-03-10 15:30:04,716 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,716 - ERROR - Error in episode 4998: name 'args' is not defined +2025-03-10 15:30:04,719 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,719 - ERROR - Error in episode 4999: name 'args' is not defined +2025-03-10 15:30:04,722 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,722 - ERROR - Error in episode 5000: name 'args' is not defined +2025-03-10 15:30:04,725 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,725 - ERROR - Error in episode 5001: name 'args' is not defined +2025-03-10 15:30:04,728 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,728 - ERROR - Error in episode 5002: name 'args' is not defined +2025-03-10 15:30:04,731 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,731 - ERROR - Error in episode 5003: name 'args' is not defined +2025-03-10 15:30:04,734 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,734 - ERROR - Error in episode 5004: name 'args' is not defined +2025-03-10 15:30:04,737 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,737 - ERROR - Error in episode 5005: name 'args' is not defined +2025-03-10 15:30:04,739 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,740 - ERROR - Error in episode 5006: name 'args' is not defined +2025-03-10 15:30:04,743 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,743 - ERROR - Error in episode 5007: name 'args' is not defined +2025-03-10 15:30:04,746 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,747 - ERROR - Error in episode 5008: name 'args' is not defined +2025-03-10 15:30:04,750 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,751 - ERROR - Error in episode 5009: name 'args' is not defined +2025-03-10 15:30:04,754 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,754 - ERROR - Error in episode 5010: name 'args' is not defined +2025-03-10 15:30:04,757 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,757 - ERROR - Error in episode 5011: name 'args' is not defined +2025-03-10 15:30:04,761 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,762 - ERROR - Error in episode 5012: name 'args' is not defined +2025-03-10 15:30:04,765 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,765 - ERROR - Error in episode 5013: name 'args' is not defined +2025-03-10 15:30:04,768 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,768 - ERROR - Error in episode 5014: name 'args' is not defined +2025-03-10 15:30:04,770 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,771 - ERROR - Error in episode 5015: name 'args' is not defined +2025-03-10 15:30:04,773 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,774 - ERROR - Error in episode 5016: name 'args' is not defined +2025-03-10 15:30:04,778 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,778 - ERROR - Error in episode 5017: name 'args' is not defined +2025-03-10 15:30:04,781 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,781 - ERROR - Error in episode 5018: name 'args' is not defined +2025-03-10 15:30:04,783 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,783 - ERROR - Error in episode 5019: name 'args' is not defined +2025-03-10 15:30:04,786 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,786 - ERROR - Error in episode 5020: name 'args' is not defined +2025-03-10 15:30:04,789 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,789 - ERROR - Error in episode 5021: name 'args' is not defined +2025-03-10 15:30:04,792 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,793 - ERROR - Error in episode 5022: name 'args' is not defined +2025-03-10 15:30:04,795 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,796 - ERROR - Error in episode 5023: name 'args' is not defined +2025-03-10 15:30:04,799 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,799 - ERROR - Error in episode 5024: name 'args' is not defined +2025-03-10 15:30:04,802 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,803 - ERROR - Error in episode 5025: name 'args' is not defined +2025-03-10 15:30:04,806 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,807 - ERROR - Error in episode 5026: name 'args' is not defined +2025-03-10 15:30:04,808 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,809 - ERROR - Error in episode 5027: name 'args' is not defined +2025-03-10 15:30:04,812 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,812 - ERROR - Error in episode 5028: name 'args' is not defined +2025-03-10 15:30:04,815 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,816 - ERROR - Error in episode 5029: name 'args' is not defined +2025-03-10 15:30:04,818 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,818 - ERROR - Error in episode 5030: name 'args' is not defined +2025-03-10 15:30:04,820 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,820 - ERROR - Error in episode 5031: name 'args' is not defined +2025-03-10 15:30:04,824 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,824 - ERROR - Error in episode 5032: name 'args' is not defined +2025-03-10 15:30:04,828 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,828 - ERROR - Error in episode 5033: name 'args' is not defined +2025-03-10 15:30:04,831 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,831 - ERROR - Error in episode 5034: name 'args' is not defined +2025-03-10 15:30:04,833 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,833 - ERROR - Error in episode 5035: name 'args' is not defined +2025-03-10 15:30:04,837 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,837 - ERROR - Error in episode 5036: name 'args' is not defined +2025-03-10 15:30:04,840 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,841 - ERROR - Error in episode 5037: name 'args' is not defined +2025-03-10 15:30:04,844 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,845 - ERROR - Error in episode 5038: name 'args' is not defined +2025-03-10 15:30:04,848 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,848 - ERROR - Error in episode 5039: name 'args' is not defined +2025-03-10 15:30:04,851 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,851 - ERROR - Error in episode 5040: name 'args' is not defined +2025-03-10 15:30:04,854 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,854 - ERROR - Error in episode 5041: name 'args' is not defined +2025-03-10 15:30:04,858 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,858 - ERROR - Error in episode 5042: name 'args' is not defined +2025-03-10 15:30:04,862 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,862 - ERROR - Error in episode 5043: name 'args' is not defined +2025-03-10 15:30:04,866 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,866 - ERROR - Error in episode 5044: name 'args' is not defined +2025-03-10 15:30:04,870 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,870 - ERROR - Error in episode 5045: name 'args' is not defined +2025-03-10 15:30:04,873 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,873 - ERROR - Error in episode 5046: name 'args' is not defined +2025-03-10 15:30:04,876 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,877 - ERROR - Error in episode 5047: name 'args' is not defined +2025-03-10 15:30:04,880 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,880 - ERROR - Error in episode 5048: name 'args' is not defined +2025-03-10 15:30:04,884 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,884 - ERROR - Error in episode 5049: name 'args' is not defined +2025-03-10 15:30:04,888 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,889 - ERROR - Error in episode 5050: name 'args' is not defined +2025-03-10 15:30:04,891 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,892 - ERROR - Error in episode 5051: name 'args' is not defined +2025-03-10 15:30:04,896 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,896 - ERROR - Error in episode 5052: name 'args' is not defined +2025-03-10 15:30:04,900 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,901 - ERROR - Error in episode 5053: name 'args' is not defined +2025-03-10 15:30:04,904 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,905 - ERROR - Error in episode 5054: name 'args' is not defined +2025-03-10 15:30:04,907 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,908 - ERROR - Error in episode 5055: name 'args' is not defined +2025-03-10 15:30:04,910 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,910 - ERROR - Error in episode 5056: name 'args' is not defined +2025-03-10 15:30:04,914 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,914 - ERROR - Error in episode 5057: name 'args' is not defined +2025-03-10 15:30:04,916 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,916 - ERROR - Error in episode 5058: name 'args' is not defined +2025-03-10 15:30:04,920 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,920 - ERROR - Error in episode 5059: name 'args' is not defined +2025-03-10 15:30:04,922 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,923 - ERROR - Error in episode 5060: name 'args' is not defined +2025-03-10 15:30:04,925 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,925 - ERROR - Error in episode 5061: name 'args' is not defined +2025-03-10 15:30:04,928 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,928 - ERROR - Error in episode 5062: name 'args' is not defined +2025-03-10 15:30:04,930 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,930 - ERROR - Error in episode 5063: name 'args' is not defined +2025-03-10 15:30:04,933 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,933 - ERROR - Error in episode 5064: name 'args' is not defined +2025-03-10 15:30:04,936 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,936 - ERROR - Error in episode 5065: name 'args' is not defined +2025-03-10 15:30:04,938 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,939 - ERROR - Error in episode 5066: name 'args' is not defined +2025-03-10 15:30:04,942 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,942 - ERROR - Error in episode 5067: name 'args' is not defined +2025-03-10 15:30:04,945 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,945 - ERROR - Error in episode 5068: name 'args' is not defined +2025-03-10 15:30:04,947 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,948 - ERROR - Error in episode 5069: name 'args' is not defined +2025-03-10 15:30:04,951 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,951 - ERROR - Error in episode 5070: name 'args' is not defined +2025-03-10 15:30:04,954 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,954 - ERROR - Error in episode 5071: name 'args' is not defined +2025-03-10 15:30:04,957 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,958 - ERROR - Error in episode 5072: name 'args' is not defined +2025-03-10 15:30:04,960 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,961 - ERROR - Error in episode 5073: name 'args' is not defined +2025-03-10 15:30:04,963 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,963 - ERROR - Error in episode 5074: name 'args' is not defined +2025-03-10 15:30:04,966 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,967 - ERROR - Error in episode 5075: name 'args' is not defined +2025-03-10 15:30:04,970 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,970 - ERROR - Error in episode 5076: name 'args' is not defined +2025-03-10 15:30:04,973 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,973 - ERROR - Error in episode 5077: name 'args' is not defined +2025-03-10 15:30:04,976 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,976 - ERROR - Error in episode 5078: name 'args' is not defined +2025-03-10 15:30:04,978 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,979 - ERROR - Error in episode 5079: name 'args' is not defined +2025-03-10 15:30:04,981 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,981 - ERROR - Error in episode 5080: name 'args' is not defined +2025-03-10 15:30:04,984 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,984 - ERROR - Error in episode 5081: name 'args' is not defined +2025-03-10 15:30:04,987 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,987 - ERROR - Error in episode 5082: name 'args' is not defined +2025-03-10 15:30:04,990 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,990 - ERROR - Error in episode 5083: name 'args' is not defined +2025-03-10 15:30:04,993 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,993 - ERROR - Error in episode 5084: name 'args' is not defined +2025-03-10 15:30:04,995 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:04,997 - ERROR - Error in episode 5085: name 'args' is not defined +2025-03-10 15:30:04,999 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,000 - ERROR - Error in episode 5086: name 'args' is not defined +2025-03-10 15:30:05,002 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,003 - ERROR - Error in episode 5087: name 'args' is not defined +2025-03-10 15:30:05,005 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,005 - ERROR - Error in episode 5088: name 'args' is not defined +2025-03-10 15:30:05,008 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,008 - ERROR - Error in episode 5089: name 'args' is not defined +2025-03-10 15:30:05,011 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,012 - ERROR - Error in episode 5090: name 'args' is not defined +2025-03-10 15:30:05,015 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,015 - ERROR - Error in episode 5091: name 'args' is not defined +2025-03-10 15:30:05,019 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,019 - ERROR - Error in episode 5092: name 'args' is not defined +2025-03-10 15:30:05,021 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,022 - ERROR - Error in episode 5093: name 'args' is not defined +2025-03-10 15:30:05,024 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,024 - ERROR - Error in episode 5094: name 'args' is not defined +2025-03-10 15:30:05,028 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,029 - ERROR - Error in episode 5095: name 'args' is not defined +2025-03-10 15:30:05,031 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,032 - ERROR - Error in episode 5096: name 'args' is not defined +2025-03-10 15:30:05,035 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,035 - ERROR - Error in episode 5097: name 'args' is not defined +2025-03-10 15:30:05,037 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,037 - ERROR - Error in episode 5098: name 'args' is not defined +2025-03-10 15:30:05,040 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,040 - ERROR - Error in episode 5099: name 'args' is not defined +2025-03-10 15:30:05,043 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,043 - ERROR - Error in episode 5100: name 'args' is not defined +2025-03-10 15:30:05,046 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,046 - ERROR - Error in episode 5101: name 'args' is not defined +2025-03-10 15:30:05,049 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,050 - ERROR - Error in episode 5102: name 'args' is not defined +2025-03-10 15:30:05,053 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,054 - ERROR - Error in episode 5103: name 'args' is not defined +2025-03-10 15:30:05,056 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,056 - ERROR - Error in episode 5104: name 'args' is not defined +2025-03-10 15:30:05,059 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,060 - ERROR - Error in episode 5105: name 'args' is not defined +2025-03-10 15:30:05,062 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,062 - ERROR - Error in episode 5106: name 'args' is not defined +2025-03-10 15:30:05,065 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,066 - ERROR - Error in episode 5107: name 'args' is not defined +2025-03-10 15:30:05,069 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,069 - ERROR - Error in episode 5108: name 'args' is not defined +2025-03-10 15:30:05,071 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,071 - ERROR - Error in episode 5109: name 'args' is not defined +2025-03-10 15:30:05,074 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,074 - ERROR - Error in episode 5110: name 'args' is not defined +2025-03-10 15:30:05,077 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,078 - ERROR - Error in episode 5111: name 'args' is not defined +2025-03-10 15:30:05,080 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,080 - ERROR - Error in episode 5112: name 'args' is not defined +2025-03-10 15:30:05,082 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,083 - ERROR - Error in episode 5113: name 'args' is not defined +2025-03-10 15:30:05,085 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,086 - ERROR - Error in episode 5114: name 'args' is not defined +2025-03-10 15:30:05,089 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,090 - ERROR - Error in episode 5115: name 'args' is not defined +2025-03-10 15:30:05,093 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,093 - ERROR - Error in episode 5116: name 'args' is not defined +2025-03-10 15:30:05,096 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,096 - ERROR - Error in episode 5117: name 'args' is not defined +2025-03-10 15:30:05,098 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,098 - ERROR - Error in episode 5118: name 'args' is not defined +2025-03-10 15:30:05,101 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,101 - ERROR - Error in episode 5119: name 'args' is not defined +2025-03-10 15:30:05,105 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,105 - ERROR - Error in episode 5120: name 'args' is not defined +2025-03-10 15:30:05,108 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,108 - ERROR - Error in episode 5121: name 'args' is not defined +2025-03-10 15:30:05,111 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,112 - ERROR - Error in episode 5122: name 'args' is not defined +2025-03-10 15:30:05,114 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,114 - ERROR - Error in episode 5123: name 'args' is not defined +2025-03-10 15:30:05,117 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,117 - ERROR - Error in episode 5124: name 'args' is not defined +2025-03-10 15:30:05,120 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,120 - ERROR - Error in episode 5125: name 'args' is not defined +2025-03-10 15:30:05,123 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,124 - ERROR - Error in episode 5126: name 'args' is not defined +2025-03-10 15:30:05,126 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,126 - ERROR - Error in episode 5127: name 'args' is not defined +2025-03-10 15:30:05,128 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,130 - ERROR - Error in episode 5128: name 'args' is not defined +2025-03-10 15:30:05,132 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,132 - ERROR - Error in episode 5129: name 'args' is not defined +2025-03-10 15:30:05,135 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,135 - ERROR - Error in episode 5130: name 'args' is not defined +2025-03-10 15:30:05,137 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,138 - ERROR - Error in episode 5131: name 'args' is not defined +2025-03-10 15:30:05,140 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,140 - ERROR - Error in episode 5132: name 'args' is not defined +2025-03-10 15:30:05,143 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,144 - ERROR - Error in episode 5133: name 'args' is not defined +2025-03-10 15:30:05,147 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,147 - ERROR - Error in episode 5134: name 'args' is not defined +2025-03-10 15:30:05,150 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,150 - ERROR - Error in episode 5135: name 'args' is not defined +2025-03-10 15:30:05,153 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,153 - ERROR - Error in episode 5136: name 'args' is not defined +2025-03-10 15:30:05,156 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,156 - ERROR - Error in episode 5137: name 'args' is not defined +2025-03-10 15:30:05,158 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,160 - ERROR - Error in episode 5138: name 'args' is not defined +2025-03-10 15:30:05,162 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,162 - ERROR - Error in episode 5139: name 'args' is not defined +2025-03-10 15:30:05,164 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,165 - ERROR - Error in episode 5140: name 'args' is not defined +2025-03-10 15:30:05,169 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,169 - ERROR - Error in episode 5141: name 'args' is not defined +2025-03-10 15:30:05,172 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,172 - ERROR - Error in episode 5142: name 'args' is not defined +2025-03-10 15:30:05,175 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,175 - ERROR - Error in episode 5143: name 'args' is not defined +2025-03-10 15:30:05,178 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,178 - ERROR - Error in episode 5144: name 'args' is not defined +2025-03-10 15:30:05,180 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,182 - ERROR - Error in episode 5145: name 'args' is not defined +2025-03-10 15:30:05,184 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,184 - ERROR - Error in episode 5146: name 'args' is not defined +2025-03-10 15:30:05,187 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,187 - ERROR - Error in episode 5147: name 'args' is not defined +2025-03-10 15:30:05,190 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,190 - ERROR - Error in episode 5148: name 'args' is not defined +2025-03-10 15:30:05,193 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,193 - ERROR - Error in episode 5149: name 'args' is not defined +2025-03-10 15:30:05,195 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,196 - ERROR - Error in episode 5150: name 'args' is not defined +2025-03-10 15:30:05,199 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,199 - ERROR - Error in episode 5151: name 'args' is not defined +2025-03-10 15:30:05,201 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,202 - ERROR - Error in episode 5152: name 'args' is not defined +2025-03-10 15:30:05,204 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,205 - ERROR - Error in episode 5153: name 'args' is not defined +2025-03-10 15:30:05,207 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,207 - ERROR - Error in episode 5154: name 'args' is not defined +2025-03-10 15:30:05,210 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,211 - ERROR - Error in episode 5155: name 'args' is not defined +2025-03-10 15:30:05,214 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,214 - ERROR - Error in episode 5156: name 'args' is not defined +2025-03-10 15:30:05,216 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,217 - ERROR - Error in episode 5157: name 'args' is not defined +2025-03-10 15:30:05,219 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,219 - ERROR - Error in episode 5158: name 'args' is not defined +2025-03-10 15:30:05,223 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,223 - ERROR - Error in episode 5159: name 'args' is not defined +2025-03-10 15:30:05,225 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,226 - ERROR - Error in episode 5160: name 'args' is not defined +2025-03-10 15:30:05,228 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,228 - ERROR - Error in episode 5161: name 'args' is not defined +2025-03-10 15:30:05,232 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,232 - ERROR - Error in episode 5162: name 'args' is not defined +2025-03-10 15:30:05,234 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,235 - ERROR - Error in episode 5163: name 'args' is not defined +2025-03-10 15:30:05,237 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,238 - ERROR - Error in episode 5164: name 'args' is not defined +2025-03-10 15:30:05,241 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,241 - ERROR - Error in episode 5165: name 'args' is not defined +2025-03-10 15:30:05,245 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,245 - ERROR - Error in episode 5166: name 'args' is not defined +2025-03-10 15:30:05,248 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,248 - ERROR - Error in episode 5167: name 'args' is not defined +2025-03-10 15:30:05,251 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,252 - ERROR - Error in episode 5168: name 'args' is not defined +2025-03-10 15:30:05,255 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,255 - ERROR - Error in episode 5169: name 'args' is not defined +2025-03-10 15:30:05,258 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,258 - ERROR - Error in episode 5170: name 'args' is not defined +2025-03-10 15:30:05,260 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,261 - ERROR - Error in episode 5171: name 'args' is not defined +2025-03-10 15:30:05,264 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,264 - ERROR - Error in episode 5172: name 'args' is not defined +2025-03-10 15:30:05,267 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,267 - ERROR - Error in episode 5173: name 'args' is not defined +2025-03-10 15:30:05,270 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,271 - ERROR - Error in episode 5174: name 'args' is not defined +2025-03-10 15:30:05,274 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,274 - ERROR - Error in episode 5175: name 'args' is not defined +2025-03-10 15:30:05,276 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,277 - ERROR - Error in episode 5176: name 'args' is not defined +2025-03-10 15:30:05,279 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,280 - ERROR - Error in episode 5177: name 'args' is not defined +2025-03-10 15:30:05,282 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,283 - ERROR - Error in episode 5178: name 'args' is not defined +2025-03-10 15:30:05,286 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,286 - ERROR - Error in episode 5179: name 'args' is not defined +2025-03-10 15:30:05,289 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,289 - ERROR - Error in episode 5180: name 'args' is not defined +2025-03-10 15:30:05,292 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,292 - ERROR - Error in episode 5181: name 'args' is not defined +2025-03-10 15:30:05,294 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,294 - ERROR - Error in episode 5182: name 'args' is not defined +2025-03-10 15:30:05,297 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,297 - ERROR - Error in episode 5183: name 'args' is not defined +2025-03-10 15:30:05,301 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,301 - ERROR - Error in episode 5184: name 'args' is not defined +2025-03-10 15:30:05,303 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,303 - ERROR - Error in episode 5185: name 'args' is not defined +2025-03-10 15:30:05,307 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,307 - ERROR - Error in episode 5186: name 'args' is not defined +2025-03-10 15:30:05,309 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,309 - ERROR - Error in episode 5187: name 'args' is not defined +2025-03-10 15:30:05,312 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,312 - ERROR - Error in episode 5188: name 'args' is not defined +2025-03-10 15:30:05,315 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,315 - ERROR - Error in episode 5189: name 'args' is not defined +2025-03-10 15:30:05,318 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,319 - ERROR - Error in episode 5190: name 'args' is not defined +2025-03-10 15:30:05,321 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,321 - ERROR - Error in episode 5191: name 'args' is not defined +2025-03-10 15:30:05,324 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,324 - ERROR - Error in episode 5192: name 'args' is not defined +2025-03-10 15:30:05,326 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,326 - ERROR - Error in episode 5193: name 'args' is not defined +2025-03-10 15:30:05,328 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,328 - ERROR - Error in episode 5194: name 'args' is not defined +2025-03-10 15:30:05,332 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,333 - ERROR - Error in episode 5195: name 'args' is not defined +2025-03-10 15:30:05,335 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,335 - ERROR - Error in episode 5196: name 'args' is not defined +2025-03-10 15:30:05,338 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,338 - ERROR - Error in episode 5197: name 'args' is not defined +2025-03-10 15:30:05,340 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,341 - ERROR - Error in episode 5198: name 'args' is not defined +2025-03-10 15:30:05,343 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,343 - ERROR - Error in episode 5199: name 'args' is not defined +2025-03-10 15:30:05,347 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,347 - ERROR - Error in episode 5200: name 'args' is not defined +2025-03-10 15:30:05,351 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,351 - ERROR - Error in episode 5201: name 'args' is not defined +2025-03-10 15:30:05,354 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,354 - ERROR - Error in episode 5202: name 'args' is not defined +2025-03-10 15:30:05,357 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,357 - ERROR - Error in episode 5203: name 'args' is not defined +2025-03-10 15:30:05,360 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,360 - ERROR - Error in episode 5204: name 'args' is not defined +2025-03-10 15:30:05,362 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,363 - ERROR - Error in episode 5205: name 'args' is not defined +2025-03-10 15:30:05,365 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,366 - ERROR - Error in episode 5206: name 'args' is not defined +2025-03-10 15:30:05,369 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,369 - ERROR - Error in episode 5207: name 'args' is not defined +2025-03-10 15:30:05,371 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,372 - ERROR - Error in episode 5208: name 'args' is not defined +2025-03-10 15:30:05,375 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,375 - ERROR - Error in episode 5209: name 'args' is not defined +2025-03-10 15:30:05,377 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,377 - ERROR - Error in episode 5210: name 'args' is not defined +2025-03-10 15:30:05,380 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,380 - ERROR - Error in episode 5211: name 'args' is not defined +2025-03-10 15:30:05,383 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,383 - ERROR - Error in episode 5212: name 'args' is not defined +2025-03-10 15:30:05,386 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,386 - ERROR - Error in episode 5213: name 'args' is not defined +2025-03-10 15:30:05,389 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,389 - ERROR - Error in episode 5214: name 'args' is not defined +2025-03-10 15:30:05,391 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,392 - ERROR - Error in episode 5215: name 'args' is not defined +2025-03-10 15:30:05,394 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,395 - ERROR - Error in episode 5216: name 'args' is not defined +2025-03-10 15:30:05,398 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,398 - ERROR - Error in episode 5217: name 'args' is not defined +2025-03-10 15:30:05,401 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,401 - ERROR - Error in episode 5218: name 'args' is not defined +2025-03-10 15:30:05,404 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,404 - ERROR - Error in episode 5219: name 'args' is not defined +2025-03-10 15:30:05,407 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,407 - ERROR - Error in episode 5220: name 'args' is not defined +2025-03-10 15:30:05,409 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,410 - ERROR - Error in episode 5221: name 'args' is not defined +2025-03-10 15:30:05,412 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,412 - ERROR - Error in episode 5222: name 'args' is not defined +2025-03-10 15:30:05,415 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,416 - ERROR - Error in episode 5223: name 'args' is not defined +2025-03-10 15:30:05,418 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,418 - ERROR - Error in episode 5224: name 'args' is not defined +2025-03-10 15:30:05,420 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,421 - ERROR - Error in episode 5225: name 'args' is not defined +2025-03-10 15:30:05,424 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,424 - ERROR - Error in episode 5226: name 'args' is not defined +2025-03-10 15:30:05,426 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,426 - ERROR - Error in episode 5227: name 'args' is not defined +2025-03-10 15:30:05,428 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,430 - ERROR - Error in episode 5228: name 'args' is not defined +2025-03-10 15:30:05,432 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,433 - ERROR - Error in episode 5229: name 'args' is not defined +2025-03-10 15:30:05,435 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,435 - ERROR - Error in episode 5230: name 'args' is not defined +2025-03-10 15:30:05,437 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,438 - ERROR - Error in episode 5231: name 'args' is not defined +2025-03-10 15:30:05,441 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,441 - ERROR - Error in episode 5232: name 'args' is not defined +2025-03-10 15:30:05,444 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,444 - ERROR - Error in episode 5233: name 'args' is not defined +2025-03-10 15:30:05,447 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,447 - ERROR - Error in episode 5234: name 'args' is not defined +2025-03-10 15:30:05,449 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,450 - ERROR - Error in episode 5235: name 'args' is not defined +2025-03-10 15:30:05,452 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,452 - ERROR - Error in episode 5236: name 'args' is not defined +2025-03-10 15:30:05,455 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,455 - ERROR - Error in episode 5237: name 'args' is not defined +2025-03-10 15:30:05,458 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,458 - ERROR - Error in episode 5238: name 'args' is not defined +2025-03-10 15:30:05,461 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,461 - ERROR - Error in episode 5239: name 'args' is not defined +2025-03-10 15:30:05,464 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,464 - ERROR - Error in episode 5240: name 'args' is not defined +2025-03-10 15:30:05,467 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,467 - ERROR - Error in episode 5241: name 'args' is not defined +2025-03-10 15:30:05,470 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,470 - ERROR - Error in episode 5242: name 'args' is not defined +2025-03-10 15:30:05,473 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,473 - ERROR - Error in episode 5243: name 'args' is not defined +2025-03-10 15:30:05,476 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,477 - ERROR - Error in episode 5244: name 'args' is not defined +2025-03-10 15:30:05,479 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,479 - ERROR - Error in episode 5245: name 'args' is not defined +2025-03-10 15:30:05,482 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,482 - ERROR - Error in episode 5246: name 'args' is not defined +2025-03-10 15:30:05,485 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,485 - ERROR - Error in episode 5247: name 'args' is not defined +2025-03-10 15:30:05,488 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,488 - ERROR - Error in episode 5248: name 'args' is not defined +2025-03-10 15:30:05,491 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,491 - ERROR - Error in episode 5249: name 'args' is not defined +2025-03-10 15:30:05,494 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,494 - ERROR - Error in episode 5250: name 'args' is not defined +2025-03-10 15:30:05,497 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,497 - ERROR - Error in episode 5251: name 'args' is not defined +2025-03-10 15:30:05,499 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,500 - ERROR - Error in episode 5252: name 'args' is not defined +2025-03-10 15:30:05,502 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,503 - ERROR - Error in episode 5253: name 'args' is not defined +2025-03-10 15:30:05,505 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,505 - ERROR - Error in episode 5254: name 'args' is not defined +2025-03-10 15:30:05,507 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,507 - ERROR - Error in episode 5255: name 'args' is not defined +2025-03-10 15:30:05,510 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,511 - ERROR - Error in episode 5256: name 'args' is not defined +2025-03-10 15:30:05,513 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,513 - ERROR - Error in episode 5257: name 'args' is not defined +2025-03-10 15:30:05,516 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,516 - ERROR - Error in episode 5258: name 'args' is not defined +2025-03-10 15:30:05,519 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,519 - ERROR - Error in episode 5259: name 'args' is not defined +2025-03-10 15:30:05,523 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,523 - ERROR - Error in episode 5260: name 'args' is not defined +2025-03-10 15:30:05,525 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,526 - ERROR - Error in episode 5261: name 'args' is not defined +2025-03-10 15:30:05,528 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,528 - ERROR - Error in episode 5262: name 'args' is not defined +2025-03-10 15:30:05,531 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,531 - ERROR - Error in episode 5263: name 'args' is not defined +2025-03-10 15:30:05,534 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,534 - ERROR - Error in episode 5264: name 'args' is not defined +2025-03-10 15:30:05,537 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,537 - ERROR - Error in episode 5265: name 'args' is not defined +2025-03-10 15:30:05,540 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,540 - ERROR - Error in episode 5266: name 'args' is not defined +2025-03-10 15:30:05,542 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,544 - ERROR - Error in episode 5267: name 'args' is not defined +2025-03-10 15:30:05,546 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,546 - ERROR - Error in episode 5268: name 'args' is not defined +2025-03-10 15:30:05,549 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,549 - ERROR - Error in episode 5269: name 'args' is not defined +2025-03-10 15:30:05,552 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,552 - ERROR - Error in episode 5270: name 'args' is not defined +2025-03-10 15:30:05,554 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,555 - ERROR - Error in episode 5271: name 'args' is not defined +2025-03-10 15:30:05,558 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,558 - ERROR - Error in episode 5272: name 'args' is not defined +2025-03-10 15:30:05,560 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,561 - ERROR - Error in episode 5273: name 'args' is not defined +2025-03-10 15:30:05,563 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,564 - ERROR - Error in episode 5274: name 'args' is not defined +2025-03-10 15:30:05,566 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,566 - ERROR - Error in episode 5275: name 'args' is not defined +2025-03-10 15:30:05,569 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,569 - ERROR - Error in episode 5276: name 'args' is not defined +2025-03-10 15:30:05,572 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,572 - ERROR - Error in episode 5277: name 'args' is not defined +2025-03-10 15:30:05,574 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,575 - ERROR - Error in episode 5278: name 'args' is not defined +2025-03-10 15:30:05,578 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,578 - ERROR - Error in episode 5279: name 'args' is not defined +2025-03-10 15:30:05,581 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,581 - ERROR - Error in episode 5280: name 'args' is not defined +2025-03-10 15:30:05,584 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,584 - ERROR - Error in episode 5281: name 'args' is not defined +2025-03-10 15:30:05,586 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,587 - ERROR - Error in episode 5282: name 'args' is not defined +2025-03-10 15:30:05,590 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,590 - ERROR - Error in episode 5283: name 'args' is not defined +2025-03-10 15:30:05,592 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,593 - ERROR - Error in episode 5284: name 'args' is not defined +2025-03-10 15:30:05,595 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,596 - ERROR - Error in episode 5285: name 'args' is not defined +2025-03-10 15:30:05,598 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,600 - ERROR - Error in episode 5286: name 'args' is not defined +2025-03-10 15:30:05,602 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,602 - ERROR - Error in episode 5287: name 'args' is not defined +2025-03-10 15:30:05,605 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,605 - ERROR - Error in episode 5288: name 'args' is not defined +2025-03-10 15:30:05,608 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,608 - ERROR - Error in episode 5289: name 'args' is not defined +2025-03-10 15:30:05,611 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,611 - ERROR - Error in episode 5290: name 'args' is not defined +2025-03-10 15:30:05,614 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,614 - ERROR - Error in episode 5291: name 'args' is not defined +2025-03-10 15:30:05,616 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,617 - ERROR - Error in episode 5292: name 'args' is not defined +2025-03-10 15:30:05,619 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,619 - ERROR - Error in episode 5293: name 'args' is not defined +2025-03-10 15:30:05,622 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,622 - ERROR - Error in episode 5294: name 'args' is not defined +2025-03-10 15:30:05,625 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,626 - ERROR - Error in episode 5295: name 'args' is not defined +2025-03-10 15:30:05,628 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,628 - ERROR - Error in episode 5296: name 'args' is not defined +2025-03-10 15:30:05,630 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,631 - ERROR - Error in episode 5297: name 'args' is not defined +2025-03-10 15:30:05,633 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,633 - ERROR - Error in episode 5298: name 'args' is not defined +2025-03-10 15:30:05,636 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,636 - ERROR - Error in episode 5299: name 'args' is not defined +2025-03-10 15:30:05,639 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,640 - ERROR - Error in episode 5300: name 'args' is not defined +2025-03-10 15:30:05,642 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,642 - ERROR - Error in episode 5301: name 'args' is not defined +2025-03-10 15:30:05,644 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,645 - ERROR - Error in episode 5302: name 'args' is not defined +2025-03-10 15:30:05,648 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,648 - ERROR - Error in episode 5303: name 'args' is not defined +2025-03-10 15:30:05,650 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,651 - ERROR - Error in episode 5304: name 'args' is not defined +2025-03-10 15:30:05,653 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,653 - ERROR - Error in episode 5305: name 'args' is not defined +2025-03-10 15:30:05,656 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,656 - ERROR - Error in episode 5306: name 'args' is not defined +2025-03-10 15:30:05,659 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,659 - ERROR - Error in episode 5307: name 'args' is not defined +2025-03-10 15:30:05,663 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,663 - ERROR - Error in episode 5308: name 'args' is not defined +2025-03-10 15:30:05,666 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,666 - ERROR - Error in episode 5309: name 'args' is not defined +2025-03-10 15:30:05,669 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,669 - ERROR - Error in episode 5310: name 'args' is not defined +2025-03-10 15:30:05,672 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,672 - ERROR - Error in episode 5311: name 'args' is not defined +2025-03-10 15:30:05,675 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,675 - ERROR - Error in episode 5312: name 'args' is not defined +2025-03-10 15:30:05,678 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,678 - ERROR - Error in episode 5313: name 'args' is not defined +2025-03-10 15:30:05,681 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,681 - ERROR - Error in episode 5314: name 'args' is not defined +2025-03-10 15:30:05,684 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,684 - ERROR - Error in episode 5315: name 'args' is not defined +2025-03-10 15:30:05,687 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,687 - ERROR - Error in episode 5316: name 'args' is not defined +2025-03-10 15:30:05,689 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,689 - ERROR - Error in episode 5317: name 'args' is not defined +2025-03-10 15:30:05,691 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,692 - ERROR - Error in episode 5318: name 'args' is not defined +2025-03-10 15:30:05,695 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,696 - ERROR - Error in episode 5319: name 'args' is not defined +2025-03-10 15:30:05,699 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,700 - ERROR - Error in episode 5320: name 'args' is not defined +2025-03-10 15:30:05,702 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,702 - ERROR - Error in episode 5321: name 'args' is not defined +2025-03-10 15:30:05,705 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,705 - ERROR - Error in episode 5322: name 'args' is not defined +2025-03-10 15:30:05,707 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,707 - ERROR - Error in episode 5323: name 'args' is not defined +2025-03-10 15:30:05,711 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,711 - ERROR - Error in episode 5324: name 'args' is not defined +2025-03-10 15:30:05,714 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,714 - ERROR - Error in episode 5325: name 'args' is not defined +2025-03-10 15:30:05,717 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,717 - ERROR - Error in episode 5326: name 'args' is not defined +2025-03-10 15:30:05,719 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,719 - ERROR - Error in episode 5327: name 'args' is not defined +2025-03-10 15:30:05,722 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,723 - ERROR - Error in episode 5328: name 'args' is not defined +2025-03-10 15:30:05,725 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,725 - ERROR - Error in episode 5329: name 'args' is not defined +2025-03-10 15:30:05,728 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,728 - ERROR - Error in episode 5330: name 'args' is not defined +2025-03-10 15:30:05,731 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,732 - ERROR - Error in episode 5331: name 'args' is not defined +2025-03-10 15:30:05,734 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,735 - ERROR - Error in episode 5332: name 'args' is not defined +2025-03-10 15:30:05,737 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,738 - ERROR - Error in episode 5333: name 'args' is not defined +2025-03-10 15:30:05,740 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,741 - ERROR - Error in episode 5334: name 'args' is not defined +2025-03-10 15:30:05,743 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,743 - ERROR - Error in episode 5335: name 'args' is not defined +2025-03-10 15:30:05,746 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,746 - ERROR - Error in episode 5336: name 'args' is not defined +2025-03-10 15:30:05,749 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,749 - ERROR - Error in episode 5337: name 'args' is not defined +2025-03-10 15:30:05,751 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,752 - ERROR - Error in episode 5338: name 'args' is not defined +2025-03-10 15:30:05,754 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,755 - ERROR - Error in episode 5339: name 'args' is not defined +2025-03-10 15:30:05,757 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,758 - ERROR - Error in episode 5340: name 'args' is not defined +2025-03-10 15:30:05,760 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,760 - ERROR - Error in episode 5341: name 'args' is not defined +2025-03-10 15:30:05,763 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,763 - ERROR - Error in episode 5342: name 'args' is not defined +2025-03-10 15:30:05,766 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,766 - ERROR - Error in episode 5343: name 'args' is not defined +2025-03-10 15:30:05,769 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,769 - ERROR - Error in episode 5344: name 'args' is not defined +2025-03-10 15:30:05,772 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,772 - ERROR - Error in episode 5345: name 'args' is not defined +2025-03-10 15:30:05,775 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,775 - ERROR - Error in episode 5346: name 'args' is not defined +2025-03-10 15:30:05,778 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,778 - ERROR - Error in episode 5347: name 'args' is not defined +2025-03-10 15:30:05,781 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,781 - ERROR - Error in episode 5348: name 'args' is not defined +2025-03-10 15:30:05,783 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,784 - ERROR - Error in episode 5349: name 'args' is not defined +2025-03-10 15:30:05,786 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,786 - ERROR - Error in episode 5350: name 'args' is not defined +2025-03-10 15:30:05,790 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,790 - ERROR - Error in episode 5351: name 'args' is not defined +2025-03-10 15:30:05,792 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,793 - ERROR - Error in episode 5352: name 'args' is not defined +2025-03-10 15:30:05,795 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,795 - ERROR - Error in episode 5353: name 'args' is not defined +2025-03-10 15:30:05,798 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,798 - ERROR - Error in episode 5354: name 'args' is not defined +2025-03-10 15:30:05,802 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,802 - ERROR - Error in episode 5355: name 'args' is not defined +2025-03-10 15:30:05,805 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,806 - ERROR - Error in episode 5356: name 'args' is not defined +2025-03-10 15:30:05,808 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,809 - ERROR - Error in episode 5357: name 'args' is not defined +2025-03-10 15:30:05,812 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,812 - ERROR - Error in episode 5358: name 'args' is not defined +2025-03-10 15:30:05,816 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,816 - ERROR - Error in episode 5359: name 'args' is not defined +2025-03-10 15:30:05,821 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,821 - ERROR - Error in episode 5360: name 'args' is not defined +2025-03-10 15:30:05,824 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,825 - ERROR - Error in episode 5361: name 'args' is not defined +2025-03-10 15:30:05,828 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,829 - ERROR - Error in episode 5362: name 'args' is not defined +2025-03-10 15:30:05,833 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,833 - ERROR - Error in episode 5363: name 'args' is not defined +2025-03-10 15:30:05,837 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,837 - ERROR - Error in episode 5364: name 'args' is not defined +2025-03-10 15:30:05,840 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,840 - ERROR - Error in episode 5365: name 'args' is not defined +2025-03-10 15:30:05,843 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,843 - ERROR - Error in episode 5366: name 'args' is not defined +2025-03-10 15:30:05,846 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,846 - ERROR - Error in episode 5367: name 'args' is not defined +2025-03-10 15:30:05,850 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,851 - ERROR - Error in episode 5368: name 'args' is not defined +2025-03-10 15:30:05,854 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,854 - ERROR - Error in episode 5369: name 'args' is not defined +2025-03-10 15:30:05,857 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,858 - ERROR - Error in episode 5370: name 'args' is not defined +2025-03-10 15:30:05,861 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,862 - ERROR - Error in episode 5371: name 'args' is not defined +2025-03-10 15:30:05,865 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,865 - ERROR - Error in episode 5372: name 'args' is not defined +2025-03-10 15:30:05,868 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,869 - ERROR - Error in episode 5373: name 'args' is not defined +2025-03-10 15:30:05,873 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,873 - ERROR - Error in episode 5374: name 'args' is not defined +2025-03-10 15:30:05,877 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,877 - ERROR - Error in episode 5375: name 'args' is not defined +2025-03-10 15:30:05,882 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,882 - ERROR - Error in episode 5376: name 'args' is not defined +2025-03-10 15:30:05,885 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,886 - ERROR - Error in episode 5377: name 'args' is not defined +2025-03-10 15:30:05,888 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,889 - ERROR - Error in episode 5378: name 'args' is not defined +2025-03-10 15:30:05,893 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,893 - ERROR - Error in episode 5379: name 'args' is not defined +2025-03-10 15:30:05,897 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,898 - ERROR - Error in episode 5380: name 'args' is not defined +2025-03-10 15:30:05,901 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,901 - ERROR - Error in episode 5381: name 'args' is not defined +2025-03-10 15:30:05,905 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,905 - ERROR - Error in episode 5382: name 'args' is not defined +2025-03-10 15:30:05,909 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,910 - ERROR - Error in episode 5383: name 'args' is not defined +2025-03-10 15:30:05,913 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,913 - ERROR - Error in episode 5384: name 'args' is not defined +2025-03-10 15:30:05,916 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,917 - ERROR - Error in episode 5385: name 'args' is not defined +2025-03-10 15:30:05,921 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,921 - ERROR - Error in episode 5386: name 'args' is not defined +2025-03-10 15:30:05,925 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,925 - ERROR - Error in episode 5387: name 'args' is not defined +2025-03-10 15:30:05,929 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,929 - ERROR - Error in episode 5388: name 'args' is not defined +2025-03-10 15:30:05,933 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,934 - ERROR - Error in episode 5389: name 'args' is not defined +2025-03-10 15:30:05,938 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,938 - ERROR - Error in episode 5390: name 'args' is not defined +2025-03-10 15:30:05,942 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,942 - ERROR - Error in episode 5391: name 'args' is not defined +2025-03-10 15:30:05,946 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,946 - ERROR - Error in episode 5392: name 'args' is not defined +2025-03-10 15:30:05,950 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,950 - ERROR - Error in episode 5393: name 'args' is not defined +2025-03-10 15:30:05,954 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,954 - ERROR - Error in episode 5394: name 'args' is not defined +2025-03-10 15:30:05,958 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,959 - ERROR - Error in episode 5395: name 'args' is not defined +2025-03-10 15:30:05,962 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,963 - ERROR - Error in episode 5396: name 'args' is not defined +2025-03-10 15:30:05,966 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,967 - ERROR - Error in episode 5397: name 'args' is not defined +2025-03-10 15:30:05,971 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,971 - ERROR - Error in episode 5398: name 'args' is not defined +2025-03-10 15:30:05,974 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,974 - ERROR - Error in episode 5399: name 'args' is not defined +2025-03-10 15:30:05,977 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,977 - ERROR - Error in episode 5400: name 'args' is not defined +2025-03-10 15:30:05,980 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,981 - ERROR - Error in episode 5401: name 'args' is not defined +2025-03-10 15:30:05,985 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,986 - ERROR - Error in episode 5402: name 'args' is not defined +2025-03-10 15:30:05,989 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,990 - ERROR - Error in episode 5403: name 'args' is not defined +2025-03-10 15:30:05,994 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,994 - ERROR - Error in episode 5404: name 'args' is not defined +2025-03-10 15:30:05,997 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:05,997 - ERROR - Error in episode 5405: name 'args' is not defined +2025-03-10 15:30:06,000 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,000 - ERROR - Error in episode 5406: name 'args' is not defined +2025-03-10 15:30:06,004 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,004 - ERROR - Error in episode 5407: name 'args' is not defined +2025-03-10 15:30:06,008 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,008 - ERROR - Error in episode 5408: name 'args' is not defined +2025-03-10 15:30:06,012 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,013 - ERROR - Error in episode 5409: name 'args' is not defined +2025-03-10 15:30:06,016 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,017 - ERROR - Error in episode 5410: name 'args' is not defined +2025-03-10 15:30:06,020 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,021 - ERROR - Error in episode 5411: name 'args' is not defined +2025-03-10 15:30:06,024 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,025 - ERROR - Error in episode 5412: name 'args' is not defined +2025-03-10 15:30:06,029 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,029 - ERROR - Error in episode 5413: name 'args' is not defined +2025-03-10 15:30:06,032 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,032 - ERROR - Error in episode 5414: name 'args' is not defined +2025-03-10 15:30:06,035 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,037 - ERROR - Error in episode 5415: name 'args' is not defined +2025-03-10 15:30:06,040 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,040 - ERROR - Error in episode 5416: name 'args' is not defined +2025-03-10 15:30:06,043 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,043 - ERROR - Error in episode 5417: name 'args' is not defined +2025-03-10 15:30:06,047 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,048 - ERROR - Error in episode 5418: name 'args' is not defined +2025-03-10 15:30:06,051 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,052 - ERROR - Error in episode 5419: name 'args' is not defined +2025-03-10 15:30:06,055 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,055 - ERROR - Error in episode 5420: name 'args' is not defined +2025-03-10 15:30:06,059 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,059 - ERROR - Error in episode 5421: name 'args' is not defined +2025-03-10 15:30:06,063 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,063 - ERROR - Error in episode 5422: name 'args' is not defined +2025-03-10 15:30:06,066 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,067 - ERROR - Error in episode 5423: name 'args' is not defined +2025-03-10 15:30:06,071 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,071 - ERROR - Error in episode 5424: name 'args' is not defined +2025-03-10 15:30:06,075 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,076 - ERROR - Error in episode 5425: name 'args' is not defined +2025-03-10 15:30:06,079 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,079 - ERROR - Error in episode 5426: name 'args' is not defined +2025-03-10 15:30:06,082 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,082 - ERROR - Error in episode 5427: name 'args' is not defined +2025-03-10 15:30:06,085 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,086 - ERROR - Error in episode 5428: name 'args' is not defined +2025-03-10 15:30:06,089 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,089 - ERROR - Error in episode 5429: name 'args' is not defined +2025-03-10 15:30:06,093 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,093 - ERROR - Error in episode 5430: name 'args' is not defined +2025-03-10 15:30:06,096 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,097 - ERROR - Error in episode 5431: name 'args' is not defined +2025-03-10 15:30:06,101 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,102 - ERROR - Error in episode 5432: name 'args' is not defined +2025-03-10 15:30:06,105 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,105 - ERROR - Error in episode 5433: name 'args' is not defined +2025-03-10 15:30:06,108 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,108 - ERROR - Error in episode 5434: name 'args' is not defined +2025-03-10 15:30:06,110 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,110 - ERROR - Error in episode 5435: name 'args' is not defined +2025-03-10 15:30:06,113 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,113 - ERROR - Error in episode 5436: name 'args' is not defined +2025-03-10 15:30:06,115 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,116 - ERROR - Error in episode 5437: name 'args' is not defined +2025-03-10 15:30:06,118 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,119 - ERROR - Error in episode 5438: name 'args' is not defined +2025-03-10 15:30:06,122 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,122 - ERROR - Error in episode 5439: name 'args' is not defined +2025-03-10 15:30:06,124 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,124 - ERROR - Error in episode 5440: name 'args' is not defined +2025-03-10 15:30:06,127 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,128 - ERROR - Error in episode 5441: name 'args' is not defined +2025-03-10 15:30:06,130 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,130 - ERROR - Error in episode 5442: name 'args' is not defined +2025-03-10 15:30:06,133 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,134 - ERROR - Error in episode 5443: name 'args' is not defined +2025-03-10 15:30:06,137 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,137 - ERROR - Error in episode 5444: name 'args' is not defined +2025-03-10 15:30:06,140 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,140 - ERROR - Error in episode 5445: name 'args' is not defined +2025-03-10 15:30:06,143 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,144 - ERROR - Error in episode 5446: name 'args' is not defined +2025-03-10 15:30:06,146 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,146 - ERROR - Error in episode 5447: name 'args' is not defined +2025-03-10 15:30:06,150 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,151 - ERROR - Error in episode 5448: name 'args' is not defined +2025-03-10 15:30:06,155 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,155 - ERROR - Error in episode 5449: name 'args' is not defined +2025-03-10 15:30:06,158 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,159 - ERROR - Error in episode 5450: name 'args' is not defined +2025-03-10 15:30:06,163 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,163 - ERROR - Error in episode 5451: name 'args' is not defined +2025-03-10 15:30:06,167 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,167 - ERROR - Error in episode 5452: name 'args' is not defined +2025-03-10 15:30:06,171 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,171 - ERROR - Error in episode 5453: name 'args' is not defined +2025-03-10 15:30:06,175 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,175 - ERROR - Error in episode 5454: name 'args' is not defined +2025-03-10 15:30:06,179 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,180 - ERROR - Error in episode 5455: name 'args' is not defined +2025-03-10 15:30:06,182 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,183 - ERROR - Error in episode 5456: name 'args' is not defined +2025-03-10 15:30:06,187 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,187 - ERROR - Error in episode 5457: name 'args' is not defined +2025-03-10 15:30:06,190 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,191 - ERROR - Error in episode 5458: name 'args' is not defined +2025-03-10 15:30:06,195 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,195 - ERROR - Error in episode 5459: name 'args' is not defined +2025-03-10 15:30:06,198 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,198 - ERROR - Error in episode 5460: name 'args' is not defined +2025-03-10 15:30:06,201 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,201 - ERROR - Error in episode 5461: name 'args' is not defined +2025-03-10 15:30:06,204 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,204 - ERROR - Error in episode 5462: name 'args' is not defined +2025-03-10 15:30:06,207 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,207 - ERROR - Error in episode 5463: name 'args' is not defined +2025-03-10 15:30:06,210 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,210 - ERROR - Error in episode 5464: name 'args' is not defined +2025-03-10 15:30:06,213 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,214 - ERROR - Error in episode 5465: name 'args' is not defined +2025-03-10 15:30:06,217 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,217 - ERROR - Error in episode 5466: name 'args' is not defined +2025-03-10 15:30:06,221 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,221 - ERROR - Error in episode 5467: name 'args' is not defined +2025-03-10 15:30:06,224 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,225 - ERROR - Error in episode 5468: name 'args' is not defined +2025-03-10 15:30:06,227 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,228 - ERROR - Error in episode 5469: name 'args' is not defined +2025-03-10 15:30:06,230 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,230 - ERROR - Error in episode 5470: name 'args' is not defined +2025-03-10 15:30:06,233 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,233 - ERROR - Error in episode 5471: name 'args' is not defined +2025-03-10 15:30:06,235 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,237 - ERROR - Error in episode 5472: name 'args' is not defined +2025-03-10 15:30:06,239 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,239 - ERROR - Error in episode 5473: name 'args' is not defined +2025-03-10 15:30:06,242 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,242 - ERROR - Error in episode 5474: name 'args' is not defined +2025-03-10 15:30:06,245 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,245 - ERROR - Error in episode 5475: name 'args' is not defined +2025-03-10 15:30:06,248 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,248 - ERROR - Error in episode 5476: name 'args' is not defined +2025-03-10 15:30:06,251 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,251 - ERROR - Error in episode 5477: name 'args' is not defined +2025-03-10 15:30:06,254 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,254 - ERROR - Error in episode 5478: name 'args' is not defined +2025-03-10 15:30:06,256 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,257 - ERROR - Error in episode 5479: name 'args' is not defined +2025-03-10 15:30:06,259 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,260 - ERROR - Error in episode 5480: name 'args' is not defined +2025-03-10 15:30:06,263 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,263 - ERROR - Error in episode 5481: name 'args' is not defined +2025-03-10 15:30:06,266 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,266 - ERROR - Error in episode 5482: name 'args' is not defined +2025-03-10 15:30:06,268 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,269 - ERROR - Error in episode 5483: name 'args' is not defined +2025-03-10 15:30:06,271 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,272 - ERROR - Error in episode 5484: name 'args' is not defined +2025-03-10 15:30:06,274 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,275 - ERROR - Error in episode 5485: name 'args' is not defined +2025-03-10 15:30:06,277 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,278 - ERROR - Error in episode 5486: name 'args' is not defined +2025-03-10 15:30:06,280 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,280 - ERROR - Error in episode 5487: name 'args' is not defined +2025-03-10 15:30:06,283 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,283 - ERROR - Error in episode 5488: name 'args' is not defined +2025-03-10 15:30:06,286 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,286 - ERROR - Error in episode 5489: name 'args' is not defined +2025-03-10 15:30:06,289 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,289 - ERROR - Error in episode 5490: name 'args' is not defined +2025-03-10 15:30:06,292 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,293 - ERROR - Error in episode 5491: name 'args' is not defined +2025-03-10 15:30:06,295 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,295 - ERROR - Error in episode 5492: name 'args' is not defined +2025-03-10 15:30:06,298 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,299 - ERROR - Error in episode 5493: name 'args' is not defined +2025-03-10 15:30:06,301 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,301 - ERROR - Error in episode 5494: name 'args' is not defined +2025-03-10 15:30:06,304 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,304 - ERROR - Error in episode 5495: name 'args' is not defined +2025-03-10 15:30:06,307 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,307 - ERROR - Error in episode 5496: name 'args' is not defined +2025-03-10 15:30:06,310 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,310 - ERROR - Error in episode 5497: name 'args' is not defined +2025-03-10 15:30:06,312 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,312 - ERROR - Error in episode 5498: name 'args' is not defined +2025-03-10 15:30:06,316 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,316 - ERROR - Error in episode 5499: name 'args' is not defined +2025-03-10 15:30:06,319 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,319 - ERROR - Error in episode 5500: name 'args' is not defined +2025-03-10 15:30:06,321 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,322 - ERROR - Error in episode 5501: name 'args' is not defined +2025-03-10 15:30:06,325 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,325 - ERROR - Error in episode 5502: name 'args' is not defined +2025-03-10 15:30:06,327 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,327 - ERROR - Error in episode 5503: name 'args' is not defined +2025-03-10 15:30:06,330 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,331 - ERROR - Error in episode 5504: name 'args' is not defined +2025-03-10 15:30:06,333 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,334 - ERROR - Error in episode 5505: name 'args' is not defined +2025-03-10 15:30:06,336 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,336 - ERROR - Error in episode 5506: name 'args' is not defined +2025-03-10 15:30:06,339 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,339 - ERROR - Error in episode 5507: name 'args' is not defined +2025-03-10 15:30:06,342 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,342 - ERROR - Error in episode 5508: name 'args' is not defined +2025-03-10 15:30:06,344 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,344 - ERROR - Error in episode 5509: name 'args' is not defined +2025-03-10 15:30:06,348 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,349 - ERROR - Error in episode 5510: name 'args' is not defined +2025-03-10 15:30:06,351 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,351 - ERROR - Error in episode 5511: name 'args' is not defined +2025-03-10 15:30:06,354 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,354 - ERROR - Error in episode 5512: name 'args' is not defined +2025-03-10 15:30:06,357 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,357 - ERROR - Error in episode 5513: name 'args' is not defined +2025-03-10 15:30:06,359 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,360 - ERROR - Error in episode 5514: name 'args' is not defined +2025-03-10 15:30:06,363 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,363 - ERROR - Error in episode 5515: name 'args' is not defined +2025-03-10 15:30:06,366 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,366 - ERROR - Error in episode 5516: name 'args' is not defined +2025-03-10 15:30:06,368 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,368 - ERROR - Error in episode 5517: name 'args' is not defined +2025-03-10 15:30:06,371 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,371 - ERROR - Error in episode 5518: name 'args' is not defined +2025-03-10 15:30:06,374 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,374 - ERROR - Error in episode 5519: name 'args' is not defined +2025-03-10 15:30:06,376 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,377 - ERROR - Error in episode 5520: name 'args' is not defined +2025-03-10 15:30:06,379 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,379 - ERROR - Error in episode 5521: name 'args' is not defined +2025-03-10 15:30:06,382 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,382 - ERROR - Error in episode 5522: name 'args' is not defined +2025-03-10 15:30:06,384 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,385 - ERROR - Error in episode 5523: name 'args' is not defined +2025-03-10 15:30:06,387 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,388 - ERROR - Error in episode 5524: name 'args' is not defined +2025-03-10 15:30:06,390 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,391 - ERROR - Error in episode 5525: name 'args' is not defined +2025-03-10 15:30:06,393 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,394 - ERROR - Error in episode 5526: name 'args' is not defined +2025-03-10 15:30:06,396 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,397 - ERROR - Error in episode 5527: name 'args' is not defined +2025-03-10 15:30:06,399 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,400 - ERROR - Error in episode 5528: name 'args' is not defined +2025-03-10 15:30:06,402 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,402 - ERROR - Error in episode 5529: name 'args' is not defined +2025-03-10 15:30:06,405 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,407 - ERROR - Error in episode 5530: name 'args' is not defined +2025-03-10 15:30:06,409 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,410 - ERROR - Error in episode 5531: name 'args' is not defined +2025-03-10 15:30:06,412 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,413 - ERROR - Error in episode 5532: name 'args' is not defined +2025-03-10 15:30:06,415 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,416 - ERROR - Error in episode 5533: name 'args' is not defined +2025-03-10 15:30:06,419 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,419 - ERROR - Error in episode 5534: name 'args' is not defined +2025-03-10 15:30:06,422 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,423 - ERROR - Error in episode 5535: name 'args' is not defined +2025-03-10 15:30:06,425 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,426 - ERROR - Error in episode 5536: name 'args' is not defined +2025-03-10 15:30:06,428 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,429 - ERROR - Error in episode 5537: name 'args' is not defined +2025-03-10 15:30:06,433 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,433 - ERROR - Error in episode 5538: name 'args' is not defined +2025-03-10 15:30:06,436 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,436 - ERROR - Error in episode 5539: name 'args' is not defined +2025-03-10 15:30:06,439 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,440 - ERROR - Error in episode 5540: name 'args' is not defined +2025-03-10 15:30:06,442 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,442 - ERROR - Error in episode 5541: name 'args' is not defined +2025-03-10 15:30:06,445 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,445 - ERROR - Error in episode 5542: name 'args' is not defined +2025-03-10 15:30:06,448 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,448 - ERROR - Error in episode 5543: name 'args' is not defined +2025-03-10 15:30:06,451 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,451 - ERROR - Error in episode 5544: name 'args' is not defined +2025-03-10 15:30:06,453 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,453 - ERROR - Error in episode 5545: name 'args' is not defined +2025-03-10 15:30:06,456 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,457 - ERROR - Error in episode 5546: name 'args' is not defined +2025-03-10 15:30:06,459 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,459 - ERROR - Error in episode 5547: name 'args' is not defined +2025-03-10 15:30:06,462 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,462 - ERROR - Error in episode 5548: name 'args' is not defined +2025-03-10 15:30:06,465 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,465 - ERROR - Error in episode 5549: name 'args' is not defined +2025-03-10 15:30:06,467 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,468 - ERROR - Error in episode 5550: name 'args' is not defined +2025-03-10 15:30:06,470 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,471 - ERROR - Error in episode 5551: name 'args' is not defined +2025-03-10 15:30:06,474 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,474 - ERROR - Error in episode 5552: name 'args' is not defined +2025-03-10 15:30:06,476 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,477 - ERROR - Error in episode 5553: name 'args' is not defined +2025-03-10 15:30:06,479 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,479 - ERROR - Error in episode 5554: name 'args' is not defined +2025-03-10 15:30:06,482 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,482 - ERROR - Error in episode 5555: name 'args' is not defined +2025-03-10 15:30:06,485 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,485 - ERROR - Error in episode 5556: name 'args' is not defined +2025-03-10 15:30:06,489 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,489 - ERROR - Error in episode 5557: name 'args' is not defined +2025-03-10 15:30:06,492 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,492 - ERROR - Error in episode 5558: name 'args' is not defined +2025-03-10 15:30:06,495 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,495 - ERROR - Error in episode 5559: name 'args' is not defined +2025-03-10 15:30:06,498 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,498 - ERROR - Error in episode 5560: name 'args' is not defined +2025-03-10 15:30:06,501 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,501 - ERROR - Error in episode 5561: name 'args' is not defined +2025-03-10 15:30:06,503 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,504 - ERROR - Error in episode 5562: name 'args' is not defined +2025-03-10 15:30:06,506 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,507 - ERROR - Error in episode 5563: name 'args' is not defined +2025-03-10 15:30:06,509 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,509 - ERROR - Error in episode 5564: name 'args' is not defined +2025-03-10 15:30:06,512 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,512 - ERROR - Error in episode 5565: name 'args' is not defined +2025-03-10 15:30:06,515 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,515 - ERROR - Error in episode 5566: name 'args' is not defined +2025-03-10 15:30:06,517 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,518 - ERROR - Error in episode 5567: name 'args' is not defined +2025-03-10 15:30:06,521 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,521 - ERROR - Error in episode 5568: name 'args' is not defined +2025-03-10 15:30:06,524 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,524 - ERROR - Error in episode 5569: name 'args' is not defined +2025-03-10 15:30:06,527 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,527 - ERROR - Error in episode 5570: name 'args' is not defined +2025-03-10 15:30:06,529 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,530 - ERROR - Error in episode 5571: name 'args' is not defined +2025-03-10 15:30:06,533 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,534 - ERROR - Error in episode 5572: name 'args' is not defined +2025-03-10 15:30:06,536 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,537 - ERROR - Error in episode 5573: name 'args' is not defined +2025-03-10 15:30:06,540 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,540 - ERROR - Error in episode 5574: name 'args' is not defined +2025-03-10 15:30:06,542 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,543 - ERROR - Error in episode 5575: name 'args' is not defined +2025-03-10 15:30:06,545 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,545 - ERROR - Error in episode 5576: name 'args' is not defined +2025-03-10 15:30:06,548 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,548 - ERROR - Error in episode 5577: name 'args' is not defined +2025-03-10 15:30:06,552 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,552 - ERROR - Error in episode 5578: name 'args' is not defined +2025-03-10 15:30:06,554 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,555 - ERROR - Error in episode 5579: name 'args' is not defined +2025-03-10 15:30:06,557 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,557 - ERROR - Error in episode 5580: name 'args' is not defined +2025-03-10 15:30:06,559 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,560 - ERROR - Error in episode 5581: name 'args' is not defined +2025-03-10 15:30:06,563 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,563 - ERROR - Error in episode 5582: name 'args' is not defined +2025-03-10 15:30:06,566 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,566 - ERROR - Error in episode 5583: name 'args' is not defined +2025-03-10 15:30:06,569 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,569 - ERROR - Error in episode 5584: name 'args' is not defined +2025-03-10 15:30:06,572 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,572 - ERROR - Error in episode 5585: name 'args' is not defined +2025-03-10 15:30:06,574 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,575 - ERROR - Error in episode 5586: name 'args' is not defined +2025-03-10 15:30:06,577 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,578 - ERROR - Error in episode 5587: name 'args' is not defined +2025-03-10 15:30:06,581 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,582 - ERROR - Error in episode 5588: name 'args' is not defined +2025-03-10 15:30:06,584 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,585 - ERROR - Error in episode 5589: name 'args' is not defined +2025-03-10 15:30:06,587 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,588 - ERROR - Error in episode 5590: name 'args' is not defined +2025-03-10 15:30:06,591 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,591 - ERROR - Error in episode 5591: name 'args' is not defined +2025-03-10 15:30:06,594 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,594 - ERROR - Error in episode 5592: name 'args' is not defined +2025-03-10 15:30:06,597 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,597 - ERROR - Error in episode 5593: name 'args' is not defined +2025-03-10 15:30:06,601 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,601 - ERROR - Error in episode 5594: name 'args' is not defined +2025-03-10 15:30:06,603 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,604 - ERROR - Error in episode 5595: name 'args' is not defined +2025-03-10 15:30:06,606 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,607 - ERROR - Error in episode 5596: name 'args' is not defined +2025-03-10 15:30:06,609 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,609 - ERROR - Error in episode 5597: name 'args' is not defined +2025-03-10 15:30:06,612 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,612 - ERROR - Error in episode 5598: name 'args' is not defined +2025-03-10 15:30:06,615 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,615 - ERROR - Error in episode 5599: name 'args' is not defined +2025-03-10 15:30:06,617 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,617 - ERROR - Error in episode 5600: name 'args' is not defined +2025-03-10 15:30:06,620 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,620 - ERROR - Error in episode 5601: name 'args' is not defined +2025-03-10 15:30:06,623 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,623 - ERROR - Error in episode 5602: name 'args' is not defined +2025-03-10 15:30:06,626 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,626 - ERROR - Error in episode 5603: name 'args' is not defined +2025-03-10 15:30:06,629 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,629 - ERROR - Error in episode 5604: name 'args' is not defined +2025-03-10 15:30:06,633 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,633 - ERROR - Error in episode 5605: name 'args' is not defined +2025-03-10 15:30:06,635 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,635 - ERROR - Error in episode 5606: name 'args' is not defined +2025-03-10 15:30:06,638 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,638 - ERROR - Error in episode 5607: name 'args' is not defined +2025-03-10 15:30:06,641 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,641 - ERROR - Error in episode 5608: name 'args' is not defined +2025-03-10 15:30:06,644 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,644 - ERROR - Error in episode 5609: name 'args' is not defined +2025-03-10 15:30:06,647 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,647 - ERROR - Error in episode 5610: name 'args' is not defined +2025-03-10 15:30:06,650 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,650 - ERROR - Error in episode 5611: name 'args' is not defined +2025-03-10 15:30:06,653 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,654 - ERROR - Error in episode 5612: name 'args' is not defined +2025-03-10 15:30:06,657 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,657 - ERROR - Error in episode 5613: name 'args' is not defined +2025-03-10 15:30:06,660 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,660 - ERROR - Error in episode 5614: name 'args' is not defined +2025-03-10 15:30:06,662 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,663 - ERROR - Error in episode 5615: name 'args' is not defined +2025-03-10 15:30:06,665 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,665 - ERROR - Error in episode 5616: name 'args' is not defined +2025-03-10 15:30:06,668 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,669 - ERROR - Error in episode 5617: name 'args' is not defined +2025-03-10 15:30:06,671 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,672 - ERROR - Error in episode 5618: name 'args' is not defined +2025-03-10 15:30:06,675 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,676 - ERROR - Error in episode 5619: name 'args' is not defined +2025-03-10 15:30:06,678 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,679 - ERROR - Error in episode 5620: name 'args' is not defined +2025-03-10 15:30:06,682 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,682 - ERROR - Error in episode 5621: name 'args' is not defined +2025-03-10 15:30:06,684 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,685 - ERROR - Error in episode 5622: name 'args' is not defined +2025-03-10 15:30:06,687 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,687 - ERROR - Error in episode 5623: name 'args' is not defined +2025-03-10 15:30:06,691 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,691 - ERROR - Error in episode 5624: name 'args' is not defined +2025-03-10 15:30:06,694 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,694 - ERROR - Error in episode 5625: name 'args' is not defined +2025-03-10 15:30:06,697 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,697 - ERROR - Error in episode 5626: name 'args' is not defined +2025-03-10 15:30:06,699 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,700 - ERROR - Error in episode 5627: name 'args' is not defined +2025-03-10 15:30:06,702 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,702 - ERROR - Error in episode 5628: name 'args' is not defined +2025-03-10 15:30:06,705 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,705 - ERROR - Error in episode 5629: name 'args' is not defined +2025-03-10 15:30:06,708 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,708 - ERROR - Error in episode 5630: name 'args' is not defined +2025-03-10 15:30:06,711 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,711 - ERROR - Error in episode 5631: name 'args' is not defined +2025-03-10 15:30:06,714 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,714 - ERROR - Error in episode 5632: name 'args' is not defined +2025-03-10 15:30:06,717 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,717 - ERROR - Error in episode 5633: name 'args' is not defined +2025-03-10 15:30:06,720 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,721 - ERROR - Error in episode 5634: name 'args' is not defined +2025-03-10 15:30:06,723 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,724 - ERROR - Error in episode 5635: name 'args' is not defined +2025-03-10 15:30:06,726 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,726 - ERROR - Error in episode 5636: name 'args' is not defined +2025-03-10 15:30:06,729 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,729 - ERROR - Error in episode 5637: name 'args' is not defined +2025-03-10 15:30:06,732 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,733 - ERROR - Error in episode 5638: name 'args' is not defined +2025-03-10 15:30:06,735 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,736 - ERROR - Error in episode 5639: name 'args' is not defined +2025-03-10 15:30:06,738 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,738 - ERROR - Error in episode 5640: name 'args' is not defined +2025-03-10 15:30:06,741 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,741 - ERROR - Error in episode 5641: name 'args' is not defined +2025-03-10 15:30:06,744 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,744 - ERROR - Error in episode 5642: name 'args' is not defined +2025-03-10 15:30:06,747 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,747 - ERROR - Error in episode 5643: name 'args' is not defined +2025-03-10 15:30:06,750 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,751 - ERROR - Error in episode 5644: name 'args' is not defined +2025-03-10 15:30:06,753 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,753 - ERROR - Error in episode 5645: name 'args' is not defined +2025-03-10 15:30:06,757 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,757 - ERROR - Error in episode 5646: name 'args' is not defined +2025-03-10 15:30:06,759 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,760 - ERROR - Error in episode 5647: name 'args' is not defined +2025-03-10 15:30:06,762 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,763 - ERROR - Error in episode 5648: name 'args' is not defined +2025-03-10 15:30:06,765 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,766 - ERROR - Error in episode 5649: name 'args' is not defined +2025-03-10 15:30:06,768 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,769 - ERROR - Error in episode 5650: name 'args' is not defined +2025-03-10 15:30:06,771 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,771 - ERROR - Error in episode 5651: name 'args' is not defined +2025-03-10 15:30:06,774 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,775 - ERROR - Error in episode 5652: name 'args' is not defined +2025-03-10 15:30:06,777 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,778 - ERROR - Error in episode 5653: name 'args' is not defined +2025-03-10 15:30:06,780 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,780 - ERROR - Error in episode 5654: name 'args' is not defined +2025-03-10 15:30:06,783 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,783 - ERROR - Error in episode 5655: name 'args' is not defined +2025-03-10 15:30:06,787 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,787 - ERROR - Error in episode 5656: name 'args' is not defined +2025-03-10 15:30:06,790 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,790 - ERROR - Error in episode 5657: name 'args' is not defined +2025-03-10 15:30:06,793 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,793 - ERROR - Error in episode 5658: name 'args' is not defined +2025-03-10 15:30:06,796 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,796 - ERROR - Error in episode 5659: name 'args' is not defined +2025-03-10 15:30:06,798 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,799 - ERROR - Error in episode 5660: name 'args' is not defined +2025-03-10 15:30:06,801 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,802 - ERROR - Error in episode 5661: name 'args' is not defined +2025-03-10 15:30:06,804 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,804 - ERROR - Error in episode 5662: name 'args' is not defined +2025-03-10 15:30:06,807 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,808 - ERROR - Error in episode 5663: name 'args' is not defined +2025-03-10 15:30:06,811 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,811 - ERROR - Error in episode 5664: name 'args' is not defined +2025-03-10 15:30:06,813 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,813 - ERROR - Error in episode 5665: name 'args' is not defined +2025-03-10 15:30:06,816 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,816 - ERROR - Error in episode 5666: name 'args' is not defined +2025-03-10 15:30:06,818 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,819 - ERROR - Error in episode 5667: name 'args' is not defined +2025-03-10 15:30:06,821 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,821 - ERROR - Error in episode 5668: name 'args' is not defined +2025-03-10 15:30:06,824 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,824 - ERROR - Error in episode 5669: name 'args' is not defined +2025-03-10 15:30:06,828 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,828 - ERROR - Error in episode 5670: name 'args' is not defined +2025-03-10 15:30:06,831 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,831 - ERROR - Error in episode 5671: name 'args' is not defined +2025-03-10 15:30:06,833 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,833 - ERROR - Error in episode 5672: name 'args' is not defined +2025-03-10 15:30:06,837 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,837 - ERROR - Error in episode 5673: name 'args' is not defined +2025-03-10 15:30:06,839 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,840 - ERROR - Error in episode 5674: name 'args' is not defined +2025-03-10 15:30:06,842 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,842 - ERROR - Error in episode 5675: name 'args' is not defined +2025-03-10 15:30:06,845 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,845 - ERROR - Error in episode 5676: name 'args' is not defined +2025-03-10 15:30:06,848 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,848 - ERROR - Error in episode 5677: name 'args' is not defined +2025-03-10 15:30:06,850 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,851 - ERROR - Error in episode 5678: name 'args' is not defined +2025-03-10 15:30:06,854 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,854 - ERROR - Error in episode 5679: name 'args' is not defined +2025-03-10 15:30:06,857 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,857 - ERROR - Error in episode 5680: name 'args' is not defined +2025-03-10 15:30:06,860 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,861 - ERROR - Error in episode 5681: name 'args' is not defined +2025-03-10 15:30:06,863 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,864 - ERROR - Error in episode 5682: name 'args' is not defined +2025-03-10 15:30:06,866 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,867 - ERROR - Error in episode 5683: name 'args' is not defined +2025-03-10 15:30:06,870 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,870 - ERROR - Error in episode 5684: name 'args' is not defined +2025-03-10 15:30:06,872 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,873 - ERROR - Error in episode 5685: name 'args' is not defined +2025-03-10 15:30:06,876 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,876 - ERROR - Error in episode 5686: name 'args' is not defined +2025-03-10 15:30:06,878 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,879 - ERROR - Error in episode 5687: name 'args' is not defined +2025-03-10 15:30:06,882 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,882 - ERROR - Error in episode 5688: name 'args' is not defined +2025-03-10 15:30:06,886 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,886 - ERROR - Error in episode 5689: name 'args' is not defined +2025-03-10 15:30:06,889 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,889 - ERROR - Error in episode 5690: name 'args' is not defined +2025-03-10 15:30:06,892 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,893 - ERROR - Error in episode 5691: name 'args' is not defined +2025-03-10 15:30:06,896 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,896 - ERROR - Error in episode 5692: name 'args' is not defined +2025-03-10 15:30:06,898 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,899 - ERROR - Error in episode 5693: name 'args' is not defined +2025-03-10 15:30:06,901 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,901 - ERROR - Error in episode 5694: name 'args' is not defined +2025-03-10 15:30:06,904 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,904 - ERROR - Error in episode 5695: name 'args' is not defined +2025-03-10 15:30:06,907 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,907 - ERROR - Error in episode 5696: name 'args' is not defined +2025-03-10 15:30:06,910 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,910 - ERROR - Error in episode 5697: name 'args' is not defined +2025-03-10 15:30:06,913 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,913 - ERROR - Error in episode 5698: name 'args' is not defined +2025-03-10 15:30:06,915 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,916 - ERROR - Error in episode 5699: name 'args' is not defined +2025-03-10 15:30:06,919 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,919 - ERROR - Error in episode 5700: name 'args' is not defined +2025-03-10 15:30:06,921 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,922 - ERROR - Error in episode 5701: name 'args' is not defined +2025-03-10 15:30:06,924 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,925 - ERROR - Error in episode 5702: name 'args' is not defined +2025-03-10 15:30:06,927 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,927 - ERROR - Error in episode 5703: name 'args' is not defined +2025-03-10 15:30:06,929 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,929 - ERROR - Error in episode 5704: name 'args' is not defined +2025-03-10 15:30:06,933 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,933 - ERROR - Error in episode 5705: name 'args' is not defined +2025-03-10 15:30:06,936 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,936 - ERROR - Error in episode 5706: name 'args' is not defined +2025-03-10 15:30:06,938 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,939 - ERROR - Error in episode 5707: name 'args' is not defined +2025-03-10 15:30:06,941 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,942 - ERROR - Error in episode 5708: name 'args' is not defined +2025-03-10 15:30:06,944 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,945 - ERROR - Error in episode 5709: name 'args' is not defined +2025-03-10 15:30:06,947 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,948 - ERROR - Error in episode 5710: name 'args' is not defined +2025-03-10 15:30:06,951 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,951 - ERROR - Error in episode 5711: name 'args' is not defined +2025-03-10 15:30:06,954 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,954 - ERROR - Error in episode 5712: name 'args' is not defined +2025-03-10 15:30:06,956 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,957 - ERROR - Error in episode 5713: name 'args' is not defined +2025-03-10 15:30:06,959 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,960 - ERROR - Error in episode 5714: name 'args' is not defined +2025-03-10 15:30:06,962 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,963 - ERROR - Error in episode 5715: name 'args' is not defined +2025-03-10 15:30:06,966 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,966 - ERROR - Error in episode 5716: name 'args' is not defined +2025-03-10 15:30:06,969 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,969 - ERROR - Error in episode 5717: name 'args' is not defined +2025-03-10 15:30:06,972 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,972 - ERROR - Error in episode 5718: name 'args' is not defined +2025-03-10 15:30:06,975 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,975 - ERROR - Error in episode 5719: name 'args' is not defined +2025-03-10 15:30:06,979 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,979 - ERROR - Error in episode 5720: name 'args' is not defined +2025-03-10 15:30:06,983 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,983 - ERROR - Error in episode 5721: name 'args' is not defined +2025-03-10 15:30:06,986 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,986 - ERROR - Error in episode 5722: name 'args' is not defined +2025-03-10 15:30:06,989 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,989 - ERROR - Error in episode 5723: name 'args' is not defined +2025-03-10 15:30:06,991 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,992 - ERROR - Error in episode 5724: name 'args' is not defined +2025-03-10 15:30:06,995 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,995 - ERROR - Error in episode 5725: name 'args' is not defined +2025-03-10 15:30:06,998 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:06,998 - ERROR - Error in episode 5726: name 'args' is not defined +2025-03-10 15:30:07,001 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,002 - ERROR - Error in episode 5727: name 'args' is not defined +2025-03-10 15:30:07,004 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,005 - ERROR - Error in episode 5728: name 'args' is not defined +2025-03-10 15:30:07,007 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,007 - ERROR - Error in episode 5729: name 'args' is not defined +2025-03-10 15:30:07,010 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,012 - ERROR - Error in episode 5730: name 'args' is not defined +2025-03-10 15:30:07,014 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,015 - ERROR - Error in episode 5731: name 'args' is not defined +2025-03-10 15:30:07,017 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,018 - ERROR - Error in episode 5732: name 'args' is not defined +2025-03-10 15:30:07,020 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,020 - ERROR - Error in episode 5733: name 'args' is not defined +2025-03-10 15:30:07,023 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,023 - ERROR - Error in episode 5734: name 'args' is not defined +2025-03-10 15:30:07,026 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,026 - ERROR - Error in episode 5735: name 'args' is not defined +2025-03-10 15:30:07,029 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,029 - ERROR - Error in episode 5736: name 'args' is not defined +2025-03-10 15:30:07,033 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,033 - ERROR - Error in episode 5737: name 'args' is not defined +2025-03-10 15:30:07,036 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,036 - ERROR - Error in episode 5738: name 'args' is not defined +2025-03-10 15:30:07,039 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,039 - ERROR - Error in episode 5739: name 'args' is not defined +2025-03-10 15:30:07,042 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,042 - ERROR - Error in episode 5740: name 'args' is not defined +2025-03-10 15:30:07,045 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,045 - ERROR - Error in episode 5741: name 'args' is not defined +2025-03-10 15:30:07,048 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,048 - ERROR - Error in episode 5742: name 'args' is not defined +2025-03-10 15:30:07,050 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,050 - ERROR - Error in episode 5743: name 'args' is not defined +2025-03-10 15:30:07,053 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,053 - ERROR - Error in episode 5744: name 'args' is not defined +2025-03-10 15:30:07,055 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,056 - ERROR - Error in episode 5745: name 'args' is not defined +2025-03-10 15:30:07,058 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,059 - ERROR - Error in episode 5746: name 'args' is not defined +2025-03-10 15:30:07,062 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,062 - ERROR - Error in episode 5747: name 'args' is not defined +2025-03-10 15:30:07,064 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,065 - ERROR - Error in episode 5748: name 'args' is not defined +2025-03-10 15:30:07,067 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,068 - ERROR - Error in episode 5749: name 'args' is not defined +2025-03-10 15:30:07,070 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,070 - ERROR - Error in episode 5750: name 'args' is not defined +2025-03-10 15:30:07,073 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,073 - ERROR - Error in episode 5751: name 'args' is not defined +2025-03-10 15:30:07,076 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,077 - ERROR - Error in episode 5752: name 'args' is not defined +2025-03-10 15:30:07,079 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,079 - ERROR - Error in episode 5753: name 'args' is not defined +2025-03-10 15:30:07,082 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,082 - ERROR - Error in episode 5754: name 'args' is not defined +2025-03-10 15:30:07,085 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,085 - ERROR - Error in episode 5755: name 'args' is not defined +2025-03-10 15:30:07,088 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,088 - ERROR - Error in episode 5756: name 'args' is not defined +2025-03-10 15:30:07,090 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,091 - ERROR - Error in episode 5757: name 'args' is not defined +2025-03-10 15:30:07,094 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,094 - ERROR - Error in episode 5758: name 'args' is not defined +2025-03-10 15:30:07,097 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,097 - ERROR - Error in episode 5759: name 'args' is not defined +2025-03-10 15:30:07,099 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,100 - ERROR - Error in episode 5760: name 'args' is not defined +2025-03-10 15:30:07,103 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,104 - ERROR - Error in episode 5761: name 'args' is not defined +2025-03-10 15:30:07,106 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,107 - ERROR - Error in episode 5762: name 'args' is not defined +2025-03-10 15:30:07,109 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,109 - ERROR - Error in episode 5763: name 'args' is not defined +2025-03-10 15:30:07,112 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,112 - ERROR - Error in episode 5764: name 'args' is not defined +2025-03-10 15:30:07,114 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,115 - ERROR - Error in episode 5765: name 'args' is not defined +2025-03-10 15:30:07,117 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,117 - ERROR - Error in episode 5766: name 'args' is not defined +2025-03-10 15:30:07,121 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,121 - ERROR - Error in episode 5767: name 'args' is not defined +2025-03-10 15:30:07,124 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,124 - ERROR - Error in episode 5768: name 'args' is not defined +2025-03-10 15:30:07,126 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,127 - ERROR - Error in episode 5769: name 'args' is not defined +2025-03-10 15:30:07,129 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,129 - ERROR - Error in episode 5770: name 'args' is not defined +2025-03-10 15:30:07,132 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,133 - ERROR - Error in episode 5771: name 'args' is not defined +2025-03-10 15:30:07,135 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,136 - ERROR - Error in episode 5772: name 'args' is not defined +2025-03-10 15:30:07,138 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,139 - ERROR - Error in episode 5773: name 'args' is not defined +2025-03-10 15:30:07,141 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,142 - ERROR - Error in episode 5774: name 'args' is not defined +2025-03-10 15:30:07,144 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,144 - ERROR - Error in episode 5775: name 'args' is not defined +2025-03-10 15:30:07,147 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,147 - ERROR - Error in episode 5776: name 'args' is not defined +2025-03-10 15:30:07,149 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,150 - ERROR - Error in episode 5777: name 'args' is not defined +2025-03-10 15:30:07,153 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,153 - ERROR - Error in episode 5778: name 'args' is not defined +2025-03-10 15:30:07,156 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,156 - ERROR - Error in episode 5779: name 'args' is not defined +2025-03-10 15:30:07,158 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,159 - ERROR - Error in episode 5780: name 'args' is not defined +2025-03-10 15:30:07,162 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,162 - ERROR - Error in episode 5781: name 'args' is not defined +2025-03-10 15:30:07,165 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,165 - ERROR - Error in episode 5782: name 'args' is not defined +2025-03-10 15:30:07,168 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,168 - ERROR - Error in episode 5783: name 'args' is not defined +2025-03-10 15:30:07,171 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,171 - ERROR - Error in episode 5784: name 'args' is not defined +2025-03-10 15:30:07,174 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,174 - ERROR - Error in episode 5785: name 'args' is not defined +2025-03-10 15:30:07,178 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,179 - ERROR - Error in episode 5786: name 'args' is not defined +2025-03-10 15:30:07,181 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,181 - ERROR - Error in episode 5787: name 'args' is not defined +2025-03-10 15:30:07,183 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,184 - ERROR - Error in episode 5788: name 'args' is not defined +2025-03-10 15:30:07,186 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,186 - ERROR - Error in episode 5789: name 'args' is not defined +2025-03-10 15:30:07,190 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,191 - ERROR - Error in episode 5790: name 'args' is not defined +2025-03-10 15:30:07,193 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,194 - ERROR - Error in episode 5791: name 'args' is not defined +2025-03-10 15:30:07,197 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,197 - ERROR - Error in episode 5792: name 'args' is not defined +2025-03-10 15:30:07,200 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,201 - ERROR - Error in episode 5793: name 'args' is not defined +2025-03-10 15:30:07,204 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,205 - ERROR - Error in episode 5794: name 'args' is not defined +2025-03-10 15:30:07,208 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,208 - ERROR - Error in episode 5795: name 'args' is not defined +2025-03-10 15:30:07,212 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,212 - ERROR - Error in episode 5796: name 'args' is not defined +2025-03-10 15:30:07,215 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,215 - ERROR - Error in episode 5797: name 'args' is not defined +2025-03-10 15:30:07,218 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,218 - ERROR - Error in episode 5798: name 'args' is not defined +2025-03-10 15:30:07,221 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,221 - ERROR - Error in episode 5799: name 'args' is not defined +2025-03-10 15:30:07,223 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,224 - ERROR - Error in episode 5800: name 'args' is not defined +2025-03-10 15:30:07,226 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,226 - ERROR - Error in episode 5801: name 'args' is not defined +2025-03-10 15:30:07,229 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,229 - ERROR - Error in episode 5802: name 'args' is not defined +2025-03-10 15:30:07,232 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,233 - ERROR - Error in episode 5803: name 'args' is not defined +2025-03-10 15:30:07,235 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,235 - ERROR - Error in episode 5804: name 'args' is not defined +2025-03-10 15:30:07,237 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,238 - ERROR - Error in episode 5805: name 'args' is not defined +2025-03-10 15:30:07,240 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,240 - ERROR - Error in episode 5806: name 'args' is not defined +2025-03-10 15:30:07,243 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,243 - ERROR - Error in episode 5807: name 'args' is not defined +2025-03-10 15:30:07,246 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,246 - ERROR - Error in episode 5808: name 'args' is not defined +2025-03-10 15:30:07,248 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,249 - ERROR - Error in episode 5809: name 'args' is not defined +2025-03-10 15:30:07,251 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,252 - ERROR - Error in episode 5810: name 'args' is not defined +2025-03-10 15:30:07,255 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,255 - ERROR - Error in episode 5811: name 'args' is not defined +2025-03-10 15:30:07,257 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,258 - ERROR - Error in episode 5812: name 'args' is not defined +2025-03-10 15:30:07,260 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,261 - ERROR - Error in episode 5813: name 'args' is not defined +2025-03-10 15:30:07,263 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,263 - ERROR - Error in episode 5814: name 'args' is not defined +2025-03-10 15:30:07,266 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,266 - ERROR - Error in episode 5815: name 'args' is not defined +2025-03-10 15:30:07,270 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,270 - ERROR - Error in episode 5816: name 'args' is not defined +2025-03-10 15:30:07,273 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,274 - ERROR - Error in episode 5817: name 'args' is not defined +2025-03-10 15:30:07,277 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,278 - ERROR - Error in episode 5818: name 'args' is not defined +2025-03-10 15:30:07,281 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,282 - ERROR - Error in episode 5819: name 'args' is not defined +2025-03-10 15:30:07,284 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,285 - ERROR - Error in episode 5820: name 'args' is not defined +2025-03-10 15:30:07,288 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,288 - ERROR - Error in episode 5821: name 'args' is not defined +2025-03-10 15:30:07,290 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,291 - ERROR - Error in episode 5822: name 'args' is not defined +2025-03-10 15:30:07,293 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,294 - ERROR - Error in episode 5823: name 'args' is not defined +2025-03-10 15:30:07,297 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,297 - ERROR - Error in episode 5824: name 'args' is not defined +2025-03-10 15:30:07,300 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,300 - ERROR - Error in episode 5825: name 'args' is not defined +2025-03-10 15:30:07,302 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,303 - ERROR - Error in episode 5826: name 'args' is not defined +2025-03-10 15:30:07,305 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,305 - ERROR - Error in episode 5827: name 'args' is not defined +2025-03-10 15:30:07,308 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,308 - ERROR - Error in episode 5828: name 'args' is not defined +2025-03-10 15:30:07,312 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,312 - ERROR - Error in episode 5829: name 'args' is not defined +2025-03-10 15:30:07,315 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,316 - ERROR - Error in episode 5830: name 'args' is not defined +2025-03-10 15:30:07,318 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,319 - ERROR - Error in episode 5831: name 'args' is not defined +2025-03-10 15:30:07,322 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,322 - ERROR - Error in episode 5832: name 'args' is not defined +2025-03-10 15:30:07,325 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,325 - ERROR - Error in episode 5833: name 'args' is not defined +2025-03-10 15:30:07,329 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,329 - ERROR - Error in episode 5834: name 'args' is not defined +2025-03-10 15:30:07,331 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,331 - ERROR - Error in episode 5835: name 'args' is not defined +2025-03-10 15:30:07,333 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,334 - ERROR - Error in episode 5836: name 'args' is not defined +2025-03-10 15:30:07,336 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,337 - ERROR - Error in episode 5837: name 'args' is not defined +2025-03-10 15:30:07,339 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,339 - ERROR - Error in episode 5838: name 'args' is not defined +2025-03-10 15:30:07,342 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,342 - ERROR - Error in episode 5839: name 'args' is not defined +2025-03-10 15:30:07,345 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,345 - ERROR - Error in episode 5840: name 'args' is not defined +2025-03-10 15:30:07,348 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,348 - ERROR - Error in episode 5841: name 'args' is not defined +2025-03-10 15:30:07,351 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,351 - ERROR - Error in episode 5842: name 'args' is not defined +2025-03-10 15:30:07,354 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,355 - ERROR - Error in episode 5843: name 'args' is not defined +2025-03-10 15:30:07,357 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,358 - ERROR - Error in episode 5844: name 'args' is not defined +2025-03-10 15:30:07,360 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,360 - ERROR - Error in episode 5845: name 'args' is not defined +2025-03-10 15:30:07,362 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,362 - ERROR - Error in episode 5846: name 'args' is not defined +2025-03-10 15:30:07,366 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,367 - ERROR - Error in episode 5847: name 'args' is not defined +2025-03-10 15:30:07,369 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,369 - ERROR - Error in episode 5848: name 'args' is not defined +2025-03-10 15:30:07,371 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,372 - ERROR - Error in episode 5849: name 'args' is not defined +2025-03-10 15:30:07,374 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,374 - ERROR - Error in episode 5850: name 'args' is not defined +2025-03-10 15:30:07,377 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,377 - ERROR - Error in episode 5851: name 'args' is not defined +2025-03-10 15:30:07,380 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,380 - ERROR - Error in episode 5852: name 'args' is not defined +2025-03-10 15:30:07,383 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,383 - ERROR - Error in episode 5853: name 'args' is not defined +2025-03-10 15:30:07,386 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,386 - ERROR - Error in episode 5854: name 'args' is not defined +2025-03-10 15:30:07,389 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,390 - ERROR - Error in episode 5855: name 'args' is not defined +2025-03-10 15:30:07,392 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,393 - ERROR - Error in episode 5856: name 'args' is not defined +2025-03-10 15:30:07,395 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,396 - ERROR - Error in episode 5857: name 'args' is not defined +2025-03-10 15:30:07,398 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,399 - ERROR - Error in episode 5858: name 'args' is not defined +2025-03-10 15:30:07,402 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,402 - ERROR - Error in episode 5859: name 'args' is not defined +2025-03-10 15:30:07,405 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,405 - ERROR - Error in episode 5860: name 'args' is not defined +2025-03-10 15:30:07,408 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,408 - ERROR - Error in episode 5861: name 'args' is not defined +2025-03-10 15:30:07,410 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,411 - ERROR - Error in episode 5862: name 'args' is not defined +2025-03-10 15:30:07,413 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,414 - ERROR - Error in episode 5863: name 'args' is not defined +2025-03-10 15:30:07,416 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,416 - ERROR - Error in episode 5864: name 'args' is not defined +2025-03-10 15:30:07,419 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,420 - ERROR - Error in episode 5865: name 'args' is not defined +2025-03-10 15:30:07,422 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,422 - ERROR - Error in episode 5866: name 'args' is not defined +2025-03-10 15:30:07,425 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,426 - ERROR - Error in episode 5867: name 'args' is not defined +2025-03-10 15:30:07,428 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,429 - ERROR - Error in episode 5868: name 'args' is not defined +2025-03-10 15:30:07,431 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,431 - ERROR - Error in episode 5869: name 'args' is not defined +2025-03-10 15:30:07,434 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,434 - ERROR - Error in episode 5870: name 'args' is not defined +2025-03-10 15:30:07,437 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,437 - ERROR - Error in episode 5871: name 'args' is not defined +2025-03-10 15:30:07,440 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,440 - ERROR - Error in episode 5872: name 'args' is not defined +2025-03-10 15:30:07,443 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,443 - ERROR - Error in episode 5873: name 'args' is not defined +2025-03-10 15:30:07,445 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,446 - ERROR - Error in episode 5874: name 'args' is not defined +2025-03-10 15:30:07,449 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,449 - ERROR - Error in episode 5875: name 'args' is not defined +2025-03-10 15:30:07,451 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,451 - ERROR - Error in episode 5876: name 'args' is not defined +2025-03-10 15:30:07,454 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,454 - ERROR - Error in episode 5877: name 'args' is not defined +2025-03-10 15:30:07,457 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,457 - ERROR - Error in episode 5878: name 'args' is not defined +2025-03-10 15:30:07,461 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,461 - ERROR - Error in episode 5879: name 'args' is not defined +2025-03-10 15:30:07,464 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,464 - ERROR - Error in episode 5880: name 'args' is not defined +2025-03-10 15:30:07,466 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,467 - ERROR - Error in episode 5881: name 'args' is not defined +2025-03-10 15:30:07,469 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,469 - ERROR - Error in episode 5882: name 'args' is not defined +2025-03-10 15:30:07,472 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,472 - ERROR - Error in episode 5883: name 'args' is not defined +2025-03-10 15:30:07,475 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,476 - ERROR - Error in episode 5884: name 'args' is not defined +2025-03-10 15:30:07,478 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,479 - ERROR - Error in episode 5885: name 'args' is not defined +2025-03-10 15:30:07,481 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,482 - ERROR - Error in episode 5886: name 'args' is not defined +2025-03-10 15:30:07,484 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,485 - ERROR - Error in episode 5887: name 'args' is not defined +2025-03-10 15:30:07,487 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,487 - ERROR - Error in episode 5888: name 'args' is not defined +2025-03-10 15:30:07,490 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,490 - ERROR - Error in episode 5889: name 'args' is not defined +2025-03-10 15:30:07,493 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,494 - ERROR - Error in episode 5890: name 'args' is not defined +2025-03-10 15:30:07,496 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,496 - ERROR - Error in episode 5891: name 'args' is not defined +2025-03-10 15:30:07,499 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,499 - ERROR - Error in episode 5892: name 'args' is not defined +2025-03-10 15:30:07,501 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,502 - ERROR - Error in episode 5893: name 'args' is not defined +2025-03-10 15:30:07,504 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,505 - ERROR - Error in episode 5894: name 'args' is not defined +2025-03-10 15:30:07,507 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,508 - ERROR - Error in episode 5895: name 'args' is not defined +2025-03-10 15:30:07,510 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,510 - ERROR - Error in episode 5896: name 'args' is not defined +2025-03-10 15:30:07,513 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,513 - ERROR - Error in episode 5897: name 'args' is not defined +2025-03-10 15:30:07,516 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,516 - ERROR - Error in episode 5898: name 'args' is not defined +2025-03-10 15:30:07,519 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,519 - ERROR - Error in episode 5899: name 'args' is not defined +2025-03-10 15:30:07,521 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,522 - ERROR - Error in episode 5900: name 'args' is not defined +2025-03-10 15:30:07,525 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,525 - ERROR - Error in episode 5901: name 'args' is not defined +2025-03-10 15:30:07,528 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,528 - ERROR - Error in episode 5902: name 'args' is not defined +2025-03-10 15:30:07,531 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,531 - ERROR - Error in episode 5903: name 'args' is not defined +2025-03-10 15:30:07,534 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,535 - ERROR - Error in episode 5904: name 'args' is not defined +2025-03-10 15:30:07,537 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,537 - ERROR - Error in episode 5905: name 'args' is not defined +2025-03-10 15:30:07,540 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,540 - ERROR - Error in episode 5906: name 'args' is not defined +2025-03-10 15:30:07,543 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,543 - ERROR - Error in episode 5907: name 'args' is not defined +2025-03-10 15:30:07,546 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,546 - ERROR - Error in episode 5908: name 'args' is not defined +2025-03-10 15:30:07,549 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,549 - ERROR - Error in episode 5909: name 'args' is not defined +2025-03-10 15:30:07,551 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,552 - ERROR - Error in episode 5910: name 'args' is not defined +2025-03-10 15:30:07,554 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,554 - ERROR - Error in episode 5911: name 'args' is not defined +2025-03-10 15:30:07,556 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,556 - ERROR - Error in episode 5912: name 'args' is not defined +2025-03-10 15:30:07,558 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,559 - ERROR - Error in episode 5913: name 'args' is not defined +2025-03-10 15:30:07,561 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,562 - ERROR - Error in episode 5914: name 'args' is not defined +2025-03-10 15:30:07,564 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,565 - ERROR - Error in episode 5915: name 'args' is not defined +2025-03-10 15:30:07,567 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,567 - ERROR - Error in episode 5916: name 'args' is not defined +2025-03-10 15:30:07,570 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,570 - ERROR - Error in episode 5917: name 'args' is not defined +2025-03-10 15:30:07,573 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,573 - ERROR - Error in episode 5918: name 'args' is not defined +2025-03-10 15:30:07,575 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,576 - ERROR - Error in episode 5919: name 'args' is not defined +2025-03-10 15:30:07,579 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,579 - ERROR - Error in episode 5920: name 'args' is not defined +2025-03-10 15:30:07,581 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,582 - ERROR - Error in episode 5921: name 'args' is not defined +2025-03-10 15:30:07,584 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,585 - ERROR - Error in episode 5922: name 'args' is not defined +2025-03-10 15:30:07,587 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,588 - ERROR - Error in episode 5923: name 'args' is not defined +2025-03-10 15:30:07,591 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,591 - ERROR - Error in episode 5924: name 'args' is not defined +2025-03-10 15:30:07,594 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,594 - ERROR - Error in episode 5925: name 'args' is not defined +2025-03-10 15:30:07,597 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,598 - ERROR - Error in episode 5926: name 'args' is not defined +2025-03-10 15:30:07,601 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,601 - ERROR - Error in episode 5927: name 'args' is not defined +2025-03-10 15:30:07,604 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,604 - ERROR - Error in episode 5928: name 'args' is not defined +2025-03-10 15:30:07,606 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,606 - ERROR - Error in episode 5929: name 'args' is not defined +2025-03-10 15:30:07,608 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,609 - ERROR - Error in episode 5930: name 'args' is not defined +2025-03-10 15:30:07,611 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,611 - ERROR - Error in episode 5931: name 'args' is not defined +2025-03-10 15:30:07,614 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,615 - ERROR - Error in episode 5932: name 'args' is not defined +2025-03-10 15:30:07,618 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,618 - ERROR - Error in episode 5933: name 'args' is not defined +2025-03-10 15:30:07,620 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,621 - ERROR - Error in episode 5934: name 'args' is not defined +2025-03-10 15:30:07,623 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,623 - ERROR - Error in episode 5935: name 'args' is not defined +2025-03-10 15:30:07,626 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,626 - ERROR - Error in episode 5936: name 'args' is not defined +2025-03-10 15:30:07,629 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,629 - ERROR - Error in episode 5937: name 'args' is not defined +2025-03-10 15:30:07,631 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,632 - ERROR - Error in episode 5938: name 'args' is not defined +2025-03-10 15:30:07,634 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,634 - ERROR - Error in episode 5939: name 'args' is not defined +2025-03-10 15:30:07,638 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,638 - ERROR - Error in episode 5940: name 'args' is not defined +2025-03-10 15:30:07,641 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,641 - ERROR - Error in episode 5941: name 'args' is not defined +2025-03-10 15:30:07,644 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,644 - ERROR - Error in episode 5942: name 'args' is not defined +2025-03-10 15:30:07,646 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,647 - ERROR - Error in episode 5943: name 'args' is not defined +2025-03-10 15:30:07,651 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,651 - ERROR - Error in episode 5944: name 'args' is not defined +2025-03-10 15:30:07,653 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,653 - ERROR - Error in episode 5945: name 'args' is not defined +2025-03-10 15:30:07,656 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,657 - ERROR - Error in episode 5946: name 'args' is not defined +2025-03-10 15:30:07,659 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,659 - ERROR - Error in episode 5947: name 'args' is not defined +2025-03-10 15:30:07,662 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,662 - ERROR - Error in episode 5948: name 'args' is not defined +2025-03-10 15:30:07,665 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,666 - ERROR - Error in episode 5949: name 'args' is not defined +2025-03-10 15:30:07,668 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,669 - ERROR - Error in episode 5950: name 'args' is not defined +2025-03-10 15:30:07,672 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,672 - ERROR - Error in episode 5951: name 'args' is not defined +2025-03-10 15:30:07,675 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,675 - ERROR - Error in episode 5952: name 'args' is not defined +2025-03-10 15:30:07,678 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,678 - ERROR - Error in episode 5953: name 'args' is not defined +2025-03-10 15:30:07,681 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,681 - ERROR - Error in episode 5954: name 'args' is not defined +2025-03-10 15:30:07,684 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,684 - ERROR - Error in episode 5955: name 'args' is not defined +2025-03-10 15:30:07,687 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,687 - ERROR - Error in episode 5956: name 'args' is not defined +2025-03-10 15:30:07,690 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,690 - ERROR - Error in episode 5957: name 'args' is not defined +2025-03-10 15:30:07,693 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,693 - ERROR - Error in episode 5958: name 'args' is not defined +2025-03-10 15:30:07,696 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,696 - ERROR - Error in episode 5959: name 'args' is not defined +2025-03-10 15:30:07,699 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,699 - ERROR - Error in episode 5960: name 'args' is not defined +2025-03-10 15:30:07,702 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,702 - ERROR - Error in episode 5961: name 'args' is not defined +2025-03-10 15:30:07,705 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,705 - ERROR - Error in episode 5962: name 'args' is not defined +2025-03-10 15:30:07,709 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,709 - ERROR - Error in episode 5963: name 'args' is not defined +2025-03-10 15:30:07,712 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,712 - ERROR - Error in episode 5964: name 'args' is not defined +2025-03-10 15:30:07,714 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,715 - ERROR - Error in episode 5965: name 'args' is not defined +2025-03-10 15:30:07,718 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,718 - ERROR - Error in episode 5966: name 'args' is not defined +2025-03-10 15:30:07,721 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,721 - ERROR - Error in episode 5967: name 'args' is not defined +2025-03-10 15:30:07,723 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,724 - ERROR - Error in episode 5968: name 'args' is not defined +2025-03-10 15:30:07,727 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,727 - ERROR - Error in episode 5969: name 'args' is not defined +2025-03-10 15:30:07,730 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,731 - ERROR - Error in episode 5970: name 'args' is not defined +2025-03-10 15:30:07,733 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,734 - ERROR - Error in episode 5971: name 'args' is not defined +2025-03-10 15:30:07,736 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,736 - ERROR - Error in episode 5972: name 'args' is not defined +2025-03-10 15:30:07,739 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,739 - ERROR - Error in episode 5973: name 'args' is not defined +2025-03-10 15:30:07,742 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,742 - ERROR - Error in episode 5974: name 'args' is not defined +2025-03-10 15:30:07,745 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,745 - ERROR - Error in episode 5975: name 'args' is not defined +2025-03-10 15:30:07,749 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,750 - ERROR - Error in episode 5976: name 'args' is not defined +2025-03-10 15:30:07,753 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,753 - ERROR - Error in episode 5977: name 'args' is not defined +2025-03-10 15:30:07,755 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,755 - ERROR - Error in episode 5978: name 'args' is not defined +2025-03-10 15:30:07,758 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,758 - ERROR - Error in episode 5979: name 'args' is not defined +2025-03-10 15:30:07,761 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,761 - ERROR - Error in episode 5980: name 'args' is not defined +2025-03-10 15:30:07,763 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,764 - ERROR - Error in episode 5981: name 'args' is not defined +2025-03-10 15:30:07,767 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,767 - ERROR - Error in episode 5982: name 'args' is not defined +2025-03-10 15:30:07,769 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,769 - ERROR - Error in episode 5983: name 'args' is not defined +2025-03-10 15:30:07,772 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,772 - ERROR - Error in episode 5984: name 'args' is not defined +2025-03-10 15:30:07,775 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,775 - ERROR - Error in episode 5985: name 'args' is not defined +2025-03-10 15:30:07,777 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,779 - ERROR - Error in episode 5986: name 'args' is not defined +2025-03-10 15:30:07,781 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,781 - ERROR - Error in episode 5987: name 'args' is not defined +2025-03-10 15:30:07,785 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,785 - ERROR - Error in episode 5988: name 'args' is not defined +2025-03-10 15:30:07,787 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,787 - ERROR - Error in episode 5989: name 'args' is not defined +2025-03-10 15:30:07,791 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,791 - ERROR - Error in episode 5990: name 'args' is not defined +2025-03-10 15:30:07,795 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,795 - ERROR - Error in episode 5991: name 'args' is not defined +2025-03-10 15:30:07,797 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,798 - ERROR - Error in episode 5992: name 'args' is not defined +2025-03-10 15:30:07,801 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,801 - ERROR - Error in episode 5993: name 'args' is not defined +2025-03-10 15:30:07,803 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,803 - ERROR - Error in episode 5994: name 'args' is not defined +2025-03-10 15:30:07,806 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,806 - ERROR - Error in episode 5995: name 'args' is not defined +2025-03-10 15:30:07,809 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,809 - ERROR - Error in episode 5996: name 'args' is not defined +2025-03-10 15:30:07,811 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,811 - ERROR - Error in episode 5997: name 'args' is not defined +2025-03-10 15:30:07,814 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,814 - ERROR - Error in episode 5998: name 'args' is not defined +2025-03-10 15:30:07,817 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,817 - ERROR - Error in episode 5999: name 'args' is not defined +2025-03-10 15:30:07,820 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,820 - ERROR - Error in episode 6000: name 'args' is not defined +2025-03-10 15:30:07,822 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,823 - ERROR - Error in episode 6001: name 'args' is not defined +2025-03-10 15:30:07,826 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,826 - ERROR - Error in episode 6002: name 'args' is not defined +2025-03-10 15:30:07,829 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,829 - ERROR - Error in episode 6003: name 'args' is not defined +2025-03-10 15:30:07,832 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,833 - ERROR - Error in episode 6004: name 'args' is not defined +2025-03-10 15:30:07,835 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,835 - ERROR - Error in episode 6005: name 'args' is not defined +2025-03-10 15:30:07,838 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,838 - ERROR - Error in episode 6006: name 'args' is not defined +2025-03-10 15:30:07,841 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,841 - ERROR - Error in episode 6007: name 'args' is not defined +2025-03-10 15:30:07,843 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,844 - ERROR - Error in episode 6008: name 'args' is not defined +2025-03-10 15:30:07,846 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,846 - ERROR - Error in episode 6009: name 'args' is not defined +2025-03-10 15:30:07,850 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,850 - ERROR - Error in episode 6010: name 'args' is not defined +2025-03-10 15:30:07,852 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,853 - ERROR - Error in episode 6011: name 'args' is not defined +2025-03-10 15:30:07,855 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,855 - ERROR - Error in episode 6012: name 'args' is not defined +2025-03-10 15:30:07,858 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,859 - ERROR - Error in episode 6013: name 'args' is not defined +2025-03-10 15:30:07,861 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,862 - ERROR - Error in episode 6014: name 'args' is not defined +2025-03-10 15:30:07,864 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,865 - ERROR - Error in episode 6015: name 'args' is not defined +2025-03-10 15:30:07,867 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,868 - ERROR - Error in episode 6016: name 'args' is not defined +2025-03-10 15:30:07,870 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,870 - ERROR - Error in episode 6017: name 'args' is not defined +2025-03-10 15:30:07,873 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,874 - ERROR - Error in episode 6018: name 'args' is not defined +2025-03-10 15:30:07,876 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,877 - ERROR - Error in episode 6019: name 'args' is not defined +2025-03-10 15:30:07,879 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,880 - ERROR - Error in episode 6020: name 'args' is not defined +2025-03-10 15:30:07,883 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,883 - ERROR - Error in episode 6021: name 'args' is not defined +2025-03-10 15:30:07,886 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,886 - ERROR - Error in episode 6022: name 'args' is not defined +2025-03-10 15:30:07,888 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,889 - ERROR - Error in episode 6023: name 'args' is not defined +2025-03-10 15:30:07,892 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,892 - ERROR - Error in episode 6024: name 'args' is not defined +2025-03-10 15:30:07,894 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,895 - ERROR - Error in episode 6025: name 'args' is not defined +2025-03-10 15:30:07,897 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,898 - ERROR - Error in episode 6026: name 'args' is not defined +2025-03-10 15:30:07,900 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,901 - ERROR - Error in episode 6027: name 'args' is not defined +2025-03-10 15:30:07,904 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,904 - ERROR - Error in episode 6028: name 'args' is not defined +2025-03-10 15:30:07,906 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,907 - ERROR - Error in episode 6029: name 'args' is not defined +2025-03-10 15:30:07,909 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,910 - ERROR - Error in episode 6030: name 'args' is not defined +2025-03-10 15:30:07,912 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,912 - ERROR - Error in episode 6031: name 'args' is not defined +2025-03-10 15:30:07,915 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,915 - ERROR - Error in episode 6032: name 'args' is not defined +2025-03-10 15:30:07,919 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,919 - ERROR - Error in episode 6033: name 'args' is not defined +2025-03-10 15:30:07,922 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,922 - ERROR - Error in episode 6034: name 'args' is not defined +2025-03-10 15:30:07,925 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,926 - ERROR - Error in episode 6035: name 'args' is not defined +2025-03-10 15:30:07,928 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,928 - ERROR - Error in episode 6036: name 'args' is not defined +2025-03-10 15:30:07,931 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,931 - ERROR - Error in episode 6037: name 'args' is not defined +2025-03-10 15:30:07,934 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,935 - ERROR - Error in episode 6038: name 'args' is not defined +2025-03-10 15:30:07,937 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,937 - ERROR - Error in episode 6039: name 'args' is not defined +2025-03-10 15:30:07,939 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,940 - ERROR - Error in episode 6040: name 'args' is not defined +2025-03-10 15:30:07,942 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,943 - ERROR - Error in episode 6041: name 'args' is not defined +2025-03-10 15:30:07,945 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,946 - ERROR - Error in episode 6042: name 'args' is not defined +2025-03-10 15:30:07,948 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,948 - ERROR - Error in episode 6043: name 'args' is not defined +2025-03-10 15:30:07,951 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,951 - ERROR - Error in episode 6044: name 'args' is not defined +2025-03-10 15:30:07,954 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,954 - ERROR - Error in episode 6045: name 'args' is not defined +2025-03-10 15:30:07,957 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,957 - ERROR - Error in episode 6046: name 'args' is not defined +2025-03-10 15:30:07,960 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,960 - ERROR - Error in episode 6047: name 'args' is not defined +2025-03-10 15:30:07,962 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,963 - ERROR - Error in episode 6048: name 'args' is not defined +2025-03-10 15:30:07,965 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,966 - ERROR - Error in episode 6049: name 'args' is not defined +2025-03-10 15:30:07,969 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,969 - ERROR - Error in episode 6050: name 'args' is not defined +2025-03-10 15:30:07,971 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,972 - ERROR - Error in episode 6051: name 'args' is not defined +2025-03-10 15:30:07,974 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,975 - ERROR - Error in episode 6052: name 'args' is not defined +2025-03-10 15:30:07,977 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,977 - ERROR - Error in episode 6053: name 'args' is not defined +2025-03-10 15:30:07,980 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,980 - ERROR - Error in episode 6054: name 'args' is not defined +2025-03-10 15:30:07,983 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,983 - ERROR - Error in episode 6055: name 'args' is not defined +2025-03-10 15:30:07,986 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,986 - ERROR - Error in episode 6056: name 'args' is not defined +2025-03-10 15:30:07,988 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,989 - ERROR - Error in episode 6057: name 'args' is not defined +2025-03-10 15:30:07,992 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,992 - ERROR - Error in episode 6058: name 'args' is not defined +2025-03-10 15:30:07,994 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,995 - ERROR - Error in episode 6059: name 'args' is not defined +2025-03-10 15:30:07,997 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:07,997 - ERROR - Error in episode 6060: name 'args' is not defined +2025-03-10 15:30:08,000 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,000 - ERROR - Error in episode 6061: name 'args' is not defined +2025-03-10 15:30:08,002 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,003 - ERROR - Error in episode 6062: name 'args' is not defined +2025-03-10 15:30:08,005 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,006 - ERROR - Error in episode 6063: name 'args' is not defined +2025-03-10 15:30:08,008 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,008 - ERROR - Error in episode 6064: name 'args' is not defined +2025-03-10 15:30:08,011 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,011 - ERROR - Error in episode 6065: name 'args' is not defined +2025-03-10 15:30:08,013 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,014 - ERROR - Error in episode 6066: name 'args' is not defined +2025-03-10 15:30:08,016 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,016 - ERROR - Error in episode 6067: name 'args' is not defined +2025-03-10 15:30:08,019 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,020 - ERROR - Error in episode 6068: name 'args' is not defined +2025-03-10 15:30:08,022 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,022 - ERROR - Error in episode 6069: name 'args' is not defined +2025-03-10 15:30:08,025 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,026 - ERROR - Error in episode 6070: name 'args' is not defined +2025-03-10 15:30:08,029 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,030 - ERROR - Error in episode 6071: name 'args' is not defined +2025-03-10 15:30:08,032 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,032 - ERROR - Error in episode 6072: name 'args' is not defined +2025-03-10 15:30:08,034 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,035 - ERROR - Error in episode 6073: name 'args' is not defined +2025-03-10 15:30:08,037 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,037 - ERROR - Error in episode 6074: name 'args' is not defined +2025-03-10 15:30:08,039 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,040 - ERROR - Error in episode 6075: name 'args' is not defined +2025-03-10 15:30:08,044 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,044 - ERROR - Error in episode 6076: name 'args' is not defined +2025-03-10 15:30:08,046 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,047 - ERROR - Error in episode 6077: name 'args' is not defined +2025-03-10 15:30:08,049 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,050 - ERROR - Error in episode 6078: name 'args' is not defined +2025-03-10 15:30:08,052 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,052 - ERROR - Error in episode 6079: name 'args' is not defined +2025-03-10 15:30:08,055 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,055 - ERROR - Error in episode 6080: name 'args' is not defined +2025-03-10 15:30:08,058 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,058 - ERROR - Error in episode 6081: name 'args' is not defined +2025-03-10 15:30:08,061 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,061 - ERROR - Error in episode 6082: name 'args' is not defined +2025-03-10 15:30:08,063 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,064 - ERROR - Error in episode 6083: name 'args' is not defined +2025-03-10 15:30:08,067 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,067 - ERROR - Error in episode 6084: name 'args' is not defined +2025-03-10 15:30:08,069 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,070 - ERROR - Error in episode 6085: name 'args' is not defined +2025-03-10 15:30:08,072 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,072 - ERROR - Error in episode 6086: name 'args' is not defined +2025-03-10 15:30:08,075 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,076 - ERROR - Error in episode 6087: name 'args' is not defined +2025-03-10 15:30:08,078 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,078 - ERROR - Error in episode 6088: name 'args' is not defined +2025-03-10 15:30:08,082 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,082 - ERROR - Error in episode 6089: name 'args' is not defined +2025-03-10 15:30:08,085 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,085 - ERROR - Error in episode 6090: name 'args' is not defined +2025-03-10 15:30:08,088 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,088 - ERROR - Error in episode 6091: name 'args' is not defined +2025-03-10 15:30:08,091 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,092 - ERROR - Error in episode 6092: name 'args' is not defined +2025-03-10 15:30:08,094 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,095 - ERROR - Error in episode 6093: name 'args' is not defined +2025-03-10 15:30:08,097 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,097 - ERROR - Error in episode 6094: name 'args' is not defined +2025-03-10 15:30:08,100 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,100 - ERROR - Error in episode 6095: name 'args' is not defined +2025-03-10 15:30:08,103 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,103 - ERROR - Error in episode 6096: name 'args' is not defined +2025-03-10 15:30:08,105 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,105 - ERROR - Error in episode 6097: name 'args' is not defined +2025-03-10 15:30:08,108 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,108 - ERROR - Error in episode 6098: name 'args' is not defined +2025-03-10 15:30:08,111 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,111 - ERROR - Error in episode 6099: name 'args' is not defined +2025-03-10 15:30:08,114 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,115 - ERROR - Error in episode 6100: name 'args' is not defined +2025-03-10 15:30:08,118 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,118 - ERROR - Error in episode 6101: name 'args' is not defined +2025-03-10 15:30:08,121 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,121 - ERROR - Error in episode 6102: name 'args' is not defined +2025-03-10 15:30:08,123 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,125 - ERROR - Error in episode 6103: name 'args' is not defined +2025-03-10 15:30:08,127 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,127 - ERROR - Error in episode 6104: name 'args' is not defined +2025-03-10 15:30:08,130 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,130 - ERROR - Error in episode 6105: name 'args' is not defined +2025-03-10 15:30:08,132 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,132 - ERROR - Error in episode 6106: name 'args' is not defined +2025-03-10 15:30:08,134 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,135 - ERROR - Error in episode 6107: name 'args' is not defined +2025-03-10 15:30:08,138 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,139 - ERROR - Error in episode 6108: name 'args' is not defined +2025-03-10 15:30:08,141 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,141 - ERROR - Error in episode 6109: name 'args' is not defined +2025-03-10 15:30:08,144 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,144 - ERROR - Error in episode 6110: name 'args' is not defined +2025-03-10 15:30:08,147 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,147 - ERROR - Error in episode 6111: name 'args' is not defined +2025-03-10 15:30:08,150 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,150 - ERROR - Error in episode 6112: name 'args' is not defined +2025-03-10 15:30:08,153 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,153 - ERROR - Error in episode 6113: name 'args' is not defined +2025-03-10 15:30:08,155 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,156 - ERROR - Error in episode 6114: name 'args' is not defined +2025-03-10 15:30:08,159 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,159 - ERROR - Error in episode 6115: name 'args' is not defined +2025-03-10 15:30:08,161 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,162 - ERROR - Error in episode 6116: name 'args' is not defined +2025-03-10 15:30:08,164 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,164 - ERROR - Error in episode 6117: name 'args' is not defined +2025-03-10 15:30:08,167 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,168 - ERROR - Error in episode 6118: name 'args' is not defined +2025-03-10 15:30:08,170 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,170 - ERROR - Error in episode 6119: name 'args' is not defined +2025-03-10 15:30:08,173 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,173 - ERROR - Error in episode 6120: name 'args' is not defined +2025-03-10 15:30:08,175 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,176 - ERROR - Error in episode 6121: name 'args' is not defined +2025-03-10 15:30:08,178 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,178 - ERROR - Error in episode 6122: name 'args' is not defined +2025-03-10 15:30:08,181 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,181 - ERROR - Error in episode 6123: name 'args' is not defined +2025-03-10 15:30:08,185 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,185 - ERROR - Error in episode 6124: name 'args' is not defined +2025-03-10 15:30:08,189 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,189 - ERROR - Error in episode 6125: name 'args' is not defined +2025-03-10 15:30:08,191 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,192 - ERROR - Error in episode 6126: name 'args' is not defined +2025-03-10 15:30:08,194 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,194 - ERROR - Error in episode 6127: name 'args' is not defined +2025-03-10 15:30:08,197 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,197 - ERROR - Error in episode 6128: name 'args' is not defined +2025-03-10 15:30:08,200 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,200 - ERROR - Error in episode 6129: name 'args' is not defined +2025-03-10 15:30:08,202 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,203 - ERROR - Error in episode 6130: name 'args' is not defined +2025-03-10 15:30:08,205 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,206 - ERROR - Error in episode 6131: name 'args' is not defined +2025-03-10 15:30:08,208 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,208 - ERROR - Error in episode 6132: name 'args' is not defined +2025-03-10 15:30:08,211 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,211 - ERROR - Error in episode 6133: name 'args' is not defined +2025-03-10 15:30:08,214 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,214 - ERROR - Error in episode 6134: name 'args' is not defined +2025-03-10 15:30:08,217 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,217 - ERROR - Error in episode 6135: name 'args' is not defined +2025-03-10 15:30:08,219 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,220 - ERROR - Error in episode 6136: name 'args' is not defined +2025-03-10 15:30:08,222 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,223 - ERROR - Error in episode 6137: name 'args' is not defined +2025-03-10 15:30:08,225 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,226 - ERROR - Error in episode 6138: name 'args' is not defined +2025-03-10 15:30:08,229 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,229 - ERROR - Error in episode 6139: name 'args' is not defined +2025-03-10 15:30:08,232 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,233 - ERROR - Error in episode 6140: name 'args' is not defined +2025-03-10 15:30:08,235 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,235 - ERROR - Error in episode 6141: name 'args' is not defined +2025-03-10 15:30:08,238 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,238 - ERROR - Error in episode 6142: name 'args' is not defined +2025-03-10 15:30:08,241 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,241 - ERROR - Error in episode 6143: name 'args' is not defined +2025-03-10 15:30:08,243 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,244 - ERROR - Error in episode 6144: name 'args' is not defined +2025-03-10 15:30:08,246 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,247 - ERROR - Error in episode 6145: name 'args' is not defined +2025-03-10 15:30:08,249 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,249 - ERROR - Error in episode 6146: name 'args' is not defined +2025-03-10 15:30:08,252 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,252 - ERROR - Error in episode 6147: name 'args' is not defined +2025-03-10 15:30:08,255 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,256 - ERROR - Error in episode 6148: name 'args' is not defined +2025-03-10 15:30:08,258 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,258 - ERROR - Error in episode 6149: name 'args' is not defined +2025-03-10 15:30:08,261 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,261 - ERROR - Error in episode 6150: name 'args' is not defined +2025-03-10 15:30:08,264 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,264 - ERROR - Error in episode 6151: name 'args' is not defined +2025-03-10 15:30:08,266 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,267 - ERROR - Error in episode 6152: name 'args' is not defined +2025-03-10 15:30:08,269 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,269 - ERROR - Error in episode 6153: name 'args' is not defined +2025-03-10 15:30:08,272 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,273 - ERROR - Error in episode 6154: name 'args' is not defined +2025-03-10 15:30:08,275 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,275 - ERROR - Error in episode 6155: name 'args' is not defined +2025-03-10 15:30:08,277 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,278 - ERROR - Error in episode 6156: name 'args' is not defined +2025-03-10 15:30:08,280 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,280 - ERROR - Error in episode 6157: name 'args' is not defined +2025-03-10 15:30:08,283 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,283 - ERROR - Error in episode 6158: name 'args' is not defined +2025-03-10 15:30:08,286 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,286 - ERROR - Error in episode 6159: name 'args' is not defined +2025-03-10 15:30:08,289 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,289 - ERROR - Error in episode 6160: name 'args' is not defined +2025-03-10 15:30:08,291 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,292 - ERROR - Error in episode 6161: name 'args' is not defined +2025-03-10 15:30:08,294 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,294 - ERROR - Error in episode 6162: name 'args' is not defined +2025-03-10 15:30:08,297 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,298 - ERROR - Error in episode 6163: name 'args' is not defined +2025-03-10 15:30:08,300 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,300 - ERROR - Error in episode 6164: name 'args' is not defined +2025-03-10 15:30:08,303 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,303 - ERROR - Error in episode 6165: name 'args' is not defined +2025-03-10 15:30:08,306 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,306 - ERROR - Error in episode 6166: name 'args' is not defined +2025-03-10 15:30:08,308 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,308 - ERROR - Error in episode 6167: name 'args' is not defined +2025-03-10 15:30:08,311 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,311 - ERROR - Error in episode 6168: name 'args' is not defined +2025-03-10 15:30:08,314 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,314 - ERROR - Error in episode 6169: name 'args' is not defined +2025-03-10 15:30:08,316 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,317 - ERROR - Error in episode 6170: name 'args' is not defined +2025-03-10 15:30:08,319 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,319 - ERROR - Error in episode 6171: name 'args' is not defined +2025-03-10 15:30:08,322 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,323 - ERROR - Error in episode 6172: name 'args' is not defined +2025-03-10 15:30:08,325 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,325 - ERROR - Error in episode 6173: name 'args' is not defined +2025-03-10 15:30:08,329 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,329 - ERROR - Error in episode 6174: name 'args' is not defined +2025-03-10 15:30:08,331 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,331 - ERROR - Error in episode 6175: name 'args' is not defined +2025-03-10 15:30:08,334 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,335 - ERROR - Error in episode 6176: name 'args' is not defined +2025-03-10 15:30:08,337 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,339 - ERROR - Error in episode 6177: name 'args' is not defined +2025-03-10 15:30:08,341 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,341 - ERROR - Error in episode 6178: name 'args' is not defined +2025-03-10 15:30:08,343 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,344 - ERROR - Error in episode 6179: name 'args' is not defined +2025-03-10 15:30:08,346 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,347 - ERROR - Error in episode 6180: name 'args' is not defined +2025-03-10 15:30:08,349 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,349 - ERROR - Error in episode 6181: name 'args' is not defined +2025-03-10 15:30:08,352 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,352 - ERROR - Error in episode 6182: name 'args' is not defined +2025-03-10 15:30:08,354 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,355 - ERROR - Error in episode 6183: name 'args' is not defined +2025-03-10 15:30:08,357 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,357 - ERROR - Error in episode 6184: name 'args' is not defined +2025-03-10 15:30:08,360 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,360 - ERROR - Error in episode 6185: name 'args' is not defined +2025-03-10 15:30:08,363 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,363 - ERROR - Error in episode 6186: name 'args' is not defined +2025-03-10 15:30:08,365 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,366 - ERROR - Error in episode 6187: name 'args' is not defined +2025-03-10 15:30:08,368 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,369 - ERROR - Error in episode 6188: name 'args' is not defined +2025-03-10 15:30:08,371 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,371 - ERROR - Error in episode 6189: name 'args' is not defined +2025-03-10 15:30:08,374 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,374 - ERROR - Error in episode 6190: name 'args' is not defined +2025-03-10 15:30:08,377 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,378 - ERROR - Error in episode 6191: name 'args' is not defined +2025-03-10 15:30:08,380 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,380 - ERROR - Error in episode 6192: name 'args' is not defined +2025-03-10 15:30:08,383 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,383 - ERROR - Error in episode 6193: name 'args' is not defined +2025-03-10 15:30:08,386 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,386 - ERROR - Error in episode 6194: name 'args' is not defined +2025-03-10 15:30:08,389 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,389 - ERROR - Error in episode 6195: name 'args' is not defined +2025-03-10 15:30:08,392 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,392 - ERROR - Error in episode 6196: name 'args' is not defined +2025-03-10 15:30:08,395 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,395 - ERROR - Error in episode 6197: name 'args' is not defined +2025-03-10 15:30:08,398 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,398 - ERROR - Error in episode 6198: name 'args' is not defined +2025-03-10 15:30:08,400 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,401 - ERROR - Error in episode 6199: name 'args' is not defined +2025-03-10 15:30:08,404 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,404 - ERROR - Error in episode 6200: name 'args' is not defined +2025-03-10 15:30:08,406 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,407 - ERROR - Error in episode 6201: name 'args' is not defined +2025-03-10 15:30:08,409 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,410 - ERROR - Error in episode 6202: name 'args' is not defined +2025-03-10 15:30:08,413 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,413 - ERROR - Error in episode 6203: name 'args' is not defined +2025-03-10 15:30:08,415 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,415 - ERROR - Error in episode 6204: name 'args' is not defined +2025-03-10 15:30:08,418 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,418 - ERROR - Error in episode 6205: name 'args' is not defined +2025-03-10 15:30:08,422 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,422 - ERROR - Error in episode 6206: name 'args' is not defined +2025-03-10 15:30:08,424 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,424 - ERROR - Error in episode 6207: name 'args' is not defined +2025-03-10 15:30:08,427 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,427 - ERROR - Error in episode 6208: name 'args' is not defined +2025-03-10 15:30:08,430 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,430 - ERROR - Error in episode 6209: name 'args' is not defined +2025-03-10 15:30:08,432 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,433 - ERROR - Error in episode 6210: name 'args' is not defined +2025-03-10 15:30:08,435 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,435 - ERROR - Error in episode 6211: name 'args' is not defined +2025-03-10 15:30:08,438 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,438 - ERROR - Error in episode 6212: name 'args' is not defined +2025-03-10 15:30:08,441 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,441 - ERROR - Error in episode 6213: name 'args' is not defined +2025-03-10 15:30:08,444 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,444 - ERROR - Error in episode 6214: name 'args' is not defined +2025-03-10 15:30:08,447 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,447 - ERROR - Error in episode 6215: name 'args' is not defined +2025-03-10 15:30:08,451 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,451 - ERROR - Error in episode 6216: name 'args' is not defined +2025-03-10 15:30:08,454 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,454 - ERROR - Error in episode 6217: name 'args' is not defined +2025-03-10 15:30:08,456 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,456 - ERROR - Error in episode 6218: name 'args' is not defined +2025-03-10 15:30:08,459 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,459 - ERROR - Error in episode 6219: name 'args' is not defined +2025-03-10 15:30:08,462 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,463 - ERROR - Error in episode 6220: name 'args' is not defined +2025-03-10 15:30:08,465 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,465 - ERROR - Error in episode 6221: name 'args' is not defined +2025-03-10 15:30:08,467 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,468 - ERROR - Error in episode 6222: name 'args' is not defined +2025-03-10 15:30:08,471 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,471 - ERROR - Error in episode 6223: name 'args' is not defined +2025-03-10 15:30:08,473 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,474 - ERROR - Error in episode 6224: name 'args' is not defined +2025-03-10 15:30:08,476 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,477 - ERROR - Error in episode 6225: name 'args' is not defined +2025-03-10 15:30:08,479 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,480 - ERROR - Error in episode 6226: name 'args' is not defined +2025-03-10 15:30:08,482 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,483 - ERROR - Error in episode 6227: name 'args' is not defined +2025-03-10 15:30:08,485 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,485 - ERROR - Error in episode 6228: name 'args' is not defined +2025-03-10 15:30:08,489 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,489 - ERROR - Error in episode 6229: name 'args' is not defined +2025-03-10 15:30:08,492 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,492 - ERROR - Error in episode 6230: name 'args' is not defined +2025-03-10 15:30:08,495 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,495 - ERROR - Error in episode 6231: name 'args' is not defined +2025-03-10 15:30:08,497 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,498 - ERROR - Error in episode 6232: name 'args' is not defined +2025-03-10 15:30:08,500 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,500 - ERROR - Error in episode 6233: name 'args' is not defined +2025-03-10 15:30:08,503 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,504 - ERROR - Error in episode 6234: name 'args' is not defined +2025-03-10 15:30:08,506 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,506 - ERROR - Error in episode 6235: name 'args' is not defined +2025-03-10 15:30:08,509 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,509 - ERROR - Error in episode 6236: name 'args' is not defined +2025-03-10 15:30:08,512 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,512 - ERROR - Error in episode 6237: name 'args' is not defined +2025-03-10 15:30:08,514 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,515 - ERROR - Error in episode 6238: name 'args' is not defined +2025-03-10 15:30:08,517 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,518 - ERROR - Error in episode 6239: name 'args' is not defined +2025-03-10 15:30:08,520 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,521 - ERROR - Error in episode 6240: name 'args' is not defined +2025-03-10 15:30:08,523 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,523 - ERROR - Error in episode 6241: name 'args' is not defined +2025-03-10 15:30:08,527 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,527 - ERROR - Error in episode 6242: name 'args' is not defined +2025-03-10 15:30:08,530 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,530 - ERROR - Error in episode 6243: name 'args' is not defined +2025-03-10 15:30:08,532 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,532 - ERROR - Error in episode 6244: name 'args' is not defined +2025-03-10 15:30:08,535 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,536 - ERROR - Error in episode 6245: name 'args' is not defined +2025-03-10 15:30:08,539 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,539 - ERROR - Error in episode 6246: name 'args' is not defined +2025-03-10 15:30:08,542 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,542 - ERROR - Error in episode 6247: name 'args' is not defined +2025-03-10 15:30:08,545 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,545 - ERROR - Error in episode 6248: name 'args' is not defined +2025-03-10 15:30:08,548 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,548 - ERROR - Error in episode 6249: name 'args' is not defined +2025-03-10 15:30:08,550 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,551 - ERROR - Error in episode 6250: name 'args' is not defined +2025-03-10 15:30:08,553 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,553 - ERROR - Error in episode 6251: name 'args' is not defined +2025-03-10 15:30:08,556 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,556 - ERROR - Error in episode 6252: name 'args' is not defined +2025-03-10 15:30:08,559 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,559 - ERROR - Error in episode 6253: name 'args' is not defined +2025-03-10 15:30:08,562 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,562 - ERROR - Error in episode 6254: name 'args' is not defined +2025-03-10 15:30:08,564 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,565 - ERROR - Error in episode 6255: name 'args' is not defined +2025-03-10 15:30:08,567 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,567 - ERROR - Error in episode 6256: name 'args' is not defined +2025-03-10 15:30:08,570 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,570 - ERROR - Error in episode 6257: name 'args' is not defined +2025-03-10 15:30:08,574 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,574 - ERROR - Error in episode 6258: name 'args' is not defined +2025-03-10 15:30:08,577 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,577 - ERROR - Error in episode 6259: name 'args' is not defined +2025-03-10 15:30:08,581 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,581 - ERROR - Error in episode 6260: name 'args' is not defined +2025-03-10 15:30:08,584 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,584 - ERROR - Error in episode 6261: name 'args' is not defined +2025-03-10 15:30:08,586 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,587 - ERROR - Error in episode 6262: name 'args' is not defined +2025-03-10 15:30:08,590 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,591 - ERROR - Error in episode 6263: name 'args' is not defined +2025-03-10 15:30:08,593 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,594 - ERROR - Error in episode 6264: name 'args' is not defined +2025-03-10 15:30:08,596 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,597 - ERROR - Error in episode 6265: name 'args' is not defined +2025-03-10 15:30:08,599 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,599 - ERROR - Error in episode 6266: name 'args' is not defined +2025-03-10 15:30:08,602 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,602 - ERROR - Error in episode 6267: name 'args' is not defined +2025-03-10 15:30:08,605 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,605 - ERROR - Error in episode 6268: name 'args' is not defined +2025-03-10 15:30:08,607 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,608 - ERROR - Error in episode 6269: name 'args' is not defined +2025-03-10 15:30:08,610 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,610 - ERROR - Error in episode 6270: name 'args' is not defined +2025-03-10 15:30:08,613 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,613 - ERROR - Error in episode 6271: name 'args' is not defined +2025-03-10 15:30:08,615 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,616 - ERROR - Error in episode 6272: name 'args' is not defined +2025-03-10 15:30:08,618 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,618 - ERROR - Error in episode 6273: name 'args' is not defined +2025-03-10 15:30:08,621 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,621 - ERROR - Error in episode 6274: name 'args' is not defined +2025-03-10 15:30:08,623 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,624 - ERROR - Error in episode 6275: name 'args' is not defined +2025-03-10 15:30:08,626 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,627 - ERROR - Error in episode 6276: name 'args' is not defined +2025-03-10 15:30:08,629 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,630 - ERROR - Error in episode 6277: name 'args' is not defined +2025-03-10 15:30:08,633 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,633 - ERROR - Error in episode 6278: name 'args' is not defined +2025-03-10 15:30:08,636 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,636 - ERROR - Error in episode 6279: name 'args' is not defined +2025-03-10 15:30:08,639 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,639 - ERROR - Error in episode 6280: name 'args' is not defined +2025-03-10 15:30:08,642 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,642 - ERROR - Error in episode 6281: name 'args' is not defined +2025-03-10 15:30:08,645 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,645 - ERROR - Error in episode 6282: name 'args' is not defined +2025-03-10 15:30:08,648 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,648 - ERROR - Error in episode 6283: name 'args' is not defined +2025-03-10 15:30:08,651 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,652 - ERROR - Error in episode 6284: name 'args' is not defined +2025-03-10 15:30:08,655 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,655 - ERROR - Error in episode 6285: name 'args' is not defined +2025-03-10 15:30:08,657 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,658 - ERROR - Error in episode 6286: name 'args' is not defined +2025-03-10 15:30:08,661 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,661 - ERROR - Error in episode 6287: name 'args' is not defined +2025-03-10 15:30:08,664 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,665 - ERROR - Error in episode 6288: name 'args' is not defined +2025-03-10 15:30:08,667 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,667 - ERROR - Error in episode 6289: name 'args' is not defined +2025-03-10 15:30:08,671 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,671 - ERROR - Error in episode 6290: name 'args' is not defined +2025-03-10 15:30:08,673 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,674 - ERROR - Error in episode 6291: name 'args' is not defined +2025-03-10 15:30:08,676 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,676 - ERROR - Error in episode 6292: name 'args' is not defined +2025-03-10 15:30:08,679 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,680 - ERROR - Error in episode 6293: name 'args' is not defined +2025-03-10 15:30:08,682 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,682 - ERROR - Error in episode 6294: name 'args' is not defined +2025-03-10 15:30:08,685 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,685 - ERROR - Error in episode 6295: name 'args' is not defined +2025-03-10 15:30:08,688 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,688 - ERROR - Error in episode 6296: name 'args' is not defined +2025-03-10 15:30:08,690 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,691 - ERROR - Error in episode 6297: name 'args' is not defined +2025-03-10 15:30:08,693 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,694 - ERROR - Error in episode 6298: name 'args' is not defined +2025-03-10 15:30:08,697 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,698 - ERROR - Error in episode 6299: name 'args' is not defined +2025-03-10 15:30:08,700 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,700 - ERROR - Error in episode 6300: name 'args' is not defined +2025-03-10 15:30:08,703 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,704 - ERROR - Error in episode 6301: name 'args' is not defined +2025-03-10 15:30:08,706 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,707 - ERROR - Error in episode 6302: name 'args' is not defined +2025-03-10 15:30:08,710 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,710 - ERROR - Error in episode 6303: name 'args' is not defined +2025-03-10 15:30:08,713 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,713 - ERROR - Error in episode 6304: name 'args' is not defined +2025-03-10 15:30:08,715 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,716 - ERROR - Error in episode 6305: name 'args' is not defined +2025-03-10 15:30:08,718 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,719 - ERROR - Error in episode 6306: name 'args' is not defined +2025-03-10 15:30:08,722 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,722 - ERROR - Error in episode 6307: name 'args' is not defined +2025-03-10 15:30:08,724 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,725 - ERROR - Error in episode 6308: name 'args' is not defined +2025-03-10 15:30:08,727 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,728 - ERROR - Error in episode 6309: name 'args' is not defined +2025-03-10 15:30:08,730 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,730 - ERROR - Error in episode 6310: name 'args' is not defined +2025-03-10 15:30:08,733 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,734 - ERROR - Error in episode 6311: name 'args' is not defined +2025-03-10 15:30:08,736 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,736 - ERROR - Error in episode 6312: name 'args' is not defined +2025-03-10 15:30:08,739 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,740 - ERROR - Error in episode 6313: name 'args' is not defined +2025-03-10 15:30:08,742 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,742 - ERROR - Error in episode 6314: name 'args' is not defined +2025-03-10 15:30:08,746 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,746 - ERROR - Error in episode 6315: name 'args' is not defined +2025-03-10 15:30:08,748 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,749 - ERROR - Error in episode 6316: name 'args' is not defined +2025-03-10 15:30:08,751 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,751 - ERROR - Error in episode 6317: name 'args' is not defined +2025-03-10 15:30:08,754 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,754 - ERROR - Error in episode 6318: name 'args' is not defined +2025-03-10 15:30:08,757 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,757 - ERROR - Error in episode 6319: name 'args' is not defined +2025-03-10 15:30:08,759 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,760 - ERROR - Error in episode 6320: name 'args' is not defined +2025-03-10 15:30:08,763 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,763 - ERROR - Error in episode 6321: name 'args' is not defined +2025-03-10 15:30:08,765 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,766 - ERROR - Error in episode 6322: name 'args' is not defined +2025-03-10 15:30:08,768 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,768 - ERROR - Error in episode 6323: name 'args' is not defined +2025-03-10 15:30:08,771 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,771 - ERROR - Error in episode 6324: name 'args' is not defined +2025-03-10 15:30:08,774 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,774 - ERROR - Error in episode 6325: name 'args' is not defined +2025-03-10 15:30:08,777 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,777 - ERROR - Error in episode 6326: name 'args' is not defined +2025-03-10 15:30:08,780 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,780 - ERROR - Error in episode 6327: name 'args' is not defined +2025-03-10 15:30:08,783 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,783 - ERROR - Error in episode 6328: name 'args' is not defined +2025-03-10 15:30:08,786 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,786 - ERROR - Error in episode 6329: name 'args' is not defined +2025-03-10 15:30:08,789 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,789 - ERROR - Error in episode 6330: name 'args' is not defined +2025-03-10 15:30:08,792 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,792 - ERROR - Error in episode 6331: name 'args' is not defined +2025-03-10 15:30:08,796 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,796 - ERROR - Error in episode 6332: name 'args' is not defined +2025-03-10 15:30:08,798 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,799 - ERROR - Error in episode 6333: name 'args' is not defined +2025-03-10 15:30:08,801 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,801 - ERROR - Error in episode 6334: name 'args' is not defined +2025-03-10 15:30:08,804 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,805 - ERROR - Error in episode 6335: name 'args' is not defined +2025-03-10 15:30:08,807 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,807 - ERROR - Error in episode 6336: name 'args' is not defined +2025-03-10 15:30:08,810 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,810 - ERROR - Error in episode 6337: name 'args' is not defined +2025-03-10 15:30:08,814 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,814 - ERROR - Error in episode 6338: name 'args' is not defined +2025-03-10 15:30:08,816 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,817 - ERROR - Error in episode 6339: name 'args' is not defined +2025-03-10 15:30:08,819 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,820 - ERROR - Error in episode 6340: name 'args' is not defined +2025-03-10 15:30:08,822 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,823 - ERROR - Error in episode 6341: name 'args' is not defined +2025-03-10 15:30:08,825 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,826 - ERROR - Error in episode 6342: name 'args' is not defined +2025-03-10 15:30:08,829 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,829 - ERROR - Error in episode 6343: name 'args' is not defined +2025-03-10 15:30:08,831 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,832 - ERROR - Error in episode 6344: name 'args' is not defined +2025-03-10 15:30:08,834 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,835 - ERROR - Error in episode 6345: name 'args' is not defined +2025-03-10 15:30:08,837 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,838 - ERROR - Error in episode 6346: name 'args' is not defined +2025-03-10 15:30:08,840 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,840 - ERROR - Error in episode 6347: name 'args' is not defined +2025-03-10 15:30:08,843 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,843 - ERROR - Error in episode 6348: name 'args' is not defined +2025-03-10 15:30:08,846 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,846 - ERROR - Error in episode 6349: name 'args' is not defined +2025-03-10 15:30:08,848 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,849 - ERROR - Error in episode 6350: name 'args' is not defined +2025-03-10 15:30:08,851 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,851 - ERROR - Error in episode 6351: name 'args' is not defined +2025-03-10 15:30:08,854 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,854 - ERROR - Error in episode 6352: name 'args' is not defined +2025-03-10 15:30:08,857 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,857 - ERROR - Error in episode 6353: name 'args' is not defined +2025-03-10 15:30:08,859 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,860 - ERROR - Error in episode 6354: name 'args' is not defined +2025-03-10 15:30:08,863 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,863 - ERROR - Error in episode 6355: name 'args' is not defined +2025-03-10 15:30:08,865 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,866 - ERROR - Error in episode 6356: name 'args' is not defined +2025-03-10 15:30:08,868 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,868 - ERROR - Error in episode 6357: name 'args' is not defined +2025-03-10 15:30:08,871 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,871 - ERROR - Error in episode 6358: name 'args' is not defined +2025-03-10 15:30:08,874 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,874 - ERROR - Error in episode 6359: name 'args' is not defined +2025-03-10 15:30:08,877 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,877 - ERROR - Error in episode 6360: name 'args' is not defined +2025-03-10 15:30:08,880 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,880 - ERROR - Error in episode 6361: name 'args' is not defined +2025-03-10 15:30:08,882 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,884 - ERROR - Error in episode 6362: name 'args' is not defined +2025-03-10 15:30:08,886 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,887 - ERROR - Error in episode 6363: name 'args' is not defined +2025-03-10 15:30:08,889 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,889 - ERROR - Error in episode 6364: name 'args' is not defined +2025-03-10 15:30:08,892 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,892 - ERROR - Error in episode 6365: name 'args' is not defined +2025-03-10 15:30:08,895 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,895 - ERROR - Error in episode 6366: name 'args' is not defined +2025-03-10 15:30:08,898 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,898 - ERROR - Error in episode 6367: name 'args' is not defined +2025-03-10 15:30:08,902 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,902 - ERROR - Error in episode 6368: name 'args' is not defined +2025-03-10 15:30:08,905 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,906 - ERROR - Error in episode 6369: name 'args' is not defined +2025-03-10 15:30:08,909 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,909 - ERROR - Error in episode 6370: name 'args' is not defined +2025-03-10 15:30:08,911 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,912 - ERROR - Error in episode 6371: name 'args' is not defined +2025-03-10 15:30:08,914 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,914 - ERROR - Error in episode 6372: name 'args' is not defined +2025-03-10 15:30:08,916 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,917 - ERROR - Error in episode 6373: name 'args' is not defined +2025-03-10 15:30:08,919 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,919 - ERROR - Error in episode 6374: name 'args' is not defined +2025-03-10 15:30:08,922 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,922 - ERROR - Error in episode 6375: name 'args' is not defined +2025-03-10 15:30:08,925 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,925 - ERROR - Error in episode 6376: name 'args' is not defined +2025-03-10 15:30:08,927 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,928 - ERROR - Error in episode 6377: name 'args' is not defined +2025-03-10 15:30:08,930 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,930 - ERROR - Error in episode 6378: name 'args' is not defined +2025-03-10 15:30:08,934 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,934 - ERROR - Error in episode 6379: name 'args' is not defined +2025-03-10 15:30:08,936 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,936 - ERROR - Error in episode 6380: name 'args' is not defined +2025-03-10 15:30:08,939 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,939 - ERROR - Error in episode 6381: name 'args' is not defined +2025-03-10 15:30:08,942 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,942 - ERROR - Error in episode 6382: name 'args' is not defined +2025-03-10 15:30:08,944 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,945 - ERROR - Error in episode 6383: name 'args' is not defined +2025-03-10 15:30:08,948 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,948 - ERROR - Error in episode 6384: name 'args' is not defined +2025-03-10 15:30:08,951 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,952 - ERROR - Error in episode 6385: name 'args' is not defined +2025-03-10 15:30:08,954 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,954 - ERROR - Error in episode 6386: name 'args' is not defined +2025-03-10 15:30:08,957 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,957 - ERROR - Error in episode 6387: name 'args' is not defined +2025-03-10 15:30:08,960 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,960 - ERROR - Error in episode 6388: name 'args' is not defined +2025-03-10 15:30:08,963 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,963 - ERROR - Error in episode 6389: name 'args' is not defined +2025-03-10 15:30:08,966 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,967 - ERROR - Error in episode 6390: name 'args' is not defined +2025-03-10 15:30:08,969 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,970 - ERROR - Error in episode 6391: name 'args' is not defined +2025-03-10 15:30:08,972 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,972 - ERROR - Error in episode 6392: name 'args' is not defined +2025-03-10 15:30:08,974 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,975 - ERROR - Error in episode 6393: name 'args' is not defined +2025-03-10 15:30:08,979 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,979 - ERROR - Error in episode 6394: name 'args' is not defined +2025-03-10 15:30:08,982 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,982 - ERROR - Error in episode 6395: name 'args' is not defined +2025-03-10 15:30:08,985 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,986 - ERROR - Error in episode 6396: name 'args' is not defined +2025-03-10 15:30:08,988 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,988 - ERROR - Error in episode 6397: name 'args' is not defined +2025-03-10 15:30:08,991 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,991 - ERROR - Error in episode 6398: name 'args' is not defined +2025-03-10 15:30:08,994 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,994 - ERROR - Error in episode 6399: name 'args' is not defined +2025-03-10 15:30:08,996 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:08,997 - ERROR - Error in episode 6400: name 'args' is not defined +2025-03-10 15:30:08,999 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,000 - ERROR - Error in episode 6401: name 'args' is not defined +2025-03-10 15:30:09,002 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,003 - ERROR - Error in episode 6402: name 'args' is not defined +2025-03-10 15:30:09,005 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,005 - ERROR - Error in episode 6403: name 'args' is not defined +2025-03-10 15:30:09,009 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,010 - ERROR - Error in episode 6404: name 'args' is not defined +2025-03-10 15:30:09,012 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,012 - ERROR - Error in episode 6405: name 'args' is not defined +2025-03-10 15:30:09,015 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,015 - ERROR - Error in episode 6406: name 'args' is not defined +2025-03-10 15:30:09,018 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,018 - ERROR - Error in episode 6407: name 'args' is not defined +2025-03-10 15:30:09,021 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,021 - ERROR - Error in episode 6408: name 'args' is not defined +2025-03-10 15:30:09,024 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,025 - ERROR - Error in episode 6409: name 'args' is not defined +2025-03-10 15:30:09,028 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,028 - ERROR - Error in episode 6410: name 'args' is not defined +2025-03-10 15:30:09,031 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,031 - ERROR - Error in episode 6411: name 'args' is not defined +2025-03-10 15:30:09,034 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,034 - ERROR - Error in episode 6412: name 'args' is not defined +2025-03-10 15:30:09,037 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,037 - ERROR - Error in episode 6413: name 'args' is not defined +2025-03-10 15:30:09,040 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,040 - ERROR - Error in episode 6414: name 'args' is not defined +2025-03-10 15:30:09,043 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,043 - ERROR - Error in episode 6415: name 'args' is not defined +2025-03-10 15:30:09,046 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,046 - ERROR - Error in episode 6416: name 'args' is not defined +2025-03-10 15:30:09,049 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,049 - ERROR - Error in episode 6417: name 'args' is not defined +2025-03-10 15:30:09,052 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,052 - ERROR - Error in episode 6418: name 'args' is not defined +2025-03-10 15:30:09,055 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,055 - ERROR - Error in episode 6419: name 'args' is not defined +2025-03-10 15:30:09,058 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,058 - ERROR - Error in episode 6420: name 'args' is not defined +2025-03-10 15:30:09,061 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,061 - ERROR - Error in episode 6421: name 'args' is not defined +2025-03-10 15:30:09,063 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,064 - ERROR - Error in episode 6422: name 'args' is not defined +2025-03-10 15:30:09,067 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,067 - ERROR - Error in episode 6423: name 'args' is not defined +2025-03-10 15:30:09,070 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,070 - ERROR - Error in episode 6424: name 'args' is not defined +2025-03-10 15:30:09,072 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,073 - ERROR - Error in episode 6425: name 'args' is not defined +2025-03-10 15:30:09,075 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,076 - ERROR - Error in episode 6426: name 'args' is not defined +2025-03-10 15:30:09,078 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,078 - ERROR - Error in episode 6427: name 'args' is not defined +2025-03-10 15:30:09,081 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,081 - ERROR - Error in episode 6428: name 'args' is not defined +2025-03-10 15:30:09,085 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,085 - ERROR - Error in episode 6429: name 'args' is not defined +2025-03-10 15:30:09,088 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,089 - ERROR - Error in episode 6430: name 'args' is not defined +2025-03-10 15:30:09,092 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,092 - ERROR - Error in episode 6431: name 'args' is not defined +2025-03-10 15:30:09,095 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,095 - ERROR - Error in episode 6432: name 'args' is not defined +2025-03-10 15:30:09,097 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,098 - ERROR - Error in episode 6433: name 'args' is not defined +2025-03-10 15:30:09,101 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,101 - ERROR - Error in episode 6434: name 'args' is not defined +2025-03-10 15:30:09,103 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,104 - ERROR - Error in episode 6435: name 'args' is not defined +2025-03-10 15:30:09,106 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,107 - ERROR - Error in episode 6436: name 'args' is not defined +2025-03-10 15:30:09,110 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,111 - ERROR - Error in episode 6437: name 'args' is not defined +2025-03-10 15:30:09,113 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,114 - ERROR - Error in episode 6438: name 'args' is not defined +2025-03-10 15:30:09,116 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,116 - ERROR - Error in episode 6439: name 'args' is not defined +2025-03-10 15:30:09,119 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,119 - ERROR - Error in episode 6440: name 'args' is not defined +2025-03-10 15:30:09,122 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,122 - ERROR - Error in episode 6441: name 'args' is not defined +2025-03-10 15:30:09,125 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,125 - ERROR - Error in episode 6442: name 'args' is not defined +2025-03-10 15:30:09,128 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,128 - ERROR - Error in episode 6443: name 'args' is not defined +2025-03-10 15:30:09,131 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,131 - ERROR - Error in episode 6444: name 'args' is not defined +2025-03-10 15:30:09,134 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,134 - ERROR - Error in episode 6445: name 'args' is not defined +2025-03-10 15:30:09,137 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,137 - ERROR - Error in episode 6446: name 'args' is not defined +2025-03-10 15:30:09,139 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,140 - ERROR - Error in episode 6447: name 'args' is not defined +2025-03-10 15:30:09,143 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,143 - ERROR - Error in episode 6448: name 'args' is not defined +2025-03-10 15:30:09,145 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,146 - ERROR - Error in episode 6449: name 'args' is not defined +2025-03-10 15:30:09,148 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,149 - ERROR - Error in episode 6450: name 'args' is not defined +2025-03-10 15:30:09,151 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,152 - ERROR - Error in episode 6451: name 'args' is not defined +2025-03-10 15:30:09,154 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,154 - ERROR - Error in episode 6452: name 'args' is not defined +2025-03-10 15:30:09,156 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,157 - ERROR - Error in episode 6453: name 'args' is not defined +2025-03-10 15:30:09,159 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,160 - ERROR - Error in episode 6454: name 'args' is not defined +2025-03-10 15:30:09,162 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,162 - ERROR - Error in episode 6455: name 'args' is not defined +2025-03-10 15:30:09,165 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,165 - ERROR - Error in episode 6456: name 'args' is not defined +2025-03-10 15:30:09,168 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,168 - ERROR - Error in episode 6457: name 'args' is not defined +2025-03-10 15:30:09,171 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,171 - ERROR - Error in episode 6458: name 'args' is not defined +2025-03-10 15:30:09,174 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,174 - ERROR - Error in episode 6459: name 'args' is not defined +2025-03-10 15:30:09,177 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,177 - ERROR - Error in episode 6460: name 'args' is not defined +2025-03-10 15:30:09,180 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,180 - ERROR - Error in episode 6461: name 'args' is not defined +2025-03-10 15:30:09,183 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,183 - ERROR - Error in episode 6462: name 'args' is not defined +2025-03-10 15:30:09,186 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,186 - ERROR - Error in episode 6463: name 'args' is not defined +2025-03-10 15:30:09,190 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,190 - ERROR - Error in episode 6464: name 'args' is not defined +2025-03-10 15:30:09,193 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,193 - ERROR - Error in episode 6465: name 'args' is not defined +2025-03-10 15:30:09,196 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,196 - ERROR - Error in episode 6466: name 'args' is not defined +2025-03-10 15:30:09,199 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,199 - ERROR - Error in episode 6467: name 'args' is not defined +2025-03-10 15:30:09,202 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,203 - ERROR - Error in episode 6468: name 'args' is not defined +2025-03-10 15:30:09,205 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,205 - ERROR - Error in episode 6469: name 'args' is not defined +2025-03-10 15:30:09,208 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,209 - ERROR - Error in episode 6470: name 'args' is not defined +2025-03-10 15:30:09,211 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,211 - ERROR - Error in episode 6471: name 'args' is not defined +2025-03-10 15:30:09,214 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,214 - ERROR - Error in episode 6472: name 'args' is not defined +2025-03-10 15:30:09,217 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,217 - ERROR - Error in episode 6473: name 'args' is not defined +2025-03-10 15:30:09,219 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,220 - ERROR - Error in episode 6474: name 'args' is not defined +2025-03-10 15:30:09,222 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,222 - ERROR - Error in episode 6475: name 'args' is not defined +2025-03-10 15:30:09,225 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,225 - ERROR - Error in episode 6476: name 'args' is not defined +2025-03-10 15:30:09,227 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,228 - ERROR - Error in episode 6477: name 'args' is not defined +2025-03-10 15:30:09,230 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,231 - ERROR - Error in episode 6478: name 'args' is not defined +2025-03-10 15:30:09,234 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,234 - ERROR - Error in episode 6479: name 'args' is not defined +2025-03-10 15:30:09,237 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,237 - ERROR - Error in episode 6480: name 'args' is not defined +2025-03-10 15:30:09,240 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,240 - ERROR - Error in episode 6481: name 'args' is not defined +2025-03-10 15:30:09,243 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,243 - ERROR - Error in episode 6482: name 'args' is not defined +2025-03-10 15:30:09,245 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,245 - ERROR - Error in episode 6483: name 'args' is not defined +2025-03-10 15:30:09,248 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,248 - ERROR - Error in episode 6484: name 'args' is not defined +2025-03-10 15:30:09,251 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,251 - ERROR - Error in episode 6485: name 'args' is not defined +2025-03-10 15:30:09,254 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,254 - ERROR - Error in episode 6486: name 'args' is not defined +2025-03-10 15:30:09,257 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,257 - ERROR - Error in episode 6487: name 'args' is not defined +2025-03-10 15:30:09,260 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,260 - ERROR - Error in episode 6488: name 'args' is not defined +2025-03-10 15:30:09,262 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,263 - ERROR - Error in episode 6489: name 'args' is not defined +2025-03-10 15:30:09,265 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,265 - ERROR - Error in episode 6490: name 'args' is not defined +2025-03-10 15:30:09,268 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,268 - ERROR - Error in episode 6491: name 'args' is not defined +2025-03-10 15:30:09,271 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,271 - ERROR - Error in episode 6492: name 'args' is not defined +2025-03-10 15:30:09,273 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,274 - ERROR - Error in episode 6493: name 'args' is not defined +2025-03-10 15:30:09,277 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,277 - ERROR - Error in episode 6494: name 'args' is not defined +2025-03-10 15:30:09,279 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,279 - ERROR - Error in episode 6495: name 'args' is not defined +2025-03-10 15:30:09,282 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,282 - ERROR - Error in episode 6496: name 'args' is not defined +2025-03-10 15:30:09,285 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,286 - ERROR - Error in episode 6497: name 'args' is not defined +2025-03-10 15:30:09,288 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,288 - ERROR - Error in episode 6498: name 'args' is not defined +2025-03-10 15:30:09,291 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,291 - ERROR - Error in episode 6499: name 'args' is not defined +2025-03-10 15:30:09,294 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,294 - ERROR - Error in episode 6500: name 'args' is not defined +2025-03-10 15:30:09,297 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,297 - ERROR - Error in episode 6501: name 'args' is not defined +2025-03-10 15:30:09,300 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,300 - ERROR - Error in episode 6502: name 'args' is not defined +2025-03-10 15:30:09,302 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,303 - ERROR - Error in episode 6503: name 'args' is not defined +2025-03-10 15:30:09,305 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,305 - ERROR - Error in episode 6504: name 'args' is not defined +2025-03-10 15:30:09,309 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,309 - ERROR - Error in episode 6505: name 'args' is not defined +2025-03-10 15:30:09,312 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,313 - ERROR - Error in episode 6506: name 'args' is not defined +2025-03-10 15:30:09,315 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,315 - ERROR - Error in episode 6507: name 'args' is not defined +2025-03-10 15:30:09,318 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,318 - ERROR - Error in episode 6508: name 'args' is not defined +2025-03-10 15:30:09,320 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,321 - ERROR - Error in episode 6509: name 'args' is not defined +2025-03-10 15:30:09,323 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,323 - ERROR - Error in episode 6510: name 'args' is not defined +2025-03-10 15:30:09,326 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,326 - ERROR - Error in episode 6511: name 'args' is not defined +2025-03-10 15:30:09,329 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,329 - ERROR - Error in episode 6512: name 'args' is not defined +2025-03-10 15:30:09,333 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,333 - ERROR - Error in episode 6513: name 'args' is not defined +2025-03-10 15:30:09,336 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,336 - ERROR - Error in episode 6514: name 'args' is not defined +2025-03-10 15:30:09,338 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,338 - ERROR - Error in episode 6515: name 'args' is not defined +2025-03-10 15:30:09,341 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,341 - ERROR - Error in episode 6516: name 'args' is not defined +2025-03-10 15:30:09,343 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,344 - ERROR - Error in episode 6517: name 'args' is not defined +2025-03-10 15:30:09,346 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,347 - ERROR - Error in episode 6518: name 'args' is not defined +2025-03-10 15:30:09,350 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,350 - ERROR - Error in episode 6519: name 'args' is not defined +2025-03-10 15:30:09,353 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,353 - ERROR - Error in episode 6520: name 'args' is not defined +2025-03-10 15:30:09,355 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,356 - ERROR - Error in episode 6521: name 'args' is not defined +2025-03-10 15:30:09,359 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,359 - ERROR - Error in episode 6522: name 'args' is not defined +2025-03-10 15:30:09,362 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,362 - ERROR - Error in episode 6523: name 'args' is not defined +2025-03-10 15:30:09,364 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,364 - ERROR - Error in episode 6524: name 'args' is not defined +2025-03-10 15:30:09,367 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,367 - ERROR - Error in episode 6525: name 'args' is not defined +2025-03-10 15:30:09,369 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,370 - ERROR - Error in episode 6526: name 'args' is not defined +2025-03-10 15:30:09,372 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,373 - ERROR - Error in episode 6527: name 'args' is not defined +2025-03-10 15:30:09,375 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,376 - ERROR - Error in episode 6528: name 'args' is not defined +2025-03-10 15:30:09,378 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,378 - ERROR - Error in episode 6529: name 'args' is not defined +2025-03-10 15:30:09,381 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,381 - ERROR - Error in episode 6530: name 'args' is not defined +2025-03-10 15:30:09,384 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,384 - ERROR - Error in episode 6531: name 'args' is not defined +2025-03-10 15:30:09,386 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,387 - ERROR - Error in episode 6532: name 'args' is not defined +2025-03-10 15:30:09,389 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,390 - ERROR - Error in episode 6533: name 'args' is not defined +2025-03-10 15:30:09,392 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,393 - ERROR - Error in episode 6534: name 'args' is not defined +2025-03-10 15:30:09,397 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,397 - ERROR - Error in episode 6535: name 'args' is not defined +2025-03-10 15:30:09,401 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,401 - ERROR - Error in episode 6536: name 'args' is not defined +2025-03-10 15:30:09,403 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,404 - ERROR - Error in episode 6537: name 'args' is not defined +2025-03-10 15:30:09,406 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,406 - ERROR - Error in episode 6538: name 'args' is not defined +2025-03-10 15:30:09,409 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,409 - ERROR - Error in episode 6539: name 'args' is not defined +2025-03-10 15:30:09,412 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,412 - ERROR - Error in episode 6540: name 'args' is not defined +2025-03-10 15:30:09,414 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,415 - ERROR - Error in episode 6541: name 'args' is not defined +2025-03-10 15:30:09,417 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,418 - ERROR - Error in episode 6542: name 'args' is not defined +2025-03-10 15:30:09,420 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,420 - ERROR - Error in episode 6543: name 'args' is not defined +2025-03-10 15:30:09,423 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,423 - ERROR - Error in episode 6544: name 'args' is not defined +2025-03-10 15:30:09,426 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,426 - ERROR - Error in episode 6545: name 'args' is not defined +2025-03-10 15:30:09,428 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,429 - ERROR - Error in episode 6546: name 'args' is not defined +2025-03-10 15:30:09,431 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,431 - ERROR - Error in episode 6547: name 'args' is not defined +2025-03-10 15:30:09,435 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,435 - ERROR - Error in episode 6548: name 'args' is not defined +2025-03-10 15:30:09,437 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,438 - ERROR - Error in episode 6549: name 'args' is not defined +2025-03-10 15:30:09,440 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,440 - ERROR - Error in episode 6550: name 'args' is not defined +2025-03-10 15:30:09,443 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,443 - ERROR - Error in episode 6551: name 'args' is not defined +2025-03-10 15:30:09,446 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,446 - ERROR - Error in episode 6552: name 'args' is not defined +2025-03-10 15:30:09,449 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,449 - ERROR - Error in episode 6553: name 'args' is not defined +2025-03-10 15:30:09,452 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,452 - ERROR - Error in episode 6554: name 'args' is not defined +2025-03-10 15:30:09,455 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,455 - ERROR - Error in episode 6555: name 'args' is not defined +2025-03-10 15:30:09,458 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,458 - ERROR - Error in episode 6556: name 'args' is not defined +2025-03-10 15:30:09,461 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,461 - ERROR - Error in episode 6557: name 'args' is not defined +2025-03-10 15:30:09,464 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,464 - ERROR - Error in episode 6558: name 'args' is not defined +2025-03-10 15:30:09,467 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,467 - ERROR - Error in episode 6559: name 'args' is not defined +2025-03-10 15:30:09,470 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,470 - ERROR - Error in episode 6560: name 'args' is not defined +2025-03-10 15:30:09,472 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,473 - ERROR - Error in episode 6561: name 'args' is not defined +2025-03-10 15:30:09,476 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,477 - ERROR - Error in episode 6562: name 'args' is not defined +2025-03-10 15:30:09,480 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,480 - ERROR - Error in episode 6563: name 'args' is not defined +2025-03-10 15:30:09,483 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,483 - ERROR - Error in episode 6564: name 'args' is not defined +2025-03-10 15:30:09,486 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,486 - ERROR - Error in episode 6565: name 'args' is not defined +2025-03-10 15:30:09,488 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,489 - ERROR - Error in episode 6566: name 'args' is not defined +2025-03-10 15:30:09,492 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,493 - ERROR - Error in episode 6567: name 'args' is not defined +2025-03-10 15:30:09,495 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,495 - ERROR - Error in episode 6568: name 'args' is not defined +2025-03-10 15:30:09,498 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,498 - ERROR - Error in episode 6569: name 'args' is not defined +2025-03-10 15:30:09,501 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,502 - ERROR - Error in episode 6570: name 'args' is not defined +2025-03-10 15:30:09,504 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,504 - ERROR - Error in episode 6571: name 'args' is not defined +2025-03-10 15:30:09,507 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,507 - ERROR - Error in episode 6572: name 'args' is not defined +2025-03-10 15:30:09,511 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,511 - ERROR - Error in episode 6573: name 'args' is not defined +2025-03-10 15:30:09,514 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,514 - ERROR - Error in episode 6574: name 'args' is not defined +2025-03-10 15:30:09,517 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,517 - ERROR - Error in episode 6575: name 'args' is not defined +2025-03-10 15:30:09,519 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,520 - ERROR - Error in episode 6576: name 'args' is not defined +2025-03-10 15:30:09,522 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,523 - ERROR - Error in episode 6577: name 'args' is not defined +2025-03-10 15:30:09,526 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,526 - ERROR - Error in episode 6578: name 'args' is not defined +2025-03-10 15:30:09,528 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,528 - ERROR - Error in episode 6579: name 'args' is not defined +2025-03-10 15:30:09,531 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,531 - ERROR - Error in episode 6580: name 'args' is not defined +2025-03-10 15:30:09,535 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,535 - ERROR - Error in episode 6581: name 'args' is not defined +2025-03-10 15:30:09,538 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,538 - ERROR - Error in episode 6582: name 'args' is not defined +2025-03-10 15:30:09,540 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,541 - ERROR - Error in episode 6583: name 'args' is not defined +2025-03-10 15:30:09,544 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,544 - ERROR - Error in episode 6584: name 'args' is not defined +2025-03-10 15:30:09,547 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,547 - ERROR - Error in episode 6585: name 'args' is not defined +2025-03-10 15:30:09,549 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,549 - ERROR - Error in episode 6586: name 'args' is not defined +2025-03-10 15:30:09,552 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,552 - ERROR - Error in episode 6587: name 'args' is not defined +2025-03-10 15:30:09,555 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,555 - ERROR - Error in episode 6588: name 'args' is not defined +2025-03-10 15:30:09,557 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,558 - ERROR - Error in episode 6589: name 'args' is not defined +2025-03-10 15:30:09,560 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,561 - ERROR - Error in episode 6590: name 'args' is not defined +2025-03-10 15:30:09,563 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,564 - ERROR - Error in episode 6591: name 'args' is not defined +2025-03-10 15:30:09,566 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,567 - ERROR - Error in episode 6592: name 'args' is not defined +2025-03-10 15:30:09,569 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,569 - ERROR - Error in episode 6593: name 'args' is not defined +2025-03-10 15:30:09,572 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,572 - ERROR - Error in episode 6594: name 'args' is not defined +2025-03-10 15:30:09,574 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,576 - ERROR - Error in episode 6595: name 'args' is not defined +2025-03-10 15:30:09,578 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,578 - ERROR - Error in episode 6596: name 'args' is not defined +2025-03-10 15:30:09,581 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,581 - ERROR - Error in episode 6597: name 'args' is not defined +2025-03-10 15:30:09,584 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,584 - ERROR - Error in episode 6598: name 'args' is not defined +2025-03-10 15:30:09,587 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,587 - ERROR - Error in episode 6599: name 'args' is not defined +2025-03-10 15:30:09,589 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,589 - ERROR - Error in episode 6600: name 'args' is not defined +2025-03-10 15:30:09,592 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,592 - ERROR - Error in episode 6601: name 'args' is not defined +2025-03-10 15:30:09,595 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,595 - ERROR - Error in episode 6602: name 'args' is not defined +2025-03-10 15:30:09,597 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,598 - ERROR - Error in episode 6603: name 'args' is not defined +2025-03-10 15:30:09,601 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,601 - ERROR - Error in episode 6604: name 'args' is not defined +2025-03-10 15:30:09,603 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,604 - ERROR - Error in episode 6605: name 'args' is not defined +2025-03-10 15:30:09,606 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,607 - ERROR - Error in episode 6606: name 'args' is not defined +2025-03-10 15:30:09,610 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,610 - ERROR - Error in episode 6607: name 'args' is not defined +2025-03-10 15:30:09,613 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,613 - ERROR - Error in episode 6608: name 'args' is not defined +2025-03-10 15:30:09,615 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,616 - ERROR - Error in episode 6609: name 'args' is not defined +2025-03-10 15:30:09,618 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,619 - ERROR - Error in episode 6610: name 'args' is not defined +2025-03-10 15:30:09,621 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,622 - ERROR - Error in episode 6611: name 'args' is not defined +2025-03-10 15:30:09,624 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,625 - ERROR - Error in episode 6612: name 'args' is not defined +2025-03-10 15:30:09,627 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,628 - ERROR - Error in episode 6613: name 'args' is not defined +2025-03-10 15:30:09,630 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,630 - ERROR - Error in episode 6614: name 'args' is not defined +2025-03-10 15:30:09,633 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,633 - ERROR - Error in episode 6615: name 'args' is not defined +2025-03-10 15:30:09,636 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,636 - ERROR - Error in episode 6616: name 'args' is not defined +2025-03-10 15:30:09,638 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,639 - ERROR - Error in episode 6617: name 'args' is not defined +2025-03-10 15:30:09,642 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,642 - ERROR - Error in episode 6618: name 'args' is not defined +2025-03-10 15:30:09,645 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,645 - ERROR - Error in episode 6619: name 'args' is not defined +2025-03-10 15:30:09,647 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,647 - ERROR - Error in episode 6620: name 'args' is not defined +2025-03-10 15:30:09,651 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,652 - ERROR - Error in episode 6621: name 'args' is not defined +2025-03-10 15:30:09,654 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,654 - ERROR - Error in episode 6622: name 'args' is not defined +2025-03-10 15:30:09,658 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,658 - ERROR - Error in episode 6623: name 'args' is not defined +2025-03-10 15:30:09,660 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,661 - ERROR - Error in episode 6624: name 'args' is not defined +2025-03-10 15:30:09,663 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,664 - ERROR - Error in episode 6625: name 'args' is not defined +2025-03-10 15:30:09,667 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,667 - ERROR - Error in episode 6626: name 'args' is not defined +2025-03-10 15:30:09,669 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,670 - ERROR - Error in episode 6627: name 'args' is not defined +2025-03-10 15:30:09,673 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,674 - ERROR - Error in episode 6628: name 'args' is not defined +2025-03-10 15:30:09,676 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,677 - ERROR - Error in episode 6629: name 'args' is not defined +2025-03-10 15:30:09,680 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,680 - ERROR - Error in episode 6630: name 'args' is not defined +2025-03-10 15:30:09,683 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,684 - ERROR - Error in episode 6631: name 'args' is not defined +2025-03-10 15:30:09,686 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,686 - ERROR - Error in episode 6632: name 'args' is not defined +2025-03-10 15:30:09,688 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,689 - ERROR - Error in episode 6633: name 'args' is not defined +2025-03-10 15:30:09,691 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,692 - ERROR - Error in episode 6634: name 'args' is not defined +2025-03-10 15:30:09,695 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,695 - ERROR - Error in episode 6635: name 'args' is not defined +2025-03-10 15:30:09,698 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,699 - ERROR - Error in episode 6636: name 'args' is not defined +2025-03-10 15:30:09,701 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,702 - ERROR - Error in episode 6637: name 'args' is not defined +2025-03-10 15:30:09,704 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,705 - ERROR - Error in episode 6638: name 'args' is not defined +2025-03-10 15:30:09,707 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,707 - ERROR - Error in episode 6639: name 'args' is not defined +2025-03-10 15:30:09,710 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,710 - ERROR - Error in episode 6640: name 'args' is not defined +2025-03-10 15:30:09,713 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,714 - ERROR - Error in episode 6641: name 'args' is not defined +2025-03-10 15:30:09,716 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,716 - ERROR - Error in episode 6642: name 'args' is not defined +2025-03-10 15:30:09,719 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,719 - ERROR - Error in episode 6643: name 'args' is not defined +2025-03-10 15:30:09,722 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,722 - ERROR - Error in episode 6644: name 'args' is not defined +2025-03-10 15:30:09,724 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,725 - ERROR - Error in episode 6645: name 'args' is not defined +2025-03-10 15:30:09,727 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,728 - ERROR - Error in episode 6646: name 'args' is not defined +2025-03-10 15:30:09,731 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,731 - ERROR - Error in episode 6647: name 'args' is not defined +2025-03-10 15:30:09,734 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,734 - ERROR - Error in episode 6648: name 'args' is not defined +2025-03-10 15:30:09,737 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,737 - ERROR - Error in episode 6649: name 'args' is not defined +2025-03-10 15:30:09,740 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,741 - ERROR - Error in episode 6650: name 'args' is not defined +2025-03-10 15:30:09,744 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,744 - ERROR - Error in episode 6651: name 'args' is not defined +2025-03-10 15:30:09,747 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,747 - ERROR - Error in episode 6652: name 'args' is not defined +2025-03-10 15:30:09,750 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,750 - ERROR - Error in episode 6653: name 'args' is not defined +2025-03-10 15:30:09,753 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,753 - ERROR - Error in episode 6654: name 'args' is not defined +2025-03-10 15:30:09,756 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,756 - ERROR - Error in episode 6655: name 'args' is not defined +2025-03-10 15:30:09,758 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,759 - ERROR - Error in episode 6656: name 'args' is not defined +2025-03-10 15:30:09,761 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,762 - ERROR - Error in episode 6657: name 'args' is not defined +2025-03-10 15:30:09,766 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,767 - ERROR - Error in episode 6658: name 'args' is not defined +2025-03-10 15:30:09,769 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,770 - ERROR - Error in episode 6659: name 'args' is not defined +2025-03-10 15:30:09,772 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,773 - ERROR - Error in episode 6660: name 'args' is not defined +2025-03-10 15:30:09,776 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,777 - ERROR - Error in episode 6661: name 'args' is not defined +2025-03-10 15:30:09,779 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,779 - ERROR - Error in episode 6662: name 'args' is not defined +2025-03-10 15:30:09,782 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,782 - ERROR - Error in episode 6663: name 'args' is not defined +2025-03-10 15:30:09,785 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,786 - ERROR - Error in episode 6664: name 'args' is not defined +2025-03-10 15:30:09,788 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,788 - ERROR - Error in episode 6665: name 'args' is not defined +2025-03-10 15:30:09,791 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,791 - ERROR - Error in episode 6666: name 'args' is not defined +2025-03-10 15:30:09,794 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,795 - ERROR - Error in episode 6667: name 'args' is not defined +2025-03-10 15:30:09,797 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,797 - ERROR - Error in episode 6668: name 'args' is not defined +2025-03-10 15:30:09,800 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,801 - ERROR - Error in episode 6669: name 'args' is not defined +2025-03-10 15:30:09,803 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,803 - ERROR - Error in episode 6670: name 'args' is not defined +2025-03-10 15:30:09,806 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,806 - ERROR - Error in episode 6671: name 'args' is not defined +2025-03-10 15:30:09,809 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,809 - ERROR - Error in episode 6672: name 'args' is not defined +2025-03-10 15:30:09,813 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,813 - ERROR - Error in episode 6673: name 'args' is not defined +2025-03-10 15:30:09,816 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,816 - ERROR - Error in episode 6674: name 'args' is not defined +2025-03-10 15:30:09,819 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,819 - ERROR - Error in episode 6675: name 'args' is not defined +2025-03-10 15:30:09,822 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,822 - ERROR - Error in episode 6676: name 'args' is not defined +2025-03-10 15:30:09,825 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,826 - ERROR - Error in episode 6677: name 'args' is not defined +2025-03-10 15:30:09,828 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,828 - ERROR - Error in episode 6678: name 'args' is not defined +2025-03-10 15:30:09,831 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,831 - ERROR - Error in episode 6679: name 'args' is not defined +2025-03-10 15:30:09,834 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,836 - ERROR - Error in episode 6680: name 'args' is not defined +2025-03-10 15:30:09,838 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,838 - ERROR - Error in episode 6681: name 'args' is not defined +2025-03-10 15:30:09,840 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,841 - ERROR - Error in episode 6682: name 'args' is not defined +2025-03-10 15:30:09,844 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,844 - ERROR - Error in episode 6683: name 'args' is not defined +2025-03-10 15:30:09,847 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,847 - ERROR - Error in episode 6684: name 'args' is not defined +2025-03-10 15:30:09,850 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,850 - ERROR - Error in episode 6685: name 'args' is not defined +2025-03-10 15:30:09,852 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,853 - ERROR - Error in episode 6686: name 'args' is not defined +2025-03-10 15:30:09,856 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,856 - ERROR - Error in episode 6687: name 'args' is not defined +2025-03-10 15:30:09,859 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,859 - ERROR - Error in episode 6688: name 'args' is not defined +2025-03-10 15:30:09,862 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,863 - ERROR - Error in episode 6689: name 'args' is not defined +2025-03-10 15:30:09,865 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,865 - ERROR - Error in episode 6690: name 'args' is not defined +2025-03-10 15:30:09,868 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,869 - ERROR - Error in episode 6691: name 'args' is not defined +2025-03-10 15:30:09,871 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,871 - ERROR - Error in episode 6692: name 'args' is not defined +2025-03-10 15:30:09,873 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,874 - ERROR - Error in episode 6693: name 'args' is not defined +2025-03-10 15:30:09,876 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,877 - ERROR - Error in episode 6694: name 'args' is not defined +2025-03-10 15:30:09,879 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,880 - ERROR - Error in episode 6695: name 'args' is not defined +2025-03-10 15:30:09,882 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,882 - ERROR - Error in episode 6696: name 'args' is not defined +2025-03-10 15:30:09,885 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,886 - ERROR - Error in episode 6697: name 'args' is not defined +2025-03-10 15:30:09,889 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,889 - ERROR - Error in episode 6698: name 'args' is not defined +2025-03-10 15:30:09,891 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,892 - ERROR - Error in episode 6699: name 'args' is not defined +2025-03-10 15:30:09,894 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,895 - ERROR - Error in episode 6700: name 'args' is not defined +2025-03-10 15:30:09,898 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,898 - ERROR - Error in episode 6701: name 'args' is not defined +2025-03-10 15:30:09,900 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,901 - ERROR - Error in episode 6702: name 'args' is not defined +2025-03-10 15:30:09,903 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,903 - ERROR - Error in episode 6703: name 'args' is not defined +2025-03-10 15:30:09,906 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,907 - ERROR - Error in episode 6704: name 'args' is not defined +2025-03-10 15:30:09,910 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,910 - ERROR - Error in episode 6705: name 'args' is not defined +2025-03-10 15:30:09,913 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,913 - ERROR - Error in episode 6706: name 'args' is not defined +2025-03-10 15:30:09,915 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,916 - ERROR - Error in episode 6707: name 'args' is not defined +2025-03-10 15:30:09,918 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,919 - ERROR - Error in episode 6708: name 'args' is not defined +2025-03-10 15:30:09,920 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,922 - ERROR - Error in episode 6709: name 'args' is not defined +2025-03-10 15:30:09,924 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,924 - ERROR - Error in episode 6710: name 'args' is not defined +2025-03-10 15:30:09,927 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,928 - ERROR - Error in episode 6711: name 'args' is not defined +2025-03-10 15:30:09,930 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,930 - ERROR - Error in episode 6712: name 'args' is not defined +2025-03-10 15:30:09,933 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,933 - ERROR - Error in episode 6713: name 'args' is not defined +2025-03-10 15:30:09,937 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,937 - ERROR - Error in episode 6714: name 'args' is not defined +2025-03-10 15:30:09,940 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,940 - ERROR - Error in episode 6715: name 'args' is not defined +2025-03-10 15:30:09,943 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,943 - ERROR - Error in episode 6716: name 'args' is not defined +2025-03-10 15:30:09,946 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,946 - ERROR - Error in episode 6717: name 'args' is not defined +2025-03-10 15:30:09,949 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,949 - ERROR - Error in episode 6718: name 'args' is not defined +2025-03-10 15:30:09,952 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,953 - ERROR - Error in episode 6719: name 'args' is not defined +2025-03-10 15:30:09,955 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,955 - ERROR - Error in episode 6720: name 'args' is not defined +2025-03-10 15:30:09,958 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,958 - ERROR - Error in episode 6721: name 'args' is not defined +2025-03-10 15:30:09,961 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,961 - ERROR - Error in episode 6722: name 'args' is not defined +2025-03-10 15:30:09,963 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,964 - ERROR - Error in episode 6723: name 'args' is not defined +2025-03-10 15:30:09,966 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,967 - ERROR - Error in episode 6724: name 'args' is not defined +2025-03-10 15:30:09,969 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,969 - ERROR - Error in episode 6725: name 'args' is not defined +2025-03-10 15:30:09,972 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,972 - ERROR - Error in episode 6726: name 'args' is not defined +2025-03-10 15:30:09,974 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,975 - ERROR - Error in episode 6727: name 'args' is not defined +2025-03-10 15:30:09,978 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,978 - ERROR - Error in episode 6728: name 'args' is not defined +2025-03-10 15:30:09,981 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,982 - ERROR - Error in episode 6729: name 'args' is not defined +2025-03-10 15:30:09,984 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,985 - ERROR - Error in episode 6730: name 'args' is not defined +2025-03-10 15:30:09,987 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,988 - ERROR - Error in episode 6731: name 'args' is not defined +2025-03-10 15:30:09,990 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,991 - ERROR - Error in episode 6732: name 'args' is not defined +2025-03-10 15:30:09,993 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,993 - ERROR - Error in episode 6733: name 'args' is not defined +2025-03-10 15:30:09,996 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:09,996 - ERROR - Error in episode 6734: name 'args' is not defined +2025-03-10 15:30:09,999 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,000 - ERROR - Error in episode 6735: name 'args' is not defined +2025-03-10 15:30:10,003 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,003 - ERROR - Error in episode 6736: name 'args' is not defined +2025-03-10 15:30:10,005 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,006 - ERROR - Error in episode 6737: name 'args' is not defined +2025-03-10 15:30:10,009 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,009 - ERROR - Error in episode 6738: name 'args' is not defined +2025-03-10 15:30:10,011 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,011 - ERROR - Error in episode 6739: name 'args' is not defined +2025-03-10 15:30:10,014 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,014 - ERROR - Error in episode 6740: name 'args' is not defined +2025-03-10 15:30:10,016 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,018 - ERROR - Error in episode 6741: name 'args' is not defined +2025-03-10 15:30:10,020 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,020 - ERROR - Error in episode 6742: name 'args' is not defined +2025-03-10 15:30:10,023 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,023 - ERROR - Error in episode 6743: name 'args' is not defined +2025-03-10 15:30:10,026 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,026 - ERROR - Error in episode 6744: name 'args' is not defined +2025-03-10 15:30:10,029 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,030 - ERROR - Error in episode 6745: name 'args' is not defined +2025-03-10 15:30:10,032 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,032 - ERROR - Error in episode 6746: name 'args' is not defined +2025-03-10 15:30:10,035 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,036 - ERROR - Error in episode 6747: name 'args' is not defined +2025-03-10 15:30:10,038 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,038 - ERROR - Error in episode 6748: name 'args' is not defined +2025-03-10 15:30:10,041 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,041 - ERROR - Error in episode 6749: name 'args' is not defined +2025-03-10 15:30:10,044 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,044 - ERROR - Error in episode 6750: name 'args' is not defined +2025-03-10 15:30:10,047 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,047 - ERROR - Error in episode 6751: name 'args' is not defined +2025-03-10 15:30:10,049 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,049 - ERROR - Error in episode 6752: name 'args' is not defined +2025-03-10 15:30:10,052 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,052 - ERROR - Error in episode 6753: name 'args' is not defined +2025-03-10 15:30:10,056 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,056 - ERROR - Error in episode 6754: name 'args' is not defined +2025-03-10 15:30:10,059 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,059 - ERROR - Error in episode 6755: name 'args' is not defined +2025-03-10 15:30:10,061 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,061 - ERROR - Error in episode 6756: name 'args' is not defined +2025-03-10 15:30:10,064 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,064 - ERROR - Error in episode 6757: name 'args' is not defined +2025-03-10 15:30:10,067 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,067 - ERROR - Error in episode 6758: name 'args' is not defined +2025-03-10 15:30:10,070 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,070 - ERROR - Error in episode 6759: name 'args' is not defined +2025-03-10 15:30:10,072 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,072 - ERROR - Error in episode 6760: name 'args' is not defined +2025-03-10 15:30:10,075 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,075 - ERROR - Error in episode 6761: name 'args' is not defined +2025-03-10 15:30:10,078 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,079 - ERROR - Error in episode 6762: name 'args' is not defined +2025-03-10 15:30:10,081 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,081 - ERROR - Error in episode 6763: name 'args' is not defined +2025-03-10 15:30:10,084 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,085 - ERROR - Error in episode 6764: name 'args' is not defined +2025-03-10 15:30:10,087 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,087 - ERROR - Error in episode 6765: name 'args' is not defined +2025-03-10 15:30:10,090 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,090 - ERROR - Error in episode 6766: name 'args' is not defined +2025-03-10 15:30:10,093 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,094 - ERROR - Error in episode 6767: name 'args' is not defined +2025-03-10 15:30:10,096 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,096 - ERROR - Error in episode 6768: name 'args' is not defined +2025-03-10 15:30:10,099 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,099 - ERROR - Error in episode 6769: name 'args' is not defined +2025-03-10 15:30:10,103 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,103 - ERROR - Error in episode 6770: name 'args' is not defined +2025-03-10 15:30:10,105 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,106 - ERROR - Error in episode 6771: name 'args' is not defined +2025-03-10 15:30:10,109 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,109 - ERROR - Error in episode 6772: name 'args' is not defined +2025-03-10 15:30:10,111 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,112 - ERROR - Error in episode 6773: name 'args' is not defined +2025-03-10 15:30:10,114 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,115 - ERROR - Error in episode 6774: name 'args' is not defined +2025-03-10 15:30:10,118 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,118 - ERROR - Error in episode 6775: name 'args' is not defined +2025-03-10 15:30:10,120 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,121 - ERROR - Error in episode 6776: name 'args' is not defined +2025-03-10 15:30:10,124 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,124 - ERROR - Error in episode 6777: name 'args' is not defined +2025-03-10 15:30:10,128 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,128 - ERROR - Error in episode 6778: name 'args' is not defined +2025-03-10 15:30:10,130 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,130 - ERROR - Error in episode 6779: name 'args' is not defined +2025-03-10 15:30:10,133 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,133 - ERROR - Error in episode 6780: name 'args' is not defined +2025-03-10 15:30:10,136 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,136 - ERROR - Error in episode 6781: name 'args' is not defined +2025-03-10 15:30:10,139 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,139 - ERROR - Error in episode 6782: name 'args' is not defined +2025-03-10 15:30:10,142 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,142 - ERROR - Error in episode 6783: name 'args' is not defined +2025-03-10 15:30:10,145 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,145 - ERROR - Error in episode 6784: name 'args' is not defined +2025-03-10 15:30:10,148 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,148 - ERROR - Error in episode 6785: name 'args' is not defined +2025-03-10 15:30:10,150 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,151 - ERROR - Error in episode 6786: name 'args' is not defined +2025-03-10 15:30:10,154 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,154 - ERROR - Error in episode 6787: name 'args' is not defined +2025-03-10 15:30:10,156 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,157 - ERROR - Error in episode 6788: name 'args' is not defined +2025-03-10 15:30:10,159 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,160 - ERROR - Error in episode 6789: name 'args' is not defined +2025-03-10 15:30:10,162 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,162 - ERROR - Error in episode 6790: name 'args' is not defined +2025-03-10 15:30:10,165 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,165 - ERROR - Error in episode 6791: name 'args' is not defined +2025-03-10 15:30:10,168 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,169 - ERROR - Error in episode 6792: name 'args' is not defined +2025-03-10 15:30:10,171 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,171 - ERROR - Error in episode 6793: name 'args' is not defined +2025-03-10 15:30:10,174 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,174 - ERROR - Error in episode 6794: name 'args' is not defined +2025-03-10 15:30:10,177 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,177 - ERROR - Error in episode 6795: name 'args' is not defined +2025-03-10 15:30:10,180 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,180 - ERROR - Error in episode 6796: name 'args' is not defined +2025-03-10 15:30:10,183 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,183 - ERROR - Error in episode 6797: name 'args' is not defined +2025-03-10 15:30:10,186 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,186 - ERROR - Error in episode 6798: name 'args' is not defined +2025-03-10 15:30:10,188 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,188 - ERROR - Error in episode 6799: name 'args' is not defined +2025-03-10 15:30:10,191 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,191 - ERROR - Error in episode 6800: name 'args' is not defined +2025-03-10 15:30:10,194 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,195 - ERROR - Error in episode 6801: name 'args' is not defined +2025-03-10 15:30:10,197 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,197 - ERROR - Error in episode 6802: name 'args' is not defined +2025-03-10 15:30:10,200 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,200 - ERROR - Error in episode 6803: name 'args' is not defined +2025-03-10 15:30:10,203 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,203 - ERROR - Error in episode 6804: name 'args' is not defined +2025-03-10 15:30:10,206 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,207 - ERROR - Error in episode 6805: name 'args' is not defined +2025-03-10 15:30:10,209 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,209 - ERROR - Error in episode 6806: name 'args' is not defined +2025-03-10 15:30:10,212 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,212 - ERROR - Error in episode 6807: name 'args' is not defined +2025-03-10 15:30:10,215 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,215 - ERROR - Error in episode 6808: name 'args' is not defined +2025-03-10 15:30:10,217 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,218 - ERROR - Error in episode 6809: name 'args' is not defined +2025-03-10 15:30:10,220 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,221 - ERROR - Error in episode 6810: name 'args' is not defined +2025-03-10 15:30:10,223 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,223 - ERROR - Error in episode 6811: name 'args' is not defined +2025-03-10 15:30:10,226 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,227 - ERROR - Error in episode 6812: name 'args' is not defined +2025-03-10 15:30:10,229 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,229 - ERROR - Error in episode 6813: name 'args' is not defined +2025-03-10 15:30:10,232 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,232 - ERROR - Error in episode 6814: name 'args' is not defined +2025-03-10 15:30:10,235 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,236 - ERROR - Error in episode 6815: name 'args' is not defined +2025-03-10 15:30:10,238 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,238 - ERROR - Error in episode 6816: name 'args' is not defined +2025-03-10 15:30:10,240 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,241 - ERROR - Error in episode 6817: name 'args' is not defined +2025-03-10 15:30:10,244 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,244 - ERROR - Error in episode 6818: name 'args' is not defined +2025-03-10 15:30:10,246 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,247 - ERROR - Error in episode 6819: name 'args' is not defined +2025-03-10 15:30:10,249 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,249 - ERROR - Error in episode 6820: name 'args' is not defined +2025-03-10 15:30:10,253 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,253 - ERROR - Error in episode 6821: name 'args' is not defined +2025-03-10 15:30:10,256 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,256 - ERROR - Error in episode 6822: name 'args' is not defined +2025-03-10 15:30:10,259 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,259 - ERROR - Error in episode 6823: name 'args' is not defined +2025-03-10 15:30:10,262 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,262 - ERROR - Error in episode 6824: name 'args' is not defined +2025-03-10 15:30:10,264 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,265 - ERROR - Error in episode 6825: name 'args' is not defined +2025-03-10 15:30:10,267 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,268 - ERROR - Error in episode 6826: name 'args' is not defined +2025-03-10 15:30:10,270 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,271 - ERROR - Error in episode 6827: name 'args' is not defined +2025-03-10 15:30:10,273 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,273 - ERROR - Error in episode 6828: name 'args' is not defined +2025-03-10 15:30:10,278 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,278 - ERROR - Error in episode 6829: name 'args' is not defined +2025-03-10 15:30:10,280 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,281 - ERROR - Error in episode 6830: name 'args' is not defined +2025-03-10 15:30:10,283 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,283 - ERROR - Error in episode 6831: name 'args' is not defined +2025-03-10 15:30:10,286 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,287 - ERROR - Error in episode 6832: name 'args' is not defined +2025-03-10 15:30:10,289 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,289 - ERROR - Error in episode 6833: name 'args' is not defined +2025-03-10 15:30:10,292 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,292 - ERROR - Error in episode 6834: name 'args' is not defined +2025-03-10 15:30:10,295 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,295 - ERROR - Error in episode 6835: name 'args' is not defined +2025-03-10 15:30:10,298 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,298 - ERROR - Error in episode 6836: name 'args' is not defined +2025-03-10 15:30:10,301 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,302 - ERROR - Error in episode 6837: name 'args' is not defined +2025-03-10 15:30:10,304 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,305 - ERROR - Error in episode 6838: name 'args' is not defined +2025-03-10 15:30:10,307 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,308 - ERROR - Error in episode 6839: name 'args' is not defined +2025-03-10 15:30:10,310 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,311 - ERROR - Error in episode 6840: name 'args' is not defined +2025-03-10 15:30:10,313 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,313 - ERROR - Error in episode 6841: name 'args' is not defined +2025-03-10 15:30:10,316 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,316 - ERROR - Error in episode 6842: name 'args' is not defined +2025-03-10 15:30:10,319 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,319 - ERROR - Error in episode 6843: name 'args' is not defined +2025-03-10 15:30:10,323 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,323 - ERROR - Error in episode 6844: name 'args' is not defined +2025-03-10 15:30:10,325 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,326 - ERROR - Error in episode 6845: name 'args' is not defined +2025-03-10 15:30:10,328 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,329 - ERROR - Error in episode 6846: name 'args' is not defined +2025-03-10 15:30:10,331 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,332 - ERROR - Error in episode 6847: name 'args' is not defined +2025-03-10 15:30:10,334 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,334 - ERROR - Error in episode 6848: name 'args' is not defined +2025-03-10 15:30:10,337 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,338 - ERROR - Error in episode 6849: name 'args' is not defined +2025-03-10 15:30:10,340 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,341 - ERROR - Error in episode 6850: name 'args' is not defined +2025-03-10 15:30:10,343 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,343 - ERROR - Error in episode 6851: name 'args' is not defined +2025-03-10 15:30:10,346 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,346 - ERROR - Error in episode 6852: name 'args' is not defined +2025-03-10 15:30:10,349 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,349 - ERROR - Error in episode 6853: name 'args' is not defined +2025-03-10 15:30:10,352 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,352 - ERROR - Error in episode 6854: name 'args' is not defined +2025-03-10 15:30:10,355 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,355 - ERROR - Error in episode 6855: name 'args' is not defined +2025-03-10 15:30:10,358 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,358 - ERROR - Error in episode 6856: name 'args' is not defined +2025-03-10 15:30:10,361 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,362 - ERROR - Error in episode 6857: name 'args' is not defined +2025-03-10 15:30:10,364 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,364 - ERROR - Error in episode 6858: name 'args' is not defined +2025-03-10 15:30:10,367 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,368 - ERROR - Error in episode 6859: name 'args' is not defined +2025-03-10 15:30:10,370 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,370 - ERROR - Error in episode 6860: name 'args' is not defined +2025-03-10 15:30:10,373 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,373 - ERROR - Error in episode 6861: name 'args' is not defined +2025-03-10 15:30:10,375 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,377 - ERROR - Error in episode 6862: name 'args' is not defined +2025-03-10 15:30:10,379 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,380 - ERROR - Error in episode 6863: name 'args' is not defined +2025-03-10 15:30:10,382 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,382 - ERROR - Error in episode 6864: name 'args' is not defined +2025-03-10 15:30:10,385 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,385 - ERROR - Error in episode 6865: name 'args' is not defined +2025-03-10 15:30:10,388 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,388 - ERROR - Error in episode 6866: name 'args' is not defined +2025-03-10 15:30:10,390 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,391 - ERROR - Error in episode 6867: name 'args' is not defined +2025-03-10 15:30:10,394 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,394 - ERROR - Error in episode 6868: name 'args' is not defined +2025-03-10 15:30:10,396 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,396 - ERROR - Error in episode 6869: name 'args' is not defined +2025-03-10 15:30:10,399 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,399 - ERROR - Error in episode 6870: name 'args' is not defined +2025-03-10 15:30:10,401 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,401 - ERROR - Error in episode 6871: name 'args' is not defined +2025-03-10 15:30:10,404 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,405 - ERROR - Error in episode 6872: name 'args' is not defined +2025-03-10 15:30:10,407 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,408 - ERROR - Error in episode 6873: name 'args' is not defined +2025-03-10 15:30:10,411 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,411 - ERROR - Error in episode 6874: name 'args' is not defined +2025-03-10 15:30:10,413 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,414 - ERROR - Error in episode 6875: name 'args' is not defined +2025-03-10 15:30:10,416 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,416 - ERROR - Error in episode 6876: name 'args' is not defined +2025-03-10 15:30:10,419 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,420 - ERROR - Error in episode 6877: name 'args' is not defined +2025-03-10 15:30:10,422 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,422 - ERROR - Error in episode 6878: name 'args' is not defined +2025-03-10 15:30:10,425 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,425 - ERROR - Error in episode 6879: name 'args' is not defined +2025-03-10 15:30:10,428 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,428 - ERROR - Error in episode 6880: name 'args' is not defined +2025-03-10 15:30:10,431 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,431 - ERROR - Error in episode 6881: name 'args' is not defined +2025-03-10 15:30:10,434 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,434 - ERROR - Error in episode 6882: name 'args' is not defined +2025-03-10 15:30:10,437 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,437 - ERROR - Error in episode 6883: name 'args' is not defined +2025-03-10 15:30:10,440 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,440 - ERROR - Error in episode 6884: name 'args' is not defined +2025-03-10 15:30:10,443 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,443 - ERROR - Error in episode 6885: name 'args' is not defined +2025-03-10 15:30:10,446 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,446 - ERROR - Error in episode 6886: name 'args' is not defined +2025-03-10 15:30:10,448 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,449 - ERROR - Error in episode 6887: name 'args' is not defined +2025-03-10 15:30:10,452 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,452 - ERROR - Error in episode 6888: name 'args' is not defined +2025-03-10 15:30:10,454 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,455 - ERROR - Error in episode 6889: name 'args' is not defined +2025-03-10 15:30:10,457 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,457 - ERROR - Error in episode 6890: name 'args' is not defined +2025-03-10 15:30:10,460 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,461 - ERROR - Error in episode 6891: name 'args' is not defined +2025-03-10 15:30:10,463 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,463 - ERROR - Error in episode 6892: name 'args' is not defined +2025-03-10 15:30:10,466 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,466 - ERROR - Error in episode 6893: name 'args' is not defined +2025-03-10 15:30:10,469 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,469 - ERROR - Error in episode 6894: name 'args' is not defined +2025-03-10 15:30:10,472 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,472 - ERROR - Error in episode 6895: name 'args' is not defined +2025-03-10 15:30:10,475 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,475 - ERROR - Error in episode 6896: name 'args' is not defined +2025-03-10 15:30:10,478 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,478 - ERROR - Error in episode 6897: name 'args' is not defined +2025-03-10 15:30:10,481 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,481 - ERROR - Error in episode 6898: name 'args' is not defined +2025-03-10 15:30:10,485 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,485 - ERROR - Error in episode 6899: name 'args' is not defined +2025-03-10 15:30:10,487 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,488 - ERROR - Error in episode 6900: name 'args' is not defined +2025-03-10 15:30:10,490 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,491 - ERROR - Error in episode 6901: name 'args' is not defined +2025-03-10 15:30:10,494 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,494 - ERROR - Error in episode 6902: name 'args' is not defined +2025-03-10 15:30:10,496 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,496 - ERROR - Error in episode 6903: name 'args' is not defined +2025-03-10 15:30:10,499 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,499 - ERROR - Error in episode 6904: name 'args' is not defined +2025-03-10 15:30:10,502 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,502 - ERROR - Error in episode 6905: name 'args' is not defined +2025-03-10 15:30:10,505 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,505 - ERROR - Error in episode 6906: name 'args' is not defined +2025-03-10 15:30:10,507 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,508 - ERROR - Error in episode 6907: name 'args' is not defined +2025-03-10 15:30:10,510 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,511 - ERROR - Error in episode 6908: name 'args' is not defined +2025-03-10 15:30:10,514 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,514 - ERROR - Error in episode 6909: name 'args' is not defined +2025-03-10 15:30:10,516 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,517 - ERROR - Error in episode 6910: name 'args' is not defined +2025-03-10 15:30:10,519 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,519 - ERROR - Error in episode 6911: name 'args' is not defined +2025-03-10 15:30:10,523 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,523 - ERROR - Error in episode 6912: name 'args' is not defined +2025-03-10 15:30:10,525 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,526 - ERROR - Error in episode 6913: name 'args' is not defined +2025-03-10 15:30:10,528 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,529 - ERROR - Error in episode 6914: name 'args' is not defined +2025-03-10 15:30:10,531 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,531 - ERROR - Error in episode 6915: name 'args' is not defined +2025-03-10 15:30:10,533 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,534 - ERROR - Error in episode 6916: name 'args' is not defined +2025-03-10 15:30:10,536 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,537 - ERROR - Error in episode 6917: name 'args' is not defined +2025-03-10 15:30:10,539 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,539 - ERROR - Error in episode 6918: name 'args' is not defined +2025-03-10 15:30:10,542 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,542 - ERROR - Error in episode 6919: name 'args' is not defined +2025-03-10 15:30:10,545 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,545 - ERROR - Error in episode 6920: name 'args' is not defined +2025-03-10 15:30:10,547 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,548 - ERROR - Error in episode 6921: name 'args' is not defined +2025-03-10 15:30:10,550 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,551 - ERROR - Error in episode 6922: name 'args' is not defined +2025-03-10 15:30:10,553 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,553 - ERROR - Error in episode 6923: name 'args' is not defined +2025-03-10 15:30:10,556 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,556 - ERROR - Error in episode 6924: name 'args' is not defined +2025-03-10 15:30:10,559 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,560 - ERROR - Error in episode 6925: name 'args' is not defined +2025-03-10 15:30:10,562 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,562 - ERROR - Error in episode 6926: name 'args' is not defined +2025-03-10 15:30:10,564 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,564 - ERROR - Error in episode 6927: name 'args' is not defined +2025-03-10 15:30:10,567 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,568 - ERROR - Error in episode 6928: name 'args' is not defined +2025-03-10 15:30:10,570 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,570 - ERROR - Error in episode 6929: name 'args' is not defined +2025-03-10 15:30:10,573 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,573 - ERROR - Error in episode 6930: name 'args' is not defined +2025-03-10 15:30:10,576 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,576 - ERROR - Error in episode 6931: name 'args' is not defined +2025-03-10 15:30:10,579 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,579 - ERROR - Error in episode 6932: name 'args' is not defined +2025-03-10 15:30:10,581 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,581 - ERROR - Error in episode 6933: name 'args' is not defined +2025-03-10 15:30:10,584 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,584 - ERROR - Error in episode 6934: name 'args' is not defined +2025-03-10 15:30:10,587 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,587 - ERROR - Error in episode 6935: name 'args' is not defined +2025-03-10 15:30:10,591 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,592 - ERROR - Error in episode 6936: name 'args' is not defined +2025-03-10 15:30:10,595 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,595 - ERROR - Error in episode 6937: name 'args' is not defined +2025-03-10 15:30:10,597 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,598 - ERROR - Error in episode 6938: name 'args' is not defined +2025-03-10 15:30:10,600 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,600 - ERROR - Error in episode 6939: name 'args' is not defined +2025-03-10 15:30:10,603 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,603 - ERROR - Error in episode 6940: name 'args' is not defined +2025-03-10 15:30:10,606 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,606 - ERROR - Error in episode 6941: name 'args' is not defined +2025-03-10 15:30:10,609 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,609 - ERROR - Error in episode 6942: name 'args' is not defined +2025-03-10 15:30:10,612 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,612 - ERROR - Error in episode 6943: name 'args' is not defined +2025-03-10 15:30:10,615 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,615 - ERROR - Error in episode 6944: name 'args' is not defined +2025-03-10 15:30:10,618 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,618 - ERROR - Error in episode 6945: name 'args' is not defined +2025-03-10 15:30:10,621 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,621 - ERROR - Error in episode 6946: name 'args' is not defined +2025-03-10 15:30:10,623 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,623 - ERROR - Error in episode 6947: name 'args' is not defined +2025-03-10 15:30:10,626 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,626 - ERROR - Error in episode 6948: name 'args' is not defined +2025-03-10 15:30:10,628 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,629 - ERROR - Error in episode 6949: name 'args' is not defined +2025-03-10 15:30:10,631 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,632 - ERROR - Error in episode 6950: name 'args' is not defined +2025-03-10 15:30:10,635 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,635 - ERROR - Error in episode 6951: name 'args' is not defined +2025-03-10 15:30:10,638 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,638 - ERROR - Error in episode 6952: name 'args' is not defined +2025-03-10 15:30:10,641 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,641 - ERROR - Error in episode 6953: name 'args' is not defined +2025-03-10 15:30:10,644 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,644 - ERROR - Error in episode 6954: name 'args' is not defined +2025-03-10 15:30:10,646 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,647 - ERROR - Error in episode 6955: name 'args' is not defined +2025-03-10 15:30:10,650 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,650 - ERROR - Error in episode 6956: name 'args' is not defined +2025-03-10 15:30:10,654 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,654 - ERROR - Error in episode 6957: name 'args' is not defined +2025-03-10 15:30:10,656 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,657 - ERROR - Error in episode 6958: name 'args' is not defined +2025-03-10 15:30:10,659 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,660 - ERROR - Error in episode 6959: name 'args' is not defined +2025-03-10 15:30:10,662 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,662 - ERROR - Error in episode 6960: name 'args' is not defined +2025-03-10 15:30:10,665 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,665 - ERROR - Error in episode 6961: name 'args' is not defined +2025-03-10 15:30:10,668 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,668 - ERROR - Error in episode 6962: name 'args' is not defined +2025-03-10 15:30:10,671 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,671 - ERROR - Error in episode 6963: name 'args' is not defined +2025-03-10 15:30:10,674 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,674 - ERROR - Error in episode 6964: name 'args' is not defined +2025-03-10 15:30:10,677 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,678 - ERROR - Error in episode 6965: name 'args' is not defined +2025-03-10 15:30:10,680 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,680 - ERROR - Error in episode 6966: name 'args' is not defined +2025-03-10 15:30:10,682 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,683 - ERROR - Error in episode 6967: name 'args' is not defined +2025-03-10 15:30:10,686 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,686 - ERROR - Error in episode 6968: name 'args' is not defined +2025-03-10 15:30:10,688 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,689 - ERROR - Error in episode 6969: name 'args' is not defined +2025-03-10 15:30:10,691 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,691 - ERROR - Error in episode 6970: name 'args' is not defined +2025-03-10 15:30:10,693 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,695 - ERROR - Error in episode 6971: name 'args' is not defined +2025-03-10 15:30:10,697 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,697 - ERROR - Error in episode 6972: name 'args' is not defined +2025-03-10 15:30:10,699 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,699 - ERROR - Error in episode 6973: name 'args' is not defined +2025-03-10 15:30:10,703 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,704 - ERROR - Error in episode 6974: name 'args' is not defined +2025-03-10 15:30:10,706 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,706 - ERROR - Error in episode 6975: name 'args' is not defined +2025-03-10 15:30:10,709 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,709 - ERROR - Error in episode 6976: name 'args' is not defined +2025-03-10 15:30:10,712 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,712 - ERROR - Error in episode 6977: name 'args' is not defined +2025-03-10 15:30:10,715 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,715 - ERROR - Error in episode 6978: name 'args' is not defined +2025-03-10 15:30:10,717 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,717 - ERROR - Error in episode 6979: name 'args' is not defined +2025-03-10 15:30:10,720 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,720 - ERROR - Error in episode 6980: name 'args' is not defined +2025-03-10 15:30:10,723 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,724 - ERROR - Error in episode 6981: name 'args' is not defined +2025-03-10 15:30:10,727 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,727 - ERROR - Error in episode 6982: name 'args' is not defined +2025-03-10 15:30:10,729 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,730 - ERROR - Error in episode 6983: name 'args' is not defined +2025-03-10 15:30:10,732 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,732 - ERROR - Error in episode 6984: name 'args' is not defined +2025-03-10 15:30:10,735 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,735 - ERROR - Error in episode 6985: name 'args' is not defined +2025-03-10 15:30:10,739 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,739 - ERROR - Error in episode 6986: name 'args' is not defined +2025-03-10 15:30:10,742 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,742 - ERROR - Error in episode 6987: name 'args' is not defined +2025-03-10 15:30:10,745 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,746 - ERROR - Error in episode 6988: name 'args' is not defined +2025-03-10 15:30:10,748 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,749 - ERROR - Error in episode 6989: name 'args' is not defined +2025-03-10 15:30:10,751 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,752 - ERROR - Error in episode 6990: name 'args' is not defined +2025-03-10 15:30:10,754 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,755 - ERROR - Error in episode 6991: name 'args' is not defined +2025-03-10 15:30:10,757 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,757 - ERROR - Error in episode 6992: name 'args' is not defined +2025-03-10 15:30:10,759 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,760 - ERROR - Error in episode 6993: name 'args' is not defined +2025-03-10 15:30:10,762 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,763 - ERROR - Error in episode 6994: name 'args' is not defined +2025-03-10 15:30:10,765 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,765 - ERROR - Error in episode 6995: name 'args' is not defined +2025-03-10 15:30:10,769 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,770 - ERROR - Error in episode 6996: name 'args' is not defined +2025-03-10 15:30:10,772 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,772 - ERROR - Error in episode 6997: name 'args' is not defined +2025-03-10 15:30:10,775 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,775 - ERROR - Error in episode 6998: name 'args' is not defined +2025-03-10 15:30:10,778 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,778 - ERROR - Error in episode 6999: name 'args' is not defined +2025-03-10 15:30:10,781 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,781 - ERROR - Error in episode 7000: name 'args' is not defined +2025-03-10 15:30:10,783 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,784 - ERROR - Error in episode 7001: name 'args' is not defined +2025-03-10 15:30:10,786 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,786 - ERROR - Error in episode 7002: name 'args' is not defined +2025-03-10 15:30:10,790 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,790 - ERROR - Error in episode 7003: name 'args' is not defined +2025-03-10 15:30:10,793 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,793 - ERROR - Error in episode 7004: name 'args' is not defined +2025-03-10 15:30:10,795 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,796 - ERROR - Error in episode 7005: name 'args' is not defined +2025-03-10 15:30:10,798 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,799 - ERROR - Error in episode 7006: name 'args' is not defined +2025-03-10 15:30:10,801 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,802 - ERROR - Error in episode 7007: name 'args' is not defined +2025-03-10 15:30:10,804 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,804 - ERROR - Error in episode 7008: name 'args' is not defined +2025-03-10 15:30:10,807 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,807 - ERROR - Error in episode 7009: name 'args' is not defined +2025-03-10 15:30:10,811 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,811 - ERROR - Error in episode 7010: name 'args' is not defined +2025-03-10 15:30:10,813 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,814 - ERROR - Error in episode 7011: name 'args' is not defined +2025-03-10 15:30:10,816 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,816 - ERROR - Error in episode 7012: name 'args' is not defined +2025-03-10 15:30:10,820 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,820 - ERROR - Error in episode 7013: name 'args' is not defined +2025-03-10 15:30:10,823 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,823 - ERROR - Error in episode 7014: name 'args' is not defined +2025-03-10 15:30:10,826 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,827 - ERROR - Error in episode 7015: name 'args' is not defined +2025-03-10 15:30:10,829 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,830 - ERROR - Error in episode 7016: name 'args' is not defined +2025-03-10 15:30:10,832 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,832 - ERROR - Error in episode 7017: name 'args' is not defined +2025-03-10 15:30:10,835 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,835 - ERROR - Error in episode 7018: name 'args' is not defined +2025-03-10 15:30:10,838 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,838 - ERROR - Error in episode 7019: name 'args' is not defined +2025-03-10 15:30:10,841 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,841 - ERROR - Error in episode 7020: name 'args' is not defined +2025-03-10 15:30:10,844 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,845 - ERROR - Error in episode 7021: name 'args' is not defined +2025-03-10 15:30:10,847 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,848 - ERROR - Error in episode 7022: name 'args' is not defined +2025-03-10 15:30:10,850 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,851 - ERROR - Error in episode 7023: name 'args' is not defined +2025-03-10 15:30:10,854 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,854 - ERROR - Error in episode 7024: name 'args' is not defined +2025-03-10 15:30:10,856 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,857 - ERROR - Error in episode 7025: name 'args' is not defined +2025-03-10 15:30:10,860 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,860 - ERROR - Error in episode 7026: name 'args' is not defined +2025-03-10 15:30:10,863 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,863 - ERROR - Error in episode 7027: name 'args' is not defined +2025-03-10 15:30:10,865 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,866 - ERROR - Error in episode 7028: name 'args' is not defined +2025-03-10 15:30:10,869 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,869 - ERROR - Error in episode 7029: name 'args' is not defined +2025-03-10 15:30:10,872 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,872 - ERROR - Error in episode 7030: name 'args' is not defined +2025-03-10 15:30:10,875 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,875 - ERROR - Error in episode 7031: name 'args' is not defined +2025-03-10 15:30:10,878 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,878 - ERROR - Error in episode 7032: name 'args' is not defined +2025-03-10 15:30:10,881 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,881 - ERROR - Error in episode 7033: name 'args' is not defined +2025-03-10 15:30:10,884 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,884 - ERROR - Error in episode 7034: name 'args' is not defined +2025-03-10 15:30:10,887 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,887 - ERROR - Error in episode 7035: name 'args' is not defined +2025-03-10 15:30:10,889 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,890 - ERROR - Error in episode 7036: name 'args' is not defined +2025-03-10 15:30:10,892 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,892 - ERROR - Error in episode 7037: name 'args' is not defined +2025-03-10 15:30:10,895 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,895 - ERROR - Error in episode 7038: name 'args' is not defined +2025-03-10 15:30:10,898 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,898 - ERROR - Error in episode 7039: name 'args' is not defined +2025-03-10 15:30:10,902 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,902 - ERROR - Error in episode 7040: name 'args' is not defined +2025-03-10 15:30:10,904 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,905 - ERROR - Error in episode 7041: name 'args' is not defined +2025-03-10 15:30:10,908 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,908 - ERROR - Error in episode 7042: name 'args' is not defined +2025-03-10 15:30:10,911 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,911 - ERROR - Error in episode 7043: name 'args' is not defined +2025-03-10 15:30:10,914 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,914 - ERROR - Error in episode 7044: name 'args' is not defined +2025-03-10 15:30:10,916 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,916 - ERROR - Error in episode 7045: name 'args' is not defined +2025-03-10 15:30:10,919 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,920 - ERROR - Error in episode 7046: name 'args' is not defined +2025-03-10 15:30:10,922 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,922 - ERROR - Error in episode 7047: name 'args' is not defined +2025-03-10 15:30:10,924 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,925 - ERROR - Error in episode 7048: name 'args' is not defined +2025-03-10 15:30:10,927 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,928 - ERROR - Error in episode 7049: name 'args' is not defined +2025-03-10 15:30:10,931 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,931 - ERROR - Error in episode 7050: name 'args' is not defined +2025-03-10 15:30:10,933 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,934 - ERROR - Error in episode 7051: name 'args' is not defined +2025-03-10 15:30:10,937 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,937 - ERROR - Error in episode 7052: name 'args' is not defined +2025-03-10 15:30:10,939 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,940 - ERROR - Error in episode 7053: name 'args' is not defined +2025-03-10 15:30:10,942 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,942 - ERROR - Error in episode 7054: name 'args' is not defined +2025-03-10 15:30:10,945 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,945 - ERROR - Error in episode 7055: name 'args' is not defined +2025-03-10 15:30:10,948 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,948 - ERROR - Error in episode 7056: name 'args' is not defined +2025-03-10 15:30:10,951 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,951 - ERROR - Error in episode 7057: name 'args' is not defined +2025-03-10 15:30:10,953 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,953 - ERROR - Error in episode 7058: name 'args' is not defined +2025-03-10 15:30:10,956 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,956 - ERROR - Error in episode 7059: name 'args' is not defined +2025-03-10 15:30:10,959 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,959 - ERROR - Error in episode 7060: name 'args' is not defined +2025-03-10 15:30:10,962 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,962 - ERROR - Error in episode 7061: name 'args' is not defined +2025-03-10 15:30:10,965 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,966 - ERROR - Error in episode 7062: name 'args' is not defined +2025-03-10 15:30:10,969 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,969 - ERROR - Error in episode 7063: name 'args' is not defined +2025-03-10 15:30:10,972 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,972 - ERROR - Error in episode 7064: name 'args' is not defined +2025-03-10 15:30:10,974 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,975 - ERROR - Error in episode 7065: name 'args' is not defined +2025-03-10 15:30:10,977 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,978 - ERROR - Error in episode 7066: name 'args' is not defined +2025-03-10 15:30:10,980 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,981 - ERROR - Error in episode 7067: name 'args' is not defined +2025-03-10 15:30:10,983 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,983 - ERROR - Error in episode 7068: name 'args' is not defined +2025-03-10 15:30:10,986 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,986 - ERROR - Error in episode 7069: name 'args' is not defined +2025-03-10 15:30:10,989 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,989 - ERROR - Error in episode 7070: name 'args' is not defined +2025-03-10 15:30:10,992 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,992 - ERROR - Error in episode 7071: name 'args' is not defined +2025-03-10 15:30:10,995 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,995 - ERROR - Error in episode 7072: name 'args' is not defined +2025-03-10 15:30:10,998 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:10,998 - ERROR - Error in episode 7073: name 'args' is not defined +2025-03-10 15:30:11,001 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,001 - ERROR - Error in episode 7074: name 'args' is not defined +2025-03-10 15:30:11,004 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,005 - ERROR - Error in episode 7075: name 'args' is not defined +2025-03-10 15:30:11,007 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,007 - ERROR - Error in episode 7076: name 'args' is not defined +2025-03-10 15:30:11,010 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,010 - ERROR - Error in episode 7077: name 'args' is not defined +2025-03-10 15:30:11,013 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,013 - ERROR - Error in episode 7078: name 'args' is not defined +2025-03-10 15:30:11,016 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,016 - ERROR - Error in episode 7079: name 'args' is not defined +2025-03-10 15:30:11,019 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,019 - ERROR - Error in episode 7080: name 'args' is not defined +2025-03-10 15:30:11,022 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,022 - ERROR - Error in episode 7081: name 'args' is not defined +2025-03-10 15:30:11,024 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,025 - ERROR - Error in episode 7082: name 'args' is not defined +2025-03-10 15:30:11,027 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,028 - ERROR - Error in episode 7083: name 'args' is not defined +2025-03-10 15:30:11,030 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,030 - ERROR - Error in episode 7084: name 'args' is not defined +2025-03-10 15:30:11,032 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,033 - ERROR - Error in episode 7085: name 'args' is not defined +2025-03-10 15:30:11,036 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,036 - ERROR - Error in episode 7086: name 'args' is not defined +2025-03-10 15:30:11,038 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,039 - ERROR - Error in episode 7087: name 'args' is not defined +2025-03-10 15:30:11,041 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,041 - ERROR - Error in episode 7088: name 'args' is not defined +2025-03-10 15:30:11,044 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,045 - ERROR - Error in episode 7089: name 'args' is not defined +2025-03-10 15:30:11,047 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,047 - ERROR - Error in episode 7090: name 'args' is not defined +2025-03-10 15:30:11,050 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,051 - ERROR - Error in episode 7091: name 'args' is not defined +2025-03-10 15:30:11,053 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,054 - ERROR - Error in episode 7092: name 'args' is not defined +2025-03-10 15:30:11,056 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,057 - ERROR - Error in episode 7093: name 'args' is not defined +2025-03-10 15:30:11,059 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,059 - ERROR - Error in episode 7094: name 'args' is not defined +2025-03-10 15:30:11,062 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,062 - ERROR - Error in episode 7095: name 'args' is not defined +2025-03-10 15:30:11,065 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,065 - ERROR - Error in episode 7096: name 'args' is not defined +2025-03-10 15:30:11,067 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,068 - ERROR - Error in episode 7097: name 'args' is not defined +2025-03-10 15:30:11,070 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,070 - ERROR - Error in episode 7098: name 'args' is not defined +2025-03-10 15:30:11,074 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,074 - ERROR - Error in episode 7099: name 'args' is not defined +2025-03-10 15:30:11,077 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,077 - ERROR - Error in episode 7100: name 'args' is not defined +2025-03-10 15:30:11,080 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,080 - ERROR - Error in episode 7101: name 'args' is not defined +2025-03-10 15:30:11,082 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,082 - ERROR - Error in episode 7102: name 'args' is not defined +2025-03-10 15:30:11,085 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,086 - ERROR - Error in episode 7103: name 'args' is not defined +2025-03-10 15:30:11,088 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,089 - ERROR - Error in episode 7104: name 'args' is not defined +2025-03-10 15:30:11,091 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,091 - ERROR - Error in episode 7105: name 'args' is not defined +2025-03-10 15:30:11,094 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,095 - ERROR - Error in episode 7106: name 'args' is not defined +2025-03-10 15:30:11,099 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,099 - ERROR - Error in episode 7107: name 'args' is not defined +2025-03-10 15:30:11,102 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,102 - ERROR - Error in episode 7108: name 'args' is not defined +2025-03-10 15:30:11,105 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,105 - ERROR - Error in episode 7109: name 'args' is not defined +2025-03-10 15:30:11,107 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,108 - ERROR - Error in episode 7110: name 'args' is not defined +2025-03-10 15:30:11,110 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,111 - ERROR - Error in episode 7111: name 'args' is not defined +2025-03-10 15:30:11,113 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,113 - ERROR - Error in episode 7112: name 'args' is not defined +2025-03-10 15:30:11,117 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,117 - ERROR - Error in episode 7113: name 'args' is not defined +2025-03-10 15:30:11,120 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,121 - ERROR - Error in episode 7114: name 'args' is not defined +2025-03-10 15:30:11,123 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,124 - ERROR - Error in episode 7115: name 'args' is not defined +2025-03-10 15:30:11,126 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,127 - ERROR - Error in episode 7116: name 'args' is not defined +2025-03-10 15:30:11,129 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,129 - ERROR - Error in episode 7117: name 'args' is not defined +2025-03-10 15:30:11,131 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,132 - ERROR - Error in episode 7118: name 'args' is not defined +2025-03-10 15:30:11,135 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,135 - ERROR - Error in episode 7119: name 'args' is not defined +2025-03-10 15:30:11,138 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,138 - ERROR - Error in episode 7120: name 'args' is not defined +2025-03-10 15:30:11,140 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,140 - ERROR - Error in episode 7121: name 'args' is not defined +2025-03-10 15:30:11,143 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,143 - ERROR - Error in episode 7122: name 'args' is not defined +2025-03-10 15:30:11,146 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,146 - ERROR - Error in episode 7123: name 'args' is not defined +2025-03-10 15:30:11,149 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,149 - ERROR - Error in episode 7124: name 'args' is not defined +2025-03-10 15:30:11,152 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,153 - ERROR - Error in episode 7125: name 'args' is not defined +2025-03-10 15:30:11,155 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,155 - ERROR - Error in episode 7126: name 'args' is not defined +2025-03-10 15:30:11,158 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,158 - ERROR - Error in episode 7127: name 'args' is not defined +2025-03-10 15:30:11,162 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,162 - ERROR - Error in episode 7128: name 'args' is not defined +2025-03-10 15:30:11,164 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,165 - ERROR - Error in episode 7129: name 'args' is not defined +2025-03-10 15:30:11,167 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,167 - ERROR - Error in episode 7130: name 'args' is not defined +2025-03-10 15:30:11,170 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,171 - ERROR - Error in episode 7131: name 'args' is not defined +2025-03-10 15:30:11,173 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,173 - ERROR - Error in episode 7132: name 'args' is not defined +2025-03-10 15:30:11,176 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,176 - ERROR - Error in episode 7133: name 'args' is not defined +2025-03-10 15:30:11,178 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,179 - ERROR - Error in episode 7134: name 'args' is not defined +2025-03-10 15:30:11,182 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,182 - ERROR - Error in episode 7135: name 'args' is not defined +2025-03-10 15:30:11,184 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,185 - ERROR - Error in episode 7136: name 'args' is not defined +2025-03-10 15:30:11,188 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,188 - ERROR - Error in episode 7137: name 'args' is not defined +2025-03-10 15:30:11,190 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,190 - ERROR - Error in episode 7138: name 'args' is not defined +2025-03-10 15:30:11,194 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,194 - ERROR - Error in episode 7139: name 'args' is not defined +2025-03-10 15:30:11,198 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,198 - ERROR - Error in episode 7140: name 'args' is not defined +2025-03-10 15:30:11,201 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,201 - ERROR - Error in episode 7141: name 'args' is not defined +2025-03-10 15:30:11,204 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,204 - ERROR - Error in episode 7142: name 'args' is not defined +2025-03-10 15:30:11,207 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,207 - ERROR - Error in episode 7143: name 'args' is not defined +2025-03-10 15:30:11,210 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,210 - ERROR - Error in episode 7144: name 'args' is not defined +2025-03-10 15:30:11,214 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,215 - ERROR - Error in episode 7145: name 'args' is not defined +2025-03-10 15:30:11,219 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,219 - ERROR - Error in episode 7146: name 'args' is not defined +2025-03-10 15:30:11,222 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,222 - ERROR - Error in episode 7147: name 'args' is not defined +2025-03-10 15:30:11,225 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,225 - ERROR - Error in episode 7148: name 'args' is not defined +2025-03-10 15:30:11,228 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,228 - ERROR - Error in episode 7149: name 'args' is not defined +2025-03-10 15:30:11,231 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,231 - ERROR - Error in episode 7150: name 'args' is not defined +2025-03-10 15:30:11,234 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,234 - ERROR - Error in episode 7151: name 'args' is not defined +2025-03-10 15:30:11,238 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,238 - ERROR - Error in episode 7152: name 'args' is not defined +2025-03-10 15:30:11,241 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,241 - ERROR - Error in episode 7153: name 'args' is not defined +2025-03-10 15:30:11,243 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,244 - ERROR - Error in episode 7154: name 'args' is not defined +2025-03-10 15:30:11,246 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,246 - ERROR - Error in episode 7155: name 'args' is not defined +2025-03-10 15:30:11,248 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,249 - ERROR - Error in episode 7156: name 'args' is not defined +2025-03-10 15:30:11,252 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,252 - ERROR - Error in episode 7157: name 'args' is not defined +2025-03-10 15:30:11,254 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,255 - ERROR - Error in episode 7158: name 'args' is not defined +2025-03-10 15:30:11,257 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,257 - ERROR - Error in episode 7159: name 'args' is not defined +2025-03-10 15:30:11,260 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,261 - ERROR - Error in episode 7160: name 'args' is not defined +2025-03-10 15:30:11,263 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,263 - ERROR - Error in episode 7161: name 'args' is not defined +2025-03-10 15:30:11,266 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,266 - ERROR - Error in episode 7162: name 'args' is not defined +2025-03-10 15:30:11,269 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,269 - ERROR - Error in episode 7163: name 'args' is not defined +2025-03-10 15:30:11,271 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,272 - ERROR - Error in episode 7164: name 'args' is not defined +2025-03-10 15:30:11,274 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,275 - ERROR - Error in episode 7165: name 'args' is not defined +2025-03-10 15:30:11,278 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,278 - ERROR - Error in episode 7166: name 'args' is not defined +2025-03-10 15:30:11,280 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,281 - ERROR - Error in episode 7167: name 'args' is not defined +2025-03-10 15:30:11,283 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,284 - ERROR - Error in episode 7168: name 'args' is not defined +2025-03-10 15:30:11,287 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,287 - ERROR - Error in episode 7169: name 'args' is not defined +2025-03-10 15:30:11,290 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,290 - ERROR - Error in episode 7170: name 'args' is not defined +2025-03-10 15:30:11,292 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,293 - ERROR - Error in episode 7171: name 'args' is not defined +2025-03-10 15:30:11,296 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,296 - ERROR - Error in episode 7172: name 'args' is not defined +2025-03-10 15:30:11,299 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,299 - ERROR - Error in episode 7173: name 'args' is not defined +2025-03-10 15:30:11,302 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,302 - ERROR - Error in episode 7174: name 'args' is not defined +2025-03-10 15:30:11,305 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,305 - ERROR - Error in episode 7175: name 'args' is not defined +2025-03-10 15:30:11,307 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,307 - ERROR - Error in episode 7176: name 'args' is not defined +2025-03-10 15:30:11,310 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,311 - ERROR - Error in episode 7177: name 'args' is not defined +2025-03-10 15:30:11,314 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,314 - ERROR - Error in episode 7178: name 'args' is not defined +2025-03-10 15:30:11,317 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,317 - ERROR - Error in episode 7179: name 'args' is not defined +2025-03-10 15:30:11,320 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,320 - ERROR - Error in episode 7180: name 'args' is not defined +2025-03-10 15:30:11,323 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,323 - ERROR - Error in episode 7181: name 'args' is not defined +2025-03-10 15:30:11,326 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,326 - ERROR - Error in episode 7182: name 'args' is not defined +2025-03-10 15:30:11,329 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,329 - ERROR - Error in episode 7183: name 'args' is not defined +2025-03-10 15:30:11,331 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,332 - ERROR - Error in episode 7184: name 'args' is not defined +2025-03-10 15:30:11,334 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,335 - ERROR - Error in episode 7185: name 'args' is not defined +2025-03-10 15:30:11,337 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,337 - ERROR - Error in episode 7186: name 'args' is not defined +2025-03-10 15:30:11,340 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,340 - ERROR - Error in episode 7187: name 'args' is not defined +2025-03-10 15:30:11,343 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,343 - ERROR - Error in episode 7188: name 'args' is not defined +2025-03-10 15:30:11,346 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,346 - ERROR - Error in episode 7189: name 'args' is not defined +2025-03-10 15:30:11,348 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,349 - ERROR - Error in episode 7190: name 'args' is not defined +2025-03-10 15:30:11,351 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,351 - ERROR - Error in episode 7191: name 'args' is not defined +2025-03-10 15:30:11,355 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,355 - ERROR - Error in episode 7192: name 'args' is not defined +2025-03-10 15:30:11,357 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,358 - ERROR - Error in episode 7193: name 'args' is not defined +2025-03-10 15:30:11,360 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,361 - ERROR - Error in episode 7194: name 'args' is not defined +2025-03-10 15:30:11,363 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,363 - ERROR - Error in episode 7195: name 'args' is not defined +2025-03-10 15:30:11,366 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,367 - ERROR - Error in episode 7196: name 'args' is not defined +2025-03-10 15:30:11,369 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,369 - ERROR - Error in episode 7197: name 'args' is not defined +2025-03-10 15:30:11,372 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,372 - ERROR - Error in episode 7198: name 'args' is not defined +2025-03-10 15:30:11,374 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,376 - ERROR - Error in episode 7199: name 'args' is not defined +2025-03-10 15:30:11,378 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,378 - ERROR - Error in episode 7200: name 'args' is not defined +2025-03-10 15:30:11,381 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,381 - ERROR - Error in episode 7201: name 'args' is not defined +2025-03-10 15:30:11,383 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,384 - ERROR - Error in episode 7202: name 'args' is not defined +2025-03-10 15:30:11,386 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,386 - ERROR - Error in episode 7203: name 'args' is not defined +2025-03-10 15:30:11,389 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,390 - ERROR - Error in episode 7204: name 'args' is not defined +2025-03-10 15:30:11,392 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,392 - ERROR - Error in episode 7205: name 'args' is not defined +2025-03-10 15:30:11,395 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,395 - ERROR - Error in episode 7206: name 'args' is not defined +2025-03-10 15:30:11,399 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,399 - ERROR - Error in episode 7207: name 'args' is not defined +2025-03-10 15:30:11,402 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,402 - ERROR - Error in episode 7208: name 'args' is not defined +2025-03-10 15:30:11,404 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,405 - ERROR - Error in episode 7209: name 'args' is not defined +2025-03-10 15:30:11,407 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,408 - ERROR - Error in episode 7210: name 'args' is not defined +2025-03-10 15:30:11,410 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,411 - ERROR - Error in episode 7211: name 'args' is not defined +2025-03-10 15:30:11,413 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,414 - ERROR - Error in episode 7212: name 'args' is not defined +2025-03-10 15:30:11,416 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,417 - ERROR - Error in episode 7213: name 'args' is not defined +2025-03-10 15:30:11,419 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,419 - ERROR - Error in episode 7214: name 'args' is not defined +2025-03-10 15:30:11,422 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,422 - ERROR - Error in episode 7215: name 'args' is not defined +2025-03-10 15:30:11,425 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,425 - ERROR - Error in episode 7216: name 'args' is not defined +2025-03-10 15:30:11,428 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,428 - ERROR - Error in episode 7217: name 'args' is not defined +2025-03-10 15:30:11,430 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,432 - ERROR - Error in episode 7218: name 'args' is not defined +2025-03-10 15:30:11,434 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,435 - ERROR - Error in episode 7219: name 'args' is not defined +2025-03-10 15:30:11,437 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,437 - ERROR - Error in episode 7220: name 'args' is not defined +2025-03-10 15:30:11,440 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,441 - ERROR - Error in episode 7221: name 'args' is not defined +2025-03-10 15:30:11,443 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,443 - ERROR - Error in episode 7222: name 'args' is not defined +2025-03-10 15:30:11,446 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,446 - ERROR - Error in episode 7223: name 'args' is not defined +2025-03-10 15:30:11,449 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,449 - ERROR - Error in episode 7224: name 'args' is not defined +2025-03-10 15:30:11,452 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,452 - ERROR - Error in episode 7225: name 'args' is not defined +2025-03-10 15:30:11,455 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,455 - ERROR - Error in episode 7226: name 'args' is not defined +2025-03-10 15:30:11,458 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,458 - ERROR - Error in episode 7227: name 'args' is not defined +2025-03-10 15:30:11,460 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,461 - ERROR - Error in episode 7228: name 'args' is not defined +2025-03-10 15:30:11,463 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,463 - ERROR - Error in episode 7229: name 'args' is not defined +2025-03-10 15:30:11,466 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,467 - ERROR - Error in episode 7230: name 'args' is not defined +2025-03-10 15:30:11,469 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,469 - ERROR - Error in episode 7231: name 'args' is not defined +2025-03-10 15:30:11,472 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,472 - ERROR - Error in episode 7232: name 'args' is not defined +2025-03-10 15:30:11,475 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,475 - ERROR - Error in episode 7233: name 'args' is not defined +2025-03-10 15:30:11,478 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,479 - ERROR - Error in episode 7234: name 'args' is not defined +2025-03-10 15:30:11,481 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,481 - ERROR - Error in episode 7235: name 'args' is not defined +2025-03-10 15:30:11,484 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,484 - ERROR - Error in episode 7236: name 'args' is not defined +2025-03-10 15:30:11,486 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,487 - ERROR - Error in episode 7237: name 'args' is not defined +2025-03-10 15:30:11,490 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,490 - ERROR - Error in episode 7238: name 'args' is not defined +2025-03-10 15:30:11,492 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,493 - ERROR - Error in episode 7239: name 'args' is not defined +2025-03-10 15:30:11,495 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,495 - ERROR - Error in episode 7240: name 'args' is not defined +2025-03-10 15:30:11,498 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,498 - ERROR - Error in episode 7241: name 'args' is not defined +2025-03-10 15:30:11,501 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,501 - ERROR - Error in episode 7242: name 'args' is not defined +2025-03-10 15:30:11,504 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,504 - ERROR - Error in episode 7243: name 'args' is not defined +2025-03-10 15:30:11,507 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,507 - ERROR - Error in episode 7244: name 'args' is not defined +2025-03-10 15:30:11,510 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,510 - ERROR - Error in episode 7245: name 'args' is not defined +2025-03-10 15:30:11,512 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,513 - ERROR - Error in episode 7246: name 'args' is not defined +2025-03-10 15:30:11,515 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,516 - ERROR - Error in episode 7247: name 'args' is not defined +2025-03-10 15:30:11,518 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,518 - ERROR - Error in episode 7248: name 'args' is not defined +2025-03-10 15:30:11,521 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,522 - ERROR - Error in episode 7249: name 'args' is not defined +2025-03-10 15:30:11,524 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,525 - ERROR - Error in episode 7250: name 'args' is not defined +2025-03-10 15:30:11,527 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,528 - ERROR - Error in episode 7251: name 'args' is not defined +2025-03-10 15:30:11,530 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,530 - ERROR - Error in episode 7252: name 'args' is not defined +2025-03-10 15:30:11,534 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,534 - ERROR - Error in episode 7253: name 'args' is not defined +2025-03-10 15:30:11,536 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,536 - ERROR - Error in episode 7254: name 'args' is not defined +2025-03-10 15:30:11,539 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,539 - ERROR - Error in episode 7255: name 'args' is not defined +2025-03-10 15:30:11,542 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,542 - ERROR - Error in episode 7256: name 'args' is not defined +2025-03-10 15:30:11,545 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,546 - ERROR - Error in episode 7257: name 'args' is not defined +2025-03-10 15:30:11,549 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,549 - ERROR - Error in episode 7258: name 'args' is not defined +2025-03-10 15:30:11,551 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,551 - ERROR - Error in episode 7259: name 'args' is not defined +2025-03-10 15:30:11,555 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,555 - ERROR - Error in episode 7260: name 'args' is not defined +2025-03-10 15:30:11,558 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,558 - ERROR - Error in episode 7261: name 'args' is not defined +2025-03-10 15:30:11,560 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,561 - ERROR - Error in episode 7262: name 'args' is not defined +2025-03-10 15:30:11,563 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,563 - ERROR - Error in episode 7263: name 'args' is not defined +2025-03-10 15:30:11,566 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,566 - ERROR - Error in episode 7264: name 'args' is not defined +2025-03-10 15:30:11,569 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,569 - ERROR - Error in episode 7265: name 'args' is not defined +2025-03-10 15:30:11,571 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,572 - ERROR - Error in episode 7266: name 'args' is not defined +2025-03-10 15:30:11,574 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,574 - ERROR - Error in episode 7267: name 'args' is not defined +2025-03-10 15:30:11,577 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,577 - ERROR - Error in episode 7268: name 'args' is not defined +2025-03-10 15:30:11,580 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,580 - ERROR - Error in episode 7269: name 'args' is not defined +2025-03-10 15:30:11,583 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,583 - ERROR - Error in episode 7270: name 'args' is not defined +2025-03-10 15:30:11,586 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,586 - ERROR - Error in episode 7271: name 'args' is not defined +2025-03-10 15:30:11,589 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,589 - ERROR - Error in episode 7272: name 'args' is not defined +2025-03-10 15:30:11,592 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,592 - ERROR - Error in episode 7273: name 'args' is not defined +2025-03-10 15:30:11,595 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,596 - ERROR - Error in episode 7274: name 'args' is not defined +2025-03-10 15:30:11,598 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,598 - ERROR - Error in episode 7275: name 'args' is not defined +2025-03-10 15:30:11,601 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,601 - ERROR - Error in episode 7276: name 'args' is not defined +2025-03-10 15:30:11,604 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,604 - ERROR - Error in episode 7277: name 'args' is not defined +2025-03-10 15:30:11,606 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,606 - ERROR - Error in episode 7278: name 'args' is not defined +2025-03-10 15:30:11,610 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,610 - ERROR - Error in episode 7279: name 'args' is not defined +2025-03-10 15:30:11,612 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,613 - ERROR - Error in episode 7280: name 'args' is not defined +2025-03-10 15:30:11,615 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,616 - ERROR - Error in episode 7281: name 'args' is not defined +2025-03-10 15:30:11,619 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,619 - ERROR - Error in episode 7282: name 'args' is not defined +2025-03-10 15:30:11,621 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,622 - ERROR - Error in episode 7283: name 'args' is not defined +2025-03-10 15:30:11,624 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,625 - ERROR - Error in episode 7284: name 'args' is not defined +2025-03-10 15:30:11,628 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,628 - ERROR - Error in episode 7285: name 'args' is not defined +2025-03-10 15:30:11,630 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,630 - ERROR - Error in episode 7286: name 'args' is not defined +2025-03-10 15:30:11,633 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,633 - ERROR - Error in episode 7287: name 'args' is not defined +2025-03-10 15:30:11,637 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,637 - ERROR - Error in episode 7288: name 'args' is not defined +2025-03-10 15:30:11,640 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,640 - ERROR - Error in episode 7289: name 'args' is not defined +2025-03-10 15:30:11,643 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,643 - ERROR - Error in episode 7290: name 'args' is not defined +2025-03-10 15:30:11,646 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,646 - ERROR - Error in episode 7291: name 'args' is not defined +2025-03-10 15:30:11,648 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,649 - ERROR - Error in episode 7292: name 'args' is not defined +2025-03-10 15:30:11,652 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,652 - ERROR - Error in episode 7293: name 'args' is not defined +2025-03-10 15:30:11,655 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,655 - ERROR - Error in episode 7294: name 'args' is not defined +2025-03-10 15:30:11,658 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,659 - ERROR - Error in episode 7295: name 'args' is not defined +2025-03-10 15:30:11,662 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,662 - ERROR - Error in episode 7296: name 'args' is not defined +2025-03-10 15:30:11,665 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,665 - ERROR - Error in episode 7297: name 'args' is not defined +2025-03-10 15:30:11,668 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,668 - ERROR - Error in episode 7298: name 'args' is not defined +2025-03-10 15:30:11,671 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,671 - ERROR - Error in episode 7299: name 'args' is not defined +2025-03-10 15:30:11,674 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,674 - ERROR - Error in episode 7300: name 'args' is not defined +2025-03-10 15:30:11,678 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,678 - ERROR - Error in episode 7301: name 'args' is not defined +2025-03-10 15:30:11,680 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,681 - ERROR - Error in episode 7302: name 'args' is not defined +2025-03-10 15:30:11,683 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,684 - ERROR - Error in episode 7303: name 'args' is not defined +2025-03-10 15:30:11,687 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,687 - ERROR - Error in episode 7304: name 'args' is not defined +2025-03-10 15:30:11,689 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,690 - ERROR - Error in episode 7305: name 'args' is not defined +2025-03-10 15:30:11,692 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,692 - ERROR - Error in episode 7306: name 'args' is not defined +2025-03-10 15:30:11,696 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,696 - ERROR - Error in episode 7307: name 'args' is not defined +2025-03-10 15:30:11,698 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,699 - ERROR - Error in episode 7308: name 'args' is not defined +2025-03-10 15:30:11,701 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,702 - ERROR - Error in episode 7309: name 'args' is not defined +2025-03-10 15:30:11,704 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,705 - ERROR - Error in episode 7310: name 'args' is not defined +2025-03-10 15:30:11,707 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,708 - ERROR - Error in episode 7311: name 'args' is not defined +2025-03-10 15:30:11,710 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,710 - ERROR - Error in episode 7312: name 'args' is not defined +2025-03-10 15:30:11,713 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,713 - ERROR - Error in episode 7313: name 'args' is not defined +2025-03-10 15:30:11,715 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,716 - ERROR - Error in episode 7314: name 'args' is not defined +2025-03-10 15:30:11,718 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,719 - ERROR - Error in episode 7315: name 'args' is not defined +2025-03-10 15:30:11,721 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,721 - ERROR - Error in episode 7316: name 'args' is not defined +2025-03-10 15:30:11,724 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,724 - ERROR - Error in episode 7317: name 'args' is not defined +2025-03-10 15:30:11,729 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,729 - ERROR - Error in episode 7318: name 'args' is not defined +2025-03-10 15:30:11,731 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,731 - ERROR - Error in episode 7319: name 'args' is not defined +2025-03-10 15:30:11,734 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,734 - ERROR - Error in episode 7320: name 'args' is not defined +2025-03-10 15:30:11,737 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,737 - ERROR - Error in episode 7321: name 'args' is not defined +2025-03-10 15:30:11,739 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,740 - ERROR - Error in episode 7322: name 'args' is not defined +2025-03-10 15:30:11,742 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,742 - ERROR - Error in episode 7323: name 'args' is not defined +2025-03-10 15:30:11,745 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,746 - ERROR - Error in episode 7324: name 'args' is not defined +2025-03-10 15:30:11,749 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,749 - ERROR - Error in episode 7325: name 'args' is not defined +2025-03-10 15:30:11,752 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,752 - ERROR - Error in episode 7326: name 'args' is not defined +2025-03-10 15:30:11,754 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,755 - ERROR - Error in episode 7327: name 'args' is not defined +2025-03-10 15:30:11,757 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,758 - ERROR - Error in episode 7328: name 'args' is not defined +2025-03-10 15:30:11,761 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,761 - ERROR - Error in episode 7329: name 'args' is not defined +2025-03-10 15:30:11,763 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,764 - ERROR - Error in episode 7330: name 'args' is not defined +2025-03-10 15:30:11,766 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,766 - ERROR - Error in episode 7331: name 'args' is not defined +2025-03-10 15:30:11,769 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,769 - ERROR - Error in episode 7332: name 'args' is not defined +2025-03-10 15:30:11,772 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,772 - ERROR - Error in episode 7333: name 'args' is not defined +2025-03-10 15:30:11,774 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,775 - ERROR - Error in episode 7334: name 'args' is not defined +2025-03-10 15:30:11,777 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,778 - ERROR - Error in episode 7335: name 'args' is not defined +2025-03-10 15:30:11,780 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,780 - ERROR - Error in episode 7336: name 'args' is not defined +2025-03-10 15:30:11,784 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,784 - ERROR - Error in episode 7337: name 'args' is not defined +2025-03-10 15:30:11,786 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,787 - ERROR - Error in episode 7338: name 'args' is not defined +2025-03-10 15:30:11,789 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,790 - ERROR - Error in episode 7339: name 'args' is not defined +2025-03-10 15:30:11,792 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,792 - ERROR - Error in episode 7340: name 'args' is not defined +2025-03-10 15:30:11,795 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,795 - ERROR - Error in episode 7341: name 'args' is not defined +2025-03-10 15:30:11,798 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,798 - ERROR - Error in episode 7342: name 'args' is not defined +2025-03-10 15:30:11,801 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,801 - ERROR - Error in episode 7343: name 'args' is not defined +2025-03-10 15:30:11,804 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,804 - ERROR - Error in episode 7344: name 'args' is not defined +2025-03-10 15:30:11,807 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,808 - ERROR - Error in episode 7345: name 'args' is not defined +2025-03-10 15:30:11,810 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,811 - ERROR - Error in episode 7346: name 'args' is not defined +2025-03-10 15:30:11,813 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,814 - ERROR - Error in episode 7347: name 'args' is not defined +2025-03-10 15:30:11,816 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,817 - ERROR - Error in episode 7348: name 'args' is not defined +2025-03-10 15:30:11,819 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,820 - ERROR - Error in episode 7349: name 'args' is not defined +2025-03-10 15:30:11,822 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,822 - ERROR - Error in episode 7350: name 'args' is not defined +2025-03-10 15:30:11,824 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,825 - ERROR - Error in episode 7351: name 'args' is not defined +2025-03-10 15:30:11,828 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,828 - ERROR - Error in episode 7352: name 'args' is not defined +2025-03-10 15:30:11,830 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,830 - ERROR - Error in episode 7353: name 'args' is not defined +2025-03-10 15:30:11,833 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,833 - ERROR - Error in episode 7354: name 'args' is not defined +2025-03-10 15:30:11,836 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,836 - ERROR - Error in episode 7355: name 'args' is not defined +2025-03-10 15:30:11,838 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,838 - ERROR - Error in episode 7356: name 'args' is not defined +2025-03-10 15:30:11,841 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,841 - ERROR - Error in episode 7357: name 'args' is not defined +2025-03-10 15:30:11,844 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,844 - ERROR - Error in episode 7358: name 'args' is not defined +2025-03-10 15:30:11,847 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,847 - ERROR - Error in episode 7359: name 'args' is not defined +2025-03-10 15:30:11,849 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,851 - ERROR - Error in episode 7360: name 'args' is not defined +2025-03-10 15:30:11,853 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,853 - ERROR - Error in episode 7361: name 'args' is not defined +2025-03-10 15:30:11,856 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,856 - ERROR - Error in episode 7362: name 'args' is not defined +2025-03-10 15:30:11,858 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,859 - ERROR - Error in episode 7363: name 'args' is not defined +2025-03-10 15:30:11,861 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,861 - ERROR - Error in episode 7364: name 'args' is not defined +2025-03-10 15:30:11,864 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,864 - ERROR - Error in episode 7365: name 'args' is not defined +2025-03-10 15:30:11,866 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,867 - ERROR - Error in episode 7366: name 'args' is not defined +2025-03-10 15:30:11,870 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,871 - ERROR - Error in episode 7367: name 'args' is not defined +2025-03-10 15:30:11,873 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,873 - ERROR - Error in episode 7368: name 'args' is not defined +2025-03-10 15:30:11,876 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,876 - ERROR - Error in episode 7369: name 'args' is not defined +2025-03-10 15:30:11,878 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,879 - ERROR - Error in episode 7370: name 'args' is not defined +2025-03-10 15:30:11,882 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,882 - ERROR - Error in episode 7371: name 'args' is not defined +2025-03-10 15:30:11,885 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,885 - ERROR - Error in episode 7372: name 'args' is not defined +2025-03-10 15:30:11,888 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,888 - ERROR - Error in episode 7373: name 'args' is not defined +2025-03-10 15:30:11,891 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,891 - ERROR - Error in episode 7374: name 'args' is not defined +2025-03-10 15:30:11,894 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,895 - ERROR - Error in episode 7375: name 'args' is not defined +2025-03-10 15:30:11,897 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,898 - ERROR - Error in episode 7376: name 'args' is not defined +2025-03-10 15:30:11,900 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,901 - ERROR - Error in episode 7377: name 'args' is not defined +2025-03-10 15:30:11,903 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,903 - ERROR - Error in episode 7378: name 'args' is not defined +2025-03-10 15:30:11,905 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,906 - ERROR - Error in episode 7379: name 'args' is not defined +2025-03-10 15:30:11,908 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,908 - ERROR - Error in episode 7380: name 'args' is not defined +2025-03-10 15:30:11,911 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,912 - ERROR - Error in episode 7381: name 'args' is not defined +2025-03-10 15:30:11,915 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,916 - ERROR - Error in episode 7382: name 'args' is not defined +2025-03-10 15:30:11,918 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,918 - ERROR - Error in episode 7383: name 'args' is not defined +2025-03-10 15:30:11,921 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,921 - ERROR - Error in episode 7384: name 'args' is not defined +2025-03-10 15:30:11,923 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,924 - ERROR - Error in episode 7385: name 'args' is not defined +2025-03-10 15:30:11,926 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,926 - ERROR - Error in episode 7386: name 'args' is not defined +2025-03-10 15:30:11,930 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,930 - ERROR - Error in episode 7387: name 'args' is not defined +2025-03-10 15:30:11,932 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,933 - ERROR - Error in episode 7388: name 'args' is not defined +2025-03-10 15:30:11,935 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,935 - ERROR - Error in episode 7389: name 'args' is not defined +2025-03-10 15:30:11,938 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,939 - ERROR - Error in episode 7390: name 'args' is not defined +2025-03-10 15:30:11,941 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,941 - ERROR - Error in episode 7391: name 'args' is not defined +2025-03-10 15:30:11,944 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,945 - ERROR - Error in episode 7392: name 'args' is not defined +2025-03-10 15:30:11,948 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,948 - ERROR - Error in episode 7393: name 'args' is not defined +2025-03-10 15:30:11,951 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,951 - ERROR - Error in episode 7394: name 'args' is not defined +2025-03-10 15:30:11,954 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,954 - ERROR - Error in episode 7395: name 'args' is not defined +2025-03-10 15:30:11,957 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,957 - ERROR - Error in episode 7396: name 'args' is not defined +2025-03-10 15:30:11,959 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,960 - ERROR - Error in episode 7397: name 'args' is not defined +2025-03-10 15:30:11,963 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,963 - ERROR - Error in episode 7398: name 'args' is not defined +2025-03-10 15:30:11,966 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,966 - ERROR - Error in episode 7399: name 'args' is not defined +2025-03-10 15:30:11,969 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,969 - ERROR - Error in episode 7400: name 'args' is not defined +2025-03-10 15:30:11,972 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,972 - ERROR - Error in episode 7401: name 'args' is not defined +2025-03-10 15:30:11,975 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,975 - ERROR - Error in episode 7402: name 'args' is not defined +2025-03-10 15:30:11,978 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,978 - ERROR - Error in episode 7403: name 'args' is not defined +2025-03-10 15:30:11,981 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,981 - ERROR - Error in episode 7404: name 'args' is not defined +2025-03-10 15:30:11,983 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,983 - ERROR - Error in episode 7405: name 'args' is not defined +2025-03-10 15:30:11,986 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,986 - ERROR - Error in episode 7406: name 'args' is not defined +2025-03-10 15:30:11,989 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,989 - ERROR - Error in episode 7407: name 'args' is not defined +2025-03-10 15:30:11,991 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,992 - ERROR - Error in episode 7408: name 'args' is not defined +2025-03-10 15:30:11,995 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,995 - ERROR - Error in episode 7409: name 'args' is not defined +2025-03-10 15:30:11,998 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:11,998 - ERROR - Error in episode 7410: name 'args' is not defined +2025-03-10 15:30:12,000 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,001 - ERROR - Error in episode 7411: name 'args' is not defined +2025-03-10 15:30:12,004 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,005 - ERROR - Error in episode 7412: name 'args' is not defined +2025-03-10 15:30:12,007 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,009 - ERROR - Error in episode 7413: name 'args' is not defined +2025-03-10 15:30:12,011 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,012 - ERROR - Error in episode 7414: name 'args' is not defined +2025-03-10 15:30:12,014 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,015 - ERROR - Error in episode 7415: name 'args' is not defined +2025-03-10 15:30:12,017 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,017 - ERROR - Error in episode 7416: name 'args' is not defined +2025-03-10 15:30:12,020 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,020 - ERROR - Error in episode 7417: name 'args' is not defined +2025-03-10 15:30:12,022 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,023 - ERROR - Error in episode 7418: name 'args' is not defined +2025-03-10 15:30:12,025 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,025 - ERROR - Error in episode 7419: name 'args' is not defined +2025-03-10 15:30:12,028 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,028 - ERROR - Error in episode 7420: name 'args' is not defined +2025-03-10 15:30:12,031 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,031 - ERROR - Error in episode 7421: name 'args' is not defined +2025-03-10 15:30:12,034 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,034 - ERROR - Error in episode 7422: name 'args' is not defined +2025-03-10 15:30:12,037 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,038 - ERROR - Error in episode 7423: name 'args' is not defined +2025-03-10 15:30:12,040 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,040 - ERROR - Error in episode 7424: name 'args' is not defined +2025-03-10 15:30:12,043 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,044 - ERROR - Error in episode 7425: name 'args' is not defined +2025-03-10 15:30:12,046 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,047 - ERROR - Error in episode 7426: name 'args' is not defined +2025-03-10 15:30:12,050 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,050 - ERROR - Error in episode 7427: name 'args' is not defined +2025-03-10 15:30:12,053 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,053 - ERROR - Error in episode 7428: name 'args' is not defined +2025-03-10 15:30:12,055 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,056 - ERROR - Error in episode 7429: name 'args' is not defined +2025-03-10 15:30:12,058 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,058 - ERROR - Error in episode 7430: name 'args' is not defined +2025-03-10 15:30:12,061 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,061 - ERROR - Error in episode 7431: name 'args' is not defined +2025-03-10 15:30:12,063 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,064 - ERROR - Error in episode 7432: name 'args' is not defined +2025-03-10 15:30:12,066 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,067 - ERROR - Error in episode 7433: name 'args' is not defined +2025-03-10 15:30:12,069 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,070 - ERROR - Error in episode 7434: name 'args' is not defined +2025-03-10 15:30:12,072 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,073 - ERROR - Error in episode 7435: name 'args' is not defined +2025-03-10 15:30:12,076 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,076 - ERROR - Error in episode 7436: name 'args' is not defined +2025-03-10 15:30:12,079 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,079 - ERROR - Error in episode 7437: name 'args' is not defined +2025-03-10 15:30:12,082 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,082 - ERROR - Error in episode 7438: name 'args' is not defined +2025-03-10 15:30:12,085 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,085 - ERROR - Error in episode 7439: name 'args' is not defined +2025-03-10 15:30:12,088 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,089 - ERROR - Error in episode 7440: name 'args' is not defined +2025-03-10 15:30:12,092 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,092 - ERROR - Error in episode 7441: name 'args' is not defined +2025-03-10 15:30:12,094 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,095 - ERROR - Error in episode 7442: name 'args' is not defined +2025-03-10 15:30:12,098 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,098 - ERROR - Error in episode 7443: name 'args' is not defined +2025-03-10 15:30:12,100 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,101 - ERROR - Error in episode 7444: name 'args' is not defined +2025-03-10 15:30:12,104 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,104 - ERROR - Error in episode 7445: name 'args' is not defined +2025-03-10 15:30:12,106 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,107 - ERROR - Error in episode 7446: name 'args' is not defined +2025-03-10 15:30:12,110 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,110 - ERROR - Error in episode 7447: name 'args' is not defined +2025-03-10 15:30:12,113 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,113 - ERROR - Error in episode 7448: name 'args' is not defined +2025-03-10 15:30:12,116 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,116 - ERROR - Error in episode 7449: name 'args' is not defined +2025-03-10 15:30:12,119 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,119 - ERROR - Error in episode 7450: name 'args' is not defined +2025-03-10 15:30:12,122 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,123 - ERROR - Error in episode 7451: name 'args' is not defined +2025-03-10 15:30:12,125 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,126 - ERROR - Error in episode 7452: name 'args' is not defined +2025-03-10 15:30:12,129 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,129 - ERROR - Error in episode 7453: name 'args' is not defined +2025-03-10 15:30:12,132 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,132 - ERROR - Error in episode 7454: name 'args' is not defined +2025-03-10 15:30:12,136 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,136 - ERROR - Error in episode 7455: name 'args' is not defined +2025-03-10 15:30:12,138 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,138 - ERROR - Error in episode 7456: name 'args' is not defined +2025-03-10 15:30:12,141 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,141 - ERROR - Error in episode 7457: name 'args' is not defined +2025-03-10 15:30:12,146 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,146 - ERROR - Error in episode 7458: name 'args' is not defined +2025-03-10 15:30:12,149 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,149 - ERROR - Error in episode 7459: name 'args' is not defined +2025-03-10 15:30:12,151 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,152 - ERROR - Error in episode 7460: name 'args' is not defined +2025-03-10 15:30:12,155 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,155 - ERROR - Error in episode 7461: name 'args' is not defined +2025-03-10 15:30:12,157 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,158 - ERROR - Error in episode 7462: name 'args' is not defined +2025-03-10 15:30:12,160 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,161 - ERROR - Error in episode 7463: name 'args' is not defined +2025-03-10 15:30:12,163 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,163 - ERROR - Error in episode 7464: name 'args' is not defined +2025-03-10 15:30:12,166 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,166 - ERROR - Error in episode 7465: name 'args' is not defined +2025-03-10 15:30:12,168 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,169 - ERROR - Error in episode 7466: name 'args' is not defined +2025-03-10 15:30:12,172 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,172 - ERROR - Error in episode 7467: name 'args' is not defined +2025-03-10 15:30:12,175 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,175 - ERROR - Error in episode 7468: name 'args' is not defined +2025-03-10 15:30:12,178 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,179 - ERROR - Error in episode 7469: name 'args' is not defined +2025-03-10 15:30:12,181 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,181 - ERROR - Error in episode 7470: name 'args' is not defined +2025-03-10 15:30:12,184 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,185 - ERROR - Error in episode 7471: name 'args' is not defined +2025-03-10 15:30:12,187 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,188 - ERROR - Error in episode 7472: name 'args' is not defined +2025-03-10 15:30:12,190 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,191 - ERROR - Error in episode 7473: name 'args' is not defined +2025-03-10 15:30:12,194 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,194 - ERROR - Error in episode 7474: name 'args' is not defined +2025-03-10 15:30:12,197 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,197 - ERROR - Error in episode 7475: name 'args' is not defined +2025-03-10 15:30:12,200 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,200 - ERROR - Error in episode 7476: name 'args' is not defined +2025-03-10 15:30:12,203 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,203 - ERROR - Error in episode 7477: name 'args' is not defined +2025-03-10 15:30:12,207 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,207 - ERROR - Error in episode 7478: name 'args' is not defined +2025-03-10 15:30:12,209 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,210 - ERROR - Error in episode 7479: name 'args' is not defined +2025-03-10 15:30:12,213 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,214 - ERROR - Error in episode 7480: name 'args' is not defined +2025-03-10 15:30:12,216 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,217 - ERROR - Error in episode 7481: name 'args' is not defined +2025-03-10 15:30:12,219 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,220 - ERROR - Error in episode 7482: name 'args' is not defined +2025-03-10 15:30:12,222 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,223 - ERROR - Error in episode 7483: name 'args' is not defined +2025-03-10 15:30:12,225 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,225 - ERROR - Error in episode 7484: name 'args' is not defined +2025-03-10 15:30:12,228 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,228 - ERROR - Error in episode 7485: name 'args' is not defined +2025-03-10 15:30:12,231 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,231 - ERROR - Error in episode 7486: name 'args' is not defined +2025-03-10 15:30:12,233 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,233 - ERROR - Error in episode 7487: name 'args' is not defined +2025-03-10 15:30:12,237 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,238 - ERROR - Error in episode 7488: name 'args' is not defined +2025-03-10 15:30:12,240 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,240 - ERROR - Error in episode 7489: name 'args' is not defined +2025-03-10 15:30:12,243 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,243 - ERROR - Error in episode 7490: name 'args' is not defined +2025-03-10 15:30:12,246 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,246 - ERROR - Error in episode 7491: name 'args' is not defined +2025-03-10 15:30:12,249 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,249 - ERROR - Error in episode 7492: name 'args' is not defined +2025-03-10 15:30:12,252 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,252 - ERROR - Error in episode 7493: name 'args' is not defined +2025-03-10 15:30:12,256 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,257 - ERROR - Error in episode 7494: name 'args' is not defined +2025-03-10 15:30:12,259 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,260 - ERROR - Error in episode 7495: name 'args' is not defined +2025-03-10 15:30:12,262 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,263 - ERROR - Error in episode 7496: name 'args' is not defined +2025-03-10 15:30:12,266 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,266 - ERROR - Error in episode 7497: name 'args' is not defined +2025-03-10 15:30:12,269 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,269 - ERROR - Error in episode 7498: name 'args' is not defined +2025-03-10 15:30:12,272 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,272 - ERROR - Error in episode 7499: name 'args' is not defined +2025-03-10 15:30:12,274 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,275 - ERROR - Error in episode 7500: name 'args' is not defined +2025-03-10 15:30:12,277 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,277 - ERROR - Error in episode 7501: name 'args' is not defined +2025-03-10 15:30:12,280 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,280 - ERROR - Error in episode 7502: name 'args' is not defined +2025-03-10 15:30:12,283 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,284 - ERROR - Error in episode 7503: name 'args' is not defined +2025-03-10 15:30:12,286 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,287 - ERROR - Error in episode 7504: name 'args' is not defined +2025-03-10 15:30:12,289 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,289 - ERROR - Error in episode 7505: name 'args' is not defined +2025-03-10 15:30:12,292 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,292 - ERROR - Error in episode 7506: name 'args' is not defined +2025-03-10 15:30:12,295 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,296 - ERROR - Error in episode 7507: name 'args' is not defined +2025-03-10 15:30:12,298 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,298 - ERROR - Error in episode 7508: name 'args' is not defined +2025-03-10 15:30:12,301 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,302 - ERROR - Error in episode 7509: name 'args' is not defined +2025-03-10 15:30:12,305 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,305 - ERROR - Error in episode 7510: name 'args' is not defined +2025-03-10 15:30:12,306 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,307 - ERROR - Error in episode 7511: name 'args' is not defined +2025-03-10 15:30:12,309 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,309 - ERROR - Error in episode 7512: name 'args' is not defined +2025-03-10 15:30:12,313 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,313 - ERROR - Error in episode 7513: name 'args' is not defined +2025-03-10 15:30:12,316 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,316 - ERROR - Error in episode 7514: name 'args' is not defined +2025-03-10 15:30:12,319 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,320 - ERROR - Error in episode 7515: name 'args' is not defined +2025-03-10 15:30:12,322 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,323 - ERROR - Error in episode 7516: name 'args' is not defined +2025-03-10 15:30:12,325 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,325 - ERROR - Error in episode 7517: name 'args' is not defined +2025-03-10 15:30:12,328 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,329 - ERROR - Error in episode 7518: name 'args' is not defined +2025-03-10 15:30:12,331 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,332 - ERROR - Error in episode 7519: name 'args' is not defined +2025-03-10 15:30:12,334 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,334 - ERROR - Error in episode 7520: name 'args' is not defined +2025-03-10 15:30:12,337 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,337 - ERROR - Error in episode 7521: name 'args' is not defined +2025-03-10 15:30:12,339 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,340 - ERROR - Error in episode 7522: name 'args' is not defined +2025-03-10 15:30:12,343 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,344 - ERROR - Error in episode 7523: name 'args' is not defined +2025-03-10 15:30:12,347 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,347 - ERROR - Error in episode 7524: name 'args' is not defined +2025-03-10 15:30:12,349 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,349 - ERROR - Error in episode 7525: name 'args' is not defined +2025-03-10 15:30:12,352 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,352 - ERROR - Error in episode 7526: name 'args' is not defined +2025-03-10 15:30:12,354 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,355 - ERROR - Error in episode 7527: name 'args' is not defined +2025-03-10 15:30:12,357 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,357 - ERROR - Error in episode 7528: name 'args' is not defined +2025-03-10 15:30:12,361 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,361 - ERROR - Error in episode 7529: name 'args' is not defined +2025-03-10 15:30:12,363 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,364 - ERROR - Error in episode 7530: name 'args' is not defined +2025-03-10 15:30:12,366 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,366 - ERROR - Error in episode 7531: name 'args' is not defined +2025-03-10 15:30:12,369 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,370 - ERROR - Error in episode 7532: name 'args' is not defined +2025-03-10 15:30:12,372 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,372 - ERROR - Error in episode 7533: name 'args' is not defined +2025-03-10 15:30:12,374 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,375 - ERROR - Error in episode 7534: name 'args' is not defined +2025-03-10 15:30:12,377 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,377 - ERROR - Error in episode 7535: name 'args' is not defined +2025-03-10 15:30:12,381 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,381 - ERROR - Error in episode 7536: name 'args' is not defined +2025-03-10 15:30:12,384 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,384 - ERROR - Error in episode 7537: name 'args' is not defined +2025-03-10 15:30:12,386 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,387 - ERROR - Error in episode 7538: name 'args' is not defined +2025-03-10 15:30:12,389 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,389 - ERROR - Error in episode 7539: name 'args' is not defined +2025-03-10 15:30:12,392 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,392 - ERROR - Error in episode 7540: name 'args' is not defined +2025-03-10 15:30:12,394 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,395 - ERROR - Error in episode 7541: name 'args' is not defined +2025-03-10 15:30:12,397 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,397 - ERROR - Error in episode 7542: name 'args' is not defined +2025-03-10 15:30:12,400 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,401 - ERROR - Error in episode 7543: name 'args' is not defined +2025-03-10 15:30:12,403 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,403 - ERROR - Error in episode 7544: name 'args' is not defined +2025-03-10 15:30:12,406 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,406 - ERROR - Error in episode 7545: name 'args' is not defined +2025-03-10 15:30:12,409 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,410 - ERROR - Error in episode 7546: name 'args' is not defined +2025-03-10 15:30:12,413 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,413 - ERROR - Error in episode 7547: name 'args' is not defined +2025-03-10 15:30:12,416 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,416 - ERROR - Error in episode 7548: name 'args' is not defined +2025-03-10 15:30:12,419 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,419 - ERROR - Error in episode 7549: name 'args' is not defined +2025-03-10 15:30:12,422 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,423 - ERROR - Error in episode 7550: name 'args' is not defined +2025-03-10 15:30:12,425 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,425 - ERROR - Error in episode 7551: name 'args' is not defined +2025-03-10 15:30:12,428 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,428 - ERROR - Error in episode 7552: name 'args' is not defined +2025-03-10 15:30:12,431 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,431 - ERROR - Error in episode 7553: name 'args' is not defined +2025-03-10 15:30:12,433 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,434 - ERROR - Error in episode 7554: name 'args' is not defined +2025-03-10 15:30:12,436 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,436 - ERROR - Error in episode 7555: name 'args' is not defined +2025-03-10 15:30:12,439 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,440 - ERROR - Error in episode 7556: name 'args' is not defined +2025-03-10 15:30:12,443 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,443 - ERROR - Error in episode 7557: name 'args' is not defined +2025-03-10 15:30:12,446 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,446 - ERROR - Error in episode 7558: name 'args' is not defined +2025-03-10 15:30:12,449 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,449 - ERROR - Error in episode 7559: name 'args' is not defined +2025-03-10 15:30:12,451 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,452 - ERROR - Error in episode 7560: name 'args' is not defined +2025-03-10 15:30:12,454 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,455 - ERROR - Error in episode 7561: name 'args' is not defined +2025-03-10 15:30:12,457 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,457 - ERROR - Error in episode 7562: name 'args' is not defined +2025-03-10 15:30:12,460 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,460 - ERROR - Error in episode 7563: name 'args' is not defined +2025-03-10 15:30:12,464 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,464 - ERROR - Error in episode 7564: name 'args' is not defined +2025-03-10 15:30:12,467 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,467 - ERROR - Error in episode 7565: name 'args' is not defined +2025-03-10 15:30:12,470 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,470 - ERROR - Error in episode 7566: name 'args' is not defined +2025-03-10 15:30:12,473 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,473 - ERROR - Error in episode 7567: name 'args' is not defined +2025-03-10 15:30:12,475 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,476 - ERROR - Error in episode 7568: name 'args' is not defined +2025-03-10 15:30:12,479 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,479 - ERROR - Error in episode 7569: name 'args' is not defined +2025-03-10 15:30:12,481 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,482 - ERROR - Error in episode 7570: name 'args' is not defined +2025-03-10 15:30:12,484 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,484 - ERROR - Error in episode 7571: name 'args' is not defined +2025-03-10 15:30:12,488 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,489 - ERROR - Error in episode 7572: name 'args' is not defined +2025-03-10 15:30:12,491 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,491 - ERROR - Error in episode 7573: name 'args' is not defined +2025-03-10 15:30:12,494 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,494 - ERROR - Error in episode 7574: name 'args' is not defined +2025-03-10 15:30:12,497 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,497 - ERROR - Error in episode 7575: name 'args' is not defined +2025-03-10 15:30:12,500 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,500 - ERROR - Error in episode 7576: name 'args' is not defined +2025-03-10 15:30:12,503 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,503 - ERROR - Error in episode 7577: name 'args' is not defined +2025-03-10 15:30:12,506 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,506 - ERROR - Error in episode 7578: name 'args' is not defined +2025-03-10 15:30:12,509 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,509 - ERROR - Error in episode 7579: name 'args' is not defined +2025-03-10 15:30:12,512 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,512 - ERROR - Error in episode 7580: name 'args' is not defined +2025-03-10 15:30:12,515 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,515 - ERROR - Error in episode 7581: name 'args' is not defined +2025-03-10 15:30:12,518 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,518 - ERROR - Error in episode 7582: name 'args' is not defined +2025-03-10 15:30:12,521 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,521 - ERROR - Error in episode 7583: name 'args' is not defined +2025-03-10 15:30:12,524 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,524 - ERROR - Error in episode 7584: name 'args' is not defined +2025-03-10 15:30:12,526 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,527 - ERROR - Error in episode 7585: name 'args' is not defined +2025-03-10 15:30:12,530 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,530 - ERROR - Error in episode 7586: name 'args' is not defined +2025-03-10 15:30:12,532 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,533 - ERROR - Error in episode 7587: name 'args' is not defined +2025-03-10 15:30:12,535 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,535 - ERROR - Error in episode 7588: name 'args' is not defined +2025-03-10 15:30:12,539 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,539 - ERROR - Error in episode 7589: name 'args' is not defined +2025-03-10 15:30:12,542 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,542 - ERROR - Error in episode 7590: name 'args' is not defined +2025-03-10 15:30:12,545 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,545 - ERROR - Error in episode 7591: name 'args' is not defined +2025-03-10 15:30:12,547 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,548 - ERROR - Error in episode 7592: name 'args' is not defined +2025-03-10 15:30:12,550 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,550 - ERROR - Error in episode 7593: name 'args' is not defined +2025-03-10 15:30:12,554 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,554 - ERROR - Error in episode 7594: name 'args' is not defined +2025-03-10 15:30:12,556 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,557 - ERROR - Error in episode 7595: name 'args' is not defined +2025-03-10 15:30:12,559 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,559 - ERROR - Error in episode 7596: name 'args' is not defined +2025-03-10 15:30:12,562 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,563 - ERROR - Error in episode 7597: name 'args' is not defined +2025-03-10 15:30:12,565 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,565 - ERROR - Error in episode 7598: name 'args' is not defined +2025-03-10 15:30:12,568 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,568 - ERROR - Error in episode 7599: name 'args' is not defined +2025-03-10 15:30:12,571 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,571 - ERROR - Error in episode 7600: name 'args' is not defined +2025-03-10 15:30:12,574 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,574 - ERROR - Error in episode 7601: name 'args' is not defined +2025-03-10 15:30:12,577 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,577 - ERROR - Error in episode 7602: name 'args' is not defined +2025-03-10 15:30:12,580 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,581 - ERROR - Error in episode 7603: name 'args' is not defined +2025-03-10 15:30:12,583 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,584 - ERROR - Error in episode 7604: name 'args' is not defined +2025-03-10 15:30:12,587 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,587 - ERROR - Error in episode 7605: name 'args' is not defined +2025-03-10 15:30:12,589 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,589 - ERROR - Error in episode 7606: name 'args' is not defined +2025-03-10 15:30:12,592 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,592 - ERROR - Error in episode 7607: name 'args' is not defined +2025-03-10 15:30:12,595 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,595 - ERROR - Error in episode 7608: name 'args' is not defined +2025-03-10 15:30:12,599 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,599 - ERROR - Error in episode 7609: name 'args' is not defined +2025-03-10 15:30:12,601 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,602 - ERROR - Error in episode 7610: name 'args' is not defined +2025-03-10 15:30:12,605 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,605 - ERROR - Error in episode 7611: name 'args' is not defined +2025-03-10 15:30:12,607 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,607 - ERROR - Error in episode 7612: name 'args' is not defined +2025-03-10 15:30:12,610 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,611 - ERROR - Error in episode 7613: name 'args' is not defined +2025-03-10 15:30:12,613 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,614 - ERROR - Error in episode 7614: name 'args' is not defined +2025-03-10 15:30:12,616 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,617 - ERROR - Error in episode 7615: name 'args' is not defined +2025-03-10 15:30:12,619 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,619 - ERROR - Error in episode 7616: name 'args' is not defined +2025-03-10 15:30:12,623 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,624 - ERROR - Error in episode 7617: name 'args' is not defined +2025-03-10 15:30:12,626 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,627 - ERROR - Error in episode 7618: name 'args' is not defined +2025-03-10 15:30:12,629 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,630 - ERROR - Error in episode 7619: name 'args' is not defined +2025-03-10 15:30:12,633 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,633 - ERROR - Error in episode 7620: name 'args' is not defined +2025-03-10 15:30:12,635 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,636 - ERROR - Error in episode 7621: name 'args' is not defined +2025-03-10 15:30:12,638 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,639 - ERROR - Error in episode 7622: name 'args' is not defined +2025-03-10 15:30:12,642 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,642 - ERROR - Error in episode 7623: name 'args' is not defined +2025-03-10 15:30:12,644 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,646 - ERROR - Error in episode 7624: name 'args' is not defined +2025-03-10 15:30:12,648 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,648 - ERROR - Error in episode 7625: name 'args' is not defined +2025-03-10 15:30:12,651 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,651 - ERROR - Error in episode 7626: name 'args' is not defined +2025-03-10 15:30:12,654 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,654 - ERROR - Error in episode 7627: name 'args' is not defined +2025-03-10 15:30:12,658 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,658 - ERROR - Error in episode 7628: name 'args' is not defined +2025-03-10 15:30:12,661 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,661 - ERROR - Error in episode 7629: name 'args' is not defined +2025-03-10 15:30:12,664 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,664 - ERROR - Error in episode 7630: name 'args' is not defined +2025-03-10 15:30:12,667 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,667 - ERROR - Error in episode 7631: name 'args' is not defined +2025-03-10 15:30:12,670 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,670 - ERROR - Error in episode 7632: name 'args' is not defined +2025-03-10 15:30:12,673 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,674 - ERROR - Error in episode 7633: name 'args' is not defined +2025-03-10 15:30:12,677 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,677 - ERROR - Error in episode 7634: name 'args' is not defined +2025-03-10 15:30:12,680 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,680 - ERROR - Error in episode 7635: name 'args' is not defined +2025-03-10 15:30:12,683 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,683 - ERROR - Error in episode 7636: name 'args' is not defined +2025-03-10 15:30:12,687 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,687 - ERROR - Error in episode 7637: name 'args' is not defined +2025-03-10 15:30:12,690 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,690 - ERROR - Error in episode 7638: name 'args' is not defined +2025-03-10 15:30:12,693 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,693 - ERROR - Error in episode 7639: name 'args' is not defined +2025-03-10 15:30:12,696 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,696 - ERROR - Error in episode 7640: name 'args' is not defined +2025-03-10 15:30:12,698 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,699 - ERROR - Error in episode 7641: name 'args' is not defined +2025-03-10 15:30:12,701 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,701 - ERROR - Error in episode 7642: name 'args' is not defined +2025-03-10 15:30:12,705 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,705 - ERROR - Error in episode 7643: name 'args' is not defined +2025-03-10 15:30:12,707 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,708 - ERROR - Error in episode 7644: name 'args' is not defined +2025-03-10 15:30:12,710 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,710 - ERROR - Error in episode 7645: name 'args' is not defined +2025-03-10 15:30:12,713 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,714 - ERROR - Error in episode 7646: name 'args' is not defined +2025-03-10 15:30:12,716 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,717 - ERROR - Error in episode 7647: name 'args' is not defined +2025-03-10 15:30:12,719 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,720 - ERROR - Error in episode 7648: name 'args' is not defined +2025-03-10 15:30:12,722 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,723 - ERROR - Error in episode 7649: name 'args' is not defined +2025-03-10 15:30:12,726 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,726 - ERROR - Error in episode 7650: name 'args' is not defined +2025-03-10 15:30:12,729 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,729 - ERROR - Error in episode 7651: name 'args' is not defined +2025-03-10 15:30:12,732 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,732 - ERROR - Error in episode 7652: name 'args' is not defined +2025-03-10 15:30:12,735 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,735 - ERROR - Error in episode 7653: name 'args' is not defined +2025-03-10 15:30:12,739 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,739 - ERROR - Error in episode 7654: name 'args' is not defined +2025-03-10 15:30:12,741 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,742 - ERROR - Error in episode 7655: name 'args' is not defined +2025-03-10 15:30:12,744 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,744 - ERROR - Error in episode 7656: name 'args' is not defined +2025-03-10 15:30:12,747 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,748 - ERROR - Error in episode 7657: name 'args' is not defined +2025-03-10 15:30:12,750 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,751 - ERROR - Error in episode 7658: name 'args' is not defined +2025-03-10 15:30:12,754 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,754 - ERROR - Error in episode 7659: name 'args' is not defined +2025-03-10 15:30:12,756 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,757 - ERROR - Error in episode 7660: name 'args' is not defined +2025-03-10 15:30:12,759 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,760 - ERROR - Error in episode 7661: name 'args' is not defined +2025-03-10 15:30:12,762 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,763 - ERROR - Error in episode 7662: name 'args' is not defined +2025-03-10 15:30:12,766 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,766 - ERROR - Error in episode 7663: name 'args' is not defined +2025-03-10 15:30:12,768 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,769 - ERROR - Error in episode 7664: name 'args' is not defined +2025-03-10 15:30:12,772 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,773 - ERROR - Error in episode 7665: name 'args' is not defined +2025-03-10 15:30:12,775 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,776 - ERROR - Error in episode 7666: name 'args' is not defined +2025-03-10 15:30:12,779 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,779 - ERROR - Error in episode 7667: name 'args' is not defined +2025-03-10 15:30:12,781 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,782 - ERROR - Error in episode 7668: name 'args' is not defined +2025-03-10 15:30:12,785 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,785 - ERROR - Error in episode 7669: name 'args' is not defined +2025-03-10 15:30:12,788 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,788 - ERROR - Error in episode 7670: name 'args' is not defined +2025-03-10 15:30:12,791 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,791 - ERROR - Error in episode 7671: name 'args' is not defined +2025-03-10 15:30:12,793 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,794 - ERROR - Error in episode 7672: name 'args' is not defined +2025-03-10 15:30:12,797 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,797 - ERROR - Error in episode 7673: name 'args' is not defined +2025-03-10 15:30:12,799 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,800 - ERROR - Error in episode 7674: name 'args' is not defined +2025-03-10 15:30:12,802 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,803 - ERROR - Error in episode 7675: name 'args' is not defined +2025-03-10 15:30:12,805 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,806 - ERROR - Error in episode 7676: name 'args' is not defined +2025-03-10 15:30:12,808 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,809 - ERROR - Error in episode 7677: name 'args' is not defined +2025-03-10 15:30:12,811 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,811 - ERROR - Error in episode 7678: name 'args' is not defined +2025-03-10 15:30:12,814 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,814 - ERROR - Error in episode 7679: name 'args' is not defined +2025-03-10 15:30:12,817 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,817 - ERROR - Error in episode 7680: name 'args' is not defined +2025-03-10 15:30:12,820 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,820 - ERROR - Error in episode 7681: name 'args' is not defined +2025-03-10 15:30:12,823 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,823 - ERROR - Error in episode 7682: name 'args' is not defined +2025-03-10 15:30:12,825 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,826 - ERROR - Error in episode 7683: name 'args' is not defined +2025-03-10 15:30:12,828 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,829 - ERROR - Error in episode 7684: name 'args' is not defined +2025-03-10 15:30:12,831 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,831 - ERROR - Error in episode 7685: name 'args' is not defined +2025-03-10 15:30:12,834 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,834 - ERROR - Error in episode 7686: name 'args' is not defined +2025-03-10 15:30:12,838 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,838 - ERROR - Error in episode 7687: name 'args' is not defined +2025-03-10 15:30:12,840 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,841 - ERROR - Error in episode 7688: name 'args' is not defined +2025-03-10 15:30:12,843 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,843 - ERROR - Error in episode 7689: name 'args' is not defined +2025-03-10 15:30:12,846 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,846 - ERROR - Error in episode 7690: name 'args' is not defined +2025-03-10 15:30:12,849 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,849 - ERROR - Error in episode 7691: name 'args' is not defined +2025-03-10 15:30:12,851 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,852 - ERROR - Error in episode 7692: name 'args' is not defined +2025-03-10 15:30:12,855 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,856 - ERROR - Error in episode 7693: name 'args' is not defined +2025-03-10 15:30:12,858 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,859 - ERROR - Error in episode 7694: name 'args' is not defined +2025-03-10 15:30:12,862 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,862 - ERROR - Error in episode 7695: name 'args' is not defined +2025-03-10 15:30:12,864 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,864 - ERROR - Error in episode 7696: name 'args' is not defined +2025-03-10 15:30:12,866 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,867 - ERROR - Error in episode 7697: name 'args' is not defined +2025-03-10 15:30:12,870 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,870 - ERROR - Error in episode 7698: name 'args' is not defined +2025-03-10 15:30:12,872 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,873 - ERROR - Error in episode 7699: name 'args' is not defined +2025-03-10 15:30:12,875 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,875 - ERROR - Error in episode 7700: name 'args' is not defined +2025-03-10 15:30:12,878 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,879 - ERROR - Error in episode 7701: name 'args' is not defined +2025-03-10 15:30:12,881 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,882 - ERROR - Error in episode 7702: name 'args' is not defined +2025-03-10 15:30:12,884 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,885 - ERROR - Error in episode 7703: name 'args' is not defined +2025-03-10 15:30:12,888 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,888 - ERROR - Error in episode 7704: name 'args' is not defined +2025-03-10 15:30:12,891 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,891 - ERROR - Error in episode 7705: name 'args' is not defined +2025-03-10 15:30:12,893 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,894 - ERROR - Error in episode 7706: name 'args' is not defined +2025-03-10 15:30:12,897 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,897 - ERROR - Error in episode 7707: name 'args' is not defined +2025-03-10 15:30:12,899 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,900 - ERROR - Error in episode 7708: name 'args' is not defined +2025-03-10 15:30:12,903 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,903 - ERROR - Error in episode 7709: name 'args' is not defined +2025-03-10 15:30:12,906 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,906 - ERROR - Error in episode 7710: name 'args' is not defined +2025-03-10 15:30:12,909 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,909 - ERROR - Error in episode 7711: name 'args' is not defined +2025-03-10 15:30:12,912 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,912 - ERROR - Error in episode 7712: name 'args' is not defined +2025-03-10 15:30:12,914 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,915 - ERROR - Error in episode 7713: name 'args' is not defined +2025-03-10 15:30:12,917 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,917 - ERROR - Error in episode 7714: name 'args' is not defined +2025-03-10 15:30:12,921 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,921 - ERROR - Error in episode 7715: name 'args' is not defined +2025-03-10 15:30:12,923 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,924 - ERROR - Error in episode 7716: name 'args' is not defined +2025-03-10 15:30:12,926 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,926 - ERROR - Error in episode 7717: name 'args' is not defined +2025-03-10 15:30:12,929 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,929 - ERROR - Error in episode 7718: name 'args' is not defined +2025-03-10 15:30:12,932 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,932 - ERROR - Error in episode 7719: name 'args' is not defined +2025-03-10 15:30:12,935 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,935 - ERROR - Error in episode 7720: name 'args' is not defined +2025-03-10 15:30:12,938 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,939 - ERROR - Error in episode 7721: name 'args' is not defined +2025-03-10 15:30:12,941 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,942 - ERROR - Error in episode 7722: name 'args' is not defined +2025-03-10 15:30:12,944 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,945 - ERROR - Error in episode 7723: name 'args' is not defined +2025-03-10 15:30:12,947 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,948 - ERROR - Error in episode 7724: name 'args' is not defined +2025-03-10 15:30:12,950 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,950 - ERROR - Error in episode 7725: name 'args' is not defined +2025-03-10 15:30:12,954 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,954 - ERROR - Error in episode 7726: name 'args' is not defined +2025-03-10 15:30:12,957 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,957 - ERROR - Error in episode 7727: name 'args' is not defined +2025-03-10 15:30:12,959 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,959 - ERROR - Error in episode 7728: name 'args' is not defined +2025-03-10 15:30:12,962 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,963 - ERROR - Error in episode 7729: name 'args' is not defined +2025-03-10 15:30:12,965 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,965 - ERROR - Error in episode 7730: name 'args' is not defined +2025-03-10 15:30:12,967 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,968 - ERROR - Error in episode 7731: name 'args' is not defined +2025-03-10 15:30:12,970 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,971 - ERROR - Error in episode 7732: name 'args' is not defined +2025-03-10 15:30:12,973 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,973 - ERROR - Error in episode 7733: name 'args' is not defined +2025-03-10 15:30:12,975 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,976 - ERROR - Error in episode 7734: name 'args' is not defined +2025-03-10 15:30:12,979 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,979 - ERROR - Error in episode 7735: name 'args' is not defined +2025-03-10 15:30:12,981 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,982 - ERROR - Error in episode 7736: name 'args' is not defined +2025-03-10 15:30:12,985 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,985 - ERROR - Error in episode 7737: name 'args' is not defined +2025-03-10 15:30:12,988 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,988 - ERROR - Error in episode 7738: name 'args' is not defined +2025-03-10 15:30:12,990 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,991 - ERROR - Error in episode 7739: name 'args' is not defined +2025-03-10 15:30:12,993 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,993 - ERROR - Error in episode 7740: name 'args' is not defined +2025-03-10 15:30:12,996 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,996 - ERROR - Error in episode 7741: name 'args' is not defined +2025-03-10 15:30:12,999 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:12,999 - ERROR - Error in episode 7742: name 'args' is not defined +2025-03-10 15:30:13,001 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,002 - ERROR - Error in episode 7743: name 'args' is not defined +2025-03-10 15:30:13,005 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,005 - ERROR - Error in episode 7744: name 'args' is not defined +2025-03-10 15:30:13,007 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,008 - ERROR - Error in episode 7745: name 'args' is not defined +2025-03-10 15:30:13,010 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,011 - ERROR - Error in episode 7746: name 'args' is not defined +2025-03-10 15:30:13,013 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,014 - ERROR - Error in episode 7747: name 'args' is not defined +2025-03-10 15:30:13,017 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,017 - ERROR - Error in episode 7748: name 'args' is not defined +2025-03-10 15:30:13,020 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,020 - ERROR - Error in episode 7749: name 'args' is not defined +2025-03-10 15:30:13,023 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,023 - ERROR - Error in episode 7750: name 'args' is not defined +2025-03-10 15:30:13,026 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,027 - ERROR - Error in episode 7751: name 'args' is not defined +2025-03-10 15:30:13,030 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,030 - ERROR - Error in episode 7752: name 'args' is not defined +2025-03-10 15:30:13,032 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,032 - ERROR - Error in episode 7753: name 'args' is not defined +2025-03-10 15:30:13,035 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,035 - ERROR - Error in episode 7754: name 'args' is not defined +2025-03-10 15:30:13,038 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,038 - ERROR - Error in episode 7755: name 'args' is not defined +2025-03-10 15:30:13,041 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,041 - ERROR - Error in episode 7756: name 'args' is not defined +2025-03-10 15:30:13,044 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,044 - ERROR - Error in episode 7757: name 'args' is not defined +2025-03-10 15:30:13,047 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,047 - ERROR - Error in episode 7758: name 'args' is not defined +2025-03-10 15:30:13,050 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,050 - ERROR - Error in episode 7759: name 'args' is not defined +2025-03-10 15:30:13,053 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,053 - ERROR - Error in episode 7760: name 'args' is not defined +2025-03-10 15:30:13,055 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,055 - ERROR - Error in episode 7761: name 'args' is not defined +2025-03-10 15:30:13,058 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,058 - ERROR - Error in episode 7762: name 'args' is not defined +2025-03-10 15:30:13,062 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,062 - ERROR - Error in episode 7763: name 'args' is not defined +2025-03-10 15:30:13,065 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,065 - ERROR - Error in episode 7764: name 'args' is not defined +2025-03-10 15:30:13,067 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,068 - ERROR - Error in episode 7765: name 'args' is not defined +2025-03-10 15:30:13,070 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,071 - ERROR - Error in episode 7766: name 'args' is not defined +2025-03-10 15:30:13,073 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,073 - ERROR - Error in episode 7767: name 'args' is not defined +2025-03-10 15:30:13,076 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,076 - ERROR - Error in episode 7768: name 'args' is not defined +2025-03-10 15:30:13,078 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,079 - ERROR - Error in episode 7769: name 'args' is not defined +2025-03-10 15:30:13,081 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,081 - ERROR - Error in episode 7770: name 'args' is not defined +2025-03-10 15:30:13,084 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,084 - ERROR - Error in episode 7771: name 'args' is not defined +2025-03-10 15:30:13,086 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,087 - ERROR - Error in episode 7772: name 'args' is not defined +2025-03-10 15:30:13,089 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,090 - ERROR - Error in episode 7773: name 'args' is not defined +2025-03-10 15:30:13,092 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,092 - ERROR - Error in episode 7774: name 'args' is not defined +2025-03-10 15:30:13,096 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,096 - ERROR - Error in episode 7775: name 'args' is not defined +2025-03-10 15:30:13,098 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,099 - ERROR - Error in episode 7776: name 'args' is not defined +2025-03-10 15:30:13,101 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,101 - ERROR - Error in episode 7777: name 'args' is not defined +2025-03-10 15:30:13,103 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,104 - ERROR - Error in episode 7778: name 'args' is not defined +2025-03-10 15:30:13,106 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,106 - ERROR - Error in episode 7779: name 'args' is not defined +2025-03-10 15:30:13,109 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,109 - ERROR - Error in episode 7780: name 'args' is not defined +2025-03-10 15:30:13,112 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,112 - ERROR - Error in episode 7781: name 'args' is not defined +2025-03-10 15:30:13,114 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,115 - ERROR - Error in episode 7782: name 'args' is not defined +2025-03-10 15:30:13,117 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,117 - ERROR - Error in episode 7783: name 'args' is not defined +2025-03-10 15:30:13,120 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,122 - ERROR - Error in episode 7784: name 'args' is not defined +2025-03-10 15:30:13,124 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,124 - ERROR - Error in episode 7785: name 'args' is not defined +2025-03-10 15:30:13,127 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,127 - ERROR - Error in episode 7786: name 'args' is not defined +2025-03-10 15:30:13,130 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,130 - ERROR - Error in episode 7787: name 'args' is not defined +2025-03-10 15:30:13,133 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,133 - ERROR - Error in episode 7788: name 'args' is not defined +2025-03-10 15:30:13,135 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,135 - ERROR - Error in episode 7789: name 'args' is not defined +2025-03-10 15:30:13,139 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,140 - ERROR - Error in episode 7790: name 'args' is not defined +2025-03-10 15:30:13,143 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,143 - ERROR - Error in episode 7791: name 'args' is not defined +2025-03-10 15:30:13,146 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,146 - ERROR - Error in episode 7792: name 'args' is not defined +2025-03-10 15:30:13,148 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,149 - ERROR - Error in episode 7793: name 'args' is not defined +2025-03-10 15:30:13,151 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,151 - ERROR - Error in episode 7794: name 'args' is not defined +2025-03-10 15:30:13,154 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,154 - ERROR - Error in episode 7795: name 'args' is not defined +2025-03-10 15:30:13,157 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,157 - ERROR - Error in episode 7796: name 'args' is not defined +2025-03-10 15:30:13,159 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,160 - ERROR - Error in episode 7797: name 'args' is not defined +2025-03-10 15:30:13,162 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,162 - ERROR - Error in episode 7798: name 'args' is not defined +2025-03-10 15:30:13,165 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,165 - ERROR - Error in episode 7799: name 'args' is not defined +2025-03-10 15:30:13,168 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,168 - ERROR - Error in episode 7800: name 'args' is not defined +2025-03-10 15:30:13,172 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,172 - ERROR - Error in episode 7801: name 'args' is not defined +2025-03-10 15:30:13,174 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,175 - ERROR - Error in episode 7802: name 'args' is not defined +2025-03-10 15:30:13,177 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,178 - ERROR - Error in episode 7803: name 'args' is not defined +2025-03-10 15:30:13,180 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,180 - ERROR - Error in episode 7804: name 'args' is not defined +2025-03-10 15:30:13,183 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,183 - ERROR - Error in episode 7805: name 'args' is not defined +2025-03-10 15:30:13,186 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,186 - ERROR - Error in episode 7806: name 'args' is not defined +2025-03-10 15:30:13,188 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,188 - ERROR - Error in episode 7807: name 'args' is not defined +2025-03-10 15:30:13,191 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,191 - ERROR - Error in episode 7808: name 'args' is not defined +2025-03-10 15:30:13,193 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,194 - ERROR - Error in episode 7809: name 'args' is not defined +2025-03-10 15:30:13,196 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,197 - ERROR - Error in episode 7810: name 'args' is not defined +2025-03-10 15:30:13,200 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,200 - ERROR - Error in episode 7811: name 'args' is not defined +2025-03-10 15:30:13,203 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,203 - ERROR - Error in episode 7812: name 'args' is not defined +2025-03-10 15:30:13,206 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,206 - ERROR - Error in episode 7813: name 'args' is not defined +2025-03-10 15:30:13,209 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,209 - ERROR - Error in episode 7814: name 'args' is not defined +2025-03-10 15:30:13,212 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,212 - ERROR - Error in episode 7815: name 'args' is not defined +2025-03-10 15:30:13,214 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,215 - ERROR - Error in episode 7816: name 'args' is not defined +2025-03-10 15:30:13,218 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,218 - ERROR - Error in episode 7817: name 'args' is not defined +2025-03-10 15:30:13,222 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,222 - ERROR - Error in episode 7818: name 'args' is not defined +2025-03-10 15:30:13,225 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,225 - ERROR - Error in episode 7819: name 'args' is not defined +2025-03-10 15:30:13,228 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,228 - ERROR - Error in episode 7820: name 'args' is not defined +2025-03-10 15:30:13,231 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,232 - ERROR - Error in episode 7821: name 'args' is not defined +2025-03-10 15:30:13,234 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,234 - ERROR - Error in episode 7822: name 'args' is not defined +2025-03-10 15:30:13,237 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,237 - ERROR - Error in episode 7823: name 'args' is not defined +2025-03-10 15:30:13,239 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,240 - ERROR - Error in episode 7824: name 'args' is not defined +2025-03-10 15:30:13,243 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,243 - ERROR - Error in episode 7825: name 'args' is not defined +2025-03-10 15:30:13,245 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,246 - ERROR - Error in episode 7826: name 'args' is not defined +2025-03-10 15:30:13,248 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,249 - ERROR - Error in episode 7827: name 'args' is not defined +2025-03-10 15:30:13,251 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,251 - ERROR - Error in episode 7828: name 'args' is not defined +2025-03-10 15:30:13,254 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,255 - ERROR - Error in episode 7829: name 'args' is not defined +2025-03-10 15:30:13,257 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,257 - ERROR - Error in episode 7830: name 'args' is not defined +2025-03-10 15:30:13,260 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,260 - ERROR - Error in episode 7831: name 'args' is not defined +2025-03-10 15:30:13,263 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,263 - ERROR - Error in episode 7832: name 'args' is not defined +2025-03-10 15:30:13,266 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,266 - ERROR - Error in episode 7833: name 'args' is not defined +2025-03-10 15:30:13,269 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,269 - ERROR - Error in episode 7834: name 'args' is not defined +2025-03-10 15:30:13,273 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,273 - ERROR - Error in episode 7835: name 'args' is not defined +2025-03-10 15:30:13,276 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,277 - ERROR - Error in episode 7836: name 'args' is not defined +2025-03-10 15:30:13,280 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,280 - ERROR - Error in episode 7837: name 'args' is not defined +2025-03-10 15:30:13,283 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,283 - ERROR - Error in episode 7838: name 'args' is not defined +2025-03-10 15:30:13,287 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,288 - ERROR - Error in episode 7839: name 'args' is not defined +2025-03-10 15:30:13,290 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,290 - ERROR - Error in episode 7840: name 'args' is not defined +2025-03-10 15:30:13,293 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,293 - ERROR - Error in episode 7841: name 'args' is not defined +2025-03-10 15:30:13,296 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,296 - ERROR - Error in episode 7842: name 'args' is not defined +2025-03-10 15:30:13,299 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,299 - ERROR - Error in episode 7843: name 'args' is not defined +2025-03-10 15:30:13,301 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,301 - ERROR - Error in episode 7844: name 'args' is not defined +2025-03-10 15:30:13,304 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,305 - ERROR - Error in episode 7845: name 'args' is not defined +2025-03-10 15:30:13,307 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,308 - ERROR - Error in episode 7846: name 'args' is not defined +2025-03-10 15:30:13,310 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,311 - ERROR - Error in episode 7847: name 'args' is not defined +2025-03-10 15:30:13,314 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,314 - ERROR - Error in episode 7848: name 'args' is not defined +2025-03-10 15:30:13,317 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,317 - ERROR - Error in episode 7849: name 'args' is not defined +2025-03-10 15:30:13,320 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,320 - ERROR - Error in episode 7850: name 'args' is not defined +2025-03-10 15:30:13,323 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,323 - ERROR - Error in episode 7851: name 'args' is not defined +2025-03-10 15:30:13,326 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,326 - ERROR - Error in episode 7852: name 'args' is not defined +2025-03-10 15:30:13,329 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,329 - ERROR - Error in episode 7853: name 'args' is not defined +2025-03-10 15:30:13,332 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,332 - ERROR - Error in episode 7854: name 'args' is not defined +2025-03-10 15:30:13,335 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,335 - ERROR - Error in episode 7855: name 'args' is not defined +2025-03-10 15:30:13,338 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,338 - ERROR - Error in episode 7856: name 'args' is not defined +2025-03-10 15:30:13,341 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,341 - ERROR - Error in episode 7857: name 'args' is not defined +2025-03-10 15:30:13,344 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,344 - ERROR - Error in episode 7858: name 'args' is not defined +2025-03-10 15:30:13,347 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,347 - ERROR - Error in episode 7859: name 'args' is not defined +2025-03-10 15:30:13,350 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,350 - ERROR - Error in episode 7860: name 'args' is not defined +2025-03-10 15:30:13,352 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,353 - ERROR - Error in episode 7861: name 'args' is not defined +2025-03-10 15:30:13,355 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,355 - ERROR - Error in episode 7862: name 'args' is not defined +2025-03-10 15:30:13,359 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,359 - ERROR - Error in episode 7863: name 'args' is not defined +2025-03-10 15:30:13,362 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,362 - ERROR - Error in episode 7864: name 'args' is not defined +2025-03-10 15:30:13,364 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,365 - ERROR - Error in episode 7865: name 'args' is not defined +2025-03-10 15:30:13,367 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,368 - ERROR - Error in episode 7866: name 'args' is not defined +2025-03-10 15:30:13,370 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,370 - ERROR - Error in episode 7867: name 'args' is not defined +2025-03-10 15:30:13,372 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,373 - ERROR - Error in episode 7868: name 'args' is not defined +2025-03-10 15:30:13,376 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,376 - ERROR - Error in episode 7869: name 'args' is not defined +2025-03-10 15:30:13,378 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,379 - ERROR - Error in episode 7870: name 'args' is not defined +2025-03-10 15:30:13,381 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,381 - ERROR - Error in episode 7871: name 'args' is not defined +2025-03-10 15:30:13,384 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,384 - ERROR - Error in episode 7872: name 'args' is not defined +2025-03-10 15:30:13,388 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,388 - ERROR - Error in episode 7873: name 'args' is not defined +2025-03-10 15:30:13,390 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,390 - ERROR - Error in episode 7874: name 'args' is not defined +2025-03-10 15:30:13,393 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,393 - ERROR - Error in episode 7875: name 'args' is not defined +2025-03-10 15:30:13,396 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,396 - ERROR - Error in episode 7876: name 'args' is not defined +2025-03-10 15:30:13,399 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,399 - ERROR - Error in episode 7877: name 'args' is not defined +2025-03-10 15:30:13,401 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,402 - ERROR - Error in episode 7878: name 'args' is not defined +2025-03-10 15:30:13,404 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,405 - ERROR - Error in episode 7879: name 'args' is not defined +2025-03-10 15:30:13,407 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,407 - ERROR - Error in episode 7880: name 'args' is not defined +2025-03-10 15:30:13,410 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,411 - ERROR - Error in episode 7881: name 'args' is not defined +2025-03-10 15:30:13,413 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,414 - ERROR - Error in episode 7882: name 'args' is not defined +2025-03-10 15:30:13,417 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,417 - ERROR - Error in episode 7883: name 'args' is not defined +2025-03-10 15:30:13,420 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,420 - ERROR - Error in episode 7884: name 'args' is not defined +2025-03-10 15:30:13,423 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,423 - ERROR - Error in episode 7885: name 'args' is not defined +2025-03-10 15:30:13,426 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,426 - ERROR - Error in episode 7886: name 'args' is not defined +2025-03-10 15:30:13,429 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,429 - ERROR - Error in episode 7887: name 'args' is not defined +2025-03-10 15:30:13,432 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,432 - ERROR - Error in episode 7888: name 'args' is not defined +2025-03-10 15:30:13,436 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,436 - ERROR - Error in episode 7889: name 'args' is not defined +2025-03-10 15:30:13,438 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,438 - ERROR - Error in episode 7890: name 'args' is not defined +2025-03-10 15:30:13,441 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,442 - ERROR - Error in episode 7891: name 'args' is not defined +2025-03-10 15:30:13,444 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,444 - ERROR - Error in episode 7892: name 'args' is not defined +2025-03-10 15:30:13,447 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,447 - ERROR - Error in episode 7893: name 'args' is not defined +2025-03-10 15:30:13,450 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,450 - ERROR - Error in episode 7894: name 'args' is not defined +2025-03-10 15:30:13,453 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,453 - ERROR - Error in episode 7895: name 'args' is not defined +2025-03-10 15:30:13,455 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,456 - ERROR - Error in episode 7896: name 'args' is not defined +2025-03-10 15:30:13,459 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,460 - ERROR - Error in episode 7897: name 'args' is not defined +2025-03-10 15:30:13,462 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,462 - ERROR - Error in episode 7898: name 'args' is not defined +2025-03-10 15:30:13,465 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,465 - ERROR - Error in episode 7899: name 'args' is not defined +2025-03-10 15:30:13,469 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,469 - ERROR - Error in episode 7900: name 'args' is not defined +2025-03-10 15:30:13,471 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,472 - ERROR - Error in episode 7901: name 'args' is not defined +2025-03-10 15:30:13,474 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,475 - ERROR - Error in episode 7902: name 'args' is not defined +2025-03-10 15:30:13,477 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,478 - ERROR - Error in episode 7903: name 'args' is not defined +2025-03-10 15:30:13,480 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,482 - ERROR - Error in episode 7904: name 'args' is not defined +2025-03-10 15:30:13,485 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,485 - ERROR - Error in episode 7905: name 'args' is not defined +2025-03-10 15:30:13,487 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,488 - ERROR - Error in episode 7906: name 'args' is not defined +2025-03-10 15:30:13,490 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,490 - ERROR - Error in episode 7907: name 'args' is not defined +2025-03-10 15:30:13,493 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,493 - ERROR - Error in episode 7908: name 'args' is not defined +2025-03-10 15:30:13,496 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,496 - ERROR - Error in episode 7909: name 'args' is not defined +2025-03-10 15:30:13,499 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,499 - ERROR - Error in episode 7910: name 'args' is not defined +2025-03-10 15:30:13,502 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,502 - ERROR - Error in episode 7911: name 'args' is not defined +2025-03-10 15:30:13,504 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,505 - ERROR - Error in episode 7912: name 'args' is not defined +2025-03-10 15:30:13,507 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,508 - ERROR - Error in episode 7913: name 'args' is not defined +2025-03-10 15:30:13,511 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,511 - ERROR - Error in episode 7914: name 'args' is not defined +2025-03-10 15:30:13,514 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,514 - ERROR - Error in episode 7915: name 'args' is not defined +2025-03-10 15:30:13,516 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,517 - ERROR - Error in episode 7916: name 'args' is not defined +2025-03-10 15:30:13,519 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,519 - ERROR - Error in episode 7917: name 'args' is not defined +2025-03-10 15:30:13,522 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,523 - ERROR - Error in episode 7918: name 'args' is not defined +2025-03-10 15:30:13,526 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,526 - ERROR - Error in episode 7919: name 'args' is not defined +2025-03-10 15:30:13,529 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,529 - ERROR - Error in episode 7920: name 'args' is not defined +2025-03-10 15:30:13,531 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,532 - ERROR - Error in episode 7921: name 'args' is not defined +2025-03-10 15:30:13,534 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,535 - ERROR - Error in episode 7922: name 'args' is not defined +2025-03-10 15:30:13,538 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,538 - ERROR - Error in episode 7923: name 'args' is not defined +2025-03-10 15:30:13,541 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,542 - ERROR - Error in episode 7924: name 'args' is not defined +2025-03-10 15:30:13,544 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,544 - ERROR - Error in episode 7925: name 'args' is not defined +2025-03-10 15:30:13,547 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,547 - ERROR - Error in episode 7926: name 'args' is not defined +2025-03-10 15:30:13,550 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,550 - ERROR - Error in episode 7927: name 'args' is not defined +2025-03-10 15:30:13,552 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,553 - ERROR - Error in episode 7928: name 'args' is not defined +2025-03-10 15:30:13,555 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,555 - ERROR - Error in episode 7929: name 'args' is not defined +2025-03-10 15:30:13,559 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,559 - ERROR - Error in episode 7930: name 'args' is not defined +2025-03-10 15:30:13,561 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,561 - ERROR - Error in episode 7931: name 'args' is not defined +2025-03-10 15:30:13,564 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,564 - ERROR - Error in episode 7932: name 'args' is not defined +2025-03-10 15:30:13,567 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,567 - ERROR - Error in episode 7933: name 'args' is not defined +2025-03-10 15:30:13,570 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,570 - ERROR - Error in episode 7934: name 'args' is not defined +2025-03-10 15:30:13,573 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,573 - ERROR - Error in episode 7935: name 'args' is not defined +2025-03-10 15:30:13,576 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,576 - ERROR - Error in episode 7936: name 'args' is not defined +2025-03-10 15:30:13,579 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,579 - ERROR - Error in episode 7937: name 'args' is not defined +2025-03-10 15:30:13,581 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,582 - ERROR - Error in episode 7938: name 'args' is not defined +2025-03-10 15:30:13,584 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,585 - ERROR - Error in episode 7939: name 'args' is not defined +2025-03-10 15:30:13,588 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,588 - ERROR - Error in episode 7940: name 'args' is not defined +2025-03-10 15:30:13,591 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,592 - ERROR - Error in episode 7941: name 'args' is not defined +2025-03-10 15:30:13,594 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,595 - ERROR - Error in episode 7942: name 'args' is not defined +2025-03-10 15:30:13,597 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,597 - ERROR - Error in episode 7943: name 'args' is not defined +2025-03-10 15:30:13,599 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,600 - ERROR - Error in episode 7944: name 'args' is not defined +2025-03-10 15:30:13,602 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,602 - ERROR - Error in episode 7945: name 'args' is not defined +2025-03-10 15:30:13,605 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,605 - ERROR - Error in episode 7946: name 'args' is not defined +2025-03-10 15:30:13,608 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,608 - ERROR - Error in episode 7947: name 'args' is not defined +2025-03-10 15:30:13,610 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,611 - ERROR - Error in episode 7948: name 'args' is not defined +2025-03-10 15:30:13,613 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,614 - ERROR - Error in episode 7949: name 'args' is not defined +2025-03-10 15:30:13,618 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,618 - ERROR - Error in episode 7950: name 'args' is not defined +2025-03-10 15:30:13,621 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,621 - ERROR - Error in episode 7951: name 'args' is not defined +2025-03-10 15:30:13,624 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,625 - ERROR - Error in episode 7952: name 'args' is not defined +2025-03-10 15:30:13,628 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,628 - ERROR - Error in episode 7953: name 'args' is not defined +2025-03-10 15:30:13,630 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,631 - ERROR - Error in episode 7954: name 'args' is not defined +2025-03-10 15:30:13,634 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,634 - ERROR - Error in episode 7955: name 'args' is not defined +2025-03-10 15:30:13,636 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,636 - ERROR - Error in episode 7956: name 'args' is not defined +2025-03-10 15:30:13,639 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,639 - ERROR - Error in episode 7957: name 'args' is not defined +2025-03-10 15:30:13,642 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,642 - ERROR - Error in episode 7958: name 'args' is not defined +2025-03-10 15:30:13,645 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,645 - ERROR - Error in episode 7959: name 'args' is not defined +2025-03-10 15:30:13,648 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,648 - ERROR - Error in episode 7960: name 'args' is not defined +2025-03-10 15:30:13,651 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,652 - ERROR - Error in episode 7961: name 'args' is not defined +2025-03-10 15:30:13,654 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,655 - ERROR - Error in episode 7962: name 'args' is not defined +2025-03-10 15:30:13,657 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,658 - ERROR - Error in episode 7963: name 'args' is not defined +2025-03-10 15:30:13,660 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,661 - ERROR - Error in episode 7964: name 'args' is not defined +2025-03-10 15:30:13,663 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,664 - ERROR - Error in episode 7965: name 'args' is not defined +2025-03-10 15:30:13,667 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,669 - ERROR - Error in episode 7966: name 'args' is not defined +2025-03-10 15:30:13,671 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,671 - ERROR - Error in episode 7967: name 'args' is not defined +2025-03-10 15:30:13,674 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,674 - ERROR - Error in episode 7968: name 'args' is not defined +2025-03-10 15:30:13,677 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,678 - ERROR - Error in episode 7969: name 'args' is not defined +2025-03-10 15:30:13,680 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,681 - ERROR - Error in episode 7970: name 'args' is not defined +2025-03-10 15:30:13,683 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,684 - ERROR - Error in episode 7971: name 'args' is not defined +2025-03-10 15:30:13,686 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,686 - ERROR - Error in episode 7972: name 'args' is not defined +2025-03-10 15:30:13,689 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,689 - ERROR - Error in episode 7973: name 'args' is not defined +2025-03-10 15:30:13,692 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,693 - ERROR - Error in episode 7974: name 'args' is not defined +2025-03-10 15:30:13,695 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,695 - ERROR - Error in episode 7975: name 'args' is not defined +2025-03-10 15:30:13,698 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,699 - ERROR - Error in episode 7976: name 'args' is not defined +2025-03-10 15:30:13,701 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,701 - ERROR - Error in episode 7977: name 'args' is not defined +2025-03-10 15:30:13,703 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,704 - ERROR - Error in episode 7978: name 'args' is not defined +2025-03-10 15:30:13,706 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,706 - ERROR - Error in episode 7979: name 'args' is not defined +2025-03-10 15:30:13,709 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,709 - ERROR - Error in episode 7980: name 'args' is not defined +2025-03-10 15:30:13,712 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,712 - ERROR - Error in episode 7981: name 'args' is not defined +2025-03-10 15:30:13,715 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,716 - ERROR - Error in episode 7982: name 'args' is not defined +2025-03-10 15:30:13,718 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,718 - ERROR - Error in episode 7983: name 'args' is not defined +2025-03-10 15:30:13,721 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,721 - ERROR - Error in episode 7984: name 'args' is not defined +2025-03-10 15:30:13,724 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,724 - ERROR - Error in episode 7985: name 'args' is not defined +2025-03-10 15:30:13,727 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,728 - ERROR - Error in episode 7986: name 'args' is not defined +2025-03-10 15:30:13,730 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,731 - ERROR - Error in episode 7987: name 'args' is not defined +2025-03-10 15:30:13,733 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,734 - ERROR - Error in episode 7988: name 'args' is not defined +2025-03-10 15:30:13,736 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,736 - ERROR - Error in episode 7989: name 'args' is not defined +2025-03-10 15:30:13,739 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,739 - ERROR - Error in episode 7990: name 'args' is not defined +2025-03-10 15:30:13,741 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,742 - ERROR - Error in episode 7991: name 'args' is not defined +2025-03-10 15:30:13,744 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,745 - ERROR - Error in episode 7992: name 'args' is not defined +2025-03-10 15:30:13,747 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,748 - ERROR - Error in episode 7993: name 'args' is not defined +2025-03-10 15:30:13,751 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,751 - ERROR - Error in episode 7994: name 'args' is not defined +2025-03-10 15:30:13,753 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,753 - ERROR - Error in episode 7995: name 'args' is not defined +2025-03-10 15:30:13,756 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,757 - ERROR - Error in episode 7996: name 'args' is not defined +2025-03-10 15:30:13,759 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,761 - ERROR - Error in episode 7997: name 'args' is not defined +2025-03-10 15:30:13,763 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,763 - ERROR - Error in episode 7998: name 'args' is not defined +2025-03-10 15:30:13,766 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,766 - ERROR - Error in episode 7999: name 'args' is not defined +2025-03-10 15:30:13,769 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,769 - ERROR - Error in episode 8000: name 'args' is not defined +2025-03-10 15:30:13,771 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,772 - ERROR - Error in episode 8001: name 'args' is not defined +2025-03-10 15:30:13,774 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,774 - ERROR - Error in episode 8002: name 'args' is not defined +2025-03-10 15:30:13,777 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,777 - ERROR - Error in episode 8003: name 'args' is not defined +2025-03-10 15:30:13,780 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,781 - ERROR - Error in episode 8004: name 'args' is not defined +2025-03-10 15:30:13,784 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,784 - ERROR - Error in episode 8005: name 'args' is not defined +2025-03-10 15:30:13,786 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,787 - ERROR - Error in episode 8006: name 'args' is not defined +2025-03-10 15:30:13,789 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,789 - ERROR - Error in episode 8007: name 'args' is not defined +2025-03-10 15:30:13,792 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,793 - ERROR - Error in episode 8008: name 'args' is not defined +2025-03-10 15:30:13,795 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,795 - ERROR - Error in episode 8009: name 'args' is not defined +2025-03-10 15:30:13,798 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,798 - ERROR - Error in episode 8010: name 'args' is not defined +2025-03-10 15:30:13,801 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,801 - ERROR - Error in episode 8011: name 'args' is not defined +2025-03-10 15:30:13,803 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,804 - ERROR - Error in episode 8012: name 'args' is not defined +2025-03-10 15:30:13,806 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,806 - ERROR - Error in episode 8013: name 'args' is not defined +2025-03-10 15:30:13,809 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,809 - ERROR - Error in episode 8014: name 'args' is not defined +2025-03-10 15:30:13,811 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,812 - ERROR - Error in episode 8015: name 'args' is not defined +2025-03-10 15:30:13,815 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,815 - ERROR - Error in episode 8016: name 'args' is not defined +2025-03-10 15:30:13,818 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,818 - ERROR - Error in episode 8017: name 'args' is not defined +2025-03-10 15:30:13,820 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,820 - ERROR - Error in episode 8018: name 'args' is not defined +2025-03-10 15:30:13,823 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,823 - ERROR - Error in episode 8019: name 'args' is not defined +2025-03-10 15:30:13,827 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,827 - ERROR - Error in episode 8020: name 'args' is not defined +2025-03-10 15:30:13,829 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,830 - ERROR - Error in episode 8021: name 'args' is not defined +2025-03-10 15:30:13,832 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,833 - ERROR - Error in episode 8022: name 'args' is not defined +2025-03-10 15:30:13,836 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,836 - ERROR - Error in episode 8023: name 'args' is not defined +2025-03-10 15:30:13,838 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,839 - ERROR - Error in episode 8024: name 'args' is not defined +2025-03-10 15:30:13,841 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,842 - ERROR - Error in episode 8025: name 'args' is not defined +2025-03-10 15:30:13,845 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,845 - ERROR - Error in episode 8026: name 'args' is not defined +2025-03-10 15:30:13,848 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,848 - ERROR - Error in episode 8027: name 'args' is not defined +2025-03-10 15:30:13,851 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,852 - ERROR - Error in episode 8028: name 'args' is not defined +2025-03-10 15:30:13,854 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,855 - ERROR - Error in episode 8029: name 'args' is not defined +2025-03-10 15:30:13,858 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,858 - ERROR - Error in episode 8030: name 'args' is not defined +2025-03-10 15:30:13,862 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,862 - ERROR - Error in episode 8031: name 'args' is not defined +2025-03-10 15:30:13,864 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,865 - ERROR - Error in episode 8032: name 'args' is not defined +2025-03-10 15:30:13,867 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,868 - ERROR - Error in episode 8033: name 'args' is not defined +2025-03-10 15:30:13,870 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,870 - ERROR - Error in episode 8034: name 'args' is not defined +2025-03-10 15:30:13,873 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,873 - ERROR - Error in episode 8035: name 'args' is not defined +2025-03-10 15:30:13,876 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,877 - ERROR - Error in episode 8036: name 'args' is not defined +2025-03-10 15:30:13,879 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,879 - ERROR - Error in episode 8037: name 'args' is not defined +2025-03-10 15:30:13,882 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,882 - ERROR - Error in episode 8038: name 'args' is not defined +2025-03-10 15:30:13,885 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,885 - ERROR - Error in episode 8039: name 'args' is not defined +2025-03-10 15:30:13,888 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,888 - ERROR - Error in episode 8040: name 'args' is not defined +2025-03-10 15:30:13,891 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,892 - ERROR - Error in episode 8041: name 'args' is not defined +2025-03-10 15:30:13,894 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,895 - ERROR - Error in episode 8042: name 'args' is not defined +2025-03-10 15:30:13,897 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,897 - ERROR - Error in episode 8043: name 'args' is not defined +2025-03-10 15:30:13,900 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,901 - ERROR - Error in episode 8044: name 'args' is not defined +2025-03-10 15:30:13,903 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,903 - ERROR - Error in episode 8045: name 'args' is not defined +2025-03-10 15:30:13,906 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,906 - ERROR - Error in episode 8046: name 'args' is not defined +2025-03-10 15:30:13,909 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,909 - ERROR - Error in episode 8047: name 'args' is not defined +2025-03-10 15:30:13,912 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,912 - ERROR - Error in episode 8048: name 'args' is not defined +2025-03-10 15:30:13,914 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,914 - ERROR - Error in episode 8049: name 'args' is not defined +2025-03-10 15:30:13,918 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,918 - ERROR - Error in episode 8050: name 'args' is not defined +2025-03-10 15:30:13,920 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,921 - ERROR - Error in episode 8051: name 'args' is not defined +2025-03-10 15:30:13,923 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,924 - ERROR - Error in episode 8052: name 'args' is not defined +2025-03-10 15:30:13,926 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,926 - ERROR - Error in episode 8053: name 'args' is not defined +2025-03-10 15:30:13,929 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,929 - ERROR - Error in episode 8054: name 'args' is not defined +2025-03-10 15:30:13,933 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,933 - ERROR - Error in episode 8055: name 'args' is not defined +2025-03-10 15:30:13,936 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,936 - ERROR - Error in episode 8056: name 'args' is not defined +2025-03-10 15:30:13,939 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,940 - ERROR - Error in episode 8057: name 'args' is not defined +2025-03-10 15:30:13,942 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,943 - ERROR - Error in episode 8058: name 'args' is not defined +2025-03-10 15:30:13,946 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,946 - ERROR - Error in episode 8059: name 'args' is not defined +2025-03-10 15:30:13,948 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,949 - ERROR - Error in episode 8060: name 'args' is not defined +2025-03-10 15:30:13,951 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,952 - ERROR - Error in episode 8061: name 'args' is not defined +2025-03-10 15:30:13,954 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,954 - ERROR - Error in episode 8062: name 'args' is not defined +2025-03-10 15:30:13,957 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,957 - ERROR - Error in episode 8063: name 'args' is not defined +2025-03-10 15:30:13,960 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,960 - ERROR - Error in episode 8064: name 'args' is not defined +2025-03-10 15:30:13,962 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,963 - ERROR - Error in episode 8065: name 'args' is not defined +2025-03-10 15:30:13,965 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,966 - ERROR - Error in episode 8066: name 'args' is not defined +2025-03-10 15:30:13,969 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,969 - ERROR - Error in episode 8067: name 'args' is not defined +2025-03-10 15:30:13,972 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,973 - ERROR - Error in episode 8068: name 'args' is not defined +2025-03-10 15:30:13,975 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,975 - ERROR - Error in episode 8069: name 'args' is not defined +2025-03-10 15:30:13,979 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,979 - ERROR - Error in episode 8070: name 'args' is not defined +2025-03-10 15:30:13,981 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,982 - ERROR - Error in episode 8071: name 'args' is not defined +2025-03-10 15:30:13,985 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,985 - ERROR - Error in episode 8072: name 'args' is not defined +2025-03-10 15:30:13,989 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,989 - ERROR - Error in episode 8073: name 'args' is not defined +2025-03-10 15:30:13,994 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,995 - ERROR - Error in episode 8074: name 'args' is not defined +2025-03-10 15:30:13,998 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:13,998 - ERROR - Error in episode 8075: name 'args' is not defined +2025-03-10 15:30:14,002 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,002 - ERROR - Error in episode 8076: name 'args' is not defined +2025-03-10 15:30:14,006 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,006 - ERROR - Error in episode 8077: name 'args' is not defined +2025-03-10 15:30:14,009 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,010 - ERROR - Error in episode 8078: name 'args' is not defined +2025-03-10 15:30:14,013 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,014 - ERROR - Error in episode 8079: name 'args' is not defined +2025-03-10 15:30:14,017 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,018 - ERROR - Error in episode 8080: name 'args' is not defined +2025-03-10 15:30:14,022 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,022 - ERROR - Error in episode 8081: name 'args' is not defined +2025-03-10 15:30:14,026 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,026 - ERROR - Error in episode 8082: name 'args' is not defined +2025-03-10 15:30:14,030 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,030 - ERROR - Error in episode 8083: name 'args' is not defined +2025-03-10 15:30:14,034 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,035 - ERROR - Error in episode 8084: name 'args' is not defined +2025-03-10 15:30:14,038 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,038 - ERROR - Error in episode 8085: name 'args' is not defined +2025-03-10 15:30:14,042 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,043 - ERROR - Error in episode 8086: name 'args' is not defined +2025-03-10 15:30:14,046 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,047 - ERROR - Error in episode 8087: name 'args' is not defined +2025-03-10 15:30:14,050 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,050 - ERROR - Error in episode 8088: name 'args' is not defined +2025-03-10 15:30:14,054 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,054 - ERROR - Error in episode 8089: name 'args' is not defined +2025-03-10 15:30:14,058 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,058 - ERROR - Error in episode 8090: name 'args' is not defined +2025-03-10 15:30:14,061 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,062 - ERROR - Error in episode 8091: name 'args' is not defined +2025-03-10 15:30:14,066 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,066 - ERROR - Error in episode 8092: name 'args' is not defined +2025-03-10 15:30:14,070 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,071 - ERROR - Error in episode 8093: name 'args' is not defined +2025-03-10 15:30:14,074 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,074 - ERROR - Error in episode 8094: name 'args' is not defined +2025-03-10 15:30:14,079 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,079 - ERROR - Error in episode 8095: name 'args' is not defined +2025-03-10 15:30:14,082 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,082 - ERROR - Error in episode 8096: name 'args' is not defined +2025-03-10 15:30:14,086 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,087 - ERROR - Error in episode 8097: name 'args' is not defined +2025-03-10 15:30:14,090 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,090 - ERROR - Error in episode 8098: name 'args' is not defined +2025-03-10 15:30:14,093 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,094 - ERROR - Error in episode 8099: name 'args' is not defined +2025-03-10 15:30:14,097 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,097 - ERROR - Error in episode 8100: name 'args' is not defined +2025-03-10 15:30:14,101 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,102 - ERROR - Error in episode 8101: name 'args' is not defined +2025-03-10 15:30:14,106 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,106 - ERROR - Error in episode 8102: name 'args' is not defined +2025-03-10 15:30:14,109 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,110 - ERROR - Error in episode 8103: name 'args' is not defined +2025-03-10 15:30:14,113 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,114 - ERROR - Error in episode 8104: name 'args' is not defined +2025-03-10 15:30:14,118 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,118 - ERROR - Error in episode 8105: name 'args' is not defined +2025-03-10 15:30:14,122 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,122 - ERROR - Error in episode 8106: name 'args' is not defined +2025-03-10 15:30:14,126 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,126 - ERROR - Error in episode 8107: name 'args' is not defined +2025-03-10 15:30:14,129 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,130 - ERROR - Error in episode 8108: name 'args' is not defined +2025-03-10 15:30:14,133 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,134 - ERROR - Error in episode 8109: name 'args' is not defined +2025-03-10 15:30:14,136 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,137 - ERROR - Error in episode 8110: name 'args' is not defined +2025-03-10 15:30:14,141 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,141 - ERROR - Error in episode 8111: name 'args' is not defined +2025-03-10 15:30:14,144 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,145 - ERROR - Error in episode 8112: name 'args' is not defined +2025-03-10 15:30:14,148 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,148 - ERROR - Error in episode 8113: name 'args' is not defined +2025-03-10 15:30:14,152 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,152 - ERROR - Error in episode 8114: name 'args' is not defined +2025-03-10 15:30:14,155 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,156 - ERROR - Error in episode 8115: name 'args' is not defined +2025-03-10 15:30:14,160 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,160 - ERROR - Error in episode 8116: name 'args' is not defined +2025-03-10 15:30:14,164 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,164 - ERROR - Error in episode 8117: name 'args' is not defined +2025-03-10 15:30:14,167 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,168 - ERROR - Error in episode 8118: name 'args' is not defined +2025-03-10 15:30:14,171 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,172 - ERROR - Error in episode 8119: name 'args' is not defined +2025-03-10 15:30:14,176 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,176 - ERROR - Error in episode 8120: name 'args' is not defined +2025-03-10 15:30:14,179 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,179 - ERROR - Error in episode 8121: name 'args' is not defined +2025-03-10 15:30:14,183 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,184 - ERROR - Error in episode 8122: name 'args' is not defined +2025-03-10 15:30:14,187 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,188 - ERROR - Error in episode 8123: name 'args' is not defined +2025-03-10 15:30:14,190 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,190 - ERROR - Error in episode 8124: name 'args' is not defined +2025-03-10 15:30:14,194 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,195 - ERROR - Error in episode 8125: name 'args' is not defined +2025-03-10 15:30:14,198 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,199 - ERROR - Error in episode 8126: name 'args' is not defined +2025-03-10 15:30:14,202 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,202 - ERROR - Error in episode 8127: name 'args' is not defined +2025-03-10 15:30:14,206 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,206 - ERROR - Error in episode 8128: name 'args' is not defined +2025-03-10 15:30:14,209 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,210 - ERROR - Error in episode 8129: name 'args' is not defined +2025-03-10 15:30:14,212 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,213 - ERROR - Error in episode 8130: name 'args' is not defined +2025-03-10 15:30:14,215 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,216 - ERROR - Error in episode 8131: name 'args' is not defined +2025-03-10 15:30:14,219 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,220 - ERROR - Error in episode 8132: name 'args' is not defined +2025-03-10 15:30:14,223 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,224 - ERROR - Error in episode 8133: name 'args' is not defined +2025-03-10 15:30:14,228 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,228 - ERROR - Error in episode 8134: name 'args' is not defined +2025-03-10 15:30:14,232 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,232 - ERROR - Error in episode 8135: name 'args' is not defined +2025-03-10 15:30:14,236 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,236 - ERROR - Error in episode 8136: name 'args' is not defined +2025-03-10 15:30:14,239 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,239 - ERROR - Error in episode 8137: name 'args' is not defined +2025-03-10 15:30:14,243 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,243 - ERROR - Error in episode 8138: name 'args' is not defined +2025-03-10 15:30:14,247 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,247 - ERROR - Error in episode 8139: name 'args' is not defined +2025-03-10 15:30:14,250 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,251 - ERROR - Error in episode 8140: name 'args' is not defined +2025-03-10 15:30:14,256 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,256 - ERROR - Error in episode 8141: name 'args' is not defined +2025-03-10 15:30:14,260 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,260 - ERROR - Error in episode 8142: name 'args' is not defined +2025-03-10 15:30:14,263 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,264 - ERROR - Error in episode 8143: name 'args' is not defined +2025-03-10 15:30:14,267 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,267 - ERROR - Error in episode 8144: name 'args' is not defined +2025-03-10 15:30:14,270 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,270 - ERROR - Error in episode 8145: name 'args' is not defined +2025-03-10 15:30:14,274 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,274 - ERROR - Error in episode 8146: name 'args' is not defined +2025-03-10 15:30:14,278 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,278 - ERROR - Error in episode 8147: name 'args' is not defined +2025-03-10 15:30:14,282 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,282 - ERROR - Error in episode 8148: name 'args' is not defined +2025-03-10 15:30:14,285 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,285 - ERROR - Error in episode 8149: name 'args' is not defined +2025-03-10 15:30:14,289 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,289 - ERROR - Error in episode 8150: name 'args' is not defined +2025-03-10 15:30:14,292 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,293 - ERROR - Error in episode 8151: name 'args' is not defined +2025-03-10 15:30:14,295 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,296 - ERROR - Error in episode 8152: name 'args' is not defined +2025-03-10 15:30:14,299 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,299 - ERROR - Error in episode 8153: name 'args' is not defined +2025-03-10 15:30:14,302 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,302 - ERROR - Error in episode 8154: name 'args' is not defined +2025-03-10 15:30:14,305 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,305 - ERROR - Error in episode 8155: name 'args' is not defined +2025-03-10 15:30:14,308 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,308 - ERROR - Error in episode 8156: name 'args' is not defined +2025-03-10 15:30:14,311 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,311 - ERROR - Error in episode 8157: name 'args' is not defined +2025-03-10 15:30:14,315 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,315 - ERROR - Error in episode 8158: name 'args' is not defined +2025-03-10 15:30:14,318 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,318 - ERROR - Error in episode 8159: name 'args' is not defined +2025-03-10 15:30:14,323 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,323 - ERROR - Error in episode 8160: name 'args' is not defined +2025-03-10 15:30:14,326 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,327 - ERROR - Error in episode 8161: name 'args' is not defined +2025-03-10 15:30:14,330 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,331 - ERROR - Error in episode 8162: name 'args' is not defined +2025-03-10 15:30:14,333 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,334 - ERROR - Error in episode 8163: name 'args' is not defined +2025-03-10 15:30:14,337 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,337 - ERROR - Error in episode 8164: name 'args' is not defined +2025-03-10 15:30:14,340 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,340 - ERROR - Error in episode 8165: name 'args' is not defined +2025-03-10 15:30:14,344 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,344 - ERROR - Error in episode 8166: name 'args' is not defined +2025-03-10 15:30:14,348 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,348 - ERROR - Error in episode 8167: name 'args' is not defined +2025-03-10 15:30:14,351 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,351 - ERROR - Error in episode 8168: name 'args' is not defined +2025-03-10 15:30:14,355 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,355 - ERROR - Error in episode 8169: name 'args' is not defined +2025-03-10 15:30:14,358 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,359 - ERROR - Error in episode 8170: name 'args' is not defined +2025-03-10 15:30:14,361 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,363 - ERROR - Error in episode 8171: name 'args' is not defined +2025-03-10 15:30:14,365 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,366 - ERROR - Error in episode 8172: name 'args' is not defined +2025-03-10 15:30:14,370 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,370 - ERROR - Error in episode 8173: name 'args' is not defined +2025-03-10 15:30:14,372 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,372 - ERROR - Error in episode 8174: name 'args' is not defined +2025-03-10 15:30:14,376 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,376 - ERROR - Error in episode 8175: name 'args' is not defined +2025-03-10 15:30:14,380 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,381 - ERROR - Error in episode 8176: name 'args' is not defined +2025-03-10 15:30:14,384 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,385 - ERROR - Error in episode 8177: name 'args' is not defined +2025-03-10 15:30:14,388 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,388 - ERROR - Error in episode 8178: name 'args' is not defined +2025-03-10 15:30:14,391 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,391 - ERROR - Error in episode 8179: name 'args' is not defined +2025-03-10 15:30:14,394 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,394 - ERROR - Error in episode 8180: name 'args' is not defined +2025-03-10 15:30:14,398 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,398 - ERROR - Error in episode 8181: name 'args' is not defined +2025-03-10 15:30:14,401 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,401 - ERROR - Error in episode 8182: name 'args' is not defined +2025-03-10 15:30:14,404 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,404 - ERROR - Error in episode 8183: name 'args' is not defined +2025-03-10 15:30:14,407 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,407 - ERROR - Error in episode 8184: name 'args' is not defined +2025-03-10 15:30:14,409 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,410 - ERROR - Error in episode 8185: name 'args' is not defined +2025-03-10 15:30:14,412 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,413 - ERROR - Error in episode 8186: name 'args' is not defined +2025-03-10 15:30:14,416 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,417 - ERROR - Error in episode 8187: name 'args' is not defined +2025-03-10 15:30:14,419 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,420 - ERROR - Error in episode 8188: name 'args' is not defined +2025-03-10 15:30:14,423 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,423 - ERROR - Error in episode 8189: name 'args' is not defined +2025-03-10 15:30:14,425 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,426 - ERROR - Error in episode 8190: name 'args' is not defined +2025-03-10 15:30:14,428 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,428 - ERROR - Error in episode 8191: name 'args' is not defined +2025-03-10 15:30:14,432 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,432 - ERROR - Error in episode 8192: name 'args' is not defined +2025-03-10 15:30:14,435 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,435 - ERROR - Error in episode 8193: name 'args' is not defined +2025-03-10 15:30:14,438 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,438 - ERROR - Error in episode 8194: name 'args' is not defined +2025-03-10 15:30:14,440 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,441 - ERROR - Error in episode 8195: name 'args' is not defined +2025-03-10 15:30:14,443 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,443 - ERROR - Error in episode 8196: name 'args' is not defined +2025-03-10 15:30:14,447 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,447 - ERROR - Error in episode 8197: name 'args' is not defined +2025-03-10 15:30:14,450 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,450 - ERROR - Error in episode 8198: name 'args' is not defined +2025-03-10 15:30:14,453 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,454 - ERROR - Error in episode 8199: name 'args' is not defined +2025-03-10 15:30:14,456 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,457 - ERROR - Error in episode 8200: name 'args' is not defined +2025-03-10 15:30:14,460 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,460 - ERROR - Error in episode 8201: name 'args' is not defined +2025-03-10 15:30:14,463 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,464 - ERROR - Error in episode 8202: name 'args' is not defined +2025-03-10 15:30:14,466 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,467 - ERROR - Error in episode 8203: name 'args' is not defined +2025-03-10 15:30:14,469 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,470 - ERROR - Error in episode 8204: name 'args' is not defined +2025-03-10 15:30:14,473 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,473 - ERROR - Error in episode 8205: name 'args' is not defined +2025-03-10 15:30:14,476 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,476 - ERROR - Error in episode 8206: name 'args' is not defined +2025-03-10 15:30:14,479 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,479 - ERROR - Error in episode 8207: name 'args' is not defined +2025-03-10 15:30:14,481 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,482 - ERROR - Error in episode 8208: name 'args' is not defined +2025-03-10 15:30:14,484 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,484 - ERROR - Error in episode 8209: name 'args' is not defined +2025-03-10 15:30:14,486 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,487 - ERROR - Error in episode 8210: name 'args' is not defined +2025-03-10 15:30:14,489 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,490 - ERROR - Error in episode 8211: name 'args' is not defined +2025-03-10 15:30:14,492 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,492 - ERROR - Error in episode 8212: name 'args' is not defined +2025-03-10 15:30:14,494 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,495 - ERROR - Error in episode 8213: name 'args' is not defined +2025-03-10 15:30:14,498 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,498 - ERROR - Error in episode 8214: name 'args' is not defined +2025-03-10 15:30:14,500 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,501 - ERROR - Error in episode 8215: name 'args' is not defined +2025-03-10 15:30:14,503 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,503 - ERROR - Error in episode 8216: name 'args' is not defined +2025-03-10 15:30:14,506 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,507 - ERROR - Error in episode 8217: name 'args' is not defined +2025-03-10 15:30:14,509 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,510 - ERROR - Error in episode 8218: name 'args' is not defined +2025-03-10 15:30:14,512 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,512 - ERROR - Error in episode 8219: name 'args' is not defined +2025-03-10 15:30:14,515 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,515 - ERROR - Error in episode 8220: name 'args' is not defined +2025-03-10 15:30:14,518 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,518 - ERROR - Error in episode 8221: name 'args' is not defined +2025-03-10 15:30:14,521 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,522 - ERROR - Error in episode 8222: name 'args' is not defined +2025-03-10 15:30:14,525 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,525 - ERROR - Error in episode 8223: name 'args' is not defined +2025-03-10 15:30:14,527 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,528 - ERROR - Error in episode 8224: name 'args' is not defined +2025-03-10 15:30:14,531 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,531 - ERROR - Error in episode 8225: name 'args' is not defined +2025-03-10 15:30:14,534 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,534 - ERROR - Error in episode 8226: name 'args' is not defined +2025-03-10 15:30:14,536 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,536 - ERROR - Error in episode 8227: name 'args' is not defined +2025-03-10 15:30:14,540 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,540 - ERROR - Error in episode 8228: name 'args' is not defined +2025-03-10 15:30:14,543 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,543 - ERROR - Error in episode 8229: name 'args' is not defined +2025-03-10 15:30:14,546 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,546 - ERROR - Error in episode 8230: name 'args' is not defined +2025-03-10 15:30:14,548 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,549 - ERROR - Error in episode 8231: name 'args' is not defined +2025-03-10 15:30:14,551 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,552 - ERROR - Error in episode 8232: name 'args' is not defined +2025-03-10 15:30:14,555 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,555 - ERROR - Error in episode 8233: name 'args' is not defined +2025-03-10 15:30:14,557 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,558 - ERROR - Error in episode 8234: name 'args' is not defined +2025-03-10 15:30:14,561 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,561 - ERROR - Error in episode 8235: name 'args' is not defined +2025-03-10 15:30:14,564 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,564 - ERROR - Error in episode 8236: name 'args' is not defined +2025-03-10 15:30:14,567 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,567 - ERROR - Error in episode 8237: name 'args' is not defined +2025-03-10 15:30:14,570 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,570 - ERROR - Error in episode 8238: name 'args' is not defined +2025-03-10 15:30:14,572 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,573 - ERROR - Error in episode 8239: name 'args' is not defined +2025-03-10 15:30:14,575 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,576 - ERROR - Error in episode 8240: name 'args' is not defined +2025-03-10 15:30:14,579 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,579 - ERROR - Error in episode 8241: name 'args' is not defined +2025-03-10 15:30:14,582 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,582 - ERROR - Error in episode 8242: name 'args' is not defined +2025-03-10 15:30:14,585 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,585 - ERROR - Error in episode 8243: name 'args' is not defined +2025-03-10 15:30:14,588 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,588 - ERROR - Error in episode 8244: name 'args' is not defined +2025-03-10 15:30:14,590 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,591 - ERROR - Error in episode 8245: name 'args' is not defined +2025-03-10 15:30:14,594 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,594 - ERROR - Error in episode 8246: name 'args' is not defined +2025-03-10 15:30:14,596 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,597 - ERROR - Error in episode 8247: name 'args' is not defined +2025-03-10 15:30:14,599 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,599 - ERROR - Error in episode 8248: name 'args' is not defined +2025-03-10 15:30:14,602 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,602 - ERROR - Error in episode 8249: name 'args' is not defined +2025-03-10 15:30:14,604 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,605 - ERROR - Error in episode 8250: name 'args' is not defined +2025-03-10 15:30:14,607 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,608 - ERROR - Error in episode 8251: name 'args' is not defined +2025-03-10 15:30:14,610 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,611 - ERROR - Error in episode 8252: name 'args' is not defined +2025-03-10 15:30:14,613 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,614 - ERROR - Error in episode 8253: name 'args' is not defined +2025-03-10 15:30:14,616 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,616 - ERROR - Error in episode 8254: name 'args' is not defined +2025-03-10 15:30:14,620 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,620 - ERROR - Error in episode 8255: name 'args' is not defined +2025-03-10 15:30:14,623 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,623 - ERROR - Error in episode 8256: name 'args' is not defined +2025-03-10 15:30:14,625 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,626 - ERROR - Error in episode 8257: name 'args' is not defined +2025-03-10 15:30:14,628 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,628 - ERROR - Error in episode 8258: name 'args' is not defined +2025-03-10 15:30:14,630 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,631 - ERROR - Error in episode 8259: name 'args' is not defined +2025-03-10 15:30:14,634 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,634 - ERROR - Error in episode 8260: name 'args' is not defined +2025-03-10 15:30:14,637 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,637 - ERROR - Error in episode 8261: name 'args' is not defined +2025-03-10 15:30:14,639 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,639 - ERROR - Error in episode 8262: name 'args' is not defined +2025-03-10 15:30:14,642 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,642 - ERROR - Error in episode 8263: name 'args' is not defined +2025-03-10 15:30:14,645 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,645 - ERROR - Error in episode 8264: name 'args' is not defined +2025-03-10 15:30:14,648 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,648 - ERROR - Error in episode 8265: name 'args' is not defined +2025-03-10 15:30:14,651 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,651 - ERROR - Error in episode 8266: name 'args' is not defined +2025-03-10 15:30:14,654 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,654 - ERROR - Error in episode 8267: name 'args' is not defined +2025-03-10 15:30:14,657 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,657 - ERROR - Error in episode 8268: name 'args' is not defined +2025-03-10 15:30:14,661 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,661 - ERROR - Error in episode 8269: name 'args' is not defined +2025-03-10 15:30:14,664 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,664 - ERROR - Error in episode 8270: name 'args' is not defined +2025-03-10 15:30:14,668 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,668 - ERROR - Error in episode 8271: name 'args' is not defined +2025-03-10 15:30:14,670 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,671 - ERROR - Error in episode 8272: name 'args' is not defined +2025-03-10 15:30:14,674 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,674 - ERROR - Error in episode 8273: name 'args' is not defined +2025-03-10 15:30:14,678 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,678 - ERROR - Error in episode 8274: name 'args' is not defined +2025-03-10 15:30:14,680 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,681 - ERROR - Error in episode 8275: name 'args' is not defined +2025-03-10 15:30:14,684 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,684 - ERROR - Error in episode 8276: name 'args' is not defined +2025-03-10 15:30:14,686 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,686 - ERROR - Error in episode 8277: name 'args' is not defined +2025-03-10 15:30:14,689 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,689 - ERROR - Error in episode 8278: name 'args' is not defined +2025-03-10 15:30:14,693 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,693 - ERROR - Error in episode 8279: name 'args' is not defined +2025-03-10 15:30:14,696 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,696 - ERROR - Error in episode 8280: name 'args' is not defined +2025-03-10 15:30:14,699 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,699 - ERROR - Error in episode 8281: name 'args' is not defined +2025-03-10 15:30:14,702 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,702 - ERROR - Error in episode 8282: name 'args' is not defined +2025-03-10 15:30:14,704 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,704 - ERROR - Error in episode 8283: name 'args' is not defined +2025-03-10 15:30:14,707 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,707 - ERROR - Error in episode 8284: name 'args' is not defined +2025-03-10 15:30:14,710 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,710 - ERROR - Error in episode 8285: name 'args' is not defined +2025-03-10 15:30:14,713 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,713 - ERROR - Error in episode 8286: name 'args' is not defined +2025-03-10 15:30:14,715 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,716 - ERROR - Error in episode 8287: name 'args' is not defined +2025-03-10 15:30:14,718 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,718 - ERROR - Error in episode 8288: name 'args' is not defined +2025-03-10 15:30:14,721 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,721 - ERROR - Error in episode 8289: name 'args' is not defined +2025-03-10 15:30:14,723 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,724 - ERROR - Error in episode 8290: name 'args' is not defined +2025-03-10 15:30:14,726 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,727 - ERROR - Error in episode 8291: name 'args' is not defined +2025-03-10 15:30:14,729 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,730 - ERROR - Error in episode 8292: name 'args' is not defined +2025-03-10 15:30:14,732 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,733 - ERROR - Error in episode 8293: name 'args' is not defined +2025-03-10 15:30:14,736 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,736 - ERROR - Error in episode 8294: name 'args' is not defined +2025-03-10 15:30:14,739 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,739 - ERROR - Error in episode 8295: name 'args' is not defined +2025-03-10 15:30:14,742 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,742 - ERROR - Error in episode 8296: name 'args' is not defined +2025-03-10 15:30:14,745 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,745 - ERROR - Error in episode 8297: name 'args' is not defined +2025-03-10 15:30:14,748 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,748 - ERROR - Error in episode 8298: name 'args' is not defined +2025-03-10 15:30:14,750 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,751 - ERROR - Error in episode 8299: name 'args' is not defined +2025-03-10 15:30:14,753 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,753 - ERROR - Error in episode 8300: name 'args' is not defined +2025-03-10 15:30:14,755 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,755 - ERROR - Error in episode 8301: name 'args' is not defined +2025-03-10 15:30:14,759 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,760 - ERROR - Error in episode 8302: name 'args' is not defined +2025-03-10 15:30:14,763 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,763 - ERROR - Error in episode 8303: name 'args' is not defined +2025-03-10 15:30:14,766 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,766 - ERROR - Error in episode 8304: name 'args' is not defined +2025-03-10 15:30:14,770 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,770 - ERROR - Error in episode 8305: name 'args' is not defined +2025-03-10 15:30:14,773 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,774 - ERROR - Error in episode 8306: name 'args' is not defined +2025-03-10 15:30:14,776 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,778 - ERROR - Error in episode 8307: name 'args' is not defined +2025-03-10 15:30:14,780 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,780 - ERROR - Error in episode 8308: name 'args' is not defined +2025-03-10 15:30:14,784 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,784 - ERROR - Error in episode 8309: name 'args' is not defined +2025-03-10 15:30:14,788 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,788 - ERROR - Error in episode 8310: name 'args' is not defined +2025-03-10 15:30:14,793 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,793 - ERROR - Error in episode 8311: name 'args' is not defined +2025-03-10 15:30:14,796 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,796 - ERROR - Error in episode 8312: name 'args' is not defined +2025-03-10 15:30:14,798 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,799 - ERROR - Error in episode 8313: name 'args' is not defined +2025-03-10 15:30:14,802 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,802 - ERROR - Error in episode 8314: name 'args' is not defined +2025-03-10 15:30:14,805 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,805 - ERROR - Error in episode 8315: name 'args' is not defined +2025-03-10 15:30:14,808 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,808 - ERROR - Error in episode 8316: name 'args' is not defined +2025-03-10 15:30:14,811 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,811 - ERROR - Error in episode 8317: name 'args' is not defined +2025-03-10 15:30:14,813 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,814 - ERROR - Error in episode 8318: name 'args' is not defined +2025-03-10 15:30:14,816 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,816 - ERROR - Error in episode 8319: name 'args' is not defined +2025-03-10 15:30:14,818 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,819 - ERROR - Error in episode 8320: name 'args' is not defined +2025-03-10 15:30:14,821 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,821 - ERROR - Error in episode 8321: name 'args' is not defined +2025-03-10 15:30:14,824 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,824 - ERROR - Error in episode 8322: name 'args' is not defined +2025-03-10 15:30:14,827 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,828 - ERROR - Error in episode 8323: name 'args' is not defined +2025-03-10 15:30:14,830 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,831 - ERROR - Error in episode 8324: name 'args' is not defined +2025-03-10 15:30:14,833 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,833 - ERROR - Error in episode 8325: name 'args' is not defined +2025-03-10 15:30:14,836 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,837 - ERROR - Error in episode 8326: name 'args' is not defined +2025-03-10 15:30:14,839 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,839 - ERROR - Error in episode 8327: name 'args' is not defined +2025-03-10 15:30:14,843 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,843 - ERROR - Error in episode 8328: name 'args' is not defined +2025-03-10 15:30:14,845 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,846 - ERROR - Error in episode 8329: name 'args' is not defined +2025-03-10 15:30:14,848 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,848 - ERROR - Error in episode 8330: name 'args' is not defined +2025-03-10 15:30:14,851 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,852 - ERROR - Error in episode 8331: name 'args' is not defined +2025-03-10 15:30:14,854 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,855 - ERROR - Error in episode 8332: name 'args' is not defined +2025-03-10 15:30:14,857 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,857 - ERROR - Error in episode 8333: name 'args' is not defined +2025-03-10 15:30:14,860 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,860 - ERROR - Error in episode 8334: name 'args' is not defined +2025-03-10 15:30:14,863 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,863 - ERROR - Error in episode 8335: name 'args' is not defined +2025-03-10 15:30:14,866 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,866 - ERROR - Error in episode 8336: name 'args' is not defined +2025-03-10 15:30:14,869 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,869 - ERROR - Error in episode 8337: name 'args' is not defined +2025-03-10 15:30:14,872 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,872 - ERROR - Error in episode 8338: name 'args' is not defined +2025-03-10 15:30:14,875 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,875 - ERROR - Error in episode 8339: name 'args' is not defined +2025-03-10 15:30:14,877 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,877 - ERROR - Error in episode 8340: name 'args' is not defined +2025-03-10 15:30:14,880 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,880 - ERROR - Error in episode 8341: name 'args' is not defined +2025-03-10 15:30:14,882 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,884 - ERROR - Error in episode 8342: name 'args' is not defined +2025-03-10 15:30:14,887 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,887 - ERROR - Error in episode 8343: name 'args' is not defined +2025-03-10 15:30:14,889 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,890 - ERROR - Error in episode 8344: name 'args' is not defined +2025-03-10 15:30:14,892 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,893 - ERROR - Error in episode 8345: name 'args' is not defined +2025-03-10 15:30:14,895 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,895 - ERROR - Error in episode 8346: name 'args' is not defined +2025-03-10 15:30:14,898 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,898 - ERROR - Error in episode 8347: name 'args' is not defined +2025-03-10 15:30:14,901 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,901 - ERROR - Error in episode 8348: name 'args' is not defined +2025-03-10 15:30:14,904 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,905 - ERROR - Error in episode 8349: name 'args' is not defined +2025-03-10 15:30:14,907 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,908 - ERROR - Error in episode 8350: name 'args' is not defined +2025-03-10 15:30:14,910 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,911 - ERROR - Error in episode 8351: name 'args' is not defined +2025-03-10 15:30:14,913 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,914 - ERROR - Error in episode 8352: name 'args' is not defined +2025-03-10 15:30:14,916 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,916 - ERROR - Error in episode 8353: name 'args' is not defined +2025-03-10 15:30:14,920 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,920 - ERROR - Error in episode 8354: name 'args' is not defined +2025-03-10 15:30:14,922 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,923 - ERROR - Error in episode 8355: name 'args' is not defined +2025-03-10 15:30:14,925 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,926 - ERROR - Error in episode 8356: name 'args' is not defined +2025-03-10 15:30:14,929 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,929 - ERROR - Error in episode 8357: name 'args' is not defined +2025-03-10 15:30:14,932 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,932 - ERROR - Error in episode 8358: name 'args' is not defined +2025-03-10 15:30:14,934 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,935 - ERROR - Error in episode 8359: name 'args' is not defined +2025-03-10 15:30:14,937 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,937 - ERROR - Error in episode 8360: name 'args' is not defined +2025-03-10 15:30:14,941 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,941 - ERROR - Error in episode 8361: name 'args' is not defined +2025-03-10 15:30:14,944 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,944 - ERROR - Error in episode 8362: name 'args' is not defined +2025-03-10 15:30:14,946 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,947 - ERROR - Error in episode 8363: name 'args' is not defined +2025-03-10 15:30:14,949 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,949 - ERROR - Error in episode 8364: name 'args' is not defined +2025-03-10 15:30:14,952 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,952 - ERROR - Error in episode 8365: name 'args' is not defined +2025-03-10 15:30:14,955 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,956 - ERROR - Error in episode 8366: name 'args' is not defined +2025-03-10 15:30:14,958 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,960 - ERROR - Error in episode 8367: name 'args' is not defined +2025-03-10 15:30:14,962 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,962 - ERROR - Error in episode 8368: name 'args' is not defined +2025-03-10 15:30:14,965 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,965 - ERROR - Error in episode 8369: name 'args' is not defined +2025-03-10 15:30:14,968 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,968 - ERROR - Error in episode 8370: name 'args' is not defined +2025-03-10 15:30:14,971 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,972 - ERROR - Error in episode 8371: name 'args' is not defined +2025-03-10 15:30:14,975 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,975 - ERROR - Error in episode 8372: name 'args' is not defined +2025-03-10 15:30:14,978 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,979 - ERROR - Error in episode 8373: name 'args' is not defined +2025-03-10 15:30:14,982 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,982 - ERROR - Error in episode 8374: name 'args' is not defined +2025-03-10 15:30:14,986 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,986 - ERROR - Error in episode 8375: name 'args' is not defined +2025-03-10 15:30:14,989 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,989 - ERROR - Error in episode 8376: name 'args' is not defined +2025-03-10 15:30:14,992 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,992 - ERROR - Error in episode 8377: name 'args' is not defined +2025-03-10 15:30:14,995 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,995 - ERROR - Error in episode 8378: name 'args' is not defined +2025-03-10 15:30:14,998 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:14,998 - ERROR - Error in episode 8379: name 'args' is not defined +2025-03-10 15:30:15,001 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,002 - ERROR - Error in episode 8380: name 'args' is not defined +2025-03-10 15:30:15,004 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,005 - ERROR - Error in episode 8381: name 'args' is not defined +2025-03-10 15:30:15,007 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,008 - ERROR - Error in episode 8382: name 'args' is not defined +2025-03-10 15:30:15,011 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,012 - ERROR - Error in episode 8383: name 'args' is not defined +2025-03-10 15:30:15,015 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,015 - ERROR - Error in episode 8384: name 'args' is not defined +2025-03-10 15:30:15,018 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,018 - ERROR - Error in episode 8385: name 'args' is not defined +2025-03-10 15:30:15,021 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,021 - ERROR - Error in episode 8386: name 'args' is not defined +2025-03-10 15:30:15,023 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,024 - ERROR - Error in episode 8387: name 'args' is not defined +2025-03-10 15:30:15,026 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,027 - ERROR - Error in episode 8388: name 'args' is not defined +2025-03-10 15:30:15,029 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,030 - ERROR - Error in episode 8389: name 'args' is not defined +2025-03-10 15:30:15,032 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,032 - ERROR - Error in episode 8390: name 'args' is not defined +2025-03-10 15:30:15,036 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,036 - ERROR - Error in episode 8391: name 'args' is not defined +2025-03-10 15:30:15,038 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,038 - ERROR - Error in episode 8392: name 'args' is not defined +2025-03-10 15:30:15,040 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,041 - ERROR - Error in episode 8393: name 'args' is not defined +2025-03-10 15:30:15,043 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,044 - ERROR - Error in episode 8394: name 'args' is not defined +2025-03-10 15:30:15,046 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,047 - ERROR - Error in episode 8395: name 'args' is not defined +2025-03-10 15:30:15,050 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,050 - ERROR - Error in episode 8396: name 'args' is not defined +2025-03-10 15:30:15,053 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,053 - ERROR - Error in episode 8397: name 'args' is not defined +2025-03-10 15:30:15,056 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,056 - ERROR - Error in episode 8398: name 'args' is not defined +2025-03-10 15:30:15,059 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,059 - ERROR - Error in episode 8399: name 'args' is not defined +2025-03-10 15:30:15,062 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,063 - ERROR - Error in episode 8400: name 'args' is not defined +2025-03-10 15:30:15,066 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,066 - ERROR - Error in episode 8401: name 'args' is not defined +2025-03-10 15:30:15,069 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,070 - ERROR - Error in episode 8402: name 'args' is not defined +2025-03-10 15:30:15,073 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,074 - ERROR - Error in episode 8403: name 'args' is not defined +2025-03-10 15:30:15,076 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,078 - ERROR - Error in episode 8404: name 'args' is not defined +2025-03-10 15:30:15,081 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,082 - ERROR - Error in episode 8405: name 'args' is not defined +2025-03-10 15:30:15,084 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,085 - ERROR - Error in episode 8406: name 'args' is not defined +2025-03-10 15:30:15,088 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,089 - ERROR - Error in episode 8407: name 'args' is not defined +2025-03-10 15:30:15,092 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,093 - ERROR - Error in episode 8408: name 'args' is not defined +2025-03-10 15:30:15,096 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,097 - ERROR - Error in episode 8409: name 'args' is not defined +2025-03-10 15:30:15,101 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,101 - ERROR - Error in episode 8410: name 'args' is not defined +2025-03-10 15:30:15,105 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,106 - ERROR - Error in episode 8411: name 'args' is not defined +2025-03-10 15:30:15,110 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,111 - ERROR - Error in episode 8412: name 'args' is not defined +2025-03-10 15:30:15,115 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,116 - ERROR - Error in episode 8413: name 'args' is not defined +2025-03-10 15:30:15,118 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,119 - ERROR - Error in episode 8414: name 'args' is not defined +2025-03-10 15:30:15,123 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,123 - ERROR - Error in episode 8415: name 'args' is not defined +2025-03-10 15:30:15,127 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,128 - ERROR - Error in episode 8416: name 'args' is not defined +2025-03-10 15:30:15,130 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,131 - ERROR - Error in episode 8417: name 'args' is not defined +2025-03-10 15:30:15,134 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,135 - ERROR - Error in episode 8418: name 'args' is not defined +2025-03-10 15:30:15,139 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,139 - ERROR - Error in episode 8419: name 'args' is not defined +2025-03-10 15:30:15,143 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,143 - ERROR - Error in episode 8420: name 'args' is not defined +2025-03-10 15:30:15,146 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,147 - ERROR - Error in episode 8421: name 'args' is not defined +2025-03-10 15:30:15,150 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,150 - ERROR - Error in episode 8422: name 'args' is not defined +2025-03-10 15:30:15,153 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,154 - ERROR - Error in episode 8423: name 'args' is not defined +2025-03-10 15:30:15,157 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,158 - ERROR - Error in episode 8424: name 'args' is not defined +2025-03-10 15:30:15,161 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,161 - ERROR - Error in episode 8425: name 'args' is not defined +2025-03-10 15:30:15,165 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,166 - ERROR - Error in episode 8426: name 'args' is not defined +2025-03-10 15:30:15,169 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,170 - ERROR - Error in episode 8427: name 'args' is not defined +2025-03-10 15:30:15,174 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,174 - ERROR - Error in episode 8428: name 'args' is not defined +2025-03-10 15:30:15,177 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,177 - ERROR - Error in episode 8429: name 'args' is not defined +2025-03-10 15:30:15,180 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,181 - ERROR - Error in episode 8430: name 'args' is not defined +2025-03-10 15:30:15,184 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,185 - ERROR - Error in episode 8431: name 'args' is not defined +2025-03-10 15:30:15,188 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,189 - ERROR - Error in episode 8432: name 'args' is not defined +2025-03-10 15:30:15,191 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,192 - ERROR - Error in episode 8433: name 'args' is not defined +2025-03-10 15:30:15,195 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,196 - ERROR - Error in episode 8434: name 'args' is not defined +2025-03-10 15:30:15,199 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,200 - ERROR - Error in episode 8435: name 'args' is not defined +2025-03-10 15:30:15,203 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,203 - ERROR - Error in episode 8436: name 'args' is not defined +2025-03-10 15:30:15,206 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,206 - ERROR - Error in episode 8437: name 'args' is not defined +2025-03-10 15:30:15,210 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,210 - ERROR - Error in episode 8438: name 'args' is not defined +2025-03-10 15:30:15,212 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,213 - ERROR - Error in episode 8439: name 'args' is not defined +2025-03-10 15:30:15,217 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,217 - ERROR - Error in episode 8440: name 'args' is not defined +2025-03-10 15:30:15,220 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,222 - ERROR - Error in episode 8441: name 'args' is not defined +2025-03-10 15:30:15,225 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,225 - ERROR - Error in episode 8442: name 'args' is not defined +2025-03-10 15:30:15,228 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,228 - ERROR - Error in episode 8443: name 'args' is not defined +2025-03-10 15:30:15,232 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,232 - ERROR - Error in episode 8444: name 'args' is not defined +2025-03-10 15:30:15,235 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,235 - ERROR - Error in episode 8445: name 'args' is not defined +2025-03-10 15:30:15,239 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,239 - ERROR - Error in episode 8446: name 'args' is not defined +2025-03-10 15:30:15,241 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,242 - ERROR - Error in episode 8447: name 'args' is not defined +2025-03-10 15:30:15,244 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,244 - ERROR - Error in episode 8448: name 'args' is not defined +2025-03-10 15:30:15,247 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,248 - ERROR - Error in episode 8449: name 'args' is not defined +2025-03-10 15:30:15,250 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,251 - ERROR - Error in episode 8450: name 'args' is not defined +2025-03-10 15:30:15,253 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,254 - ERROR - Error in episode 8451: name 'args' is not defined +2025-03-10 15:30:15,257 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,257 - ERROR - Error in episode 8452: name 'args' is not defined +2025-03-10 15:30:15,259 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,259 - ERROR - Error in episode 8453: name 'args' is not defined +2025-03-10 15:30:15,262 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,262 - ERROR - Error in episode 8454: name 'args' is not defined +2025-03-10 15:30:15,264 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,265 - ERROR - Error in episode 8455: name 'args' is not defined +2025-03-10 15:30:15,267 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,267 - ERROR - Error in episode 8456: name 'args' is not defined +2025-03-10 15:30:15,271 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,271 - ERROR - Error in episode 8457: name 'args' is not defined +2025-03-10 15:30:15,274 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,275 - ERROR - Error in episode 8458: name 'args' is not defined +2025-03-10 15:30:15,277 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,278 - ERROR - Error in episode 8459: name 'args' is not defined +2025-03-10 15:30:15,280 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,281 - ERROR - Error in episode 8460: name 'args' is not defined +2025-03-10 15:30:15,283 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,283 - ERROR - Error in episode 8461: name 'args' is not defined +2025-03-10 15:30:15,286 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,286 - ERROR - Error in episode 8462: name 'args' is not defined +2025-03-10 15:30:15,290 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,290 - ERROR - Error in episode 8463: name 'args' is not defined +2025-03-10 15:30:15,293 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,293 - ERROR - Error in episode 8464: name 'args' is not defined +2025-03-10 15:30:15,296 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,296 - ERROR - Error in episode 8465: name 'args' is not defined +2025-03-10 15:30:15,299 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,299 - ERROR - Error in episode 8466: name 'args' is not defined +2025-03-10 15:30:15,302 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,302 - ERROR - Error in episode 8467: name 'args' is not defined +2025-03-10 15:30:15,305 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,305 - ERROR - Error in episode 8468: name 'args' is not defined +2025-03-10 15:30:15,308 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,308 - ERROR - Error in episode 8469: name 'args' is not defined +2025-03-10 15:30:15,311 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,311 - ERROR - Error in episode 8470: name 'args' is not defined +2025-03-10 15:30:15,314 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,314 - ERROR - Error in episode 8471: name 'args' is not defined +2025-03-10 15:30:15,318 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,318 - ERROR - Error in episode 8472: name 'args' is not defined +2025-03-10 15:30:15,320 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,321 - ERROR - Error in episode 8473: name 'args' is not defined +2025-03-10 15:30:15,323 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,323 - ERROR - Error in episode 8474: name 'args' is not defined +2025-03-10 15:30:15,326 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,326 - ERROR - Error in episode 8475: name 'args' is not defined +2025-03-10 15:30:15,329 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,329 - ERROR - Error in episode 8476: name 'args' is not defined +2025-03-10 15:30:15,331 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,332 - ERROR - Error in episode 8477: name 'args' is not defined +2025-03-10 15:30:15,334 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,335 - ERROR - Error in episode 8478: name 'args' is not defined +2025-03-10 15:30:15,338 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,338 - ERROR - Error in episode 8479: name 'args' is not defined +2025-03-10 15:30:15,341 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,341 - ERROR - Error in episode 8480: name 'args' is not defined +2025-03-10 15:30:15,344 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,344 - ERROR - Error in episode 8481: name 'args' is not defined +2025-03-10 15:30:15,346 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,347 - ERROR - Error in episode 8482: name 'args' is not defined +2025-03-10 15:30:15,349 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,349 - ERROR - Error in episode 8483: name 'args' is not defined +2025-03-10 15:30:15,353 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,353 - ERROR - Error in episode 8484: name 'args' is not defined +2025-03-10 15:30:15,356 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,357 - ERROR - Error in episode 8485: name 'args' is not defined +2025-03-10 15:30:15,360 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,360 - ERROR - Error in episode 8486: name 'args' is not defined +2025-03-10 15:30:15,363 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,364 - ERROR - Error in episode 8487: name 'args' is not defined +2025-03-10 15:30:15,366 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,366 - ERROR - Error in episode 8488: name 'args' is not defined +2025-03-10 15:30:15,369 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,369 - ERROR - Error in episode 8489: name 'args' is not defined +2025-03-10 15:30:15,372 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,372 - ERROR - Error in episode 8490: name 'args' is not defined +2025-03-10 15:30:15,375 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,376 - ERROR - Error in episode 8491: name 'args' is not defined +2025-03-10 15:30:15,378 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,379 - ERROR - Error in episode 8492: name 'args' is not defined +2025-03-10 15:30:15,381 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,381 - ERROR - Error in episode 8493: name 'args' is not defined +2025-03-10 15:30:15,384 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,385 - ERROR - Error in episode 8494: name 'args' is not defined +2025-03-10 15:30:15,387 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,387 - ERROR - Error in episode 8495: name 'args' is not defined +2025-03-10 15:30:15,391 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,391 - ERROR - Error in episode 8496: name 'args' is not defined +2025-03-10 15:30:15,393 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,394 - ERROR - Error in episode 8497: name 'args' is not defined +2025-03-10 15:30:15,396 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,397 - ERROR - Error in episode 8498: name 'args' is not defined +2025-03-10 15:30:15,400 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,400 - ERROR - Error in episode 8499: name 'args' is not defined +2025-03-10 15:30:15,403 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,403 - ERROR - Error in episode 8500: name 'args' is not defined +2025-03-10 15:30:15,407 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,408 - ERROR - Error in episode 8501: name 'args' is not defined +2025-03-10 15:30:15,411 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,411 - ERROR - Error in episode 8502: name 'args' is not defined +2025-03-10 15:30:15,414 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,414 - ERROR - Error in episode 8503: name 'args' is not defined +2025-03-10 15:30:15,417 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,417 - ERROR - Error in episode 8504: name 'args' is not defined +2025-03-10 15:30:15,420 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,420 - ERROR - Error in episode 8505: name 'args' is not defined +2025-03-10 15:30:15,423 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,424 - ERROR - Error in episode 8506: name 'args' is not defined +2025-03-10 15:30:15,426 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,426 - ERROR - Error in episode 8507: name 'args' is not defined +2025-03-10 15:30:15,429 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,429 - ERROR - Error in episode 8508: name 'args' is not defined +2025-03-10 15:30:15,433 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,433 - ERROR - Error in episode 8509: name 'args' is not defined +2025-03-10 15:30:15,437 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,437 - ERROR - Error in episode 8510: name 'args' is not defined +2025-03-10 15:30:15,439 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,440 - ERROR - Error in episode 8511: name 'args' is not defined +2025-03-10 15:30:15,442 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,442 - ERROR - Error in episode 8512: name 'args' is not defined +2025-03-10 15:30:15,445 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,445 - ERROR - Error in episode 8513: name 'args' is not defined +2025-03-10 15:30:15,448 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,448 - ERROR - Error in episode 8514: name 'args' is not defined +2025-03-10 15:30:15,452 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,452 - ERROR - Error in episode 8515: name 'args' is not defined +2025-03-10 15:30:15,454 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,455 - ERROR - Error in episode 8516: name 'args' is not defined +2025-03-10 15:30:15,457 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,458 - ERROR - Error in episode 8517: name 'args' is not defined +2025-03-10 15:30:15,460 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,460 - ERROR - Error in episode 8518: name 'args' is not defined +2025-03-10 15:30:15,462 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,463 - ERROR - Error in episode 8519: name 'args' is not defined +2025-03-10 15:30:15,466 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,466 - ERROR - Error in episode 8520: name 'args' is not defined +2025-03-10 15:30:15,469 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,470 - ERROR - Error in episode 8521: name 'args' is not defined +2025-03-10 15:30:15,473 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,473 - ERROR - Error in episode 8522: name 'args' is not defined +2025-03-10 15:30:15,476 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,476 - ERROR - Error in episode 8523: name 'args' is not defined +2025-03-10 15:30:15,478 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,479 - ERROR - Error in episode 8524: name 'args' is not defined +2025-03-10 15:30:15,481 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,481 - ERROR - Error in episode 8525: name 'args' is not defined +2025-03-10 15:30:15,484 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,484 - ERROR - Error in episode 8526: name 'args' is not defined +2025-03-10 15:30:15,487 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,488 - ERROR - Error in episode 8527: name 'args' is not defined +2025-03-10 15:30:15,490 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,490 - ERROR - Error in episode 8528: name 'args' is not defined +2025-03-10 15:30:15,493 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,493 - ERROR - Error in episode 8529: name 'args' is not defined +2025-03-10 15:30:15,496 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,496 - ERROR - Error in episode 8530: name 'args' is not defined +2025-03-10 15:30:15,499 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,499 - ERROR - Error in episode 8531: name 'args' is not defined +2025-03-10 15:30:15,502 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,502 - ERROR - Error in episode 8532: name 'args' is not defined +2025-03-10 15:30:15,505 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,506 - ERROR - Error in episode 8533: name 'args' is not defined +2025-03-10 15:30:15,508 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,509 - ERROR - Error in episode 8534: name 'args' is not defined +2025-03-10 15:30:15,512 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,512 - ERROR - Error in episode 8535: name 'args' is not defined +2025-03-10 15:30:15,515 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,515 - ERROR - Error in episode 8536: name 'args' is not defined +2025-03-10 15:30:15,518 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,518 - ERROR - Error in episode 8537: name 'args' is not defined +2025-03-10 15:30:15,520 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,520 - ERROR - Error in episode 8538: name 'args' is not defined +2025-03-10 15:30:15,523 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,523 - ERROR - Error in episode 8539: name 'args' is not defined +2025-03-10 15:30:15,526 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,526 - ERROR - Error in episode 8540: name 'args' is not defined +2025-03-10 15:30:15,528 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,529 - ERROR - Error in episode 8541: name 'args' is not defined +2025-03-10 15:30:15,531 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,531 - ERROR - Error in episode 8542: name 'args' is not defined +2025-03-10 15:30:15,534 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,535 - ERROR - Error in episode 8543: name 'args' is not defined +2025-03-10 15:30:15,537 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,538 - ERROR - Error in episode 8544: name 'args' is not defined +2025-03-10 15:30:15,540 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,540 - ERROR - Error in episode 8545: name 'args' is not defined +2025-03-10 15:30:15,544 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,544 - ERROR - Error in episode 8546: name 'args' is not defined +2025-03-10 15:30:15,547 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,547 - ERROR - Error in episode 8547: name 'args' is not defined +2025-03-10 15:30:15,551 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,551 - ERROR - Error in episode 8548: name 'args' is not defined +2025-03-10 15:30:15,554 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,554 - ERROR - Error in episode 8549: name 'args' is not defined +2025-03-10 15:30:15,557 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,557 - ERROR - Error in episode 8550: name 'args' is not defined +2025-03-10 15:30:15,559 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,560 - ERROR - Error in episode 8551: name 'args' is not defined +2025-03-10 15:30:15,562 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,562 - ERROR - Error in episode 8552: name 'args' is not defined +2025-03-10 15:30:15,565 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,565 - ERROR - Error in episode 8553: name 'args' is not defined +2025-03-10 15:30:15,568 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,569 - ERROR - Error in episode 8554: name 'args' is not defined +2025-03-10 15:30:15,571 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,572 - ERROR - Error in episode 8555: name 'args' is not defined +2025-03-10 15:30:15,574 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,575 - ERROR - Error in episode 8556: name 'args' is not defined +2025-03-10 15:30:15,577 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,578 - ERROR - Error in episode 8557: name 'args' is not defined +2025-03-10 15:30:15,580 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,581 - ERROR - Error in episode 8558: name 'args' is not defined +2025-03-10 15:30:15,583 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,584 - ERROR - Error in episode 8559: name 'args' is not defined +2025-03-10 15:30:15,586 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,586 - ERROR - Error in episode 8560: name 'args' is not defined +2025-03-10 15:30:15,589 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,590 - ERROR - Error in episode 8561: name 'args' is not defined +2025-03-10 15:30:15,592 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,593 - ERROR - Error in episode 8562: name 'args' is not defined +2025-03-10 15:30:15,595 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,595 - ERROR - Error in episode 8563: name 'args' is not defined +2025-03-10 15:30:15,598 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,599 - ERROR - Error in episode 8564: name 'args' is not defined +2025-03-10 15:30:15,602 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,602 - ERROR - Error in episode 8565: name 'args' is not defined +2025-03-10 15:30:15,604 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,605 - ERROR - Error in episode 8566: name 'args' is not defined +2025-03-10 15:30:15,607 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,607 - ERROR - Error in episode 8567: name 'args' is not defined +2025-03-10 15:30:15,610 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,611 - ERROR - Error in episode 8568: name 'args' is not defined +2025-03-10 15:30:15,613 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,614 - ERROR - Error in episode 8569: name 'args' is not defined +2025-03-10 15:30:15,616 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,616 - ERROR - Error in episode 8570: name 'args' is not defined +2025-03-10 15:30:15,619 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,619 - ERROR - Error in episode 8571: name 'args' is not defined +2025-03-10 15:30:15,622 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,622 - ERROR - Error in episode 8572: name 'args' is not defined +2025-03-10 15:30:15,625 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,625 - ERROR - Error in episode 8573: name 'args' is not defined +2025-03-10 15:30:15,628 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,629 - ERROR - Error in episode 8574: name 'args' is not defined +2025-03-10 15:30:15,631 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,632 - ERROR - Error in episode 8575: name 'args' is not defined +2025-03-10 15:30:15,634 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,634 - ERROR - Error in episode 8576: name 'args' is not defined +2025-03-10 15:30:15,636 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,636 - ERROR - Error in episode 8577: name 'args' is not defined +2025-03-10 15:30:15,639 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,640 - ERROR - Error in episode 8578: name 'args' is not defined +2025-03-10 15:30:15,642 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,642 - ERROR - Error in episode 8579: name 'args' is not defined +2025-03-10 15:30:15,645 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,646 - ERROR - Error in episode 8580: name 'args' is not defined +2025-03-10 15:30:15,649 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,649 - ERROR - Error in episode 8581: name 'args' is not defined +2025-03-10 15:30:15,651 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,652 - ERROR - Error in episode 8582: name 'args' is not defined +2025-03-10 15:30:15,654 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,654 - ERROR - Error in episode 8583: name 'args' is not defined +2025-03-10 15:30:15,657 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,657 - ERROR - Error in episode 8584: name 'args' is not defined +2025-03-10 15:30:15,660 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,661 - ERROR - Error in episode 8585: name 'args' is not defined +2025-03-10 15:30:15,664 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,665 - ERROR - Error in episode 8586: name 'args' is not defined +2025-03-10 15:30:15,667 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,668 - ERROR - Error in episode 8587: name 'args' is not defined +2025-03-10 15:30:15,670 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,670 - ERROR - Error in episode 8588: name 'args' is not defined +2025-03-10 15:30:15,673 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,674 - ERROR - Error in episode 8589: name 'args' is not defined +2025-03-10 15:30:15,676 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,677 - ERROR - Error in episode 8590: name 'args' is not defined +2025-03-10 15:30:15,680 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,680 - ERROR - Error in episode 8591: name 'args' is not defined +2025-03-10 15:30:15,683 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,683 - ERROR - Error in episode 8592: name 'args' is not defined +2025-03-10 15:30:15,686 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,686 - ERROR - Error in episode 8593: name 'args' is not defined +2025-03-10 15:30:15,689 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,689 - ERROR - Error in episode 8594: name 'args' is not defined +2025-03-10 15:30:15,692 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,692 - ERROR - Error in episode 8595: name 'args' is not defined +2025-03-10 15:30:15,694 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,695 - ERROR - Error in episode 8596: name 'args' is not defined +2025-03-10 15:30:15,698 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,698 - ERROR - Error in episode 8597: name 'args' is not defined +2025-03-10 15:30:15,700 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,700 - ERROR - Error in episode 8598: name 'args' is not defined +2025-03-10 15:30:15,703 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,703 - ERROR - Error in episode 8599: name 'args' is not defined +2025-03-10 15:30:15,707 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,707 - ERROR - Error in episode 8600: name 'args' is not defined +2025-03-10 15:30:15,710 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,710 - ERROR - Error in episode 8601: name 'args' is not defined +2025-03-10 15:30:15,712 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,713 - ERROR - Error in episode 8602: name 'args' is not defined +2025-03-10 15:30:15,715 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,716 - ERROR - Error in episode 8603: name 'args' is not defined +2025-03-10 15:30:15,718 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,718 - ERROR - Error in episode 8604: name 'args' is not defined +2025-03-10 15:30:15,721 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,721 - ERROR - Error in episode 8605: name 'args' is not defined +2025-03-10 15:30:15,724 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,724 - ERROR - Error in episode 8606: name 'args' is not defined +2025-03-10 15:30:15,727 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,727 - ERROR - Error in episode 8607: name 'args' is not defined +2025-03-10 15:30:15,729 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,730 - ERROR - Error in episode 8608: name 'args' is not defined +2025-03-10 15:30:15,732 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,733 - ERROR - Error in episode 8609: name 'args' is not defined +2025-03-10 15:30:15,735 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,735 - ERROR - Error in episode 8610: name 'args' is not defined +2025-03-10 15:30:15,739 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,739 - ERROR - Error in episode 8611: name 'args' is not defined +2025-03-10 15:30:15,742 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,742 - ERROR - Error in episode 8612: name 'args' is not defined +2025-03-10 15:30:15,745 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,745 - ERROR - Error in episode 8613: name 'args' is not defined +2025-03-10 15:30:15,748 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,748 - ERROR - Error in episode 8614: name 'args' is not defined +2025-03-10 15:30:15,751 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,751 - ERROR - Error in episode 8615: name 'args' is not defined +2025-03-10 15:30:15,753 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,754 - ERROR - Error in episode 8616: name 'args' is not defined +2025-03-10 15:30:15,756 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,756 - ERROR - Error in episode 8617: name 'args' is not defined +2025-03-10 15:30:15,759 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,759 - ERROR - Error in episode 8618: name 'args' is not defined +2025-03-10 15:30:15,762 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,762 - ERROR - Error in episode 8619: name 'args' is not defined +2025-03-10 15:30:15,765 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,765 - ERROR - Error in episode 8620: name 'args' is not defined +2025-03-10 15:30:15,768 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,768 - ERROR - Error in episode 8621: name 'args' is not defined +2025-03-10 15:30:15,771 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,771 - ERROR - Error in episode 8622: name 'args' is not defined +2025-03-10 15:30:15,773 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,774 - ERROR - Error in episode 8623: name 'args' is not defined +2025-03-10 15:30:15,777 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,777 - ERROR - Error in episode 8624: name 'args' is not defined +2025-03-10 15:30:15,780 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,780 - ERROR - Error in episode 8625: name 'args' is not defined +2025-03-10 15:30:15,783 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,783 - ERROR - Error in episode 8626: name 'args' is not defined +2025-03-10 15:30:15,786 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,786 - ERROR - Error in episode 8627: name 'args' is not defined +2025-03-10 15:30:15,790 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,790 - ERROR - Error in episode 8628: name 'args' is not defined +2025-03-10 15:30:15,792 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,792 - ERROR - Error in episode 8629: name 'args' is not defined +2025-03-10 15:30:15,795 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,796 - ERROR - Error in episode 8630: name 'args' is not defined +2025-03-10 15:30:15,798 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,798 - ERROR - Error in episode 8631: name 'args' is not defined +2025-03-10 15:30:15,801 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,801 - ERROR - Error in episode 8632: name 'args' is not defined +2025-03-10 15:30:15,804 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,804 - ERROR - Error in episode 8633: name 'args' is not defined +2025-03-10 15:30:15,807 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,807 - ERROR - Error in episode 8634: name 'args' is not defined +2025-03-10 15:30:15,810 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,810 - ERROR - Error in episode 8635: name 'args' is not defined +2025-03-10 15:30:15,813 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,813 - ERROR - Error in episode 8636: name 'args' is not defined +2025-03-10 15:30:15,817 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,817 - ERROR - Error in episode 8637: name 'args' is not defined +2025-03-10 15:30:15,820 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,820 - ERROR - Error in episode 8638: name 'args' is not defined +2025-03-10 15:30:15,823 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,823 - ERROR - Error in episode 8639: name 'args' is not defined +2025-03-10 15:30:15,826 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,826 - ERROR - Error in episode 8640: name 'args' is not defined +2025-03-10 15:30:15,829 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,830 - ERROR - Error in episode 8641: name 'args' is not defined +2025-03-10 15:30:15,832 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,832 - ERROR - Error in episode 8642: name 'args' is not defined +2025-03-10 15:30:15,835 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,836 - ERROR - Error in episode 8643: name 'args' is not defined +2025-03-10 15:30:15,838 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,838 - ERROR - Error in episode 8644: name 'args' is not defined +2025-03-10 15:30:15,841 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,841 - ERROR - Error in episode 8645: name 'args' is not defined +2025-03-10 15:30:15,844 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,845 - ERROR - Error in episode 8646: name 'args' is not defined +2025-03-10 15:30:15,847 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,847 - ERROR - Error in episode 8647: name 'args' is not defined +2025-03-10 15:30:15,850 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,850 - ERROR - Error in episode 8648: name 'args' is not defined +2025-03-10 15:30:15,853 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,854 - ERROR - Error in episode 8649: name 'args' is not defined +2025-03-10 15:30:15,856 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,856 - ERROR - Error in episode 8650: name 'args' is not defined +2025-03-10 15:30:15,860 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,860 - ERROR - Error in episode 8651: name 'args' is not defined +2025-03-10 15:30:15,862 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,862 - ERROR - Error in episode 8652: name 'args' is not defined +2025-03-10 15:30:15,866 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,866 - ERROR - Error in episode 8653: name 'args' is not defined +2025-03-10 15:30:15,868 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,869 - ERROR - Error in episode 8654: name 'args' is not defined +2025-03-10 15:30:15,872 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,872 - ERROR - Error in episode 8655: name 'args' is not defined +2025-03-10 15:30:15,874 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,875 - ERROR - Error in episode 8656: name 'args' is not defined +2025-03-10 15:30:15,878 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,878 - ERROR - Error in episode 8657: name 'args' is not defined +2025-03-10 15:30:15,881 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,882 - ERROR - Error in episode 8658: name 'args' is not defined +2025-03-10 15:30:15,884 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,885 - ERROR - Error in episode 8659: name 'args' is not defined +2025-03-10 15:30:15,887 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,887 - ERROR - Error in episode 8660: name 'args' is not defined +2025-03-10 15:30:15,890 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,890 - ERROR - Error in episode 8661: name 'args' is not defined +2025-03-10 15:30:15,893 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,893 - ERROR - Error in episode 8662: name 'args' is not defined +2025-03-10 15:30:15,895 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,896 - ERROR - Error in episode 8663: name 'args' is not defined +2025-03-10 15:30:15,899 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,899 - ERROR - Error in episode 8664: name 'args' is not defined +2025-03-10 15:30:15,902 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,903 - ERROR - Error in episode 8665: name 'args' is not defined +2025-03-10 15:30:15,905 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,906 - ERROR - Error in episode 8666: name 'args' is not defined +2025-03-10 15:30:15,908 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,908 - ERROR - Error in episode 8667: name 'args' is not defined +2025-03-10 15:30:15,911 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,912 - ERROR - Error in episode 8668: name 'args' is not defined +2025-03-10 15:30:15,914 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,914 - ERROR - Error in episode 8669: name 'args' is not defined +2025-03-10 15:30:15,917 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,917 - ERROR - Error in episode 8670: name 'args' is not defined +2025-03-10 15:30:15,920 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,920 - ERROR - Error in episode 8671: name 'args' is not defined +2025-03-10 15:30:15,922 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,922 - ERROR - Error in episode 8672: name 'args' is not defined +2025-03-10 15:30:15,926 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,926 - ERROR - Error in episode 8673: name 'args' is not defined +2025-03-10 15:30:15,929 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,929 - ERROR - Error in episode 8674: name 'args' is not defined +2025-03-10 15:30:15,932 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,932 - ERROR - Error in episode 8675: name 'args' is not defined +2025-03-10 15:30:15,935 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,935 - ERROR - Error in episode 8676: name 'args' is not defined +2025-03-10 15:30:15,938 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,938 - ERROR - Error in episode 8677: name 'args' is not defined +2025-03-10 15:30:15,940 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,941 - ERROR - Error in episode 8678: name 'args' is not defined +2025-03-10 15:30:15,944 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,945 - ERROR - Error in episode 8679: name 'args' is not defined +2025-03-10 15:30:15,947 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,947 - ERROR - Error in episode 8680: name 'args' is not defined +2025-03-10 15:30:15,949 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,950 - ERROR - Error in episode 8681: name 'args' is not defined +2025-03-10 15:30:15,952 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,953 - ERROR - Error in episode 8682: name 'args' is not defined +2025-03-10 15:30:15,956 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,956 - ERROR - Error in episode 8683: name 'args' is not defined +2025-03-10 15:30:15,958 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,959 - ERROR - Error in episode 8684: name 'args' is not defined +2025-03-10 15:30:15,962 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,962 - ERROR - Error in episode 8685: name 'args' is not defined +2025-03-10 15:30:15,965 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,966 - ERROR - Error in episode 8686: name 'args' is not defined +2025-03-10 15:30:15,968 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,968 - ERROR - Error in episode 8687: name 'args' is not defined +2025-03-10 15:30:15,971 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,971 - ERROR - Error in episode 8688: name 'args' is not defined +2025-03-10 15:30:15,974 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,974 - ERROR - Error in episode 8689: name 'args' is not defined +2025-03-10 15:30:15,977 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,977 - ERROR - Error in episode 8690: name 'args' is not defined +2025-03-10 15:30:15,980 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,980 - ERROR - Error in episode 8691: name 'args' is not defined +2025-03-10 15:30:15,983 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,983 - ERROR - Error in episode 8692: name 'args' is not defined +2025-03-10 15:30:15,985 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,986 - ERROR - Error in episode 8693: name 'args' is not defined +2025-03-10 15:30:15,988 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,989 - ERROR - Error in episode 8694: name 'args' is not defined +2025-03-10 15:30:15,992 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,992 - ERROR - Error in episode 8695: name 'args' is not defined +2025-03-10 15:30:15,995 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,995 - ERROR - Error in episode 8696: name 'args' is not defined +2025-03-10 15:30:15,998 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:15,998 - ERROR - Error in episode 8697: name 'args' is not defined +2025-03-10 15:30:16,000 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,001 - ERROR - Error in episode 8698: name 'args' is not defined +2025-03-10 15:30:16,003 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,003 - ERROR - Error in episode 8699: name 'args' is not defined +2025-03-10 15:30:16,006 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,007 - ERROR - Error in episode 8700: name 'args' is not defined +2025-03-10 15:30:16,010 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,010 - ERROR - Error in episode 8701: name 'args' is not defined +2025-03-10 15:30:16,012 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,013 - ERROR - Error in episode 8702: name 'args' is not defined +2025-03-10 15:30:16,016 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,016 - ERROR - Error in episode 8703: name 'args' is not defined +2025-03-10 15:30:16,019 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,019 - ERROR - Error in episode 8704: name 'args' is not defined +2025-03-10 15:30:16,021 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,022 - ERROR - Error in episode 8705: name 'args' is not defined +2025-03-10 15:30:16,024 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,025 - ERROR - Error in episode 8706: name 'args' is not defined +2025-03-10 15:30:16,027 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,027 - ERROR - Error in episode 8707: name 'args' is not defined +2025-03-10 15:30:16,030 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,030 - ERROR - Error in episode 8708: name 'args' is not defined +2025-03-10 15:30:16,033 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,033 - ERROR - Error in episode 8709: name 'args' is not defined +2025-03-10 15:30:16,036 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,036 - ERROR - Error in episode 8710: name 'args' is not defined +2025-03-10 15:30:16,039 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,040 - ERROR - Error in episode 8711: name 'args' is not defined +2025-03-10 15:30:16,042 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,042 - ERROR - Error in episode 8712: name 'args' is not defined +2025-03-10 15:30:16,044 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,045 - ERROR - Error in episode 8713: name 'args' is not defined +2025-03-10 15:30:16,047 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,049 - ERROR - Error in episode 8714: name 'args' is not defined +2025-03-10 15:30:16,051 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,051 - ERROR - Error in episode 8715: name 'args' is not defined +2025-03-10 15:30:16,053 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,054 - ERROR - Error in episode 8716: name 'args' is not defined +2025-03-10 15:30:16,056 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,058 - ERROR - Error in episode 8717: name 'args' is not defined +2025-03-10 15:30:16,061 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,061 - ERROR - Error in episode 8718: name 'args' is not defined +2025-03-10 15:30:16,064 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,064 - ERROR - Error in episode 8719: name 'args' is not defined +2025-03-10 15:30:16,066 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,067 - ERROR - Error in episode 8720: name 'args' is not defined +2025-03-10 15:30:16,069 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,069 - ERROR - Error in episode 8721: name 'args' is not defined +2025-03-10 15:30:16,072 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,072 - ERROR - Error in episode 8722: name 'args' is not defined +2025-03-10 15:30:16,075 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,075 - ERROR - Error in episode 8723: name 'args' is not defined +2025-03-10 15:30:16,077 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,078 - ERROR - Error in episode 8724: name 'args' is not defined +2025-03-10 15:30:16,080 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,081 - ERROR - Error in episode 8725: name 'args' is not defined +2025-03-10 15:30:16,083 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,083 - ERROR - Error in episode 8726: name 'args' is not defined +2025-03-10 15:30:16,086 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,086 - ERROR - Error in episode 8727: name 'args' is not defined +2025-03-10 15:30:16,090 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,090 - ERROR - Error in episode 8728: name 'args' is not defined +2025-03-10 15:30:16,094 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,094 - ERROR - Error in episode 8729: name 'args' is not defined +2025-03-10 15:30:16,096 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,097 - ERROR - Error in episode 8730: name 'args' is not defined +2025-03-10 15:30:16,100 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,100 - ERROR - Error in episode 8731: name 'args' is not defined +2025-03-10 15:30:16,103 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,103 - ERROR - Error in episode 8732: name 'args' is not defined +2025-03-10 15:30:16,106 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,106 - ERROR - Error in episode 8733: name 'args' is not defined +2025-03-10 15:30:16,109 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,109 - ERROR - Error in episode 8734: name 'args' is not defined +2025-03-10 15:30:16,112 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,113 - ERROR - Error in episode 8735: name 'args' is not defined +2025-03-10 15:30:16,116 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,116 - ERROR - Error in episode 8736: name 'args' is not defined +2025-03-10 15:30:16,119 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,119 - ERROR - Error in episode 8737: name 'args' is not defined +2025-03-10 15:30:16,121 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,122 - ERROR - Error in episode 8738: name 'args' is not defined +2025-03-10 15:30:16,124 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,125 - ERROR - Error in episode 8739: name 'args' is not defined +2025-03-10 15:30:16,128 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,128 - ERROR - Error in episode 8740: name 'args' is not defined +2025-03-10 15:30:16,131 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,131 - ERROR - Error in episode 8741: name 'args' is not defined +2025-03-10 15:30:16,133 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,134 - ERROR - Error in episode 8742: name 'args' is not defined +2025-03-10 15:30:16,136 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,137 - ERROR - Error in episode 8743: name 'args' is not defined +2025-03-10 15:30:16,140 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,140 - ERROR - Error in episode 8744: name 'args' is not defined +2025-03-10 15:30:16,143 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,143 - ERROR - Error in episode 8745: name 'args' is not defined +2025-03-10 15:30:16,146 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,146 - ERROR - Error in episode 8746: name 'args' is not defined +2025-03-10 15:30:16,149 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,149 - ERROR - Error in episode 8747: name 'args' is not defined +2025-03-10 15:30:16,151 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,152 - ERROR - Error in episode 8748: name 'args' is not defined +2025-03-10 15:30:16,154 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,155 - ERROR - Error in episode 8749: name 'args' is not defined +2025-03-10 15:30:16,158 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,158 - ERROR - Error in episode 8750: name 'args' is not defined +2025-03-10 15:30:16,160 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,161 - ERROR - Error in episode 8751: name 'args' is not defined +2025-03-10 15:30:16,163 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,164 - ERROR - Error in episode 8752: name 'args' is not defined +2025-03-10 15:30:16,166 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,167 - ERROR - Error in episode 8753: name 'args' is not defined +2025-03-10 15:30:16,170 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,171 - ERROR - Error in episode 8754: name 'args' is not defined +2025-03-10 15:30:16,173 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,174 - ERROR - Error in episode 8755: name 'args' is not defined +2025-03-10 15:30:16,176 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,177 - ERROR - Error in episode 8756: name 'args' is not defined +2025-03-10 15:30:16,180 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,180 - ERROR - Error in episode 8757: name 'args' is not defined +2025-03-10 15:30:16,184 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,184 - ERROR - Error in episode 8758: name 'args' is not defined +2025-03-10 15:30:16,187 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,187 - ERROR - Error in episode 8759: name 'args' is not defined +2025-03-10 15:30:16,190 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,190 - ERROR - Error in episode 8760: name 'args' is not defined +2025-03-10 15:30:16,193 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,193 - ERROR - Error in episode 8761: name 'args' is not defined +2025-03-10 15:30:16,196 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,196 - ERROR - Error in episode 8762: name 'args' is not defined +2025-03-10 15:30:16,199 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,199 - ERROR - Error in episode 8763: name 'args' is not defined +2025-03-10 15:30:16,202 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,202 - ERROR - Error in episode 8764: name 'args' is not defined +2025-03-10 15:30:16,205 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,205 - ERROR - Error in episode 8765: name 'args' is not defined +2025-03-10 15:30:16,208 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,209 - ERROR - Error in episode 8766: name 'args' is not defined +2025-03-10 15:30:16,211 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,212 - ERROR - Error in episode 8767: name 'args' is not defined +2025-03-10 15:30:16,215 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,215 - ERROR - Error in episode 8768: name 'args' is not defined +2025-03-10 15:30:16,218 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,218 - ERROR - Error in episode 8769: name 'args' is not defined +2025-03-10 15:30:16,221 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,222 - ERROR - Error in episode 8770: name 'args' is not defined +2025-03-10 15:30:16,225 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,225 - ERROR - Error in episode 8771: name 'args' is not defined +2025-03-10 15:30:16,228 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,229 - ERROR - Error in episode 8772: name 'args' is not defined +2025-03-10 15:30:16,232 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,232 - ERROR - Error in episode 8773: name 'args' is not defined +2025-03-10 15:30:16,235 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,236 - ERROR - Error in episode 8774: name 'args' is not defined +2025-03-10 15:30:16,238 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,238 - ERROR - Error in episode 8775: name 'args' is not defined +2025-03-10 15:30:16,242 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,242 - ERROR - Error in episode 8776: name 'args' is not defined +2025-03-10 15:30:16,245 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,245 - ERROR - Error in episode 8777: name 'args' is not defined +2025-03-10 15:30:16,248 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,248 - ERROR - Error in episode 8778: name 'args' is not defined +2025-03-10 15:30:16,252 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,252 - ERROR - Error in episode 8779: name 'args' is not defined +2025-03-10 15:30:16,254 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,254 - ERROR - Error in episode 8780: name 'args' is not defined +2025-03-10 15:30:16,257 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,258 - ERROR - Error in episode 8781: name 'args' is not defined +2025-03-10 15:30:16,260 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,261 - ERROR - Error in episode 8782: name 'args' is not defined +2025-03-10 15:30:16,264 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,264 - ERROR - Error in episode 8783: name 'args' is not defined +2025-03-10 15:30:16,267 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,267 - ERROR - Error in episode 8784: name 'args' is not defined +2025-03-10 15:30:16,270 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,270 - ERROR - Error in episode 8785: name 'args' is not defined +2025-03-10 15:30:16,274 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,274 - ERROR - Error in episode 8786: name 'args' is not defined +2025-03-10 15:30:16,277 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,278 - ERROR - Error in episode 8787: name 'args' is not defined +2025-03-10 15:30:16,280 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,281 - ERROR - Error in episode 8788: name 'args' is not defined +2025-03-10 15:30:16,283 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,284 - ERROR - Error in episode 8789: name 'args' is not defined +2025-03-10 15:30:16,287 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,287 - ERROR - Error in episode 8790: name 'args' is not defined +2025-03-10 15:30:16,290 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,290 - ERROR - Error in episode 8791: name 'args' is not defined +2025-03-10 15:30:16,293 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,293 - ERROR - Error in episode 8792: name 'args' is not defined +2025-03-10 15:30:16,295 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,296 - ERROR - Error in episode 8793: name 'args' is not defined +2025-03-10 15:30:16,299 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,299 - ERROR - Error in episode 8794: name 'args' is not defined +2025-03-10 15:30:16,301 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,302 - ERROR - Error in episode 8795: name 'args' is not defined +2025-03-10 15:30:16,304 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,304 - ERROR - Error in episode 8796: name 'args' is not defined +2025-03-10 15:30:16,307 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,308 - ERROR - Error in episode 8797: name 'args' is not defined +2025-03-10 15:30:16,310 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,311 - ERROR - Error in episode 8798: name 'args' is not defined +2025-03-10 15:30:16,313 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,314 - ERROR - Error in episode 8799: name 'args' is not defined +2025-03-10 15:30:16,316 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,317 - ERROR - Error in episode 8800: name 'args' is not defined +2025-03-10 15:30:16,319 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,319 - ERROR - Error in episode 8801: name 'args' is not defined +2025-03-10 15:30:16,321 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,322 - ERROR - Error in episode 8802: name 'args' is not defined +2025-03-10 15:30:16,325 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,325 - ERROR - Error in episode 8803: name 'args' is not defined +2025-03-10 15:30:16,328 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,328 - ERROR - Error in episode 8804: name 'args' is not defined +2025-03-10 15:30:16,331 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,331 - ERROR - Error in episode 8805: name 'args' is not defined +2025-03-10 15:30:16,334 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,334 - ERROR - Error in episode 8806: name 'args' is not defined +2025-03-10 15:30:16,337 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,337 - ERROR - Error in episode 8807: name 'args' is not defined +2025-03-10 15:30:16,340 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,340 - ERROR - Error in episode 8808: name 'args' is not defined +2025-03-10 15:30:16,342 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,342 - ERROR - Error in episode 8809: name 'args' is not defined +2025-03-10 15:30:16,344 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,346 - ERROR - Error in episode 8810: name 'args' is not defined +2025-03-10 15:30:16,348 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,349 - ERROR - Error in episode 8811: name 'args' is not defined +2025-03-10 15:30:16,351 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,351 - ERROR - Error in episode 8812: name 'args' is not defined +2025-03-10 15:30:16,353 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,354 - ERROR - Error in episode 8813: name 'args' is not defined +2025-03-10 15:30:16,356 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,357 - ERROR - Error in episode 8814: name 'args' is not defined +2025-03-10 15:30:16,359 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,359 - ERROR - Error in episode 8815: name 'args' is not defined +2025-03-10 15:30:16,361 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,362 - ERROR - Error in episode 8816: name 'args' is not defined +2025-03-10 15:30:16,364 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,365 - ERROR - Error in episode 8817: name 'args' is not defined +2025-03-10 15:30:16,367 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,367 - ERROR - Error in episode 8818: name 'args' is not defined +2025-03-10 15:30:16,370 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,370 - ERROR - Error in episode 8819: name 'args' is not defined +2025-03-10 15:30:16,374 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,374 - ERROR - Error in episode 8820: name 'args' is not defined +2025-03-10 15:30:16,376 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,377 - ERROR - Error in episode 8821: name 'args' is not defined +2025-03-10 15:30:16,379 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,380 - ERROR - Error in episode 8822: name 'args' is not defined +2025-03-10 15:30:16,383 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,383 - ERROR - Error in episode 8823: name 'args' is not defined +2025-03-10 15:30:16,385 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,386 - ERROR - Error in episode 8824: name 'args' is not defined +2025-03-10 15:30:16,388 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,388 - ERROR - Error in episode 8825: name 'args' is not defined +2025-03-10 15:30:16,391 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,391 - ERROR - Error in episode 8826: name 'args' is not defined +2025-03-10 15:30:16,395 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,395 - ERROR - Error in episode 8827: name 'args' is not defined +2025-03-10 15:30:16,398 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,399 - ERROR - Error in episode 8828: name 'args' is not defined +2025-03-10 15:30:16,401 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,401 - ERROR - Error in episode 8829: name 'args' is not defined +2025-03-10 15:30:16,404 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,405 - ERROR - Error in episode 8830: name 'args' is not defined +2025-03-10 15:30:16,407 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,407 - ERROR - Error in episode 8831: name 'args' is not defined +2025-03-10 15:30:16,410 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,410 - ERROR - Error in episode 8832: name 'args' is not defined +2025-03-10 15:30:16,413 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,413 - ERROR - Error in episode 8833: name 'args' is not defined +2025-03-10 15:30:16,415 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,416 - ERROR - Error in episode 8834: name 'args' is not defined +2025-03-10 15:30:16,418 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,418 - ERROR - Error in episode 8835: name 'args' is not defined +2025-03-10 15:30:16,421 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,422 - ERROR - Error in episode 8836: name 'args' is not defined +2025-03-10 15:30:16,424 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,424 - ERROR - Error in episode 8837: name 'args' is not defined +2025-03-10 15:30:16,427 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,427 - ERROR - Error in episode 8838: name 'args' is not defined +2025-03-10 15:30:16,430 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,430 - ERROR - Error in episode 8839: name 'args' is not defined +2025-03-10 15:30:16,433 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,433 - ERROR - Error in episode 8840: name 'args' is not defined +2025-03-10 15:30:16,435 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,436 - ERROR - Error in episode 8841: name 'args' is not defined +2025-03-10 15:30:16,438 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,439 - ERROR - Error in episode 8842: name 'args' is not defined +2025-03-10 15:30:16,440 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,441 - ERROR - Error in episode 8843: name 'args' is not defined +2025-03-10 15:30:16,444 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,444 - ERROR - Error in episode 8844: name 'args' is not defined +2025-03-10 15:30:16,447 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,447 - ERROR - Error in episode 8845: name 'args' is not defined +2025-03-10 15:30:16,450 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,450 - ERROR - Error in episode 8846: name 'args' is not defined +2025-03-10 15:30:16,453 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,453 - ERROR - Error in episode 8847: name 'args' is not defined +2025-03-10 15:30:16,456 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,456 - ERROR - Error in episode 8848: name 'args' is not defined +2025-03-10 15:30:16,459 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,459 - ERROR - Error in episode 8849: name 'args' is not defined +2025-03-10 15:30:16,462 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,462 - ERROR - Error in episode 8850: name 'args' is not defined +2025-03-10 15:30:16,464 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,465 - ERROR - Error in episode 8851: name 'args' is not defined +2025-03-10 15:30:16,467 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,468 - ERROR - Error in episode 8852: name 'args' is not defined +2025-03-10 15:30:16,471 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,471 - ERROR - Error in episode 8853: name 'args' is not defined +2025-03-10 15:30:16,474 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,474 - ERROR - Error in episode 8854: name 'args' is not defined +2025-03-10 15:30:16,477 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,478 - ERROR - Error in episode 8855: name 'args' is not defined +2025-03-10 15:30:16,480 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,480 - ERROR - Error in episode 8856: name 'args' is not defined +2025-03-10 15:30:16,483 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,483 - ERROR - Error in episode 8857: name 'args' is not defined +2025-03-10 15:30:16,486 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,486 - ERROR - Error in episode 8858: name 'args' is not defined +2025-03-10 15:30:16,488 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,489 - ERROR - Error in episode 8859: name 'args' is not defined +2025-03-10 15:30:16,492 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,492 - ERROR - Error in episode 8860: name 'args' is not defined +2025-03-10 15:30:16,495 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,495 - ERROR - Error in episode 8861: name 'args' is not defined +2025-03-10 15:30:16,498 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,498 - ERROR - Error in episode 8862: name 'args' is not defined +2025-03-10 15:30:16,501 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,501 - ERROR - Error in episode 8863: name 'args' is not defined +2025-03-10 15:30:16,504 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,505 - ERROR - Error in episode 8864: name 'args' is not defined +2025-03-10 15:30:16,507 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,507 - ERROR - Error in episode 8865: name 'args' is not defined +2025-03-10 15:30:16,510 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,510 - ERROR - Error in episode 8866: name 'args' is not defined +2025-03-10 15:30:16,513 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,513 - ERROR - Error in episode 8867: name 'args' is not defined +2025-03-10 15:30:16,516 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,516 - ERROR - Error in episode 8868: name 'args' is not defined +2025-03-10 15:30:16,519 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,519 - ERROR - Error in episode 8869: name 'args' is not defined +2025-03-10 15:30:16,521 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,522 - ERROR - Error in episode 8870: name 'args' is not defined +2025-03-10 15:30:16,524 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,525 - ERROR - Error in episode 8871: name 'args' is not defined +2025-03-10 15:30:16,528 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,528 - ERROR - Error in episode 8872: name 'args' is not defined +2025-03-10 15:30:16,532 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,532 - ERROR - Error in episode 8873: name 'args' is not defined +2025-03-10 15:30:16,535 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,535 - ERROR - Error in episode 8874: name 'args' is not defined +2025-03-10 15:30:16,538 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,538 - ERROR - Error in episode 8875: name 'args' is not defined +2025-03-10 15:30:16,541 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,541 - ERROR - Error in episode 8876: name 'args' is not defined +2025-03-10 15:30:16,544 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,544 - ERROR - Error in episode 8877: name 'args' is not defined +2025-03-10 15:30:16,547 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,547 - ERROR - Error in episode 8878: name 'args' is not defined +2025-03-10 15:30:16,550 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,550 - ERROR - Error in episode 8879: name 'args' is not defined +2025-03-10 15:30:16,553 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,553 - ERROR - Error in episode 8880: name 'args' is not defined +2025-03-10 15:30:16,556 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,556 - ERROR - Error in episode 8881: name 'args' is not defined +2025-03-10 15:30:16,558 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,559 - ERROR - Error in episode 8882: name 'args' is not defined +2025-03-10 15:30:16,561 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,562 - ERROR - Error in episode 8883: name 'args' is not defined +2025-03-10 15:30:16,564 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,564 - ERROR - Error in episode 8884: name 'args' is not defined +2025-03-10 15:30:16,567 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,567 - ERROR - Error in episode 8885: name 'args' is not defined +2025-03-10 15:30:16,570 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,571 - ERROR - Error in episode 8886: name 'args' is not defined +2025-03-10 15:30:16,573 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,574 - ERROR - Error in episode 8887: name 'args' is not defined +2025-03-10 15:30:16,576 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,577 - ERROR - Error in episode 8888: name 'args' is not defined +2025-03-10 15:30:16,579 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,580 - ERROR - Error in episode 8889: name 'args' is not defined +2025-03-10 15:30:16,582 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,583 - ERROR - Error in episode 8890: name 'args' is not defined +2025-03-10 15:30:16,585 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,585 - ERROR - Error in episode 8891: name 'args' is not defined +2025-03-10 15:30:16,588 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,588 - ERROR - Error in episode 8892: name 'args' is not defined +2025-03-10 15:30:16,591 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,591 - ERROR - Error in episode 8893: name 'args' is not defined +2025-03-10 15:30:16,594 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,594 - ERROR - Error in episode 8894: name 'args' is not defined +2025-03-10 15:30:16,597 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,597 - ERROR - Error in episode 8895: name 'args' is not defined +2025-03-10 15:30:16,599 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,600 - ERROR - Error in episode 8896: name 'args' is not defined +2025-03-10 15:30:16,603 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,603 - ERROR - Error in episode 8897: name 'args' is not defined +2025-03-10 15:30:16,605 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,605 - ERROR - Error in episode 8898: name 'args' is not defined +2025-03-10 15:30:16,608 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,609 - ERROR - Error in episode 8899: name 'args' is not defined +2025-03-10 15:30:16,612 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,612 - ERROR - Error in episode 8900: name 'args' is not defined +2025-03-10 15:30:16,614 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,615 - ERROR - Error in episode 8901: name 'args' is not defined +2025-03-10 15:30:16,617 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,617 - ERROR - Error in episode 8902: name 'args' is not defined +2025-03-10 15:30:16,620 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,620 - ERROR - Error in episode 8903: name 'args' is not defined +2025-03-10 15:30:16,623 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,623 - ERROR - Error in episode 8904: name 'args' is not defined +2025-03-10 15:30:16,626 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,626 - ERROR - Error in episode 8905: name 'args' is not defined +2025-03-10 15:30:16,630 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,630 - ERROR - Error in episode 8906: name 'args' is not defined +2025-03-10 15:30:16,632 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,633 - ERROR - Error in episode 8907: name 'args' is not defined +2025-03-10 15:30:16,636 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,636 - ERROR - Error in episode 8908: name 'args' is not defined +2025-03-10 15:30:16,639 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,639 - ERROR - Error in episode 8909: name 'args' is not defined +2025-03-10 15:30:16,643 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,643 - ERROR - Error in episode 8910: name 'args' is not defined +2025-03-10 15:30:16,646 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,646 - ERROR - Error in episode 8911: name 'args' is not defined +2025-03-10 15:30:16,649 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,650 - ERROR - Error in episode 8912: name 'args' is not defined +2025-03-10 15:30:16,653 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,653 - ERROR - Error in episode 8913: name 'args' is not defined +2025-03-10 15:30:16,656 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,656 - ERROR - Error in episode 8914: name 'args' is not defined +2025-03-10 15:30:16,659 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,659 - ERROR - Error in episode 8915: name 'args' is not defined +2025-03-10 15:30:16,662 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,662 - ERROR - Error in episode 8916: name 'args' is not defined +2025-03-10 15:30:16,665 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,665 - ERROR - Error in episode 8917: name 'args' is not defined +2025-03-10 15:30:16,668 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,668 - ERROR - Error in episode 8918: name 'args' is not defined +2025-03-10 15:30:16,672 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,672 - ERROR - Error in episode 8919: name 'args' is not defined +2025-03-10 15:30:16,674 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,675 - ERROR - Error in episode 8920: name 'args' is not defined +2025-03-10 15:30:16,677 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,678 - ERROR - Error in episode 8921: name 'args' is not defined +2025-03-10 15:30:16,680 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,680 - ERROR - Error in episode 8922: name 'args' is not defined +2025-03-10 15:30:16,683 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,683 - ERROR - Error in episode 8923: name 'args' is not defined +2025-03-10 15:30:16,687 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,687 - ERROR - Error in episode 8924: name 'args' is not defined +2025-03-10 15:30:16,689 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,690 - ERROR - Error in episode 8925: name 'args' is not defined +2025-03-10 15:30:16,692 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,692 - ERROR - Error in episode 8926: name 'args' is not defined +2025-03-10 15:30:16,695 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,695 - ERROR - Error in episode 8927: name 'args' is not defined +2025-03-10 15:30:16,698 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,698 - ERROR - Error in episode 8928: name 'args' is not defined +2025-03-10 15:30:16,700 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,700 - ERROR - Error in episode 8929: name 'args' is not defined +2025-03-10 15:30:16,704 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,704 - ERROR - Error in episode 8930: name 'args' is not defined +2025-03-10 15:30:16,707 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,707 - ERROR - Error in episode 8931: name 'args' is not defined +2025-03-10 15:30:16,709 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,709 - ERROR - Error in episode 8932: name 'args' is not defined +2025-03-10 15:30:16,712 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,712 - ERROR - Error in episode 8933: name 'args' is not defined +2025-03-10 15:30:16,714 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,715 - ERROR - Error in episode 8934: name 'args' is not defined +2025-03-10 15:30:16,717 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,718 - ERROR - Error in episode 8935: name 'args' is not defined +2025-03-10 15:30:16,720 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,721 - ERROR - Error in episode 8936: name 'args' is not defined +2025-03-10 15:30:16,723 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,723 - ERROR - Error in episode 8937: name 'args' is not defined +2025-03-10 15:30:16,726 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,726 - ERROR - Error in episode 8938: name 'args' is not defined +2025-03-10 15:30:16,729 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,729 - ERROR - Error in episode 8939: name 'args' is not defined +2025-03-10 15:30:16,731 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,732 - ERROR - Error in episode 8940: name 'args' is not defined +2025-03-10 15:30:16,734 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,734 - ERROR - Error in episode 8941: name 'args' is not defined +2025-03-10 15:30:16,737 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,737 - ERROR - Error in episode 8942: name 'args' is not defined +2025-03-10 15:30:16,740 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,741 - ERROR - Error in episode 8943: name 'args' is not defined +2025-03-10 15:30:16,744 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,744 - ERROR - Error in episode 8944: name 'args' is not defined +2025-03-10 15:30:16,746 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,746 - ERROR - Error in episode 8945: name 'args' is not defined +2025-03-10 15:30:16,749 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,749 - ERROR - Error in episode 8946: name 'args' is not defined +2025-03-10 15:30:16,752 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,752 - ERROR - Error in episode 8947: name 'args' is not defined +2025-03-10 15:30:16,756 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,756 - ERROR - Error in episode 8948: name 'args' is not defined +2025-03-10 15:30:16,759 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,759 - ERROR - Error in episode 8949: name 'args' is not defined +2025-03-10 15:30:16,762 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,762 - ERROR - Error in episode 8950: name 'args' is not defined +2025-03-10 15:30:16,765 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,765 - ERROR - Error in episode 8951: name 'args' is not defined +2025-03-10 15:30:16,768 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,768 - ERROR - Error in episode 8952: name 'args' is not defined +2025-03-10 15:30:16,772 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,772 - ERROR - Error in episode 8953: name 'args' is not defined +2025-03-10 15:30:16,775 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,775 - ERROR - Error in episode 8954: name 'args' is not defined +2025-03-10 15:30:16,778 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,779 - ERROR - Error in episode 8955: name 'args' is not defined +2025-03-10 15:30:16,781 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,782 - ERROR - Error in episode 8956: name 'args' is not defined +2025-03-10 15:30:16,784 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,785 - ERROR - Error in episode 8957: name 'args' is not defined +2025-03-10 15:30:16,788 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,789 - ERROR - Error in episode 8958: name 'args' is not defined +2025-03-10 15:30:16,791 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,791 - ERROR - Error in episode 8959: name 'args' is not defined +2025-03-10 15:30:16,794 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,794 - ERROR - Error in episode 8960: name 'args' is not defined +2025-03-10 15:30:16,797 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,797 - ERROR - Error in episode 8961: name 'args' is not defined +2025-03-10 15:30:16,800 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,800 - ERROR - Error in episode 8962: name 'args' is not defined +2025-03-10 15:30:16,802 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,804 - ERROR - Error in episode 8963: name 'args' is not defined +2025-03-10 15:30:16,806 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,806 - ERROR - Error in episode 8964: name 'args' is not defined +2025-03-10 15:30:16,808 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,809 - ERROR - Error in episode 8965: name 'args' is not defined +2025-03-10 15:30:16,812 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,812 - ERROR - Error in episode 8966: name 'args' is not defined +2025-03-10 15:30:16,815 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,815 - ERROR - Error in episode 8967: name 'args' is not defined +2025-03-10 15:30:16,818 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,819 - ERROR - Error in episode 8968: name 'args' is not defined +2025-03-10 15:30:16,822 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,822 - ERROR - Error in episode 8969: name 'args' is not defined +2025-03-10 15:30:16,825 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,825 - ERROR - Error in episode 8970: name 'args' is not defined +2025-03-10 15:30:16,828 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,829 - ERROR - Error in episode 8971: name 'args' is not defined +2025-03-10 15:30:16,831 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,832 - ERROR - Error in episode 8972: name 'args' is not defined +2025-03-10 15:30:16,834 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,834 - ERROR - Error in episode 8973: name 'args' is not defined +2025-03-10 15:30:16,838 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,838 - ERROR - Error in episode 8974: name 'args' is not defined +2025-03-10 15:30:16,841 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,841 - ERROR - Error in episode 8975: name 'args' is not defined +2025-03-10 15:30:16,844 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,844 - ERROR - Error in episode 8976: name 'args' is not defined +2025-03-10 15:30:16,847 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,848 - ERROR - Error in episode 8977: name 'args' is not defined +2025-03-10 15:30:16,851 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,851 - ERROR - Error in episode 8978: name 'args' is not defined +2025-03-10 15:30:16,855 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,855 - ERROR - Error in episode 8979: name 'args' is not defined +2025-03-10 15:30:16,857 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,858 - ERROR - Error in episode 8980: name 'args' is not defined +2025-03-10 15:30:16,861 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,861 - ERROR - Error in episode 8981: name 'args' is not defined +2025-03-10 15:30:16,863 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,863 - ERROR - Error in episode 8982: name 'args' is not defined +2025-03-10 15:30:16,867 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,867 - ERROR - Error in episode 8983: name 'args' is not defined +2025-03-10 15:30:16,871 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,871 - ERROR - Error in episode 8984: name 'args' is not defined +2025-03-10 15:30:16,873 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,874 - ERROR - Error in episode 8985: name 'args' is not defined +2025-03-10 15:30:16,877 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,877 - ERROR - Error in episode 8986: name 'args' is not defined +2025-03-10 15:30:16,880 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,880 - ERROR - Error in episode 8987: name 'args' is not defined +2025-03-10 15:30:16,882 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,883 - ERROR - Error in episode 8988: name 'args' is not defined +2025-03-10 15:30:16,886 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,886 - ERROR - Error in episode 8989: name 'args' is not defined +2025-03-10 15:30:16,890 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,890 - ERROR - Error in episode 8990: name 'args' is not defined +2025-03-10 15:30:16,893 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,893 - ERROR - Error in episode 8991: name 'args' is not defined +2025-03-10 15:30:16,896 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,897 - ERROR - Error in episode 8992: name 'args' is not defined +2025-03-10 15:30:16,900 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,900 - ERROR - Error in episode 8993: name 'args' is not defined +2025-03-10 15:30:16,903 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,904 - ERROR - Error in episode 8994: name 'args' is not defined +2025-03-10 15:30:16,907 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,907 - ERROR - Error in episode 8995: name 'args' is not defined +2025-03-10 15:30:16,910 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,910 - ERROR - Error in episode 8996: name 'args' is not defined +2025-03-10 15:30:16,913 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,913 - ERROR - Error in episode 8997: name 'args' is not defined +2025-03-10 15:30:16,916 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,916 - ERROR - Error in episode 8998: name 'args' is not defined +2025-03-10 15:30:16,920 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,920 - ERROR - Error in episode 8999: name 'args' is not defined +2025-03-10 15:30:16,923 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,923 - ERROR - Error in episode 9000: name 'args' is not defined +2025-03-10 15:30:16,925 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,926 - ERROR - Error in episode 9001: name 'args' is not defined +2025-03-10 15:30:16,928 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,929 - ERROR - Error in episode 9002: name 'args' is not defined +2025-03-10 15:30:16,931 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,931 - ERROR - Error in episode 9003: name 'args' is not defined +2025-03-10 15:30:16,934 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,934 - ERROR - Error in episode 9004: name 'args' is not defined +2025-03-10 15:30:16,937 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,937 - ERROR - Error in episode 9005: name 'args' is not defined +2025-03-10 15:30:16,939 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,940 - ERROR - Error in episode 9006: name 'args' is not defined +2025-03-10 15:30:16,942 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,942 - ERROR - Error in episode 9007: name 'args' is not defined +2025-03-10 15:30:16,945 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,946 - ERROR - Error in episode 9008: name 'args' is not defined +2025-03-10 15:30:16,948 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,948 - ERROR - Error in episode 9009: name 'args' is not defined +2025-03-10 15:30:16,951 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,951 - ERROR - Error in episode 9010: name 'args' is not defined +2025-03-10 15:30:16,954 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,955 - ERROR - Error in episode 9011: name 'args' is not defined +2025-03-10 15:30:16,957 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,958 - ERROR - Error in episode 9012: name 'args' is not defined +2025-03-10 15:30:16,960 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,960 - ERROR - Error in episode 9013: name 'args' is not defined +2025-03-10 15:30:16,963 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,963 - ERROR - Error in episode 9014: name 'args' is not defined +2025-03-10 15:30:16,966 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,966 - ERROR - Error in episode 9015: name 'args' is not defined +2025-03-10 15:30:16,968 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,969 - ERROR - Error in episode 9016: name 'args' is not defined +2025-03-10 15:30:16,971 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,972 - ERROR - Error in episode 9017: name 'args' is not defined +2025-03-10 15:30:16,974 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,974 - ERROR - Error in episode 9018: name 'args' is not defined +2025-03-10 15:30:16,977 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,977 - ERROR - Error in episode 9019: name 'args' is not defined +2025-03-10 15:30:16,980 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,980 - ERROR - Error in episode 9020: name 'args' is not defined +2025-03-10 15:30:16,983 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,983 - ERROR - Error in episode 9021: name 'args' is not defined +2025-03-10 15:30:16,986 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,986 - ERROR - Error in episode 9022: name 'args' is not defined +2025-03-10 15:30:16,989 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,989 - ERROR - Error in episode 9023: name 'args' is not defined +2025-03-10 15:30:16,991 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,992 - ERROR - Error in episode 9024: name 'args' is not defined +2025-03-10 15:30:16,995 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,995 - ERROR - Error in episode 9025: name 'args' is not defined +2025-03-10 15:30:16,998 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:16,998 - ERROR - Error in episode 9026: name 'args' is not defined +2025-03-10 15:30:17,001 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,001 - ERROR - Error in episode 9027: name 'args' is not defined +2025-03-10 15:30:17,004 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,005 - ERROR - Error in episode 9028: name 'args' is not defined +2025-03-10 15:30:17,007 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,007 - ERROR - Error in episode 9029: name 'args' is not defined +2025-03-10 15:30:17,009 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,010 - ERROR - Error in episode 9030: name 'args' is not defined +2025-03-10 15:30:17,012 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,012 - ERROR - Error in episode 9031: name 'args' is not defined +2025-03-10 15:30:17,015 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,016 - ERROR - Error in episode 9032: name 'args' is not defined +2025-03-10 15:30:17,018 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,018 - ERROR - Error in episode 9033: name 'args' is not defined +2025-03-10 15:30:17,022 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,022 - ERROR - Error in episode 9034: name 'args' is not defined +2025-03-10 15:30:17,024 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,025 - ERROR - Error in episode 9035: name 'args' is not defined +2025-03-10 15:30:17,027 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,027 - ERROR - Error in episode 9036: name 'args' is not defined +2025-03-10 15:30:17,030 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,030 - ERROR - Error in episode 9037: name 'args' is not defined +2025-03-10 15:30:17,033 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,033 - ERROR - Error in episode 9038: name 'args' is not defined +2025-03-10 15:30:17,036 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,036 - ERROR - Error in episode 9039: name 'args' is not defined +2025-03-10 15:30:17,039 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,039 - ERROR - Error in episode 9040: name 'args' is not defined +2025-03-10 15:30:17,042 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,042 - ERROR - Error in episode 9041: name 'args' is not defined +2025-03-10 15:30:17,045 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,046 - ERROR - Error in episode 9042: name 'args' is not defined +2025-03-10 15:30:17,048 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,048 - ERROR - Error in episode 9043: name 'args' is not defined +2025-03-10 15:30:17,051 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,052 - ERROR - Error in episode 9044: name 'args' is not defined +2025-03-10 15:30:17,055 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,055 - ERROR - Error in episode 9045: name 'args' is not defined +2025-03-10 15:30:17,058 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,058 - ERROR - Error in episode 9046: name 'args' is not defined +2025-03-10 15:30:17,060 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,061 - ERROR - Error in episode 9047: name 'args' is not defined +2025-03-10 15:30:17,064 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,064 - ERROR - Error in episode 9048: name 'args' is not defined +2025-03-10 15:30:17,068 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,068 - ERROR - Error in episode 9049: name 'args' is not defined +2025-03-10 15:30:17,072 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,072 - ERROR - Error in episode 9050: name 'args' is not defined +2025-03-10 15:30:17,076 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,076 - ERROR - Error in episode 9051: name 'args' is not defined +2025-03-10 15:30:17,079 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,079 - ERROR - Error in episode 9052: name 'args' is not defined +2025-03-10 15:30:17,081 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,082 - ERROR - Error in episode 9053: name 'args' is not defined +2025-03-10 15:30:17,085 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,085 - ERROR - Error in episode 9054: name 'args' is not defined +2025-03-10 15:30:17,088 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,089 - ERROR - Error in episode 9055: name 'args' is not defined +2025-03-10 15:30:17,092 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,092 - ERROR - Error in episode 9056: name 'args' is not defined +2025-03-10 15:30:17,094 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,095 - ERROR - Error in episode 9057: name 'args' is not defined +2025-03-10 15:30:17,097 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,098 - ERROR - Error in episode 9058: name 'args' is not defined +2025-03-10 15:30:17,101 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,101 - ERROR - Error in episode 9059: name 'args' is not defined +2025-03-10 15:30:17,104 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,104 - ERROR - Error in episode 9060: name 'args' is not defined +2025-03-10 15:30:17,107 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,107 - ERROR - Error in episode 9061: name 'args' is not defined +2025-03-10 15:30:17,109 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,110 - ERROR - Error in episode 9062: name 'args' is not defined +2025-03-10 15:30:17,114 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,114 - ERROR - Error in episode 9063: name 'args' is not defined +2025-03-10 15:30:17,116 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,117 - ERROR - Error in episode 9064: name 'args' is not defined +2025-03-10 15:30:17,119 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,120 - ERROR - Error in episode 9065: name 'args' is not defined +2025-03-10 15:30:17,123 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,123 - ERROR - Error in episode 9066: name 'args' is not defined +2025-03-10 15:30:17,125 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,125 - ERROR - Error in episode 9067: name 'args' is not defined +2025-03-10 15:30:17,128 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,128 - ERROR - Error in episode 9068: name 'args' is not defined +2025-03-10 15:30:17,131 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,132 - ERROR - Error in episode 9069: name 'args' is not defined +2025-03-10 15:30:17,135 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,136 - ERROR - Error in episode 9070: name 'args' is not defined +2025-03-10 15:30:17,139 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,139 - ERROR - Error in episode 9071: name 'args' is not defined +2025-03-10 15:30:17,142 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,143 - ERROR - Error in episode 9072: name 'args' is not defined +2025-03-10 15:30:17,146 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,147 - ERROR - Error in episode 9073: name 'args' is not defined +2025-03-10 15:30:17,149 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,150 - ERROR - Error in episode 9074: name 'args' is not defined +2025-03-10 15:30:17,153 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,153 - ERROR - Error in episode 9075: name 'args' is not defined +2025-03-10 15:30:17,156 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,156 - ERROR - Error in episode 9076: name 'args' is not defined +2025-03-10 15:30:17,159 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,159 - ERROR - Error in episode 9077: name 'args' is not defined +2025-03-10 15:30:17,162 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,163 - ERROR - Error in episode 9078: name 'args' is not defined +2025-03-10 15:30:17,165 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,165 - ERROR - Error in episode 9079: name 'args' is not defined +2025-03-10 15:30:17,168 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,168 - ERROR - Error in episode 9080: name 'args' is not defined +2025-03-10 15:30:17,171 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,171 - ERROR - Error in episode 9081: name 'args' is not defined +2025-03-10 15:30:17,174 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,174 - ERROR - Error in episode 9082: name 'args' is not defined +2025-03-10 15:30:17,177 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,177 - ERROR - Error in episode 9083: name 'args' is not defined +2025-03-10 15:30:17,181 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,181 - ERROR - Error in episode 9084: name 'args' is not defined +2025-03-10 15:30:17,184 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,184 - ERROR - Error in episode 9085: name 'args' is not defined +2025-03-10 15:30:17,187 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,188 - ERROR - Error in episode 9086: name 'args' is not defined +2025-03-10 15:30:17,190 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,190 - ERROR - Error in episode 9087: name 'args' is not defined +2025-03-10 15:30:17,193 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,193 - ERROR - Error in episode 9088: name 'args' is not defined +2025-03-10 15:30:17,196 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,197 - ERROR - Error in episode 9089: name 'args' is not defined +2025-03-10 15:30:17,199 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,200 - ERROR - Error in episode 9090: name 'args' is not defined +2025-03-10 15:30:17,202 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,202 - ERROR - Error in episode 9091: name 'args' is not defined +2025-03-10 15:30:17,205 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,205 - ERROR - Error in episode 9092: name 'args' is not defined +2025-03-10 15:30:17,208 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,209 - ERROR - Error in episode 9093: name 'args' is not defined +2025-03-10 15:30:17,211 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,212 - ERROR - Error in episode 9094: name 'args' is not defined +2025-03-10 15:30:17,214 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,214 - ERROR - Error in episode 9095: name 'args' is not defined +2025-03-10 15:30:17,217 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,217 - ERROR - Error in episode 9096: name 'args' is not defined +2025-03-10 15:30:17,220 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,220 - ERROR - Error in episode 9097: name 'args' is not defined +2025-03-10 15:30:17,223 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,224 - ERROR - Error in episode 9098: name 'args' is not defined +2025-03-10 15:30:17,227 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,227 - ERROR - Error in episode 9099: name 'args' is not defined +2025-03-10 15:30:17,229 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,230 - ERROR - Error in episode 9100: name 'args' is not defined +2025-03-10 15:30:17,233 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,234 - ERROR - Error in episode 9101: name 'args' is not defined +2025-03-10 15:30:17,237 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,237 - ERROR - Error in episode 9102: name 'args' is not defined +2025-03-10 15:30:17,239 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,240 - ERROR - Error in episode 9103: name 'args' is not defined +2025-03-10 15:30:17,242 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,242 - ERROR - Error in episode 9104: name 'args' is not defined +2025-03-10 15:30:17,245 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,246 - ERROR - Error in episode 9105: name 'args' is not defined +2025-03-10 15:30:17,248 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,249 - ERROR - Error in episode 9106: name 'args' is not defined +2025-03-10 15:30:17,251 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,251 - ERROR - Error in episode 9107: name 'args' is not defined +2025-03-10 15:30:17,255 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,255 - ERROR - Error in episode 9108: name 'args' is not defined +2025-03-10 15:30:17,258 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,258 - ERROR - Error in episode 9109: name 'args' is not defined +2025-03-10 15:30:17,262 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,262 - ERROR - Error in episode 9110: name 'args' is not defined +2025-03-10 15:30:17,265 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,265 - ERROR - Error in episode 9111: name 'args' is not defined +2025-03-10 15:30:17,268 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,268 - ERROR - Error in episode 9112: name 'args' is not defined +2025-03-10 15:30:17,272 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,272 - ERROR - Error in episode 9113: name 'args' is not defined +2025-03-10 15:30:17,275 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,275 - ERROR - Error in episode 9114: name 'args' is not defined +2025-03-10 15:30:17,279 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,279 - ERROR - Error in episode 9115: name 'args' is not defined +2025-03-10 15:30:17,282 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,282 - ERROR - Error in episode 9116: name 'args' is not defined +2025-03-10 15:30:17,284 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,286 - ERROR - Error in episode 9117: name 'args' is not defined +2025-03-10 15:30:17,288 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,289 - ERROR - Error in episode 9118: name 'args' is not defined +2025-03-10 15:30:17,291 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,291 - ERROR - Error in episode 9119: name 'args' is not defined +2025-03-10 15:30:17,294 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,294 - ERROR - Error in episode 9120: name 'args' is not defined +2025-03-10 15:30:17,298 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,298 - ERROR - Error in episode 9121: name 'args' is not defined +2025-03-10 15:30:17,301 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,301 - ERROR - Error in episode 9122: name 'args' is not defined +2025-03-10 15:30:17,303 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,304 - ERROR - Error in episode 9123: name 'args' is not defined +2025-03-10 15:30:17,306 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,306 - ERROR - Error in episode 9124: name 'args' is not defined +2025-03-10 15:30:17,311 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,311 - ERROR - Error in episode 9125: name 'args' is not defined +2025-03-10 15:30:17,314 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,315 - ERROR - Error in episode 9126: name 'args' is not defined +2025-03-10 15:30:17,317 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,318 - ERROR - Error in episode 9127: name 'args' is not defined +2025-03-10 15:30:17,321 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,321 - ERROR - Error in episode 9128: name 'args' is not defined +2025-03-10 15:30:17,324 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,324 - ERROR - Error in episode 9129: name 'args' is not defined +2025-03-10 15:30:17,327 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,328 - ERROR - Error in episode 9130: name 'args' is not defined +2025-03-10 15:30:17,330 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,331 - ERROR - Error in episode 9131: name 'args' is not defined +2025-03-10 15:30:17,333 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,333 - ERROR - Error in episode 9132: name 'args' is not defined +2025-03-10 15:30:17,336 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,336 - ERROR - Error in episode 9133: name 'args' is not defined +2025-03-10 15:30:17,339 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,339 - ERROR - Error in episode 9134: name 'args' is not defined +2025-03-10 15:30:17,341 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,342 - ERROR - Error in episode 9135: name 'args' is not defined +2025-03-10 15:30:17,345 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,345 - ERROR - Error in episode 9136: name 'args' is not defined +2025-03-10 15:30:17,347 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,348 - ERROR - Error in episode 9137: name 'args' is not defined +2025-03-10 15:30:17,350 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,351 - ERROR - Error in episode 9138: name 'args' is not defined +2025-03-10 15:30:17,354 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,354 - ERROR - Error in episode 9139: name 'args' is not defined +2025-03-10 15:30:17,357 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,357 - ERROR - Error in episode 9140: name 'args' is not defined +2025-03-10 15:30:17,360 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,360 - ERROR - Error in episode 9141: name 'args' is not defined +2025-03-10 15:30:17,364 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,364 - ERROR - Error in episode 9142: name 'args' is not defined +2025-03-10 15:30:17,367 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,367 - ERROR - Error in episode 9143: name 'args' is not defined +2025-03-10 15:30:17,370 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,371 - ERROR - Error in episode 9144: name 'args' is not defined +2025-03-10 15:30:17,373 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,373 - ERROR - Error in episode 9145: name 'args' is not defined +2025-03-10 15:30:17,376 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,377 - ERROR - Error in episode 9146: name 'args' is not defined +2025-03-10 15:30:17,380 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,380 - ERROR - Error in episode 9147: name 'args' is not defined +2025-03-10 15:30:17,383 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,383 - ERROR - Error in episode 9148: name 'args' is not defined +2025-03-10 15:30:17,386 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,386 - ERROR - Error in episode 9149: name 'args' is not defined +2025-03-10 15:30:17,389 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,390 - ERROR - Error in episode 9150: name 'args' is not defined +2025-03-10 15:30:17,392 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,392 - ERROR - Error in episode 9151: name 'args' is not defined +2025-03-10 15:30:17,395 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,395 - ERROR - Error in episode 9152: name 'args' is not defined +2025-03-10 15:30:17,398 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,398 - ERROR - Error in episode 9153: name 'args' is not defined +2025-03-10 15:30:17,401 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,401 - ERROR - Error in episode 9154: name 'args' is not defined +2025-03-10 15:30:17,405 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,405 - ERROR - Error in episode 9155: name 'args' is not defined +2025-03-10 15:30:17,407 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,408 - ERROR - Error in episode 9156: name 'args' is not defined +2025-03-10 15:30:17,410 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,412 - ERROR - Error in episode 9157: name 'args' is not defined +2025-03-10 15:30:17,414 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,414 - ERROR - Error in episode 9158: name 'args' is not defined +2025-03-10 15:30:17,417 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,417 - ERROR - Error in episode 9159: name 'args' is not defined +2025-03-10 15:30:17,420 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,421 - ERROR - Error in episode 9160: name 'args' is not defined +2025-03-10 15:30:17,424 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,424 - ERROR - Error in episode 9161: name 'args' is not defined +2025-03-10 15:30:17,427 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,427 - ERROR - Error in episode 9162: name 'args' is not defined +2025-03-10 15:30:17,430 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,430 - ERROR - Error in episode 9163: name 'args' is not defined +2025-03-10 15:30:17,433 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,433 - ERROR - Error in episode 9164: name 'args' is not defined +2025-03-10 15:30:17,435 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,436 - ERROR - Error in episode 9165: name 'args' is not defined +2025-03-10 15:30:17,438 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,438 - ERROR - Error in episode 9166: name 'args' is not defined +2025-03-10 15:30:17,441 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,442 - ERROR - Error in episode 9167: name 'args' is not defined +2025-03-10 15:30:17,444 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,445 - ERROR - Error in episode 9168: name 'args' is not defined +2025-03-10 15:30:17,448 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,448 - ERROR - Error in episode 9169: name 'args' is not defined +2025-03-10 15:30:17,450 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,450 - ERROR - Error in episode 9170: name 'args' is not defined +2025-03-10 15:30:17,453 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,453 - ERROR - Error in episode 9171: name 'args' is not defined +2025-03-10 15:30:17,456 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,457 - ERROR - Error in episode 9172: name 'args' is not defined +2025-03-10 15:30:17,460 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,460 - ERROR - Error in episode 9173: name 'args' is not defined +2025-03-10 15:30:17,464 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,464 - ERROR - Error in episode 9174: name 'args' is not defined +2025-03-10 15:30:17,467 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,467 - ERROR - Error in episode 9175: name 'args' is not defined +2025-03-10 15:30:17,471 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,471 - ERROR - Error in episode 9176: name 'args' is not defined +2025-03-10 15:30:17,473 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,474 - ERROR - Error in episode 9177: name 'args' is not defined +2025-03-10 15:30:17,476 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,478 - ERROR - Error in episode 9178: name 'args' is not defined +2025-03-10 15:30:17,480 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,481 - ERROR - Error in episode 9179: name 'args' is not defined +2025-03-10 15:30:17,483 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,484 - ERROR - Error in episode 9180: name 'args' is not defined +2025-03-10 15:30:17,487 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,487 - ERROR - Error in episode 9181: name 'args' is not defined +2025-03-10 15:30:17,490 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,490 - ERROR - Error in episode 9182: name 'args' is not defined +2025-03-10 15:30:17,492 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,493 - ERROR - Error in episode 9183: name 'args' is not defined +2025-03-10 15:30:17,495 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,496 - ERROR - Error in episode 9184: name 'args' is not defined +2025-03-10 15:30:17,498 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,499 - ERROR - Error in episode 9185: name 'args' is not defined +2025-03-10 15:30:17,501 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,501 - ERROR - Error in episode 9186: name 'args' is not defined +2025-03-10 15:30:17,504 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,504 - ERROR - Error in episode 9187: name 'args' is not defined +2025-03-10 15:30:17,507 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,507 - ERROR - Error in episode 9188: name 'args' is not defined +2025-03-10 15:30:17,509 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,510 - ERROR - Error in episode 9189: name 'args' is not defined +2025-03-10 15:30:17,512 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,513 - ERROR - Error in episode 9190: name 'args' is not defined +2025-03-10 15:30:17,515 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,516 - ERROR - Error in episode 9191: name 'args' is not defined +2025-03-10 15:30:17,518 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,518 - ERROR - Error in episode 9192: name 'args' is not defined +2025-03-10 15:30:17,521 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,521 - ERROR - Error in episode 9193: name 'args' is not defined +2025-03-10 15:30:17,524 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,524 - ERROR - Error in episode 9194: name 'args' is not defined +2025-03-10 15:30:17,527 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,527 - ERROR - Error in episode 9195: name 'args' is not defined +2025-03-10 15:30:17,530 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,530 - ERROR - Error in episode 9196: name 'args' is not defined +2025-03-10 15:30:17,532 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,533 - ERROR - Error in episode 9197: name 'args' is not defined +2025-03-10 15:30:17,535 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,535 - ERROR - Error in episode 9198: name 'args' is not defined +2025-03-10 15:30:17,538 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,538 - ERROR - Error in episode 9199: name 'args' is not defined +2025-03-10 15:30:17,541 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,541 - ERROR - Error in episode 9200: name 'args' is not defined +2025-03-10 15:30:17,543 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,545 - ERROR - Error in episode 9201: name 'args' is not defined +2025-03-10 15:30:17,547 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,548 - ERROR - Error in episode 9202: name 'args' is not defined +2025-03-10 15:30:17,550 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,550 - ERROR - Error in episode 9203: name 'args' is not defined +2025-03-10 15:30:17,553 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,553 - ERROR - Error in episode 9204: name 'args' is not defined +2025-03-10 15:30:17,556 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,556 - ERROR - Error in episode 9205: name 'args' is not defined +2025-03-10 15:30:17,559 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,559 - ERROR - Error in episode 9206: name 'args' is not defined +2025-03-10 15:30:17,562 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,563 - ERROR - Error in episode 9207: name 'args' is not defined +2025-03-10 15:30:17,565 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,565 - ERROR - Error in episode 9208: name 'args' is not defined +2025-03-10 15:30:17,568 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,568 - ERROR - Error in episode 9209: name 'args' is not defined +2025-03-10 15:30:17,571 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,571 - ERROR - Error in episode 9210: name 'args' is not defined +2025-03-10 15:30:17,574 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,576 - ERROR - Error in episode 9211: name 'args' is not defined +2025-03-10 15:30:17,579 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,579 - ERROR - Error in episode 9212: name 'args' is not defined +2025-03-10 15:30:17,583 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,583 - ERROR - Error in episode 9213: name 'args' is not defined +2025-03-10 15:30:17,586 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,586 - ERROR - Error in episode 9214: name 'args' is not defined +2025-03-10 15:30:17,588 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,589 - ERROR - Error in episode 9215: name 'args' is not defined +2025-03-10 15:30:17,591 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,592 - ERROR - Error in episode 9216: name 'args' is not defined +2025-03-10 15:30:17,594 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,595 - ERROR - Error in episode 9217: name 'args' is not defined +2025-03-10 15:30:17,597 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,597 - ERROR - Error in episode 9218: name 'args' is not defined +2025-03-10 15:30:17,600 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,600 - ERROR - Error in episode 9219: name 'args' is not defined +2025-03-10 15:30:17,603 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,603 - ERROR - Error in episode 9220: name 'args' is not defined +2025-03-10 15:30:17,605 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,606 - ERROR - Error in episode 9221: name 'args' is not defined +2025-03-10 15:30:17,608 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,608 - ERROR - Error in episode 9222: name 'args' is not defined +2025-03-10 15:30:17,611 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,611 - ERROR - Error in episode 9223: name 'args' is not defined +2025-03-10 15:30:17,613 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,614 - ERROR - Error in episode 9224: name 'args' is not defined +2025-03-10 15:30:17,616 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,617 - ERROR - Error in episode 9225: name 'args' is not defined +2025-03-10 15:30:17,619 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,619 - ERROR - Error in episode 9226: name 'args' is not defined +2025-03-10 15:30:17,622 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,622 - ERROR - Error in episode 9227: name 'args' is not defined +2025-03-10 15:30:17,625 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,625 - ERROR - Error in episode 9228: name 'args' is not defined +2025-03-10 15:30:17,627 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,627 - ERROR - Error in episode 9229: name 'args' is not defined +2025-03-10 15:30:17,630 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,630 - ERROR - Error in episode 9230: name 'args' is not defined +2025-03-10 15:30:17,633 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,633 - ERROR - Error in episode 9231: name 'args' is not defined +2025-03-10 15:30:17,635 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,637 - ERROR - Error in episode 9232: name 'args' is not defined +2025-03-10 15:30:17,639 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,639 - ERROR - Error in episode 9233: name 'args' is not defined +2025-03-10 15:30:17,642 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,642 - ERROR - Error in episode 9234: name 'args' is not defined +2025-03-10 15:30:17,646 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,646 - ERROR - Error in episode 9235: name 'args' is not defined +2025-03-10 15:30:17,649 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,649 - ERROR - Error in episode 9236: name 'args' is not defined +2025-03-10 15:30:17,652 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,652 - ERROR - Error in episode 9237: name 'args' is not defined +2025-03-10 15:30:17,655 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,655 - ERROR - Error in episode 9238: name 'args' is not defined +2025-03-10 15:30:17,658 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,659 - ERROR - Error in episode 9239: name 'args' is not defined +2025-03-10 15:30:17,662 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,662 - ERROR - Error in episode 9240: name 'args' is not defined +2025-03-10 15:30:17,665 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,666 - ERROR - Error in episode 9241: name 'args' is not defined +2025-03-10 15:30:17,668 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,668 - ERROR - Error in episode 9242: name 'args' is not defined +2025-03-10 15:30:17,671 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,671 - ERROR - Error in episode 9243: name 'args' is not defined +2025-03-10 15:30:17,674 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,675 - ERROR - Error in episode 9244: name 'args' is not defined +2025-03-10 15:30:17,677 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,678 - ERROR - Error in episode 9245: name 'args' is not defined +2025-03-10 15:30:17,681 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,681 - ERROR - Error in episode 9246: name 'args' is not defined +2025-03-10 15:30:17,684 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,684 - ERROR - Error in episode 9247: name 'args' is not defined +2025-03-10 15:30:17,688 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,688 - ERROR - Error in episode 9248: name 'args' is not defined +2025-03-10 15:30:17,691 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,691 - ERROR - Error in episode 9249: name 'args' is not defined +2025-03-10 15:30:17,694 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,695 - ERROR - Error in episode 9250: name 'args' is not defined +2025-03-10 15:30:17,697 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,697 - ERROR - Error in episode 9251: name 'args' is not defined +2025-03-10 15:30:17,700 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,700 - ERROR - Error in episode 9252: name 'args' is not defined +2025-03-10 15:30:17,703 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,703 - ERROR - Error in episode 9253: name 'args' is not defined +2025-03-10 15:30:17,705 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,706 - ERROR - Error in episode 9254: name 'args' is not defined +2025-03-10 15:30:17,709 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,710 - ERROR - Error in episode 9255: name 'args' is not defined +2025-03-10 15:30:17,712 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,713 - ERROR - Error in episode 9256: name 'args' is not defined +2025-03-10 15:30:17,715 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,716 - ERROR - Error in episode 9257: name 'args' is not defined +2025-03-10 15:30:17,718 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,718 - ERROR - Error in episode 9258: name 'args' is not defined +2025-03-10 15:30:17,721 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,721 - ERROR - Error in episode 9259: name 'args' is not defined +2025-03-10 15:30:17,724 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,724 - ERROR - Error in episode 9260: name 'args' is not defined +2025-03-10 15:30:17,727 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,727 - ERROR - Error in episode 9261: name 'args' is not defined +2025-03-10 15:30:17,730 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,730 - ERROR - Error in episode 9262: name 'args' is not defined +2025-03-10 15:30:17,733 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,733 - ERROR - Error in episode 9263: name 'args' is not defined +2025-03-10 15:30:17,735 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,736 - ERROR - Error in episode 9264: name 'args' is not defined +2025-03-10 15:30:17,738 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,738 - ERROR - Error in episode 9265: name 'args' is not defined +2025-03-10 15:30:17,741 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,741 - ERROR - Error in episode 9266: name 'args' is not defined +2025-03-10 15:30:17,744 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,744 - ERROR - Error in episode 9267: name 'args' is not defined +2025-03-10 15:30:17,747 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,747 - ERROR - Error in episode 9268: name 'args' is not defined +2025-03-10 15:30:17,749 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,750 - ERROR - Error in episode 9269: name 'args' is not defined +2025-03-10 15:30:17,752 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,752 - ERROR - Error in episode 9270: name 'args' is not defined +2025-03-10 15:30:17,755 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,755 - ERROR - Error in episode 9271: name 'args' is not defined +2025-03-10 15:30:17,757 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,758 - ERROR - Error in episode 9272: name 'args' is not defined +2025-03-10 15:30:17,760 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,761 - ERROR - Error in episode 9273: name 'args' is not defined +2025-03-10 15:30:17,764 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,764 - ERROR - Error in episode 9274: name 'args' is not defined +2025-03-10 15:30:17,767 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,767 - ERROR - Error in episode 9275: name 'args' is not defined +2025-03-10 15:30:17,770 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,770 - ERROR - Error in episode 9276: name 'args' is not defined +2025-03-10 15:30:17,775 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,775 - ERROR - Error in episode 9277: name 'args' is not defined +2025-03-10 15:30:17,778 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,779 - ERROR - Error in episode 9278: name 'args' is not defined +2025-03-10 15:30:17,782 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,782 - ERROR - Error in episode 9279: name 'args' is not defined +2025-03-10 15:30:17,785 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,786 - ERROR - Error in episode 9280: name 'args' is not defined +2025-03-10 15:30:17,789 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,790 - ERROR - Error in episode 9281: name 'args' is not defined +2025-03-10 15:30:17,793 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,793 - ERROR - Error in episode 9282: name 'args' is not defined +2025-03-10 15:30:17,796 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,796 - ERROR - Error in episode 9283: name 'args' is not defined +2025-03-10 15:30:17,799 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,800 - ERROR - Error in episode 9284: name 'args' is not defined +2025-03-10 15:30:17,803 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,804 - ERROR - Error in episode 9285: name 'args' is not defined +2025-03-10 15:30:17,808 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,808 - ERROR - Error in episode 9286: name 'args' is not defined +2025-03-10 15:30:17,812 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,812 - ERROR - Error in episode 9287: name 'args' is not defined +2025-03-10 15:30:17,816 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,816 - ERROR - Error in episode 9288: name 'args' is not defined +2025-03-10 15:30:17,820 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,821 - ERROR - Error in episode 9289: name 'args' is not defined +2025-03-10 15:30:17,824 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,825 - ERROR - Error in episode 9290: name 'args' is not defined +2025-03-10 15:30:17,829 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,830 - ERROR - Error in episode 9291: name 'args' is not defined +2025-03-10 15:30:17,833 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,833 - ERROR - Error in episode 9292: name 'args' is not defined +2025-03-10 15:30:17,836 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,836 - ERROR - Error in episode 9293: name 'args' is not defined +2025-03-10 15:30:17,839 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,840 - ERROR - Error in episode 9294: name 'args' is not defined +2025-03-10 15:30:17,843 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,844 - ERROR - Error in episode 9295: name 'args' is not defined +2025-03-10 15:30:17,846 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,846 - ERROR - Error in episode 9296: name 'args' is not defined +2025-03-10 15:30:17,850 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,850 - ERROR - Error in episode 9297: name 'args' is not defined +2025-03-10 15:30:17,854 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,854 - ERROR - Error in episode 9298: name 'args' is not defined +2025-03-10 15:30:17,856 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,857 - ERROR - Error in episode 9299: name 'args' is not defined +2025-03-10 15:30:17,861 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,861 - ERROR - Error in episode 9300: name 'args' is not defined +2025-03-10 15:30:17,865 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,865 - ERROR - Error in episode 9301: name 'args' is not defined +2025-03-10 15:30:17,867 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,867 - ERROR - Error in episode 9302: name 'args' is not defined +2025-03-10 15:30:17,871 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,871 - ERROR - Error in episode 9303: name 'args' is not defined +2025-03-10 15:30:17,874 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,875 - ERROR - Error in episode 9304: name 'args' is not defined +2025-03-10 15:30:17,878 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,878 - ERROR - Error in episode 9305: name 'args' is not defined +2025-03-10 15:30:17,881 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,881 - ERROR - Error in episode 9306: name 'args' is not defined +2025-03-10 15:30:17,884 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,884 - ERROR - Error in episode 9307: name 'args' is not defined +2025-03-10 15:30:17,888 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,889 - ERROR - Error in episode 9308: name 'args' is not defined +2025-03-10 15:30:17,892 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,892 - ERROR - Error in episode 9309: name 'args' is not defined +2025-03-10 15:30:17,895 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,895 - ERROR - Error in episode 9310: name 'args' is not defined +2025-03-10 15:30:17,898 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,900 - ERROR - Error in episode 9311: name 'args' is not defined +2025-03-10 15:30:17,903 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,903 - ERROR - Error in episode 9312: name 'args' is not defined +2025-03-10 15:30:17,906 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,906 - ERROR - Error in episode 9313: name 'args' is not defined +2025-03-10 15:30:17,909 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,910 - ERROR - Error in episode 9314: name 'args' is not defined +2025-03-10 15:30:17,913 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,913 - ERROR - Error in episode 9315: name 'args' is not defined +2025-03-10 15:30:17,917 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,917 - ERROR - Error in episode 9316: name 'args' is not defined +2025-03-10 15:30:17,920 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,921 - ERROR - Error in episode 9317: name 'args' is not defined +2025-03-10 15:30:17,924 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,924 - ERROR - Error in episode 9318: name 'args' is not defined +2025-03-10 15:30:17,928 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,929 - ERROR - Error in episode 9319: name 'args' is not defined +2025-03-10 15:30:17,932 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,932 - ERROR - Error in episode 9320: name 'args' is not defined +2025-03-10 15:30:17,935 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,935 - ERROR - Error in episode 9321: name 'args' is not defined +2025-03-10 15:30:17,938 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,938 - ERROR - Error in episode 9322: name 'args' is not defined +2025-03-10 15:30:17,941 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,943 - ERROR - Error in episode 9323: name 'args' is not defined +2025-03-10 15:30:17,946 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,946 - ERROR - Error in episode 9324: name 'args' is not defined +2025-03-10 15:30:17,949 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,950 - ERROR - Error in episode 9325: name 'args' is not defined +2025-03-10 15:30:17,952 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,953 - ERROR - Error in episode 9326: name 'args' is not defined +2025-03-10 15:30:17,955 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,955 - ERROR - Error in episode 9327: name 'args' is not defined +2025-03-10 15:30:17,958 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,958 - ERROR - Error in episode 9328: name 'args' is not defined +2025-03-10 15:30:17,960 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,962 - ERROR - Error in episode 9329: name 'args' is not defined +2025-03-10 15:30:17,964 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,965 - ERROR - Error in episode 9330: name 'args' is not defined +2025-03-10 15:30:17,967 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,968 - ERROR - Error in episode 9331: name 'args' is not defined +2025-03-10 15:30:17,970 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,970 - ERROR - Error in episode 9332: name 'args' is not defined +2025-03-10 15:30:17,973 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,975 - ERROR - Error in episode 9333: name 'args' is not defined +2025-03-10 15:30:17,977 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,977 - ERROR - Error in episode 9334: name 'args' is not defined +2025-03-10 15:30:17,980 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,980 - ERROR - Error in episode 9335: name 'args' is not defined +2025-03-10 15:30:17,983 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,984 - ERROR - Error in episode 9336: name 'args' is not defined +2025-03-10 15:30:17,986 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,986 - ERROR - Error in episode 9337: name 'args' is not defined +2025-03-10 15:30:17,989 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,989 - ERROR - Error in episode 9338: name 'args' is not defined +2025-03-10 15:30:17,992 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,992 - ERROR - Error in episode 9339: name 'args' is not defined +2025-03-10 15:30:17,995 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,995 - ERROR - Error in episode 9340: name 'args' is not defined +2025-03-10 15:30:17,998 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:17,998 - ERROR - Error in episode 9341: name 'args' is not defined +2025-03-10 15:30:18,001 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,001 - ERROR - Error in episode 9342: name 'args' is not defined +2025-03-10 15:30:18,004 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,004 - ERROR - Error in episode 9343: name 'args' is not defined +2025-03-10 15:30:18,007 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,007 - ERROR - Error in episode 9344: name 'args' is not defined +2025-03-10 15:30:18,010 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,010 - ERROR - Error in episode 9345: name 'args' is not defined +2025-03-10 15:30:18,013 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,013 - ERROR - Error in episode 9346: name 'args' is not defined +2025-03-10 15:30:18,015 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,016 - ERROR - Error in episode 9347: name 'args' is not defined +2025-03-10 15:30:18,018 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,019 - ERROR - Error in episode 9348: name 'args' is not defined +2025-03-10 15:30:18,022 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,022 - ERROR - Error in episode 9349: name 'args' is not defined +2025-03-10 15:30:18,025 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,025 - ERROR - Error in episode 9350: name 'args' is not defined +2025-03-10 15:30:18,028 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,028 - ERROR - Error in episode 9351: name 'args' is not defined +2025-03-10 15:30:18,031 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,031 - ERROR - Error in episode 9352: name 'args' is not defined +2025-03-10 15:30:18,034 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,034 - ERROR - Error in episode 9353: name 'args' is not defined +2025-03-10 15:30:18,037 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,037 - ERROR - Error in episode 9354: name 'args' is not defined +2025-03-10 15:30:18,040 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,040 - ERROR - Error in episode 9355: name 'args' is not defined +2025-03-10 15:30:18,044 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,044 - ERROR - Error in episode 9356: name 'args' is not defined +2025-03-10 15:30:18,047 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,048 - ERROR - Error in episode 9357: name 'args' is not defined +2025-03-10 15:30:18,050 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,051 - ERROR - Error in episode 9358: name 'args' is not defined +2025-03-10 15:30:18,053 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,053 - ERROR - Error in episode 9359: name 'args' is not defined +2025-03-10 15:30:18,056 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,056 - ERROR - Error in episode 9360: name 'args' is not defined +2025-03-10 15:30:18,059 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,059 - ERROR - Error in episode 9361: name 'args' is not defined +2025-03-10 15:30:18,063 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,063 - ERROR - Error in episode 9362: name 'args' is not defined +2025-03-10 15:30:18,065 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,066 - ERROR - Error in episode 9363: name 'args' is not defined +2025-03-10 15:30:18,068 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,069 - ERROR - Error in episode 9364: name 'args' is not defined +2025-03-10 15:30:18,071 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,072 - ERROR - Error in episode 9365: name 'args' is not defined +2025-03-10 15:30:18,075 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,075 - ERROR - Error in episode 9366: name 'args' is not defined +2025-03-10 15:30:18,077 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,078 - ERROR - Error in episode 9367: name 'args' is not defined +2025-03-10 15:30:18,081 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,081 - ERROR - Error in episode 9368: name 'args' is not defined +2025-03-10 15:30:18,085 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,085 - ERROR - Error in episode 9369: name 'args' is not defined +2025-03-10 15:30:18,088 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,089 - ERROR - Error in episode 9370: name 'args' is not defined +2025-03-10 15:30:18,092 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,092 - ERROR - Error in episode 9371: name 'args' is not defined +2025-03-10 15:30:18,094 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,095 - ERROR - Error in episode 9372: name 'args' is not defined +2025-03-10 15:30:18,098 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,098 - ERROR - Error in episode 9373: name 'args' is not defined +2025-03-10 15:30:18,102 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,102 - ERROR - Error in episode 9374: name 'args' is not defined +2025-03-10 15:30:18,104 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,104 - ERROR - Error in episode 9375: name 'args' is not defined +2025-03-10 15:30:18,108 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,108 - ERROR - Error in episode 9376: name 'args' is not defined +2025-03-10 15:30:18,112 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,112 - ERROR - Error in episode 9377: name 'args' is not defined +2025-03-10 15:30:18,114 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,114 - ERROR - Error in episode 9378: name 'args' is not defined +2025-03-10 15:30:18,118 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,118 - ERROR - Error in episode 9379: name 'args' is not defined +2025-03-10 15:30:18,121 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,121 - ERROR - Error in episode 9380: name 'args' is not defined +2025-03-10 15:30:18,124 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,125 - ERROR - Error in episode 9381: name 'args' is not defined +2025-03-10 15:30:18,129 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,129 - ERROR - Error in episode 9382: name 'args' is not defined +2025-03-10 15:30:18,132 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,132 - ERROR - Error in episode 9383: name 'args' is not defined +2025-03-10 15:30:18,137 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,137 - ERROR - Error in episode 9384: name 'args' is not defined +2025-03-10 15:30:18,140 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,140 - ERROR - Error in episode 9385: name 'args' is not defined +2025-03-10 15:30:18,142 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,143 - ERROR - Error in episode 9386: name 'args' is not defined +2025-03-10 15:30:18,146 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,146 - ERROR - Error in episode 9387: name 'args' is not defined +2025-03-10 15:30:18,149 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,149 - ERROR - Error in episode 9388: name 'args' is not defined +2025-03-10 15:30:18,151 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,152 - ERROR - Error in episode 9389: name 'args' is not defined +2025-03-10 15:30:18,155 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,155 - ERROR - Error in episode 9390: name 'args' is not defined +2025-03-10 15:30:18,158 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,158 - ERROR - Error in episode 9391: name 'args' is not defined +2025-03-10 15:30:18,161 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,162 - ERROR - Error in episode 9392: name 'args' is not defined +2025-03-10 15:30:18,165 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,166 - ERROR - Error in episode 9393: name 'args' is not defined +2025-03-10 15:30:18,168 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,169 - ERROR - Error in episode 9394: name 'args' is not defined +2025-03-10 15:30:18,171 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,172 - ERROR - Error in episode 9395: name 'args' is not defined +2025-03-10 15:30:18,174 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,174 - ERROR - Error in episode 9396: name 'args' is not defined +2025-03-10 15:30:18,177 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,178 - ERROR - Error in episode 9397: name 'args' is not defined +2025-03-10 15:30:18,180 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,181 - ERROR - Error in episode 9398: name 'args' is not defined +2025-03-10 15:30:18,184 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,184 - ERROR - Error in episode 9399: name 'args' is not defined +2025-03-10 15:30:18,187 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,188 - ERROR - Error in episode 9400: name 'args' is not defined +2025-03-10 15:30:18,191 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,191 - ERROR - Error in episode 9401: name 'args' is not defined +2025-03-10 15:30:18,194 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,194 - ERROR - Error in episode 9402: name 'args' is not defined +2025-03-10 15:30:18,197 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,197 - ERROR - Error in episode 9403: name 'args' is not defined +2025-03-10 15:30:18,200 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,200 - ERROR - Error in episode 9404: name 'args' is not defined +2025-03-10 15:30:18,204 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,204 - ERROR - Error in episode 9405: name 'args' is not defined +2025-03-10 15:30:18,207 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,207 - ERROR - Error in episode 9406: name 'args' is not defined +2025-03-10 15:30:18,211 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,211 - ERROR - Error in episode 9407: name 'args' is not defined +2025-03-10 15:30:18,214 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,214 - ERROR - Error in episode 9408: name 'args' is not defined +2025-03-10 15:30:18,218 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,218 - ERROR - Error in episode 9409: name 'args' is not defined +2025-03-10 15:30:18,221 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,221 - ERROR - Error in episode 9410: name 'args' is not defined +2025-03-10 15:30:18,224 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,224 - ERROR - Error in episode 9411: name 'args' is not defined +2025-03-10 15:30:18,228 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,229 - ERROR - Error in episode 9412: name 'args' is not defined +2025-03-10 15:30:18,231 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,231 - ERROR - Error in episode 9413: name 'args' is not defined +2025-03-10 15:30:18,235 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,235 - ERROR - Error in episode 9414: name 'args' is not defined +2025-03-10 15:30:18,238 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,238 - ERROR - Error in episode 9415: name 'args' is not defined +2025-03-10 15:30:18,241 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,242 - ERROR - Error in episode 9416: name 'args' is not defined +2025-03-10 15:30:18,245 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,245 - ERROR - Error in episode 9417: name 'args' is not defined +2025-03-10 15:30:18,248 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,248 - ERROR - Error in episode 9418: name 'args' is not defined +2025-03-10 15:30:18,251 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,251 - ERROR - Error in episode 9419: name 'args' is not defined +2025-03-10 15:30:18,254 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,254 - ERROR - Error in episode 9420: name 'args' is not defined +2025-03-10 15:30:18,258 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,258 - ERROR - Error in episode 9421: name 'args' is not defined +2025-03-10 15:30:18,261 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,261 - ERROR - Error in episode 9422: name 'args' is not defined +2025-03-10 15:30:18,264 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,265 - ERROR - Error in episode 9423: name 'args' is not defined +2025-03-10 15:30:18,267 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,267 - ERROR - Error in episode 9424: name 'args' is not defined +2025-03-10 15:30:18,271 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,271 - ERROR - Error in episode 9425: name 'args' is not defined +2025-03-10 15:30:18,274 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,274 - ERROR - Error in episode 9426: name 'args' is not defined +2025-03-10 15:30:18,276 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,277 - ERROR - Error in episode 9427: name 'args' is not defined +2025-03-10 15:30:18,280 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,280 - ERROR - Error in episode 9428: name 'args' is not defined +2025-03-10 15:30:18,284 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,285 - ERROR - Error in episode 9429: name 'args' is not defined +2025-03-10 15:30:18,287 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,288 - ERROR - Error in episode 9430: name 'args' is not defined +2025-03-10 15:30:18,291 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,291 - ERROR - Error in episode 9431: name 'args' is not defined +2025-03-10 15:30:18,294 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,294 - ERROR - Error in episode 9432: name 'args' is not defined +2025-03-10 15:30:18,297 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,297 - ERROR - Error in episode 9433: name 'args' is not defined +2025-03-10 15:30:18,301 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,301 - ERROR - Error in episode 9434: name 'args' is not defined +2025-03-10 15:30:18,303 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,304 - ERROR - Error in episode 9435: name 'args' is not defined +2025-03-10 15:30:18,307 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,307 - ERROR - Error in episode 9436: name 'args' is not defined +2025-03-10 15:30:18,310 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,310 - ERROR - Error in episode 9437: name 'args' is not defined +2025-03-10 15:30:18,314 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,314 - ERROR - Error in episode 9438: name 'args' is not defined +2025-03-10 15:30:18,317 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,317 - ERROR - Error in episode 9439: name 'args' is not defined +2025-03-10 15:30:18,320 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,320 - ERROR - Error in episode 9440: name 'args' is not defined +2025-03-10 15:30:18,323 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,323 - ERROR - Error in episode 9441: name 'args' is not defined +2025-03-10 15:30:18,326 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,326 - ERROR - Error in episode 9442: name 'args' is not defined +2025-03-10 15:30:18,330 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,330 - ERROR - Error in episode 9443: name 'args' is not defined +2025-03-10 15:30:18,333 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,333 - ERROR - Error in episode 9444: name 'args' is not defined +2025-03-10 15:30:18,337 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,337 - ERROR - Error in episode 9445: name 'args' is not defined +2025-03-10 15:30:18,340 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,340 - ERROR - Error in episode 9446: name 'args' is not defined +2025-03-10 15:30:18,342 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,343 - ERROR - Error in episode 9447: name 'args' is not defined +2025-03-10 15:30:18,346 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,346 - ERROR - Error in episode 9448: name 'args' is not defined +2025-03-10 15:30:18,349 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,349 - ERROR - Error in episode 9449: name 'args' is not defined +2025-03-10 15:30:18,352 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,352 - ERROR - Error in episode 9450: name 'args' is not defined +2025-03-10 15:30:18,356 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,356 - ERROR - Error in episode 9451: name 'args' is not defined +2025-03-10 15:30:18,359 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,359 - ERROR - Error in episode 9452: name 'args' is not defined +2025-03-10 15:30:18,362 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,363 - ERROR - Error in episode 9453: name 'args' is not defined +2025-03-10 15:30:18,365 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,365 - ERROR - Error in episode 9454: name 'args' is not defined +2025-03-10 15:30:18,368 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,368 - ERROR - Error in episode 9455: name 'args' is not defined +2025-03-10 15:30:18,371 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,371 - ERROR - Error in episode 9456: name 'args' is not defined +2025-03-10 15:30:18,374 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,374 - ERROR - Error in episode 9457: name 'args' is not defined +2025-03-10 15:30:18,377 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,377 - ERROR - Error in episode 9458: name 'args' is not defined +2025-03-10 15:30:18,381 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,381 - ERROR - Error in episode 9459: name 'args' is not defined +2025-03-10 15:30:18,384 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,384 - ERROR - Error in episode 9460: name 'args' is not defined +2025-03-10 15:30:18,387 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,388 - ERROR - Error in episode 9461: name 'args' is not defined +2025-03-10 15:30:18,391 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,391 - ERROR - Error in episode 9462: name 'args' is not defined +2025-03-10 15:30:18,393 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,394 - ERROR - Error in episode 9463: name 'args' is not defined +2025-03-10 15:30:18,396 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,397 - ERROR - Error in episode 9464: name 'args' is not defined +2025-03-10 15:30:18,399 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,399 - ERROR - Error in episode 9465: name 'args' is not defined +2025-03-10 15:30:18,402 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,402 - ERROR - Error in episode 9466: name 'args' is not defined +2025-03-10 15:30:18,406 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,406 - ERROR - Error in episode 9467: name 'args' is not defined +2025-03-10 15:30:18,409 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,410 - ERROR - Error in episode 9468: name 'args' is not defined +2025-03-10 15:30:18,412 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,412 - ERROR - Error in episode 9469: name 'args' is not defined +2025-03-10 15:30:18,415 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,416 - ERROR - Error in episode 9470: name 'args' is not defined +2025-03-10 15:30:18,418 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,419 - ERROR - Error in episode 9471: name 'args' is not defined +2025-03-10 15:30:18,422 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,422 - ERROR - Error in episode 9472: name 'args' is not defined +2025-03-10 15:30:18,425 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,425 - ERROR - Error in episode 9473: name 'args' is not defined +2025-03-10 15:30:18,428 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,428 - ERROR - Error in episode 9474: name 'args' is not defined +2025-03-10 15:30:18,431 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,431 - ERROR - Error in episode 9475: name 'args' is not defined +2025-03-10 15:30:18,434 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,434 - ERROR - Error in episode 9476: name 'args' is not defined +2025-03-10 15:30:18,438 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,438 - ERROR - Error in episode 9477: name 'args' is not defined +2025-03-10 15:30:18,440 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,441 - ERROR - Error in episode 9478: name 'args' is not defined +2025-03-10 15:30:18,443 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,444 - ERROR - Error in episode 9479: name 'args' is not defined +2025-03-10 15:30:18,447 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,447 - ERROR - Error in episode 9480: name 'args' is not defined +2025-03-10 15:30:18,449 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,450 - ERROR - Error in episode 9481: name 'args' is not defined +2025-03-10 15:30:18,452 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,453 - ERROR - Error in episode 9482: name 'args' is not defined +2025-03-10 15:30:18,456 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,457 - ERROR - Error in episode 9483: name 'args' is not defined +2025-03-10 15:30:18,459 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,460 - ERROR - Error in episode 9484: name 'args' is not defined +2025-03-10 15:30:18,462 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,463 - ERROR - Error in episode 9485: name 'args' is not defined +2025-03-10 15:30:18,466 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,466 - ERROR - Error in episode 9486: name 'args' is not defined +2025-03-10 15:30:18,468 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,469 - ERROR - Error in episode 9487: name 'args' is not defined +2025-03-10 15:30:18,472 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,472 - ERROR - Error in episode 9488: name 'args' is not defined +2025-03-10 15:30:18,475 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,475 - ERROR - Error in episode 9489: name 'args' is not defined +2025-03-10 15:30:18,477 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,478 - ERROR - Error in episode 9490: name 'args' is not defined +2025-03-10 15:30:18,481 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,481 - ERROR - Error in episode 9491: name 'args' is not defined +2025-03-10 15:30:18,484 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,484 - ERROR - Error in episode 9492: name 'args' is not defined +2025-03-10 15:30:18,488 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,488 - ERROR - Error in episode 9493: name 'args' is not defined +2025-03-10 15:30:18,491 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,491 - ERROR - Error in episode 9494: name 'args' is not defined +2025-03-10 15:30:18,494 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,494 - ERROR - Error in episode 9495: name 'args' is not defined +2025-03-10 15:30:18,497 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,497 - ERROR - Error in episode 9496: name 'args' is not defined +2025-03-10 15:30:18,500 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,500 - ERROR - Error in episode 9497: name 'args' is not defined +2025-03-10 15:30:18,502 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,503 - ERROR - Error in episode 9498: name 'args' is not defined +2025-03-10 15:30:18,506 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,506 - ERROR - Error in episode 9499: name 'args' is not defined +2025-03-10 15:30:18,509 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,510 - ERROR - Error in episode 9500: name 'args' is not defined +2025-03-10 15:30:18,513 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,513 - ERROR - Error in episode 9501: name 'args' is not defined +2025-03-10 15:30:18,515 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,515 - ERROR - Error in episode 9502: name 'args' is not defined +2025-03-10 15:30:18,518 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,518 - ERROR - Error in episode 9503: name 'args' is not defined +2025-03-10 15:30:18,521 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,522 - ERROR - Error in episode 9504: name 'args' is not defined +2025-03-10 15:30:18,524 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,525 - ERROR - Error in episode 9505: name 'args' is not defined +2025-03-10 15:30:18,528 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,528 - ERROR - Error in episode 9506: name 'args' is not defined +2025-03-10 15:30:18,531 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,531 - ERROR - Error in episode 9507: name 'args' is not defined +2025-03-10 15:30:18,534 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,535 - ERROR - Error in episode 9508: name 'args' is not defined +2025-03-10 15:30:18,537 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,537 - ERROR - Error in episode 9509: name 'args' is not defined +2025-03-10 15:30:18,541 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,541 - ERROR - Error in episode 9510: name 'args' is not defined +2025-03-10 15:30:18,543 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,544 - ERROR - Error in episode 9511: name 'args' is not defined +2025-03-10 15:30:18,546 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,547 - ERROR - Error in episode 9512: name 'args' is not defined +2025-03-10 15:30:18,549 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,551 - ERROR - Error in episode 9513: name 'args' is not defined +2025-03-10 15:30:18,553 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,554 - ERROR - Error in episode 9514: name 'args' is not defined +2025-03-10 15:30:18,556 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,556 - ERROR - Error in episode 9515: name 'args' is not defined +2025-03-10 15:30:18,559 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,559 - ERROR - Error in episode 9516: name 'args' is not defined +2025-03-10 15:30:18,562 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,563 - ERROR - Error in episode 9517: name 'args' is not defined +2025-03-10 15:30:18,566 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,567 - ERROR - Error in episode 9518: name 'args' is not defined +2025-03-10 15:30:18,569 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,570 - ERROR - Error in episode 9519: name 'args' is not defined +2025-03-10 15:30:18,573 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,573 - ERROR - Error in episode 9520: name 'args' is not defined +2025-03-10 15:30:18,575 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,576 - ERROR - Error in episode 9521: name 'args' is not defined +2025-03-10 15:30:18,578 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,579 - ERROR - Error in episode 9522: name 'args' is not defined +2025-03-10 15:30:18,582 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,583 - ERROR - Error in episode 9523: name 'args' is not defined +2025-03-10 15:30:18,586 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,586 - ERROR - Error in episode 9524: name 'args' is not defined +2025-03-10 15:30:18,589 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,590 - ERROR - Error in episode 9525: name 'args' is not defined +2025-03-10 15:30:18,593 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,593 - ERROR - Error in episode 9526: name 'args' is not defined +2025-03-10 15:30:18,595 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,597 - ERROR - Error in episode 9527: name 'args' is not defined +2025-03-10 15:30:18,599 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,599 - ERROR - Error in episode 9528: name 'args' is not defined +2025-03-10 15:30:18,601 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,602 - ERROR - Error in episode 9529: name 'args' is not defined +2025-03-10 15:30:18,604 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,605 - ERROR - Error in episode 9530: name 'args' is not defined +2025-03-10 15:30:18,607 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,607 - ERROR - Error in episode 9531: name 'args' is not defined +2025-03-10 15:30:18,610 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,610 - ERROR - Error in episode 9532: name 'args' is not defined +2025-03-10 15:30:18,613 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,613 - ERROR - Error in episode 9533: name 'args' is not defined +2025-03-10 15:30:18,616 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,617 - ERROR - Error in episode 9534: name 'args' is not defined +2025-03-10 15:30:18,619 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,620 - ERROR - Error in episode 9535: name 'args' is not defined +2025-03-10 15:30:18,623 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,624 - ERROR - Error in episode 9536: name 'args' is not defined +2025-03-10 15:30:18,626 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,626 - ERROR - Error in episode 9537: name 'args' is not defined +2025-03-10 15:30:18,629 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,629 - ERROR - Error in episode 9538: name 'args' is not defined +2025-03-10 15:30:18,633 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,633 - ERROR - Error in episode 9539: name 'args' is not defined +2025-03-10 15:30:18,635 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,636 - ERROR - Error in episode 9540: name 'args' is not defined +2025-03-10 15:30:18,638 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,639 - ERROR - Error in episode 9541: name 'args' is not defined +2025-03-10 15:30:18,641 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,642 - ERROR - Error in episode 9542: name 'args' is not defined +2025-03-10 15:30:18,645 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,645 - ERROR - Error in episode 9543: name 'args' is not defined +2025-03-10 15:30:18,649 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,649 - ERROR - Error in episode 9544: name 'args' is not defined +2025-03-10 15:30:18,652 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,652 - ERROR - Error in episode 9545: name 'args' is not defined +2025-03-10 15:30:18,655 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,655 - ERROR - Error in episode 9546: name 'args' is not defined +2025-03-10 15:30:18,659 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,659 - ERROR - Error in episode 9547: name 'args' is not defined +2025-03-10 15:30:18,662 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,662 - ERROR - Error in episode 9548: name 'args' is not defined +2025-03-10 15:30:18,665 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,666 - ERROR - Error in episode 9549: name 'args' is not defined +2025-03-10 15:30:18,669 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,669 - ERROR - Error in episode 9550: name 'args' is not defined +2025-03-10 15:30:18,672 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,673 - ERROR - Error in episode 9551: name 'args' is not defined +2025-03-10 15:30:18,676 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,677 - ERROR - Error in episode 9552: name 'args' is not defined +2025-03-10 15:30:18,680 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,680 - ERROR - Error in episode 9553: name 'args' is not defined +2025-03-10 15:30:18,685 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,685 - ERROR - Error in episode 9554: name 'args' is not defined +2025-03-10 15:30:18,689 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,689 - ERROR - Error in episode 9555: name 'args' is not defined +2025-03-10 15:30:18,692 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,693 - ERROR - Error in episode 9556: name 'args' is not defined +2025-03-10 15:30:18,695 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,696 - ERROR - Error in episode 9557: name 'args' is not defined +2025-03-10 15:30:18,698 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,699 - ERROR - Error in episode 9558: name 'args' is not defined +2025-03-10 15:30:18,701 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,702 - ERROR - Error in episode 9559: name 'args' is not defined +2025-03-10 15:30:18,704 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,705 - ERROR - Error in episode 9560: name 'args' is not defined +2025-03-10 15:30:18,707 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,708 - ERROR - Error in episode 9561: name 'args' is not defined +2025-03-10 15:30:18,711 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,711 - ERROR - Error in episode 9562: name 'args' is not defined +2025-03-10 15:30:18,714 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,714 - ERROR - Error in episode 9563: name 'args' is not defined +2025-03-10 15:30:18,717 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,717 - ERROR - Error in episode 9564: name 'args' is not defined +2025-03-10 15:30:18,722 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,722 - ERROR - Error in episode 9565: name 'args' is not defined +2025-03-10 15:30:18,725 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,725 - ERROR - Error in episode 9566: name 'args' is not defined +2025-03-10 15:30:18,727 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,728 - ERROR - Error in episode 9567: name 'args' is not defined +2025-03-10 15:30:18,730 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,731 - ERROR - Error in episode 9568: name 'args' is not defined +2025-03-10 15:30:18,734 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,734 - ERROR - Error in episode 9569: name 'args' is not defined +2025-03-10 15:30:18,737 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,737 - ERROR - Error in episode 9570: name 'args' is not defined +2025-03-10 15:30:18,741 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,741 - ERROR - Error in episode 9571: name 'args' is not defined +2025-03-10 15:30:18,744 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,744 - ERROR - Error in episode 9572: name 'args' is not defined +2025-03-10 15:30:18,747 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,748 - ERROR - Error in episode 9573: name 'args' is not defined +2025-03-10 15:30:18,751 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,752 - ERROR - Error in episode 9574: name 'args' is not defined +2025-03-10 15:30:18,755 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,756 - ERROR - Error in episode 9575: name 'args' is not defined +2025-03-10 15:30:18,759 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,759 - ERROR - Error in episode 9576: name 'args' is not defined +2025-03-10 15:30:18,763 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,763 - ERROR - Error in episode 9577: name 'args' is not defined +2025-03-10 15:30:18,766 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,767 - ERROR - Error in episode 9578: name 'args' is not defined +2025-03-10 15:30:18,770 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,770 - ERROR - Error in episode 9579: name 'args' is not defined +2025-03-10 15:30:18,773 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,774 - ERROR - Error in episode 9580: name 'args' is not defined +2025-03-10 15:30:18,777 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,777 - ERROR - Error in episode 9581: name 'args' is not defined +2025-03-10 15:30:18,780 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,780 - ERROR - Error in episode 9582: name 'args' is not defined +2025-03-10 15:30:18,785 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,785 - ERROR - Error in episode 9583: name 'args' is not defined +2025-03-10 15:30:18,788 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,788 - ERROR - Error in episode 9584: name 'args' is not defined +2025-03-10 15:30:18,792 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,792 - ERROR - Error in episode 9585: name 'args' is not defined +2025-03-10 15:30:18,794 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,795 - ERROR - Error in episode 9586: name 'args' is not defined +2025-03-10 15:30:18,798 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,798 - ERROR - Error in episode 9587: name 'args' is not defined +2025-03-10 15:30:18,802 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,803 - ERROR - Error in episode 9588: name 'args' is not defined +2025-03-10 15:30:18,806 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,806 - ERROR - Error in episode 9589: name 'args' is not defined +2025-03-10 15:30:18,810 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,810 - ERROR - Error in episode 9590: name 'args' is not defined +2025-03-10 15:30:18,813 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,813 - ERROR - Error in episode 9591: name 'args' is not defined +2025-03-10 15:30:18,815 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,816 - ERROR - Error in episode 9592: name 'args' is not defined +2025-03-10 15:30:18,818 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,819 - ERROR - Error in episode 9593: name 'args' is not defined +2025-03-10 15:30:18,822 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,822 - ERROR - Error in episode 9594: name 'args' is not defined +2025-03-10 15:30:18,825 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,826 - ERROR - Error in episode 9595: name 'args' is not defined +2025-03-10 15:30:18,829 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,829 - ERROR - Error in episode 9596: name 'args' is not defined +2025-03-10 15:30:18,832 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,832 - ERROR - Error in episode 9597: name 'args' is not defined +2025-03-10 15:30:18,834 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,835 - ERROR - Error in episode 9598: name 'args' is not defined +2025-03-10 15:30:18,837 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,838 - ERROR - Error in episode 9599: name 'args' is not defined +2025-03-10 15:30:18,840 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,841 - ERROR - Error in episode 9600: name 'args' is not defined +2025-03-10 15:30:18,844 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,845 - ERROR - Error in episode 9601: name 'args' is not defined +2025-03-10 15:30:18,847 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,847 - ERROR - Error in episode 9602: name 'args' is not defined +2025-03-10 15:30:18,850 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,850 - ERROR - Error in episode 9603: name 'args' is not defined +2025-03-10 15:30:18,853 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,853 - ERROR - Error in episode 9604: name 'args' is not defined +2025-03-10 15:30:18,857 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,858 - ERROR - Error in episode 9605: name 'args' is not defined +2025-03-10 15:30:18,860 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,861 - ERROR - Error in episode 9606: name 'args' is not defined +2025-03-10 15:30:18,863 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,864 - ERROR - Error in episode 9607: name 'args' is not defined +2025-03-10 15:30:18,867 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,867 - ERROR - Error in episode 9608: name 'args' is not defined +2025-03-10 15:30:18,871 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,871 - ERROR - Error in episode 9609: name 'args' is not defined +2025-03-10 15:30:18,875 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,875 - ERROR - Error in episode 9610: name 'args' is not defined +2025-03-10 15:30:18,878 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,878 - ERROR - Error in episode 9611: name 'args' is not defined +2025-03-10 15:30:18,882 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,882 - ERROR - Error in episode 9612: name 'args' is not defined +2025-03-10 15:30:18,886 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,887 - ERROR - Error in episode 9613: name 'args' is not defined +2025-03-10 15:30:18,890 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,890 - ERROR - Error in episode 9614: name 'args' is not defined +2025-03-10 15:30:18,894 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,894 - ERROR - Error in episode 9615: name 'args' is not defined +2025-03-10 15:30:18,897 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,898 - ERROR - Error in episode 9616: name 'args' is not defined +2025-03-10 15:30:18,900 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,901 - ERROR - Error in episode 9617: name 'args' is not defined +2025-03-10 15:30:18,903 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,904 - ERROR - Error in episode 9618: name 'args' is not defined +2025-03-10 15:30:18,906 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,907 - ERROR - Error in episode 9619: name 'args' is not defined +2025-03-10 15:30:18,910 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,910 - ERROR - Error in episode 9620: name 'args' is not defined +2025-03-10 15:30:18,914 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,915 - ERROR - Error in episode 9621: name 'args' is not defined +2025-03-10 15:30:18,917 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,918 - ERROR - Error in episode 9622: name 'args' is not defined +2025-03-10 15:30:18,921 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,922 - ERROR - Error in episode 9623: name 'args' is not defined +2025-03-10 15:30:18,924 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,924 - ERROR - Error in episode 9624: name 'args' is not defined +2025-03-10 15:30:18,929 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,929 - ERROR - Error in episode 9625: name 'args' is not defined +2025-03-10 15:30:18,932 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,933 - ERROR - Error in episode 9626: name 'args' is not defined +2025-03-10 15:30:18,935 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,935 - ERROR - Error in episode 9627: name 'args' is not defined +2025-03-10 15:30:18,938 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,938 - ERROR - Error in episode 9628: name 'args' is not defined +2025-03-10 15:30:18,941 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,941 - ERROR - Error in episode 9629: name 'args' is not defined +2025-03-10 15:30:18,945 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,946 - ERROR - Error in episode 9630: name 'args' is not defined +2025-03-10 15:30:18,948 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,950 - ERROR - Error in episode 9631: name 'args' is not defined +2025-03-10 15:30:18,952 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,953 - ERROR - Error in episode 9632: name 'args' is not defined +2025-03-10 15:30:18,956 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,956 - ERROR - Error in episode 9633: name 'args' is not defined +2025-03-10 15:30:18,959 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,960 - ERROR - Error in episode 9634: name 'args' is not defined +2025-03-10 15:30:18,963 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,963 - ERROR - Error in episode 9635: name 'args' is not defined +2025-03-10 15:30:18,965 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,966 - ERROR - Error in episode 9636: name 'args' is not defined +2025-03-10 15:30:18,969 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,969 - ERROR - Error in episode 9637: name 'args' is not defined +2025-03-10 15:30:18,971 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,972 - ERROR - Error in episode 9638: name 'args' is not defined +2025-03-10 15:30:18,974 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,974 - ERROR - Error in episode 9639: name 'args' is not defined +2025-03-10 15:30:18,978 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,978 - ERROR - Error in episode 9640: name 'args' is not defined +2025-03-10 15:30:18,981 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,981 - ERROR - Error in episode 9641: name 'args' is not defined +2025-03-10 15:30:18,984 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,984 - ERROR - Error in episode 9642: name 'args' is not defined +2025-03-10 15:30:18,987 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,987 - ERROR - Error in episode 9643: name 'args' is not defined +2025-03-10 15:30:18,989 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,990 - ERROR - Error in episode 9644: name 'args' is not defined +2025-03-10 15:30:18,993 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,993 - ERROR - Error in episode 9645: name 'args' is not defined +2025-03-10 15:30:18,996 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:18,996 - ERROR - Error in episode 9646: name 'args' is not defined +2025-03-10 15:30:18,999 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,000 - ERROR - Error in episode 9647: name 'args' is not defined +2025-03-10 15:30:19,003 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,004 - ERROR - Error in episode 9648: name 'args' is not defined +2025-03-10 15:30:19,007 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,007 - ERROR - Error in episode 9649: name 'args' is not defined +2025-03-10 15:30:19,011 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,011 - ERROR - Error in episode 9650: name 'args' is not defined +2025-03-10 15:30:19,014 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,015 - ERROR - Error in episode 9651: name 'args' is not defined +2025-03-10 15:30:19,018 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,018 - ERROR - Error in episode 9652: name 'args' is not defined +2025-03-10 15:30:19,021 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,022 - ERROR - Error in episode 9653: name 'args' is not defined +2025-03-10 15:30:19,024 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,025 - ERROR - Error in episode 9654: name 'args' is not defined +2025-03-10 15:30:19,027 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,027 - ERROR - Error in episode 9655: name 'args' is not defined +2025-03-10 15:30:19,030 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,031 - ERROR - Error in episode 9656: name 'args' is not defined +2025-03-10 15:30:19,033 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,033 - ERROR - Error in episode 9657: name 'args' is not defined +2025-03-10 15:30:19,037 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,038 - ERROR - Error in episode 9658: name 'args' is not defined +2025-03-10 15:30:19,041 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,042 - ERROR - Error in episode 9659: name 'args' is not defined +2025-03-10 15:30:19,044 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,045 - ERROR - Error in episode 9660: name 'args' is not defined +2025-03-10 15:30:19,047 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,047 - ERROR - Error in episode 9661: name 'args' is not defined +2025-03-10 15:30:19,050 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,051 - ERROR - Error in episode 9662: name 'args' is not defined +2025-03-10 15:30:19,054 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,055 - ERROR - Error in episode 9663: name 'args' is not defined +2025-03-10 15:30:19,058 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,059 - ERROR - Error in episode 9664: name 'args' is not defined +2025-03-10 15:30:19,061 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,062 - ERROR - Error in episode 9665: name 'args' is not defined +2025-03-10 15:30:19,065 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,065 - ERROR - Error in episode 9666: name 'args' is not defined +2025-03-10 15:30:19,069 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,069 - ERROR - Error in episode 9667: name 'args' is not defined +2025-03-10 15:30:19,073 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,073 - ERROR - Error in episode 9668: name 'args' is not defined +2025-03-10 15:30:19,077 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,077 - ERROR - Error in episode 9669: name 'args' is not defined +2025-03-10 15:30:19,081 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,082 - ERROR - Error in episode 9670: name 'args' is not defined +2025-03-10 15:30:19,084 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,084 - ERROR - Error in episode 9671: name 'args' is not defined +2025-03-10 15:30:19,088 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,088 - ERROR - Error in episode 9672: name 'args' is not defined +2025-03-10 15:30:19,091 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,091 - ERROR - Error in episode 9673: name 'args' is not defined +2025-03-10 15:30:19,094 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,094 - ERROR - Error in episode 9674: name 'args' is not defined +2025-03-10 15:30:19,097 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,097 - ERROR - Error in episode 9675: name 'args' is not defined +2025-03-10 15:30:19,101 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,101 - ERROR - Error in episode 9676: name 'args' is not defined +2025-03-10 15:30:19,104 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,105 - ERROR - Error in episode 9677: name 'args' is not defined +2025-03-10 15:30:19,108 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,109 - ERROR - Error in episode 9678: name 'args' is not defined +2025-03-10 15:30:19,111 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,112 - ERROR - Error in episode 9679: name 'args' is not defined +2025-03-10 15:30:19,115 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,115 - ERROR - Error in episode 9680: name 'args' is not defined +2025-03-10 15:30:19,119 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,119 - ERROR - Error in episode 9681: name 'args' is not defined +2025-03-10 15:30:19,123 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,123 - ERROR - Error in episode 9682: name 'args' is not defined +2025-03-10 15:30:19,127 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,128 - ERROR - Error in episode 9683: name 'args' is not defined +2025-03-10 15:30:19,131 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,131 - ERROR - Error in episode 9684: name 'args' is not defined +2025-03-10 15:30:19,134 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,134 - ERROR - Error in episode 9685: name 'args' is not defined +2025-03-10 15:30:19,137 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,138 - ERROR - Error in episode 9686: name 'args' is not defined +2025-03-10 15:30:19,141 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,141 - ERROR - Error in episode 9687: name 'args' is not defined +2025-03-10 15:30:19,145 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,145 - ERROR - Error in episode 9688: name 'args' is not defined +2025-03-10 15:30:19,149 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,149 - ERROR - Error in episode 9689: name 'args' is not defined +2025-03-10 15:30:19,152 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,153 - ERROR - Error in episode 9690: name 'args' is not defined +2025-03-10 15:30:19,156 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,157 - ERROR - Error in episode 9691: name 'args' is not defined +2025-03-10 15:30:19,161 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,161 - ERROR - Error in episode 9692: name 'args' is not defined +2025-03-10 15:30:19,164 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,165 - ERROR - Error in episode 9693: name 'args' is not defined +2025-03-10 15:30:19,168 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,169 - ERROR - Error in episode 9694: name 'args' is not defined +2025-03-10 15:30:19,171 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,171 - ERROR - Error in episode 9695: name 'args' is not defined +2025-03-10 15:30:19,175 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,175 - ERROR - Error in episode 9696: name 'args' is not defined +2025-03-10 15:30:19,178 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,179 - ERROR - Error in episode 9697: name 'args' is not defined +2025-03-10 15:30:19,183 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,183 - ERROR - Error in episode 9698: name 'args' is not defined +2025-03-10 15:30:19,186 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,187 - ERROR - Error in episode 9699: name 'args' is not defined +2025-03-10 15:30:19,190 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,190 - ERROR - Error in episode 9700: name 'args' is not defined +2025-03-10 15:30:19,194 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,195 - ERROR - Error in episode 9701: name 'args' is not defined +2025-03-10 15:30:19,197 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,198 - ERROR - Error in episode 9702: name 'args' is not defined +2025-03-10 15:30:19,201 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,202 - ERROR - Error in episode 9703: name 'args' is not defined +2025-03-10 15:30:19,205 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,205 - ERROR - Error in episode 9704: name 'args' is not defined +2025-03-10 15:30:19,208 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,209 - ERROR - Error in episode 9705: name 'args' is not defined +2025-03-10 15:30:19,213 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,213 - ERROR - Error in episode 9706: name 'args' is not defined +2025-03-10 15:30:19,218 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,218 - ERROR - Error in episode 9707: name 'args' is not defined +2025-03-10 15:30:19,222 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,222 - ERROR - Error in episode 9708: name 'args' is not defined +2025-03-10 15:30:19,225 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,225 - ERROR - Error in episode 9709: name 'args' is not defined +2025-03-10 15:30:19,229 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,229 - ERROR - Error in episode 9710: name 'args' is not defined +2025-03-10 15:30:19,232 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,232 - ERROR - Error in episode 9711: name 'args' is not defined +2025-03-10 15:30:19,235 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,236 - ERROR - Error in episode 9712: name 'args' is not defined +2025-03-10 15:30:19,239 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,239 - ERROR - Error in episode 9713: name 'args' is not defined +2025-03-10 15:30:19,243 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,243 - ERROR - Error in episode 9714: name 'args' is not defined +2025-03-10 15:30:19,246 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,247 - ERROR - Error in episode 9715: name 'args' is not defined +2025-03-10 15:30:19,250 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,251 - ERROR - Error in episode 9716: name 'args' is not defined +2025-03-10 15:30:19,254 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,254 - ERROR - Error in episode 9717: name 'args' is not defined +2025-03-10 15:30:19,257 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,257 - ERROR - Error in episode 9718: name 'args' is not defined +2025-03-10 15:30:19,261 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,261 - ERROR - Error in episode 9719: name 'args' is not defined +2025-03-10 15:30:19,265 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,266 - ERROR - Error in episode 9720: name 'args' is not defined +2025-03-10 15:30:19,270 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,270 - ERROR - Error in episode 9721: name 'args' is not defined +2025-03-10 15:30:19,275 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,275 - ERROR - Error in episode 9722: name 'args' is not defined +2025-03-10 15:30:19,278 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,279 - ERROR - Error in episode 9723: name 'args' is not defined +2025-03-10 15:30:19,282 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,282 - ERROR - Error in episode 9724: name 'args' is not defined +2025-03-10 15:30:19,286 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,286 - ERROR - Error in episode 9725: name 'args' is not defined +2025-03-10 15:30:19,291 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,291 - ERROR - Error in episode 9726: name 'args' is not defined +2025-03-10 15:30:19,295 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,295 - ERROR - Error in episode 9727: name 'args' is not defined +2025-03-10 15:30:19,298 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,299 - ERROR - Error in episode 9728: name 'args' is not defined +2025-03-10 15:30:19,301 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,301 - ERROR - Error in episode 9729: name 'args' is not defined +2025-03-10 15:30:19,305 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,306 - ERROR - Error in episode 9730: name 'args' is not defined +2025-03-10 15:30:19,309 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,309 - ERROR - Error in episode 9731: name 'args' is not defined +2025-03-10 15:30:19,312 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,313 - ERROR - Error in episode 9732: name 'args' is not defined +2025-03-10 15:30:19,315 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,317 - ERROR - Error in episode 9733: name 'args' is not defined +2025-03-10 15:30:19,319 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,320 - ERROR - Error in episode 9734: name 'args' is not defined +2025-03-10 15:30:19,323 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,323 - ERROR - Error in episode 9735: name 'args' is not defined +2025-03-10 15:30:19,326 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,327 - ERROR - Error in episode 9736: name 'args' is not defined +2025-03-10 15:30:19,330 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,330 - ERROR - Error in episode 9737: name 'args' is not defined +2025-03-10 15:30:19,334 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,334 - ERROR - Error in episode 9738: name 'args' is not defined +2025-03-10 15:30:19,337 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,337 - ERROR - Error in episode 9739: name 'args' is not defined +2025-03-10 15:30:19,340 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,341 - ERROR - Error in episode 9740: name 'args' is not defined +2025-03-10 15:30:19,345 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,345 - ERROR - Error in episode 9741: name 'args' is not defined +2025-03-10 15:30:19,348 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,349 - ERROR - Error in episode 9742: name 'args' is not defined +2025-03-10 15:30:19,353 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,353 - ERROR - Error in episode 9743: name 'args' is not defined +2025-03-10 15:30:19,357 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,357 - ERROR - Error in episode 9744: name 'args' is not defined +2025-03-10 15:30:19,360 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,360 - ERROR - Error in episode 9745: name 'args' is not defined +2025-03-10 15:30:19,363 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,364 - ERROR - Error in episode 9746: name 'args' is not defined +2025-03-10 15:30:19,367 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,367 - ERROR - Error in episode 9747: name 'args' is not defined +2025-03-10 15:30:19,370 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,370 - ERROR - Error in episode 9748: name 'args' is not defined +2025-03-10 15:30:19,374 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,374 - ERROR - Error in episode 9749: name 'args' is not defined +2025-03-10 15:30:19,377 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,377 - ERROR - Error in episode 9750: name 'args' is not defined +2025-03-10 15:30:19,381 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,381 - ERROR - Error in episode 9751: name 'args' is not defined +2025-03-10 15:30:19,385 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,386 - ERROR - Error in episode 9752: name 'args' is not defined +2025-03-10 15:30:19,390 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,390 - ERROR - Error in episode 9753: name 'args' is not defined +2025-03-10 15:30:19,393 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,394 - ERROR - Error in episode 9754: name 'args' is not defined +2025-03-10 15:30:19,397 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,398 - ERROR - Error in episode 9755: name 'args' is not defined +2025-03-10 15:30:19,401 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,401 - ERROR - Error in episode 9756: name 'args' is not defined +2025-03-10 15:30:19,404 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,404 - ERROR - Error in episode 9757: name 'args' is not defined +2025-03-10 15:30:19,407 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,408 - ERROR - Error in episode 9758: name 'args' is not defined +2025-03-10 15:30:19,411 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,411 - ERROR - Error in episode 9759: name 'args' is not defined +2025-03-10 15:30:19,415 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,415 - ERROR - Error in episode 9760: name 'args' is not defined +2025-03-10 15:30:19,418 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,419 - ERROR - Error in episode 9761: name 'args' is not defined +2025-03-10 15:30:19,422 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,423 - ERROR - Error in episode 9762: name 'args' is not defined +2025-03-10 15:30:19,426 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,426 - ERROR - Error in episode 9763: name 'args' is not defined +2025-03-10 15:30:19,430 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,430 - ERROR - Error in episode 9764: name 'args' is not defined +2025-03-10 15:30:19,434 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,434 - ERROR - Error in episode 9765: name 'args' is not defined +2025-03-10 15:30:19,437 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,438 - ERROR - Error in episode 9766: name 'args' is not defined +2025-03-10 15:30:19,441 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,441 - ERROR - Error in episode 9767: name 'args' is not defined +2025-03-10 15:30:19,445 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,445 - ERROR - Error in episode 9768: name 'args' is not defined +2025-03-10 15:30:19,449 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,449 - ERROR - Error in episode 9769: name 'args' is not defined +2025-03-10 15:30:19,452 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,453 - ERROR - Error in episode 9770: name 'args' is not defined +2025-03-10 15:30:19,456 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,456 - ERROR - Error in episode 9771: name 'args' is not defined +2025-03-10 15:30:19,459 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,459 - ERROR - Error in episode 9772: name 'args' is not defined +2025-03-10 15:30:19,463 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,463 - ERROR - Error in episode 9773: name 'args' is not defined +2025-03-10 15:30:19,466 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,467 - ERROR - Error in episode 9774: name 'args' is not defined +2025-03-10 15:30:19,470 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,471 - ERROR - Error in episode 9775: name 'args' is not defined +2025-03-10 15:30:19,473 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,474 - ERROR - Error in episode 9776: name 'args' is not defined +2025-03-10 15:30:19,478 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,478 - ERROR - Error in episode 9777: name 'args' is not defined +2025-03-10 15:30:19,482 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,482 - ERROR - Error in episode 9778: name 'args' is not defined +2025-03-10 15:30:19,486 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,486 - ERROR - Error in episode 9779: name 'args' is not defined +2025-03-10 15:30:19,490 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,490 - ERROR - Error in episode 9780: name 'args' is not defined +2025-03-10 15:30:19,493 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,494 - ERROR - Error in episode 9781: name 'args' is not defined +2025-03-10 15:30:19,496 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,497 - ERROR - Error in episode 9782: name 'args' is not defined +2025-03-10 15:30:19,499 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,499 - ERROR - Error in episode 9783: name 'args' is not defined +2025-03-10 15:30:19,503 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,504 - ERROR - Error in episode 9784: name 'args' is not defined +2025-03-10 15:30:19,506 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,507 - ERROR - Error in episode 9785: name 'args' is not defined +2025-03-10 15:30:19,510 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,510 - ERROR - Error in episode 9786: name 'args' is not defined +2025-03-10 15:30:19,513 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,513 - ERROR - Error in episode 9787: name 'args' is not defined +2025-03-10 15:30:19,516 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,516 - ERROR - Error in episode 9788: name 'args' is not defined +2025-03-10 15:30:19,519 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,519 - ERROR - Error in episode 9789: name 'args' is not defined +2025-03-10 15:30:19,522 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,523 - ERROR - Error in episode 9790: name 'args' is not defined +2025-03-10 15:30:19,525 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,526 - ERROR - Error in episode 9791: name 'args' is not defined +2025-03-10 15:30:19,528 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,528 - ERROR - Error in episode 9792: name 'args' is not defined +2025-03-10 15:30:19,532 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,532 - ERROR - Error in episode 9793: name 'args' is not defined +2025-03-10 15:30:19,535 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,535 - ERROR - Error in episode 9794: name 'args' is not defined +2025-03-10 15:30:19,538 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,538 - ERROR - Error in episode 9795: name 'args' is not defined +2025-03-10 15:30:19,541 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,541 - ERROR - Error in episode 9796: name 'args' is not defined +2025-03-10 15:30:19,543 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,544 - ERROR - Error in episode 9797: name 'args' is not defined +2025-03-10 15:30:19,547 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,547 - ERROR - Error in episode 9798: name 'args' is not defined +2025-03-10 15:30:19,549 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,550 - ERROR - Error in episode 9799: name 'args' is not defined +2025-03-10 15:30:19,553 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,553 - ERROR - Error in episode 9800: name 'args' is not defined +2025-03-10 15:30:19,557 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,557 - ERROR - Error in episode 9801: name 'args' is not defined +2025-03-10 15:30:19,559 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,559 - ERROR - Error in episode 9802: name 'args' is not defined +2025-03-10 15:30:19,563 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,563 - ERROR - Error in episode 9803: name 'args' is not defined +2025-03-10 15:30:19,567 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,567 - ERROR - Error in episode 9804: name 'args' is not defined +2025-03-10 15:30:19,570 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,570 - ERROR - Error in episode 9805: name 'args' is not defined +2025-03-10 15:30:19,573 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,573 - ERROR - Error in episode 9806: name 'args' is not defined +2025-03-10 15:30:19,575 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,576 - ERROR - Error in episode 9807: name 'args' is not defined +2025-03-10 15:30:19,579 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,579 - ERROR - Error in episode 9808: name 'args' is not defined +2025-03-10 15:30:19,581 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,582 - ERROR - Error in episode 9809: name 'args' is not defined +2025-03-10 15:30:19,584 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,585 - ERROR - Error in episode 9810: name 'args' is not defined +2025-03-10 15:30:19,587 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,587 - ERROR - Error in episode 9811: name 'args' is not defined +2025-03-10 15:30:19,589 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,590 - ERROR - Error in episode 9812: name 'args' is not defined +2025-03-10 15:30:19,592 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,592 - ERROR - Error in episode 9813: name 'args' is not defined +2025-03-10 15:30:19,595 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,595 - ERROR - Error in episode 9814: name 'args' is not defined +2025-03-10 15:30:19,598 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,598 - ERROR - Error in episode 9815: name 'args' is not defined +2025-03-10 15:30:19,601 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,602 - ERROR - Error in episode 9816: name 'args' is not defined +2025-03-10 15:30:19,604 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,604 - ERROR - Error in episode 9817: name 'args' is not defined +2025-03-10 15:30:19,607 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,607 - ERROR - Error in episode 9818: name 'args' is not defined +2025-03-10 15:30:19,610 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,610 - ERROR - Error in episode 9819: name 'args' is not defined +2025-03-10 15:30:19,612 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,612 - ERROR - Error in episode 9820: name 'args' is not defined +2025-03-10 15:30:19,616 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,616 - ERROR - Error in episode 9821: name 'args' is not defined +2025-03-10 15:30:19,619 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,620 - ERROR - Error in episode 9822: name 'args' is not defined +2025-03-10 15:30:19,623 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,623 - ERROR - Error in episode 9823: name 'args' is not defined +2025-03-10 15:30:19,626 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,627 - ERROR - Error in episode 9824: name 'args' is not defined +2025-03-10 15:30:19,630 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,630 - ERROR - Error in episode 9825: name 'args' is not defined +2025-03-10 15:30:19,633 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,634 - ERROR - Error in episode 9826: name 'args' is not defined +2025-03-10 15:30:19,636 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,636 - ERROR - Error in episode 9827: name 'args' is not defined +2025-03-10 15:30:19,639 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,640 - ERROR - Error in episode 9828: name 'args' is not defined +2025-03-10 15:30:19,644 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,644 - ERROR - Error in episode 9829: name 'args' is not defined +2025-03-10 15:30:19,647 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,648 - ERROR - Error in episode 9830: name 'args' is not defined +2025-03-10 15:30:19,650 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,651 - ERROR - Error in episode 9831: name 'args' is not defined +2025-03-10 15:30:19,653 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,654 - ERROR - Error in episode 9832: name 'args' is not defined +2025-03-10 15:30:19,657 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,657 - ERROR - Error in episode 9833: name 'args' is not defined +2025-03-10 15:30:19,661 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,661 - ERROR - Error in episode 9834: name 'args' is not defined +2025-03-10 15:30:19,664 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,665 - ERROR - Error in episode 9835: name 'args' is not defined +2025-03-10 15:30:19,668 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,668 - ERROR - Error in episode 9836: name 'args' is not defined +2025-03-10 15:30:19,671 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,672 - ERROR - Error in episode 9837: name 'args' is not defined +2025-03-10 15:30:19,675 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,675 - ERROR - Error in episode 9838: name 'args' is not defined +2025-03-10 15:30:19,678 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,679 - ERROR - Error in episode 9839: name 'args' is not defined +2025-03-10 15:30:19,682 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,683 - ERROR - Error in episode 9840: name 'args' is not defined +2025-03-10 15:30:19,686 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,686 - ERROR - Error in episode 9841: name 'args' is not defined +2025-03-10 15:30:19,688 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,689 - ERROR - Error in episode 9842: name 'args' is not defined +2025-03-10 15:30:19,692 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,692 - ERROR - Error in episode 9843: name 'args' is not defined +2025-03-10 15:30:19,694 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,695 - ERROR - Error in episode 9844: name 'args' is not defined +2025-03-10 15:30:19,698 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,699 - ERROR - Error in episode 9845: name 'args' is not defined +2025-03-10 15:30:19,702 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,703 - ERROR - Error in episode 9846: name 'args' is not defined +2025-03-10 15:30:19,706 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,706 - ERROR - Error in episode 9847: name 'args' is not defined +2025-03-10 15:30:19,709 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,709 - ERROR - Error in episode 9848: name 'args' is not defined +2025-03-10 15:30:19,712 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,712 - ERROR - Error in episode 9849: name 'args' is not defined +2025-03-10 15:30:19,716 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,717 - ERROR - Error in episode 9850: name 'args' is not defined +2025-03-10 15:30:19,720 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,720 - ERROR - Error in episode 9851: name 'args' is not defined +2025-03-10 15:30:19,723 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,724 - ERROR - Error in episode 9852: name 'args' is not defined +2025-03-10 15:30:19,727 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,727 - ERROR - Error in episode 9853: name 'args' is not defined +2025-03-10 15:30:19,730 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,730 - ERROR - Error in episode 9854: name 'args' is not defined +2025-03-10 15:30:19,733 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,733 - ERROR - Error in episode 9855: name 'args' is not defined +2025-03-10 15:30:19,736 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,737 - ERROR - Error in episode 9856: name 'args' is not defined +2025-03-10 15:30:19,740 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,740 - ERROR - Error in episode 9857: name 'args' is not defined +2025-03-10 15:30:19,744 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,744 - ERROR - Error in episode 9858: name 'args' is not defined +2025-03-10 15:30:19,747 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,747 - ERROR - Error in episode 9859: name 'args' is not defined +2025-03-10 15:30:19,751 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,751 - ERROR - Error in episode 9860: name 'args' is not defined +2025-03-10 15:30:19,753 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,754 - ERROR - Error in episode 9861: name 'args' is not defined +2025-03-10 15:30:19,756 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,756 - ERROR - Error in episode 9862: name 'args' is not defined +2025-03-10 15:30:19,759 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,759 - ERROR - Error in episode 9863: name 'args' is not defined +2025-03-10 15:30:19,762 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,762 - ERROR - Error in episode 9864: name 'args' is not defined +2025-03-10 15:30:19,766 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,766 - ERROR - Error in episode 9865: name 'args' is not defined +2025-03-10 15:30:19,769 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,769 - ERROR - Error in episode 9866: name 'args' is not defined +2025-03-10 15:30:19,772 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,773 - ERROR - Error in episode 9867: name 'args' is not defined +2025-03-10 15:30:19,777 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,777 - ERROR - Error in episode 9868: name 'args' is not defined +2025-03-10 15:30:19,779 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,779 - ERROR - Error in episode 9869: name 'args' is not defined +2025-03-10 15:30:19,782 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,782 - ERROR - Error in episode 9870: name 'args' is not defined +2025-03-10 15:30:19,785 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,786 - ERROR - Error in episode 9871: name 'args' is not defined +2025-03-10 15:30:19,789 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,789 - ERROR - Error in episode 9872: name 'args' is not defined +2025-03-10 15:30:19,792 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,792 - ERROR - Error in episode 9873: name 'args' is not defined +2025-03-10 15:30:19,795 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,795 - ERROR - Error in episode 9874: name 'args' is not defined +2025-03-10 15:30:19,798 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,798 - ERROR - Error in episode 9875: name 'args' is not defined +2025-03-10 15:30:19,800 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,800 - ERROR - Error in episode 9876: name 'args' is not defined +2025-03-10 15:30:19,803 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,803 - ERROR - Error in episode 9877: name 'args' is not defined +2025-03-10 15:30:19,806 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,807 - ERROR - Error in episode 9878: name 'args' is not defined +2025-03-10 15:30:19,810 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,811 - ERROR - Error in episode 9879: name 'args' is not defined +2025-03-10 15:30:19,813 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,814 - ERROR - Error in episode 9880: name 'args' is not defined +2025-03-10 15:30:19,816 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,816 - ERROR - Error in episode 9881: name 'args' is not defined +2025-03-10 15:30:19,819 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,819 - ERROR - Error in episode 9882: name 'args' is not defined +2025-03-10 15:30:19,822 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,822 - ERROR - Error in episode 9883: name 'args' is not defined +2025-03-10 15:30:19,825 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,825 - ERROR - Error in episode 9884: name 'args' is not defined +2025-03-10 15:30:19,827 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,828 - ERROR - Error in episode 9885: name 'args' is not defined +2025-03-10 15:30:19,831 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,831 - ERROR - Error in episode 9886: name 'args' is not defined +2025-03-10 15:30:19,835 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,835 - ERROR - Error in episode 9887: name 'args' is not defined +2025-03-10 15:30:19,838 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,838 - ERROR - Error in episode 9888: name 'args' is not defined +2025-03-10 15:30:19,841 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,841 - ERROR - Error in episode 9889: name 'args' is not defined +2025-03-10 15:30:19,844 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,844 - ERROR - Error in episode 9890: name 'args' is not defined +2025-03-10 15:30:19,846 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,847 - ERROR - Error in episode 9891: name 'args' is not defined +2025-03-10 15:30:19,850 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,851 - ERROR - Error in episode 9892: name 'args' is not defined +2025-03-10 15:30:19,853 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,853 - ERROR - Error in episode 9893: name 'args' is not defined +2025-03-10 15:30:19,856 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,857 - ERROR - Error in episode 9894: name 'args' is not defined +2025-03-10 15:30:19,859 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,859 - ERROR - Error in episode 9895: name 'args' is not defined +2025-03-10 15:30:19,862 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,862 - ERROR - Error in episode 9896: name 'args' is not defined +2025-03-10 15:30:19,865 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,865 - ERROR - Error in episode 9897: name 'args' is not defined +2025-03-10 15:30:19,868 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,868 - ERROR - Error in episode 9898: name 'args' is not defined +2025-03-10 15:30:19,870 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,871 - ERROR - Error in episode 9899: name 'args' is not defined +2025-03-10 15:30:19,873 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,873 - ERROR - Error in episode 9900: name 'args' is not defined +2025-03-10 15:30:19,876 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,876 - ERROR - Error in episode 9901: name 'args' is not defined +2025-03-10 15:30:19,879 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,880 - ERROR - Error in episode 9902: name 'args' is not defined +2025-03-10 15:30:19,882 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,882 - ERROR - Error in episode 9903: name 'args' is not defined +2025-03-10 15:30:19,885 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,885 - ERROR - Error in episode 9904: name 'args' is not defined +2025-03-10 15:30:19,888 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,889 - ERROR - Error in episode 9905: name 'args' is not defined +2025-03-10 15:30:19,891 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,891 - ERROR - Error in episode 9906: name 'args' is not defined +2025-03-10 15:30:19,894 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,895 - ERROR - Error in episode 9907: name 'args' is not defined +2025-03-10 15:30:19,897 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,897 - ERROR - Error in episode 9908: name 'args' is not defined +2025-03-10 15:30:19,900 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,901 - ERROR - Error in episode 9909: name 'args' is not defined +2025-03-10 15:30:19,903 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,903 - ERROR - Error in episode 9910: name 'args' is not defined +2025-03-10 15:30:19,906 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,906 - ERROR - Error in episode 9911: name 'args' is not defined +2025-03-10 15:30:19,908 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,910 - ERROR - Error in episode 9912: name 'args' is not defined +2025-03-10 15:30:19,912 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,913 - ERROR - Error in episode 9913: name 'args' is not defined +2025-03-10 15:30:19,915 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,916 - ERROR - Error in episode 9914: name 'args' is not defined +2025-03-10 15:30:19,919 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,919 - ERROR - Error in episode 9915: name 'args' is not defined +2025-03-10 15:30:19,922 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,922 - ERROR - Error in episode 9916: name 'args' is not defined +2025-03-10 15:30:19,925 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,925 - ERROR - Error in episode 9917: name 'args' is not defined +2025-03-10 15:30:19,929 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,929 - ERROR - Error in episode 9918: name 'args' is not defined +2025-03-10 15:30:19,932 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,932 - ERROR - Error in episode 9919: name 'args' is not defined +2025-03-10 15:30:19,935 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,935 - ERROR - Error in episode 9920: name 'args' is not defined +2025-03-10 15:30:19,939 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,939 - ERROR - Error in episode 9921: name 'args' is not defined +2025-03-10 15:30:19,942 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,942 - ERROR - Error in episode 9922: name 'args' is not defined +2025-03-10 15:30:19,945 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,945 - ERROR - Error in episode 9923: name 'args' is not defined +2025-03-10 15:30:19,948 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,948 - ERROR - Error in episode 9924: name 'args' is not defined +2025-03-10 15:30:19,950 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,951 - ERROR - Error in episode 9925: name 'args' is not defined +2025-03-10 15:30:19,954 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,955 - ERROR - Error in episode 9926: name 'args' is not defined +2025-03-10 15:30:19,957 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,957 - ERROR - Error in episode 9927: name 'args' is not defined +2025-03-10 15:30:19,960 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,961 - ERROR - Error in episode 9928: name 'args' is not defined +2025-03-10 15:30:19,963 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,964 - ERROR - Error in episode 9929: name 'args' is not defined +2025-03-10 15:30:19,966 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,967 - ERROR - Error in episode 9930: name 'args' is not defined +2025-03-10 15:30:19,970 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,970 - ERROR - Error in episode 9931: name 'args' is not defined +2025-03-10 15:30:19,973 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,973 - ERROR - Error in episode 9932: name 'args' is not defined +2025-03-10 15:30:19,976 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,976 - ERROR - Error in episode 9933: name 'args' is not defined +2025-03-10 15:30:19,979 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,979 - ERROR - Error in episode 9934: name 'args' is not defined +2025-03-10 15:30:19,982 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,982 - ERROR - Error in episode 9935: name 'args' is not defined +2025-03-10 15:30:19,985 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,985 - ERROR - Error in episode 9936: name 'args' is not defined +2025-03-10 15:30:19,987 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,988 - ERROR - Error in episode 9937: name 'args' is not defined +2025-03-10 15:30:19,991 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,991 - ERROR - Error in episode 9938: name 'args' is not defined +2025-03-10 15:30:19,995 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:19,995 - ERROR - Error in episode 9939: name 'args' is not defined +2025-03-10 15:30:19,999 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,000 - ERROR - Error in episode 9940: name 'args' is not defined +2025-03-10 15:30:20,003 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,004 - ERROR - Error in episode 9941: name 'args' is not defined +2025-03-10 15:30:20,007 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,007 - ERROR - Error in episode 9942: name 'args' is not defined +2025-03-10 15:30:20,010 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,011 - ERROR - Error in episode 9943: name 'args' is not defined +2025-03-10 15:30:20,013 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,014 - ERROR - Error in episode 9944: name 'args' is not defined +2025-03-10 15:30:20,016 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,016 - ERROR - Error in episode 9945: name 'args' is not defined +2025-03-10 15:30:20,020 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,020 - ERROR - Error in episode 9946: name 'args' is not defined +2025-03-10 15:30:20,023 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,023 - ERROR - Error in episode 9947: name 'args' is not defined +2025-03-10 15:30:20,025 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,025 - ERROR - Error in episode 9948: name 'args' is not defined +2025-03-10 15:30:20,028 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,028 - ERROR - Error in episode 9949: name 'args' is not defined +2025-03-10 15:30:20,031 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,031 - ERROR - Error in episode 9950: name 'args' is not defined +2025-03-10 15:30:20,033 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,034 - ERROR - Error in episode 9951: name 'args' is not defined +2025-03-10 15:30:20,037 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,038 - ERROR - Error in episode 9952: name 'args' is not defined +2025-03-10 15:30:20,041 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,041 - ERROR - Error in episode 9953: name 'args' is not defined +2025-03-10 15:30:20,044 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,044 - ERROR - Error in episode 9954: name 'args' is not defined +2025-03-10 15:30:20,046 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,046 - ERROR - Error in episode 9955: name 'args' is not defined +2025-03-10 15:30:20,050 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,050 - ERROR - Error in episode 9956: name 'args' is not defined +2025-03-10 15:30:20,053 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,053 - ERROR - Error in episode 9957: name 'args' is not defined +2025-03-10 15:30:20,055 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,056 - ERROR - Error in episode 9958: name 'args' is not defined +2025-03-10 15:30:20,058 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,059 - ERROR - Error in episode 9959: name 'args' is not defined +2025-03-10 15:30:20,061 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,062 - ERROR - Error in episode 9960: name 'args' is not defined +2025-03-10 15:30:20,064 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,064 - ERROR - Error in episode 9961: name 'args' is not defined +2025-03-10 15:30:20,067 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,068 - ERROR - Error in episode 9962: name 'args' is not defined +2025-03-10 15:30:20,071 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,071 - ERROR - Error in episode 9963: name 'args' is not defined +2025-03-10 15:30:20,074 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,074 - ERROR - Error in episode 9964: name 'args' is not defined +2025-03-10 15:30:20,077 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,077 - ERROR - Error in episode 9965: name 'args' is not defined +2025-03-10 15:30:20,080 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,080 - ERROR - Error in episode 9966: name 'args' is not defined +2025-03-10 15:30:20,083 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,084 - ERROR - Error in episode 9967: name 'args' is not defined +2025-03-10 15:30:20,087 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,087 - ERROR - Error in episode 9968: name 'args' is not defined +2025-03-10 15:30:20,091 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,091 - ERROR - Error in episode 9969: name 'args' is not defined +2025-03-10 15:30:20,094 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,095 - ERROR - Error in episode 9970: name 'args' is not defined +2025-03-10 15:30:20,099 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,100 - ERROR - Error in episode 9971: name 'args' is not defined +2025-03-10 15:30:20,103 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,103 - ERROR - Error in episode 9972: name 'args' is not defined +2025-03-10 15:30:20,106 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,106 - ERROR - Error in episode 9973: name 'args' is not defined +2025-03-10 15:30:20,109 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,109 - ERROR - Error in episode 9974: name 'args' is not defined +2025-03-10 15:30:20,112 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,112 - ERROR - Error in episode 9975: name 'args' is not defined +2025-03-10 15:30:20,115 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,115 - ERROR - Error in episode 9976: name 'args' is not defined +2025-03-10 15:30:20,117 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,118 - ERROR - Error in episode 9977: name 'args' is not defined +2025-03-10 15:30:20,121 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,121 - ERROR - Error in episode 9978: name 'args' is not defined +2025-03-10 15:30:20,123 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,124 - ERROR - Error in episode 9979: name 'args' is not defined +2025-03-10 15:30:20,126 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,126 - ERROR - Error in episode 9980: name 'args' is not defined +2025-03-10 15:30:20,130 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,130 - ERROR - Error in episode 9981: name 'args' is not defined +2025-03-10 15:30:20,133 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,133 - ERROR - Error in episode 9982: name 'args' is not defined +2025-03-10 15:30:20,136 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,137 - ERROR - Error in episode 9983: name 'args' is not defined +2025-03-10 15:30:20,139 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,139 - ERROR - Error in episode 9984: name 'args' is not defined +2025-03-10 15:30:20,142 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,143 - ERROR - Error in episode 9985: name 'args' is not defined +2025-03-10 15:30:20,146 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,146 - ERROR - Error in episode 9986: name 'args' is not defined +2025-03-10 15:30:20,149 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,149 - ERROR - Error in episode 9987: name 'args' is not defined +2025-03-10 15:30:20,152 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,152 - ERROR - Error in episode 9988: name 'args' is not defined +2025-03-10 15:30:20,156 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,156 - ERROR - Error in episode 9989: name 'args' is not defined +2025-03-10 15:30:20,159 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,159 - ERROR - Error in episode 9990: name 'args' is not defined +2025-03-10 15:30:20,163 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,163 - ERROR - Error in episode 9991: name 'args' is not defined +2025-03-10 15:30:20,165 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,166 - ERROR - Error in episode 9992: name 'args' is not defined +2025-03-10 15:30:20,168 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,169 - ERROR - Error in episode 9993: name 'args' is not defined +2025-03-10 15:30:20,171 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,172 - ERROR - Error in episode 9994: name 'args' is not defined +2025-03-10 15:30:20,174 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,175 - ERROR - Error in episode 9995: name 'args' is not defined +2025-03-10 15:30:20,178 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,178 - ERROR - Error in episode 9996: name 'args' is not defined +2025-03-10 15:30:20,181 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,182 - ERROR - Error in episode 9997: name 'args' is not defined +2025-03-10 15:30:20,184 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,185 - ERROR - Error in episode 9998: name 'args' is not defined +2025-03-10 15:30:20,189 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,189 - ERROR - Error in episode 9999: name 'args' is not defined +2025-03-10 15:30:20,193 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1766, in train_agent + if exchange and args.refresh_data: + ^^^^ +NameError: name 'args' is not defined + +2025-03-10 15:30:20,333 - INFO - Model saved to models/trading_agent_final.pt +2025-03-10 15:30:21,274 - INFO - Training results saved to training_results.png +2025-03-10 15:30:21,274 - INFO - Exchange connection closed +2025-03-10 15:36:16,076 - INFO - Using GPU: NVIDIA GeForce RTX 4060 Laptop GPU +2025-03-10 15:36:16,098 - INFO - Exchange initialized with standard CCXT: mexc +2025-03-10 15:36:16,098 - INFO - Fetching initial data for ETH/USDT +2025-03-10 15:36:16,099 - INFO - Fetching initial data for ETH/USDT +2025-03-10 15:36:19,756 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 15:36:19,774 - INFO - Initialized environment with 500 candles +2025-03-10 15:36:21,928 - INFO - Starting training for 100 episodes... +2025-03-10 15:36:21,929 - INFO - Starting training on device: cuda +2025-03-10 15:36:21,929 - INFO - Loading best model from models/trading_agent_best_pnl.pt to resume training +2025-03-10 15:36:21,931 - INFO - Loading model from models/trading_agent_best_pnl.pt +2025-03-10 15:36:22,085 - INFO - Model loaded successfully with weights_only=True +2025-03-10 15:36:22,086 - INFO - Resumed with best metrics - Reward: 202.74, PnL: $4.37, Win Rate: 66.7% +2025-03-10 15:36:23,520 - INFO - OPENED LONG at 2065.69 | Stop loss: 2055.33565 | Take profit: 2096.7142000000003 +2025-03-10 15:36:24,459 - INFO - CLOSED long at 2068.19 | PnL: 0.12% | $0.04 +2025-03-10 15:36:24,638 - INFO - OPENED SHORT at 2073.99 | Stop loss: 2084.38585 | Take profit: 2042.8412999999998 +2025-03-10 15:36:24,739 - INFO - CLOSED short at 2074.0 | PnL: -0.00% | $-0.20 +2025-03-10 15:36:24,760 - INFO - OPENED SHORT at 2072.09 | Stop loss: 2082.4763500000004 | Take profit: 2040.9698 +2025-03-10 15:36:24,782 - INFO - CLOSED short at 2069.97 | PnL: 0.10% | $0.00 +2025-03-10 15:36:24,805 - INFO - OPENED SHORT at 2067.7 | Stop loss: 2078.0644 | Take profit: 2036.64565 +2025-03-10 15:36:24,868 - INFO - CLOSED short at 2066.4 | PnL: 0.06% | $-0.07 +2025-03-10 15:36:24,892 - INFO - OPENED SHORT at 2066.89 | Stop loss: 2077.25035 | Take profit: 2035.8478 +2025-03-10 15:36:24,912 - INFO - CLOSED short at 2067.88 | PnL: -0.05% | $-0.29 +2025-03-10 15:36:24,934 - INFO - OPENED SHORT at 2065.45 | Stop loss: 2075.8031499999997 | Take profit: 2034.4293999999998 +2025-03-10 15:36:25,045 - INFO - CLOSED short at 2067.19 | PnL: -0.08% | $-0.36 +2025-03-10 15:36:25,127 - INFO - OPENED SHORT at 2065.07 | Stop loss: 2075.42125 | Take profit: 2034.0551 +2025-03-10 15:36:25,150 - INFO - CLOSED short at 2066.09 | PnL: -0.05% | $-0.29 +2025-03-10 15:36:25,199 - INFO - OPENED SHORT at 2062.34 | Stop loss: 2072.6776000000004 | Take profit: 2031.36605 +2025-03-10 15:36:25,247 - INFO - CLOSED short at 2066.1 | PnL: -0.18% | $-0.55 +2025-03-10 15:36:25,268 - INFO - OPENED SHORT at 2065.06 | Stop loss: 2075.4112 | Take profit: 2034.0452500000001 +2025-03-10 15:36:25,294 - INFO - CLOSED short at 2064.11 | PnL: 0.05% | $-0.10 +2025-03-10 15:36:25,315 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.8484 | Take profit: 2033.49365 +2025-03-10 15:36:25,340 - INFO - CLOSED short at 2066.33 | PnL: -0.09% | $-0.37 +2025-03-10 15:36:25,385 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.0294 | Take profit: 2029.75065 +2025-03-10 15:36:25,405 - INFO - CLOSED short at 2060.2 | PnL: 0.02% | $-0.15 +2025-03-10 15:36:25,446 - INFO - OPENED SHORT at 2058.09 | Stop loss: 2068.40635 | Take profit: 2027.1798000000001 +2025-03-10 15:36:25,492 - INFO - CLOSED short at 2056.77 | PnL: 0.06% | $-0.07 +2025-03-10 15:36:25,513 - INFO - OPENED SHORT at 2053.01 | Stop loss: 2063.3009500000003 | Take profit: 2022.1760000000002 +2025-03-10 15:36:25,683 - INFO - STOP LOSS hit for short at 2063.3009500000003 | PnL: -0.50% | $-1.16 +2025-03-10 15:36:25,706 - INFO - OPENED SHORT at 2065.1 | Stop loss: 2075.4514 | Take profit: 2034.08465 +2025-03-10 15:36:25,837 - INFO - CLOSED short at 2064.08 | PnL: 0.05% | $-0.10 +2025-03-10 15:36:25,860 - INFO - OPENED SHORT at 2061.21 | Stop loss: 2071.54195 | Take profit: 2030.253 +2025-03-10 15:36:26,084 - INFO - STOP LOSS hit for short at 2071.54195 | PnL: -0.50% | $-1.14 +2025-03-10 15:36:26,110 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.4461499999998 | Take profit: 2042.9004000000002 +2025-03-10 15:36:26,252 - INFO - STOP LOSS hit for short at 2084.4461499999998 | PnL: -0.50% | $-1.13 +2025-03-10 15:36:26,271 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.9683499999996 | Take profit: 2059.0937999999996 +2025-03-10 15:36:26,293 - INFO - STOP LOSS hit for short at 2100.9683499999996 | PnL: -0.50% | $-1.12 +2025-03-10 15:36:26,319 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3794 | Take profit: 2098.7006499999998 +2025-03-10 15:36:26,418 - INFO - STOP LOSS hit for short at 2141.3794 | PnL: -0.50% | $-1.10 +2025-03-10 15:36:26,442 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.0324 | Take profit: 2109.14165 +2025-03-10 15:36:26,741 - INFO - TAKE PROFIT hit for short at 2109.14165 | PnL: 1.50% | $2.54 +2025-03-10 15:36:26,767 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1789 | Take profit: 2078.90215 +2025-03-10 15:36:26,865 - INFO - CLOSED short at 2113.24 | PnL: -0.13% | $-0.42 +2025-03-10 15:36:26,890 - INFO - OPENED SHORT at 2112.99 | Stop loss: 2123.58085 | Take profit: 2081.2562999999996 +2025-03-10 15:36:27,666 - INFO - TAKE PROFIT hit for short at 2081.2562999999996 | PnL: 1.50% | $2.60 +2025-03-10 15:36:27,691 - INFO - OPENED SHORT at 2081.25 | Stop loss: 2091.6821499999996 | Take profit: 2049.9924 +2025-03-10 15:36:28,119 - INFO - STOP LOSS hit for short at 2091.6821499999996 | PnL: -0.50% | $-1.15 +2025-03-10 15:36:28,141 - INFO - OPENED SHORT at 2094.7 | Stop loss: 2105.1993999999995 | Take profit: 2063.2406499999997 +2025-03-10 15:36:28,317 - INFO - STOP LOSS hit for short at 2105.1993999999995 | PnL: -0.50% | $-1.13 +2025-03-10 15:36:28,342 - INFO - OPENED SHORT at 2103.48 | Stop loss: 2114.0233 | Take profit: 2071.88895 +2025-03-10 15:36:28,816 - INFO - STOP LOSS hit for short at 2114.0233 | PnL: -0.50% | $-1.12 +2025-03-10 15:36:28,841 - INFO - OPENED SHORT at 2113.61 | Stop loss: 2124.20395 | Take profit: 2081.867 +2025-03-10 15:36:29,306 - INFO - STOP LOSS hit for short at 2124.20395 | PnL: -0.50% | $-1.11 +2025-03-10 15:36:29,325 - INFO - OPENED SHORT at 2127.79 | Stop loss: 2138.4548499999996 | Take profit: 2095.8343 +2025-03-10 15:36:31,254 - INFO - CLOSED short at 2115.21 | PnL: 0.59% | $0.89 +2025-03-10 15:36:31,254 - INFO - OPENED LONG at 2115.21 | Stop loss: 2104.60805 | Take profit: 2146.977 +2025-03-10 15:36:31,278 - INFO - CLOSED long at 2114.1 | PnL: -0.05% | $-0.28 +2025-03-10 15:36:31,279 - INFO - OPENED SHORT at 2114.1 | Stop loss: 2124.6964000000003 | Take profit: 2082.34965 +2025-03-10 15:36:31,323 - INFO - CLOSED short at 2114.32 | PnL: -0.01% | $-0.20 +2025-03-10 15:36:31,346 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.16875 | Take profit: 2082.8126 +2025-03-10 15:36:31,531 - INFO - CLOSED short at 2100.05 | PnL: 0.69% | $1.07 +2025-03-10 15:36:31,551 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 25.0% in downtrends | Avg Win=$1.19, Avg Loss=$-0.59 +2025-03-10 15:36:31,552 - INFO - Episode 0: Reward=-55.99, Balance=$93.54, Win Rate=20.7%, Trades=29, Episode PnL=$-6.18, Total PnL=$-6.46, Max Drawdown=8.2%, Pred Accuracy=97.8% +2025-03-10 15:36:31,701 - INFO - Model saved to checkpoints/trading_agent_episode_0.pt +2025-03-10 15:36:31,703 - INFO - Checkpoint saved at episode 0 +2025-03-10 15:36:32,671 - INFO - Visualization saved for episode 0 +2025-03-10 15:36:34,343 - INFO - Visualization saved for episode 0 +2025-03-10 15:36:34,581 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.23035 | Take profit: 2031.9078 +2025-03-10 15:36:34,765 - INFO - CLOSED short at 2065.54 | PnL: -0.13% | $-0.45 +2025-03-10 15:36:34,765 - INFO - OPENED LONG at 2065.54 | Stop loss: 2055.1864 | Take profit: 2096.56195 +2025-03-10 15:36:34,785 - INFO - CLOSED long at 2066.09 | PnL: 0.03% | $-0.14 +2025-03-10 15:36:34,785 - INFO - OPENED SHORT at 2066.09 | Stop loss: 2076.44635 | Take profit: 2035.0598000000002 +2025-03-10 15:36:34,971 - INFO - CLOSED short at 2060.65 | PnL: 0.26% | $0.32 +2025-03-10 15:36:34,994 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.2103500000003 | Take profit: 2027.9678 +2025-03-10 15:36:35,363 - INFO - CLOSED short at 2062.6 | PnL: -0.18% | $-0.55 +2025-03-10 15:36:35,363 - INFO - OPENED LONG at 2062.6 | Stop loss: 2052.2610999999997 | Take profit: 2093.5778499999997 +2025-03-10 15:36:35,383 - INFO - CLOSED long at 2061.89 | PnL: -0.03% | $-0.26 +2025-03-10 15:36:35,383 - INFO - OPENED SHORT at 2061.89 | Stop loss: 2072.2253499999997 | Take profit: 2030.9227999999998 +2025-03-10 15:36:36,102 - INFO - STOP LOSS hit for short at 2072.2253499999997 | PnL: -0.50% | $-1.17 +2025-03-10 15:36:36,125 - INFO - OPENED SHORT at 2078.01 | Stop loss: 2088.4259500000003 | Take profit: 2046.8010000000002 +2025-03-10 15:36:36,204 - INFO - CLOSED short at 2070.01 | PnL: 0.38% | $0.55 +2025-03-10 15:36:36,243 - INFO - OPENED SHORT at 2073.23 | Stop loss: 2083.62205 | Take profit: 2042.0927 +2025-03-10 15:36:38,224 - INFO - CLOSED short at 2057.89 | PnL: 0.74% | $1.24 +2025-03-10 15:36:38,226 - INFO - OPENED LONG at 2057.89 | Stop loss: 2047.5746499999998 | Take profit: 2088.7971999999995 +2025-03-10 15:36:38,251 - INFO - CLOSED long at 2062.83 | PnL: 0.24% | $0.28 +2025-03-10 15:36:38,251 - INFO - OPENED SHORT at 2062.83 | Stop loss: 2073.17005 | Take profit: 2031.8487 +2025-03-10 15:36:38,664 - INFO - STOP LOSS hit for short at 2073.17005 | PnL: -0.50% | $-1.19 +2025-03-10 15:36:38,689 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.4461499999998 | Take profit: 2042.9004000000002 +2025-03-10 15:36:38,808 - INFO - CLOSED short at 2077.61 | PnL: -0.17% | $-0.53 +2025-03-10 15:36:38,808 - INFO - OPENED LONG at 2077.61 | Stop loss: 2067.19605 | Take profit: 2108.813 +2025-03-10 15:36:38,830 - INFO - CLOSED long at 2085.56 | PnL: 0.38% | $0.55 +2025-03-10 15:36:38,830 - INFO - OPENED SHORT at 2085.56 | Stop loss: 2096.0137 | Take profit: 2054.23775 +2025-03-10 15:36:38,872 - INFO - STOP LOSS hit for short at 2096.0137 | PnL: -0.50% | $-1.17 +2025-03-10 15:36:38,893 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3794 | Take profit: 2098.7006499999998 +2025-03-10 15:36:38,996 - INFO - STOP LOSS hit for short at 2141.3794 | PnL: -0.50% | $-1.16 +2025-03-10 15:36:39,020 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.0324 | Take profit: 2109.14165 +2025-03-10 15:36:39,340 - INFO - TAKE PROFIT hit for short at 2109.14165 | PnL: 1.50% | $2.67 +2025-03-10 15:36:39,361 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1789 | Take profit: 2078.90215 +2025-03-10 15:36:40,487 - INFO - CLOSED short at 2085.83 | PnL: 1.17% | $2.10 +2025-03-10 15:36:40,506 - INFO - OPENED SHORT at 2085.85 | Stop loss: 2096.3051499999997 | Take profit: 2054.5234 +2025-03-10 15:36:40,831 - INFO - CLOSED short at 2094.7 | PnL: -0.42% | $-1.05 +2025-03-10 15:36:40,831 - INFO - OPENED LONG at 2094.7 | Stop loss: 2084.2005999999997 | Take profit: 2126.1593499999994 +2025-03-10 15:36:40,855 - INFO - CLOSED long at 2097.8 | PnL: 0.15% | $0.09 +2025-03-10 15:36:40,855 - INFO - OPENED SHORT at 2097.8 | Stop loss: 2108.3149000000003 | Take profit: 2066.29415 +2025-03-10 15:36:41,491 - INFO - STOP LOSS hit for short at 2108.3149000000003 | PnL: -0.50% | $-1.19 +2025-03-10 15:36:41,513 - INFO - OPENED SHORT at 2110.87 | Stop loss: 2121.45025 | Take profit: 2079.1681 +2025-03-10 15:36:42,103 - INFO - CLOSED short at 2121.77 | PnL: -0.52% | $-1.20 +2025-03-10 15:36:42,127 - INFO - OPENED SHORT at 2121.2 | Stop loss: 2131.8318999999997 | Take profit: 2089.3431499999997 +2025-03-10 15:36:42,211 - INFO - STOP LOSS hit for short at 2131.8318999999997 | PnL: -0.50% | $-1.16 +2025-03-10 15:36:42,236 - INFO - OPENED SHORT at 2136.26 | Stop loss: 2146.9672 | Take profit: 2104.17725 +2025-03-10 15:36:42,400 - INFO - CLOSED short at 2129.51 | PnL: 0.32% | $0.41 +2025-03-10 15:36:42,427 - INFO - OPENED SHORT at 2135.55 | Stop loss: 2146.25365 | Take profit: 2103.4779000000003 +2025-03-10 15:36:42,711 - INFO - CLOSED short at 2121.19 | PnL: 0.67% | $1.10 +2025-03-10 15:36:42,735 - INFO - OPENED SHORT at 2124.14 | Stop loss: 2134.7865999999995 | Take profit: 2092.2390499999997 +2025-03-10 15:36:44,390 - INFO - TAKE PROFIT hit for short at 2092.2390499999997 | PnL: 1.50% | $2.72 +2025-03-10 15:36:44,415 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5761500000003 | Take profit: 2068.5104 +2025-03-10 15:36:44,436 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 23.1% in downtrends | Avg Win=$1.09, Avg Loss=$-0.86 +2025-03-10 15:36:44,438 - INFO - Episode 1: Reward=-0.87, Balance=$100.79, Win Rate=45.8%, Trades=24, Episode PnL=$0.28, Total PnL=$-5.66, Max Drawdown=4.5%, Pred Accuracy=97.9% +2025-03-10 15:36:44,530 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.23035 | Take profit: 2031.9078 +2025-03-10 15:36:45,611 - INFO - CLOSED short at 2054.89 | PnL: 0.39% | $0.57 +2025-03-10 15:36:45,612 - INFO - OPENED LONG at 2054.89 | Stop loss: 2044.58965 | Take profit: 2085.7522 +2025-03-10 15:36:45,637 - INFO - CLOSED long at 2054.83 | PnL: -0.00% | $-0.20 +2025-03-10 15:36:45,637 - INFO - OPENED SHORT at 2054.83 | Stop loss: 2065.13005 | Take profit: 2023.9687 +2025-03-10 15:36:45,849 - INFO - STOP LOSS hit for short at 2065.13005 | PnL: -0.50% | $-1.19 +2025-03-10 15:36:45,872 - INFO - OPENED SHORT at 2066.01 | Stop loss: 2076.36595 | Take profit: 2034.9810000000002 +2025-03-10 15:36:46,140 - INFO - STOP LOSS hit for short at 2076.36595 | PnL: -0.50% | $-1.18 +2025-03-10 15:36:46,165 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.41095 | Take profit: 2043.8460000000002 +2025-03-10 15:36:47,812 - INFO - CLOSED short at 2065.07 | PnL: 0.48% | $0.73 +2025-03-10 15:36:47,813 - INFO - OPENED LONG at 2065.07 | Stop loss: 2054.71875 | Take profit: 2096.0849 +2025-03-10 15:36:47,834 - INFO - CLOSED long at 2066.09 | PnL: 0.05% | $-0.10 +2025-03-10 15:36:47,834 - INFO - OPENED SHORT at 2066.09 | Stop loss: 2076.44635 | Take profit: 2035.0598000000002 +2025-03-10 15:36:48,835 - INFO - CLOSED short at 2076.08 | PnL: -0.48% | $-1.14 +2025-03-10 15:36:48,861 - INFO - OPENED SHORT at 2077.61 | Stop loss: 2088.0239500000002 | Take profit: 2046.4070000000002 +2025-03-10 15:36:48,913 - INFO - STOP LOSS hit for short at 2088.0239500000002 | PnL: -0.50% | $-1.16 +2025-03-10 15:36:48,936 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.561 | Take profit: 2071.43585 +2025-03-10 15:36:48,959 - INFO - STOP LOSS hit for short at 2113.561 | PnL: -0.50% | $-1.14 +2025-03-10 15:36:48,983 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2636 | Take profit: 2107.40805 +2025-03-10 15:36:49,690 - INFO - CLOSED short at 2113.24 | PnL: 1.23% | $2.12 +2025-03-10 15:36:49,690 - INFO - OPENED LONG at 2113.24 | Stop loss: 2102.6479 | Take profit: 2144.9774499999994 +2025-03-10 15:36:49,720 - INFO - CLOSED long at 2112.99 | PnL: -0.01% | $-0.22 +2025-03-10 15:36:49,721 - INFO - OPENED SHORT at 2112.99 | Stop loss: 2123.58085 | Take profit: 2081.2562999999996 +2025-03-10 15:36:50,469 - INFO - CLOSED short at 2094.72 | PnL: 0.86% | $1.47 +2025-03-10 15:36:50,493 - INFO - OPENED SHORT at 2094.08 | Stop loss: 2104.5762999999997 | Take profit: 2062.62995 +2025-03-10 15:36:51,376 - INFO - CLOSED short at 2100.89 | PnL: -0.33% | $-0.83 +2025-03-10 15:36:51,402 - INFO - OPENED SHORT at 2099.73 | Stop loss: 2110.25455 | Take profit: 2068.1952 +2025-03-10 15:36:51,870 - INFO - STOP LOSS hit for short at 2110.25455 | PnL: -0.50% | $-1.16 +2025-03-10 15:36:51,891 - INFO - OPENED SHORT at 2110.87 | Stop loss: 2121.45025 | Take profit: 2079.1681 +2025-03-10 15:36:52,438 - INFO - STOP LOSS hit for short at 2121.45025 | PnL: -0.50% | $-1.15 +2025-03-10 15:36:52,460 - INFO - OPENED SHORT at 2121.2 | Stop loss: 2131.8318999999997 | Take profit: 2089.3431499999997 +2025-03-10 15:36:52,538 - INFO - STOP LOSS hit for short at 2131.8318999999997 | PnL: -0.50% | $-1.13 +2025-03-10 15:36:52,564 - INFO - OPENED SHORT at 2136.26 | Stop loss: 2146.9672 | Take profit: 2104.17725 +2025-03-10 15:36:52,687 - INFO - CLOSED short at 2124.38 | PnL: 0.56% | $0.85 +2025-03-10 15:36:52,687 - INFO - OPENED LONG at 2124.38 | Stop loss: 2113.7322 | Take profit: 2156.2845500000003 +2025-03-10 15:36:52,713 - INFO - CLOSED long at 2123.23 | PnL: -0.05% | $-0.29 +2025-03-10 15:36:52,713 - INFO - OPENED SHORT at 2123.23 | Stop loss: 2133.87205 | Take profit: 2091.3426999999997 +2025-03-10 15:36:52,791 - INFO - STOP LOSS hit for short at 2133.87205 | PnL: -0.50% | $-1.13 +2025-03-10 15:36:52,815 - INFO - OPENED SHORT at 2131.23 | Stop loss: 2141.91205 | Take profit: 2099.2227000000003 +2025-03-10 15:36:54,590 - INFO - CLOSED short at 2115.11 | PnL: 0.76% | $1.22 +2025-03-10 15:36:54,590 - INFO - OPENED LONG at 2115.11 | Stop loss: 2104.50855 | Take profit: 2146.8755 +2025-03-10 15:36:54,614 - INFO - CLOSED long at 2114.32 | PnL: -0.04% | $-0.26 +2025-03-10 15:36:54,615 - INFO - OPENED SHORT at 2114.32 | Stop loss: 2124.9175 | Take profit: 2082.56635 +2025-03-10 15:36:54,826 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 38.5% in downtrends | Avg Win=$1.16, Avg Loss=$-0.82 +2025-03-10 15:36:54,827 - INFO - Episode 2: Reward=-0.66, Balance=$94.69, Win Rate=28.6%, Trades=21, Episode PnL=$-4.25, Total PnL=$-10.98, Max Drawdown=6.3%, Pred Accuracy=97.9% +2025-03-10 15:36:54,904 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.23035 | Take profit: 2031.9078 +2025-03-10 15:36:55,385 - INFO - CLOSED short at 2060.31 | PnL: 0.13% | $0.05 +2025-03-10 15:36:55,405 - INFO - OPENED SHORT at 2061.8 | Stop loss: 2072.1349 | Take profit: 2030.8341500000001 +2025-03-10 15:36:56,438 - INFO - CLOSED short at 2066.79 | PnL: -0.24% | $-0.68 +2025-03-10 15:36:56,461 - INFO - OPENED SHORT at 2067.33 | Stop loss: 2077.69255 | Take profit: 2036.2812000000001 +2025-03-10 15:36:56,480 - INFO - CLOSED short at 2067.01 | PnL: 0.02% | $-0.17 +2025-03-10 15:36:56,522 - INFO - OPENED SHORT at 2069.79 | Stop loss: 2080.16485 | Take profit: 2038.7043 +2025-03-10 15:36:56,914 - INFO - CLOSED short at 2067.33 | PnL: 0.12% | $0.04 +2025-03-10 15:36:56,914 - INFO - OPENED LONG at 2067.33 | Stop loss: 2056.96745 | Take profit: 2098.3788 +2025-03-10 15:36:56,937 - INFO - CLOSED long at 2066.38 | PnL: -0.05% | $-0.29 +2025-03-10 15:36:56,937 - INFO - OPENED SHORT at 2066.38 | Stop loss: 2076.7378 | Take profit: 2035.34545 +2025-03-10 15:36:57,602 - INFO - CLOSED short at 2071.61 | PnL: -0.25% | $-0.69 +2025-03-10 15:36:57,621 - INFO - OPENED SHORT at 2074.37 | Stop loss: 2084.76775 | Take profit: 2043.2156 +2025-03-10 15:36:58,526 - INFO - CLOSED short at 2058.65 | PnL: 0.76% | $1.28 +2025-03-10 15:36:58,526 - INFO - OPENED LONG at 2058.65 | Stop loss: 2048.33085 | Take profit: 2089.5686 +2025-03-10 15:36:58,552 - INFO - CLOSED long at 2056.77 | PnL: -0.09% | $-0.38 +2025-03-10 15:36:58,553 - INFO - OPENED SHORT at 2056.77 | Stop loss: 2067.0797500000003 | Take profit: 2025.8796 +2025-03-10 15:36:58,855 - INFO - STOP LOSS hit for short at 2067.0797500000003 | PnL: -0.50% | $-1.18 +2025-03-10 15:36:58,875 - INFO - OPENED SHORT at 2067.49 | Stop loss: 2077.85335 | Take profit: 2036.4387999999997 +2025-03-10 15:36:58,935 - INFO - CLOSED short at 2061.21 | PnL: 0.30% | $0.39 +2025-03-10 15:36:58,936 - INFO - OPENED LONG at 2061.21 | Stop loss: 2050.87805 | Take profit: 2092.167 +2025-03-10 15:36:58,957 - INFO - CLOSED long at 2059.9 | PnL: -0.06% | $-0.32 +2025-03-10 15:36:58,957 - INFO - OPENED SHORT at 2059.9 | Stop loss: 2070.2254000000003 | Take profit: 2028.9626500000002 +2025-03-10 15:36:59,069 - INFO - STOP LOSS hit for short at 2070.2254000000003 | PnL: -0.50% | $-1.16 +2025-03-10 15:36:59,091 - INFO - OPENED SHORT at 2070.24 | Stop loss: 2080.6171 | Take profit: 2039.14755 +2025-03-10 15:36:59,280 - INFO - CLOSED short at 2074.9 | PnL: -0.23% | $-0.62 +2025-03-10 15:36:59,306 - INFO - OPENED SHORT at 2076.08 | Stop loss: 2086.4863 | Take profit: 2044.89995 +2025-03-10 15:36:59,388 - INFO - STOP LOSS hit for short at 2086.4863 | PnL: -0.50% | $-1.14 +2025-03-10 15:36:59,410 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.561 | Take profit: 2071.43585 +2025-03-10 15:36:59,435 - INFO - STOP LOSS hit for short at 2113.561 | PnL: -0.50% | $-1.13 +2025-03-10 15:36:59,458 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2636 | Take profit: 2107.40805 +2025-03-10 15:37:00,086 - INFO - CLOSED short at 2116.48 | PnL: 1.08% | $1.82 +2025-03-10 15:37:00,109 - INFO - OPENED SHORT at 2114.8 | Stop loss: 2125.3999 | Take profit: 2083.03915 +2025-03-10 15:37:00,613 - INFO - CLOSED short at 2095.29 | PnL: 0.92% | $1.56 +2025-03-10 15:37:00,613 - INFO - OPENED LONG at 2095.29 | Stop loss: 2084.7876499999998 | Take profit: 2126.7581999999998 +2025-03-10 15:37:00,634 - INFO - CLOSED long at 2093.46 | PnL: -0.09% | $-0.36 +2025-03-10 15:37:00,634 - INFO - OPENED SHORT at 2093.46 | Stop loss: 2103.9532 | Take profit: 2062.01925 +2025-03-10 15:37:01,195 - INFO - CLOSED short at 2087.47 | PnL: 0.29% | $0.36 +2025-03-10 15:37:01,195 - INFO - OPENED LONG at 2087.47 | Stop loss: 2077.00675 | Take profit: 2118.8208999999997 +2025-03-10 15:37:01,216 - INFO - CLOSED long at 2087.78 | PnL: 0.01% | $-0.16 +2025-03-10 15:37:01,216 - INFO - OPENED SHORT at 2087.78 | Stop loss: 2098.2448 | Take profit: 2056.42445 +2025-03-10 15:37:01,431 - INFO - STOP LOSS hit for short at 2098.2448 | PnL: -0.50% | $-1.15 +2025-03-10 15:37:01,455 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.1740999999997 | Take profit: 2070.0765499999998 +2025-03-10 15:37:01,958 - INFO - CLOSED short at 2103.41 | PnL: -0.08% | $-0.35 +2025-03-10 15:37:01,980 - INFO - OPENED SHORT at 2104.73 | Stop loss: 2115.2795499999997 | Take profit: 2073.1202 +2025-03-10 15:37:02,434 - INFO - STOP LOSS hit for short at 2115.2795499999997 | PnL: -0.50% | $-1.14 +2025-03-10 15:37:02,459 - INFO - OPENED SHORT at 2117.39 | Stop loss: 2128.00285 | Take profit: 2085.5903 +2025-03-10 15:37:02,826 - INFO - STOP LOSS hit for short at 2128.00285 | PnL: -0.50% | $-1.12 +2025-03-10 15:37:02,850 - INFO - OPENED SHORT at 2135.86 | Stop loss: 2146.5652 | Take profit: 2103.78325 +2025-03-10 15:37:04,861 - INFO - CLOSED short at 2124.9 | PnL: 0.51% | $0.76 +2025-03-10 15:37:04,861 - INFO - OPENED LONG at 2124.9 | Stop loss: 2114.2496 | Take profit: 2156.81235 +2025-03-10 15:37:04,883 - INFO - CLOSED long at 2128.33 | PnL: 0.16% | $0.11 +2025-03-10 15:37:04,884 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2138.9975499999996 | Take profit: 2096.3662 +2025-03-10 15:37:05,341 - INFO - TAKE PROFIT hit for short at 2096.3662 | PnL: 1.50% | $2.61 +2025-03-10 15:37:05,365 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5761500000003 | Take profit: 2068.5104 +2025-03-10 15:37:05,386 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$0.90, Avg Loss=$-0.71 +2025-03-10 15:37:05,387 - INFO - Episode 3: Reward=-3.26, Balance=$96.94, Win Rate=37.0%, Trades=27, Episode PnL=$-1.67, Total PnL=$-14.04, Max Drawdown=6.6%, Pred Accuracy=97.9% +2025-03-10 15:37:05,477 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.23035 | Take profit: 2031.9078 +2025-03-10 15:37:07,231 - INFO - STOP LOSS hit for short at 2073.23035 | PnL: -0.50% | $-1.19 +2025-03-10 15:37:07,258 - INFO - OPENED SHORT at 2078.01 | Stop loss: 2088.4259500000003 | Take profit: 2046.8010000000002 +2025-03-10 15:37:07,433 - INFO - CLOSED short at 2068.15 | PnL: 0.47% | $0.73 +2025-03-10 15:37:07,433 - INFO - OPENED LONG at 2068.15 | Stop loss: 2057.78335 | Take profit: 2099.2111000000004 +2025-03-10 15:37:07,454 - INFO - CLOSED long at 2068.39 | PnL: 0.01% | $-0.17 +2025-03-10 15:37:07,455 - INFO - OPENED SHORT at 2068.39 | Stop loss: 2078.75785 | Take profit: 2037.3253 +2025-03-10 15:37:09,061 - INFO - CLOSED short at 2063.01 | PnL: 0.26% | $0.31 +2025-03-10 15:37:09,084 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.0294 | Take profit: 2029.75065 +2025-03-10 15:37:09,432 - INFO - CLOSED short at 2063.9 | PnL: -0.16% | $-0.50 +2025-03-10 15:37:09,432 - INFO - OPENED LONG at 2063.9 | Stop loss: 2053.5546 | Take profit: 2094.89735 +2025-03-10 15:37:09,456 - INFO - CLOSED long at 2065.1 | PnL: 0.06% | $-0.08 +2025-03-10 15:37:09,456 - INFO - OPENED SHORT at 2065.1 | Stop loss: 2075.4514 | Take profit: 2034.08465 +2025-03-10 15:37:09,972 - INFO - STOP LOSS hit for short at 2075.4514 | PnL: -0.50% | $-1.18 +2025-03-10 15:37:09,995 - INFO - OPENED SHORT at 2077.61 | Stop loss: 2088.0239500000002 | Take profit: 2046.4070000000002 +2025-03-10 15:37:10,039 - INFO - STOP LOSS hit for short at 2088.0239500000002 | PnL: -0.50% | $-1.16 +2025-03-10 15:37:10,062 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.561 | Take profit: 2071.43585 +2025-03-10 15:37:10,087 - INFO - STOP LOSS hit for short at 2113.561 | PnL: -0.50% | $-1.15 +2025-03-10 15:37:10,111 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2636 | Take profit: 2107.40805 +2025-03-10 15:37:10,842 - INFO - TAKE PROFIT hit for short at 2107.40805 | PnL: 1.50% | $2.65 +2025-03-10 15:37:10,863 - INFO - OPENED SHORT at 2108.06 | Stop loss: 2118.6262 | Take profit: 2076.40025 +2025-03-10 15:37:12,135 - INFO - CLOSED short at 2097.8 | PnL: 0.49% | $0.75 +2025-03-10 15:37:12,136 - INFO - OPENED LONG at 2097.8 | Stop loss: 2087.2851 | Take profit: 2129.30585 +2025-03-10 15:37:12,154 - INFO - CLOSED long at 2099.99 | PnL: 0.10% | $0.01 +2025-03-10 15:37:12,177 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.1740999999997 | Take profit: 2070.0765499999998 +2025-03-10 15:37:12,734 - INFO - STOP LOSS hit for short at 2112.1740999999997 | PnL: -0.50% | $-1.18 +2025-03-10 15:37:12,760 - INFO - OPENED SHORT at 2110.87 | Stop loss: 2121.45025 | Take profit: 2079.1681 +2025-03-10 15:37:13,023 - INFO - CLOSED short at 2111.19 | PnL: -0.02% | $-0.22 +2025-03-10 15:37:13,066 - INFO - OPENED SHORT at 2118.72 | Stop loss: 2129.3394999999996 | Take profit: 2086.90035 +2025-03-10 15:37:13,498 - INFO - STOP LOSS hit for short at 2129.3394999999996 | PnL: -0.50% | $-1.16 +2025-03-10 15:37:13,526 - INFO - OPENED SHORT at 2136.26 | Stop loss: 2146.9672 | Take profit: 2104.17725 +2025-03-10 15:37:14,537 - INFO - CLOSED short at 2117.92 | PnL: 0.86% | $1.45 +2025-03-10 15:37:14,537 - INFO - OPENED LONG at 2117.92 | Stop loss: 2107.3045 | Take profit: 2149.7276500000003 +2025-03-10 15:37:14,560 - INFO - CLOSED long at 2118.35 | PnL: 0.02% | $-0.15 +2025-03-10 15:37:14,560 - INFO - OPENED SHORT at 2118.35 | Stop loss: 2128.96765 | Take profit: 2086.5359 +2025-03-10 15:37:14,714 - INFO - CLOSED short at 2122.87 | PnL: -0.21% | $-0.61 +2025-03-10 15:37:14,715 - INFO - OPENED LONG at 2122.87 | Stop loss: 2112.22975 | Take profit: 2154.7519 +2025-03-10 15:37:14,738 - INFO - CLOSED long at 2124.87 | PnL: 0.09% | $-0.01 +2025-03-10 15:37:14,738 - INFO - OPENED SHORT at 2124.87 | Stop loss: 2135.5202499999996 | Take profit: 2092.9581 +2025-03-10 15:37:14,904 - INFO - CLOSED short at 2123.41 | PnL: 0.07% | $-0.06 +2025-03-10 15:37:14,904 - INFO - OPENED LONG at 2123.41 | Stop loss: 2112.76705 | Take profit: 2155.3 +2025-03-10 15:37:14,928 - INFO - CLOSED long at 2126.23 | PnL: 0.13% | $0.06 +2025-03-10 15:37:14,929 - INFO - OPENED SHORT at 2126.23 | Stop loss: 2136.88705 | Take profit: 2094.2977 +2025-03-10 15:37:15,189 - INFO - CLOSED short at 2122.24 | PnL: 0.19% | $0.17 +2025-03-10 15:37:15,189 - INFO - OPENED LONG at 2122.24 | Stop loss: 2111.6029 | Take profit: 2154.1124499999996 +2025-03-10 15:37:15,217 - INFO - CLOSED long at 2120.48 | PnL: -0.08% | $-0.35 +2025-03-10 15:37:15,217 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.1083 | Take profit: 2088.63395 +2025-03-10 15:37:15,822 - INFO - CLOSED short at 2115.07 | PnL: 0.26% | $0.30 +2025-03-10 15:37:15,822 - INFO - OPENED LONG at 2115.07 | Stop loss: 2104.46875 | Take profit: 2146.8349000000003 +2025-03-10 15:37:15,848 - INFO - CLOSED long at 2098.24 | PnL: -0.80% | $-1.72 +2025-03-10 15:37:15,848 - INFO - OPENED SHORT at 2098.24 | Stop loss: 2108.7571 | Take profit: 2066.72755 +2025-03-10 15:37:15,943 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 40.0% in downtrends | Avg Win=$0.71, Avg Loss=$-0.68 +2025-03-10 15:37:15,943 - INFO - Episode 4: Reward=-6.78, Balance=$95.53, Win Rate=36.0%, Trades=25, Episode PnL=$-2.04, Total PnL=$-18.51, Max Drawdown=4.4%, Pred Accuracy=98.0% +2025-03-10 15:37:16,851 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.23035 | Take profit: 2031.9078 +2025-03-10 15:37:17,267 - INFO - CLOSED short at 2061.6 | PnL: 0.06% | $-0.07 +2025-03-10 15:37:17,291 - INFO - OPENED SHORT at 2060.9 | Stop loss: 2071.2304 | Take profit: 2029.94765 +2025-03-10 15:37:17,639 - INFO - CLOSED short at 2064.79 | PnL: -0.19% | $-0.57 +2025-03-10 15:37:17,639 - INFO - OPENED LONG at 2064.79 | Stop loss: 2054.44015 | Take profit: 2095.8007 +2025-03-10 15:37:17,665 - INFO - CLOSED long at 2065.89 | PnL: 0.05% | $-0.09 +2025-03-10 15:37:17,666 - INFO - OPENED SHORT at 2065.89 | Stop loss: 2076.24535 | Take profit: 2034.8627999999999 +2025-03-10 15:37:17,943 - INFO - CLOSED short at 2059.96 | PnL: 0.29% | $0.37 +2025-03-10 15:37:17,943 - INFO - OPENED LONG at 2059.96 | Stop loss: 2049.6343 | Take profit: 2090.89825 +2025-03-10 15:37:17,973 - INFO - CLOSED long at 2059.46 | PnL: -0.02% | $-0.24 +2025-03-10 15:37:17,973 - INFO - OPENED SHORT at 2059.46 | Stop loss: 2069.7832 | Take profit: 2028.52925 +2025-03-10 15:37:17,997 - INFO - CLOSED short at 2057.4 | PnL: 0.10% | $0.00 +2025-03-10 15:37:17,998 - INFO - OPENED LONG at 2057.4 | Stop loss: 2047.0871000000002 | Take profit: 2088.2998500000003 +2025-03-10 15:37:18,023 - INFO - CLOSED long at 2058.28 | PnL: 0.04% | $-0.11 +2025-03-10 15:37:18,023 - INFO - OPENED SHORT at 2058.28 | Stop loss: 2068.5973 | Take profit: 2027.3669500000003 +2025-03-10 15:37:18,263 - INFO - CLOSED short at 2061.6 | PnL: -0.16% | $-0.51 +2025-03-10 15:37:18,264 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.2661 | Take profit: 2092.56285 +2025-03-10 15:37:18,289 - INFO - CLOSED long at 2061.3 | PnL: -0.01% | $-0.22 +2025-03-10 15:37:18,289 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.6324000000004 | Take profit: 2030.3416500000003 +2025-03-10 15:37:18,427 - INFO - CLOSED short at 2066.33 | PnL: -0.24% | $-0.67 +2025-03-10 15:37:18,428 - INFO - OPENED LONG at 2066.33 | Stop loss: 2055.9724499999998 | Take profit: 2097.3637999999996 +2025-03-10 15:37:18,447 - INFO - CLOSED long at 2066.34 | PnL: 0.00% | $-0.19 +2025-03-10 15:37:18,448 - INFO - OPENED SHORT at 2066.34 | Stop loss: 2076.6976000000004 | Take profit: 2035.3060500000001 +2025-03-10 15:37:18,626 - INFO - STOP LOSS hit for short at 2076.6976000000004 | PnL: -0.50% | $-1.16 +2025-03-10 15:37:18,646 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.41095 | Take profit: 2043.8460000000002 +2025-03-10 15:37:18,666 - INFO - CLOSED short at 2072.6 | PnL: 0.12% | $0.03 +2025-03-10 15:37:18,688 - INFO - OPENED SHORT at 2071.04 | Stop loss: 2081.4211 | Take profit: 2039.93555 +2025-03-10 15:37:18,815 - INFO - CLOSED short at 2068.39 | PnL: 0.13% | $0.05 +2025-03-10 15:37:18,815 - INFO - OPENED LONG at 2068.39 | Stop loss: 2058.02215 | Take profit: 2099.4547 +2025-03-10 15:37:18,834 - INFO - CLOSED long at 2069.69 | PnL: 0.06% | $-0.07 +2025-03-10 15:37:18,834 - INFO - OPENED SHORT at 2069.69 | Stop loss: 2080.0643499999996 | Take profit: 2038.6058 +2025-03-10 15:37:19,485 - INFO - CLOSED short at 2070.9 | PnL: -0.06% | $-0.30 +2025-03-10 15:37:19,486 - INFO - OPENED LONG at 2070.9 | Stop loss: 2060.5196 | Take profit: 2102.00235 +2025-03-10 15:37:19,550 - INFO - CLOSED long at 2070.7 | PnL: -0.01% | $-0.21 +2025-03-10 15:37:19,551 - INFO - OPENED SHORT at 2070.7 | Stop loss: 2081.0793999999996 | Take profit: 2039.6006499999999 +2025-03-10 15:37:19,637 - INFO - CLOSED short at 2070.61 | PnL: 0.00% | $-0.18 +2025-03-10 15:37:19,638 - INFO - OPENED LONG at 2070.61 | Stop loss: 2060.2310500000003 | Take profit: 2101.708 +2025-03-10 15:37:19,670 - INFO - CLOSED long at 2071.99 | PnL: 0.07% | $-0.06 +2025-03-10 15:37:19,671 - INFO - OPENED SHORT at 2071.99 | Stop loss: 2082.37585 | Take profit: 2040.8712999999998 +2025-03-10 15:37:20,634 - INFO - CLOSED short at 2066.1 | PnL: 0.28% | $0.35 +2025-03-10 15:37:20,635 - INFO - OPENED LONG at 2066.1 | Stop loss: 2055.7436 | Take profit: 2097.13035 +2025-03-10 15:37:20,658 - INFO - CLOSED long at 2065.06 | PnL: -0.05% | $-0.29 +2025-03-10 15:37:20,658 - INFO - OPENED SHORT at 2065.06 | Stop loss: 2075.4112 | Take profit: 2034.0452500000001 +2025-03-10 15:37:20,918 - INFO - CLOSED short at 2053.01 | PnL: 0.58% | $0.92 +2025-03-10 15:37:20,918 - INFO - OPENED LONG at 2053.01 | Stop loss: 2042.7190500000002 | Take profit: 2083.8440000000005 +2025-03-10 15:37:20,939 - INFO - CLOSED long at 2049.21 | PnL: -0.19% | $-0.54 +2025-03-10 15:37:20,939 - INFO - OPENED SHORT at 2049.21 | Stop loss: 2059.4819500000003 | Take profit: 2018.433 +2025-03-10 15:37:21,081 - INFO - STOP LOSS hit for short at 2059.4819500000003 | PnL: -0.50% | $-1.14 +2025-03-10 15:37:21,101 - INFO - OPENED SHORT at 2063.9 | Stop loss: 2074.2454000000002 | Take profit: 2032.9026500000002 +2025-03-10 15:37:21,356 - INFO - CLOSED short at 2062.54 | PnL: 0.07% | $-0.06 +2025-03-10 15:37:21,357 - INFO - OPENED LONG at 2062.54 | Stop loss: 2052.2014 | Take profit: 2093.5169499999997 +2025-03-10 15:37:21,384 - INFO - CLOSED long at 2065.72 | PnL: 0.15% | $0.10 +2025-03-10 15:37:21,384 - INFO - OPENED SHORT at 2065.72 | Stop loss: 2076.0744999999997 | Take profit: 2034.6953499999997 +2025-03-10 15:37:21,428 - INFO - CLOSED short at 2070.24 | PnL: -0.22% | $-0.60 +2025-03-10 15:37:21,428 - INFO - OPENED LONG at 2070.24 | Stop loss: 2059.8628999999996 | Take profit: 2101.33245 +2025-03-10 15:37:21,455 - INFO - CLOSED long at 2069.34 | PnL: -0.04% | $-0.27 +2025-03-10 15:37:21,456 - INFO - OPENED SHORT at 2069.34 | Stop loss: 2079.7126000000003 | Take profit: 2038.26105 +2025-03-10 15:37:21,639 - INFO - CLOSED short at 2076.08 | PnL: -0.33% | $-0.79 +2025-03-10 15:37:21,640 - INFO - OPENED LONG at 2076.08 | Stop loss: 2065.6737 | Take profit: 2107.26005 +2025-03-10 15:37:21,662 - INFO - CLOSED long at 2077.61 | PnL: 0.07% | $-0.05 +2025-03-10 15:37:21,662 - INFO - OPENED SHORT at 2077.61 | Stop loss: 2088.0239500000002 | Take profit: 2046.4070000000002 +2025-03-10 15:37:21,705 - INFO - STOP LOSS hit for short at 2088.0239500000002 | PnL: -0.50% | $-1.11 +2025-03-10 15:37:21,725 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.561 | Take profit: 2071.43585 +2025-03-10 15:37:21,748 - INFO - STOP LOSS hit for short at 2113.561 | PnL: -0.50% | $-1.10 +2025-03-10 15:37:21,770 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2636 | Take profit: 2107.40805 +2025-03-10 15:37:21,887 - INFO - CLOSED short at 2142.68 | PnL: -0.15% | $-0.44 +2025-03-10 15:37:21,887 - INFO - OPENED LONG at 2142.68 | Stop loss: 2131.9406999999997 | Take profit: 2174.85905 +2025-03-10 15:37:21,907 - INFO - CLOSED long at 2140.01 | PnL: -0.12% | $-0.40 +2025-03-10 15:37:21,907 - INFO - OPENED SHORT at 2140.01 | Stop loss: 2150.7359500000002 | Take profit: 2107.871 +2025-03-10 15:37:22,010 - INFO - CLOSED short at 2121.09 | PnL: 0.88% | $1.40 +2025-03-10 15:37:22,010 - INFO - OPENED LONG at 2121.09 | Stop loss: 2110.45865 | Take profit: 2152.9452 +2025-03-10 15:37:22,032 - INFO - CLOSED long at 2120.15 | PnL: -0.04% | $-0.26 +2025-03-10 15:37:22,032 - INFO - OPENED SHORT at 2120.15 | Stop loss: 2130.7766500000002 | Take profit: 2088.3089 +2025-03-10 15:37:22,174 - INFO - CLOSED short at 2119.07 | PnL: 0.05% | $-0.09 +2025-03-10 15:37:22,175 - INFO - OPENED LONG at 2119.07 | Stop loss: 2108.44875 | Take profit: 2150.8949 +2025-03-10 15:37:22,223 - INFO - CLOSED long at 2107.43 | PnL: -0.55% | $-1.17 +2025-03-10 15:37:22,224 - INFO - OPENED SHORT at 2107.43 | Stop loss: 2117.99305 | Take profit: 2075.7796999999996 +2025-03-10 15:37:22,291 - INFO - CLOSED short at 2112.09 | PnL: -0.22% | $-0.57 +2025-03-10 15:37:22,291 - INFO - OPENED LONG at 2112.09 | Stop loss: 2101.50365 | Take profit: 2143.8102000000003 +2025-03-10 15:37:22,317 - INFO - CLOSED long at 2112.95 | PnL: 0.04% | $-0.11 +2025-03-10 15:37:22,317 - INFO - OPENED SHORT at 2112.95 | Stop loss: 2123.5406499999995 | Take profit: 2081.2169 +2025-03-10 15:37:22,440 - INFO - CLOSED short at 2114.8 | PnL: -0.09% | $-0.33 +2025-03-10 15:37:22,440 - INFO - OPENED LONG at 2114.8 | Stop loss: 2104.2001 | Take profit: 2146.5608500000003 +2025-03-10 15:37:22,462 - INFO - CLOSED long at 2110.9 | PnL: -0.18% | $-0.50 +2025-03-10 15:37:22,462 - INFO - OPENED SHORT at 2110.9 | Stop loss: 2121.4804000000004 | Take profit: 2079.19765 +2025-03-10 15:37:22,587 - INFO - CLOSED short at 2090.0 | PnL: 0.99% | $1.56 +2025-03-10 15:37:22,588 - INFO - OPENED LONG at 2090.0 | Stop loss: 2079.5241 | Take profit: 2121.38885 +2025-03-10 15:37:22,608 - INFO - CLOSED long at 2099.53 | PnL: 0.46% | $0.63 +2025-03-10 15:37:22,608 - INFO - OPENED SHORT at 2099.53 | Stop loss: 2110.05355 | Take profit: 2067.9982000000005 +2025-03-10 15:37:22,761 - INFO - CLOSED short at 2104.83 | PnL: -0.25% | $-0.63 +2025-03-10 15:37:22,761 - INFO - OPENED LONG at 2104.83 | Stop loss: 2094.27995 | Take profit: 2136.4413 +2025-03-10 15:37:22,782 - INFO - CLOSED long at 2106.39 | PnL: 0.07% | $-0.05 +2025-03-10 15:37:22,782 - INFO - OPENED SHORT at 2106.39 | Stop loss: 2116.94785 | Take profit: 2074.7553 +2025-03-10 15:37:22,809 - INFO - CLOSED short at 2100.74 | PnL: 0.27% | $0.30 +2025-03-10 15:37:22,809 - INFO - OPENED LONG at 2100.74 | Stop loss: 2090.2104 | Take profit: 2132.2899499999994 +2025-03-10 15:37:22,839 - INFO - CLOSED long at 2103.86 | PnL: 0.15% | $0.09 +2025-03-10 15:37:22,840 - INFO - OPENED SHORT at 2103.86 | Stop loss: 2114.4052 | Take profit: 2072.2632500000004 +2025-03-10 15:37:23,171 - INFO - CLOSED short at 2083.28 | PnL: 0.98% | $1.57 +2025-03-10 15:37:23,171 - INFO - OPENED LONG at 2083.28 | Stop loss: 2072.8377000000005 | Take profit: 2114.5680500000003 +2025-03-10 15:37:23,193 - INFO - CLOSED long at 2088.44 | PnL: 0.25% | $0.27 +2025-03-10 15:37:23,193 - INFO - OPENED SHORT at 2088.44 | Stop loss: 2098.9081 | Take profit: 2057.07455 +2025-03-10 15:37:23,341 - INFO - CLOSED short at 2083.41 | PnL: 0.24% | $0.26 +2025-03-10 15:37:23,341 - INFO - OPENED LONG at 2083.41 | Stop loss: 2072.9670499999997 | Take profit: 2114.7 +2025-03-10 15:37:23,364 - INFO - CLOSED long at 2085.09 | PnL: 0.08% | $-0.04 +2025-03-10 15:37:23,364 - INFO - OPENED SHORT at 2085.09 | Stop loss: 2095.54135 | Take profit: 2053.7748 +2025-03-10 15:37:23,629 - INFO - CLOSED short at 2087.78 | PnL: -0.13% | $-0.42 +2025-03-10 15:37:23,629 - INFO - OPENED LONG at 2087.78 | Stop loss: 2077.3152 | Take profit: 2119.1355500000004 +2025-03-10 15:37:23,649 - INFO - CLOSED long at 2086.81 | PnL: -0.05% | $-0.27 +2025-03-10 15:37:23,650 - INFO - OPENED SHORT at 2086.81 | Stop loss: 2097.26995 | Take profit: 2055.469 +2025-03-10 15:37:23,813 - INFO - STOP LOSS hit for short at 2097.26995 | PnL: -0.50% | $-1.09 +2025-03-10 15:37:23,841 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.51585 | Take profit: 2068.4512999999997 +2025-03-10 15:37:24,266 - INFO - CLOSED short at 2102.0 | PnL: -0.10% | $-0.35 +2025-03-10 15:37:24,267 - INFO - OPENED LONG at 2102.0 | Stop loss: 2091.4641 | Take profit: 2133.56885 +2025-03-10 15:37:24,291 - INFO - CLOSED long at 2103.41 | PnL: 0.07% | $-0.06 +2025-03-10 15:37:24,291 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.95295 | Take profit: 2071.8199999999997 +2025-03-10 15:37:24,484 - INFO - STOP LOSS hit for short at 2113.95295 | PnL: -0.50% | $-1.07 +2025-03-10 15:37:24,504 - INFO - OPENED SHORT at 2113.61 | Stop loss: 2124.20395 | Take profit: 2081.867 +2025-03-10 15:37:24,626 - INFO - CLOSED short at 2108.99 | PnL: 0.22% | $0.21 +2025-03-10 15:37:24,627 - INFO - OPENED LONG at 2108.99 | Stop loss: 2098.4191499999997 | Take profit: 2140.6636999999996 +2025-03-10 15:37:24,668 - INFO - CLOSED long at 2112.61 | PnL: 0.17% | $0.13 +2025-03-10 15:37:24,668 - INFO - OPENED SHORT at 2112.61 | Stop loss: 2123.19895 | Take profit: 2080.882 +2025-03-10 15:37:24,709 - INFO - CLOSED short at 2117.39 | PnL: -0.23% | $-0.58 +2025-03-10 15:37:24,709 - INFO - OPENED LONG at 2117.39 | Stop loss: 2106.77715 | Take profit: 2149.1897 +2025-03-10 15:37:24,736 - INFO - CLOSED long at 2115.3 | PnL: -0.10% | $-0.35 +2025-03-10 15:37:24,737 - INFO - OPENED SHORT at 2115.3 | Stop loss: 2125.9024 | Take profit: 2083.53165 +2025-03-10 15:37:25,021 - INFO - CLOSED short at 2127.79 | PnL: -0.59% | $-1.21 +2025-03-10 15:37:25,021 - INFO - OPENED LONG at 2127.79 | Stop loss: 2117.12515 | Take profit: 2159.7457 +2025-03-10 15:37:25,044 - INFO - CLOSED long at 2129.3 | PnL: 0.07% | $-0.05 +2025-03-10 15:37:25,044 - INFO - OPENED SHORT at 2129.3 | Stop loss: 2139.9724000000006 | Take profit: 2097.3216500000003 +2025-03-10 15:37:25,106 - INFO - CLOSED short at 2135.51 | PnL: -0.29% | $-0.68 +2025-03-10 15:37:25,107 - INFO - OPENED LONG at 2135.51 | Stop loss: 2124.8065500000002 | Take profit: 2167.5815000000002 +2025-03-10 15:37:25,131 - INFO - CLOSED long at 2136.09 | PnL: 0.03% | $-0.13 +2025-03-10 15:37:25,131 - INFO - OPENED SHORT at 2136.09 | Stop loss: 2146.7963500000005 | Take profit: 2104.0098000000003 +2025-03-10 15:37:25,972 - INFO - CLOSED short at 2123.62 | PnL: 0.58% | $0.83 +2025-03-10 15:37:25,973 - INFO - OPENED LONG at 2123.62 | Stop loss: 2112.9759999999997 | Take profit: 2155.5131499999998 +2025-03-10 15:37:25,992 - INFO - CLOSED long at 2122.53 | PnL: -0.05% | $-0.26 +2025-03-10 15:37:25,994 - INFO - OPENED SHORT at 2122.53 | Stop loss: 2133.1685500000003 | Take profit: 2090.6532 +2025-03-10 15:37:26,013 - INFO - CLOSED short at 2122.01 | PnL: 0.02% | $-0.13 +2025-03-10 15:37:26,013 - INFO - OPENED LONG at 2122.01 | Stop loss: 2111.3740500000004 | Take profit: 2153.879 +2025-03-10 15:37:26,035 - INFO - CLOSED long at 2120.62 | PnL: -0.07% | $-0.29 +2025-03-10 15:37:26,036 - INFO - OPENED SHORT at 2120.62 | Stop loss: 2131.2490000000003 | Take profit: 2088.77185 +2025-03-10 15:37:26,144 - INFO - CLOSED short at 2118.26 | PnL: 0.11% | $0.02 +2025-03-10 15:37:26,144 - INFO - OPENED LONG at 2118.26 | Stop loss: 2107.6428 | Take profit: 2150.0727500000003 +2025-03-10 15:37:26,168 - INFO - CLOSED long at 2121.82 | PnL: 0.17% | $0.12 +2025-03-10 15:37:26,168 - INFO - OPENED SHORT at 2121.82 | Stop loss: 2132.4550000000004 | Take profit: 2089.9538500000003 +2025-03-10 15:37:26,267 - INFO - CLOSED short at 2125.04 | PnL: -0.15% | $-0.43 +2025-03-10 15:37:26,267 - INFO - OPENED LONG at 2125.04 | Stop loss: 2114.3889 | Take profit: 2156.9544499999997 +2025-03-10 15:37:26,288 - INFO - CLOSED long at 2123.61 | PnL: -0.07% | $-0.29 +2025-03-10 15:37:26,289 - INFO - OPENED SHORT at 2123.61 | Stop loss: 2134.2539500000003 | Take profit: 2091.717 +2025-03-10 15:37:26,532 - INFO - CLOSED short at 2121.8 | PnL: 0.09% | $-0.03 +2025-03-10 15:37:26,533 - INFO - OPENED LONG at 2121.8 | Stop loss: 2111.1651 | Take profit: 2153.6658500000003 +2025-03-10 15:37:26,551 - INFO - CLOSED long at 2121.42 | PnL: -0.02% | $-0.20 +2025-03-10 15:37:26,552 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.053 | Take profit: 2089.55985 +2025-03-10 15:37:26,573 - INFO - CLOSED short at 2116.52 | PnL: 0.23% | $0.22 +2025-03-10 15:37:26,574 - INFO - OPENED LONG at 2116.52 | Stop loss: 2105.9115 | Take profit: 2148.30665 +2025-03-10 15:37:26,594 - INFO - CLOSED long at 2119.02 | PnL: 0.12% | $0.03 +2025-03-10 15:37:26,595 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.641 | Take profit: 2087.19585 +2025-03-10 15:37:26,619 - INFO - CLOSED short at 2120.96 | PnL: -0.09% | $-0.33 +2025-03-10 15:37:26,619 - INFO - OPENED LONG at 2120.96 | Stop loss: 2110.3293 | Take profit: 2152.81325 +2025-03-10 15:37:26,641 - INFO - CLOSED long at 2124.9 | PnL: 0.19% | $0.15 +2025-03-10 15:37:26,642 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.5504 | Take profit: 2092.98765 +2025-03-10 15:37:26,665 - INFO - CLOSED short at 2128.33 | PnL: -0.16% | $-0.45 +2025-03-10 15:37:26,666 - INFO - OPENED LONG at 2128.33 | Stop loss: 2117.66245 | Take profit: 2160.2938 +2025-03-10 15:37:26,687 - INFO - CLOSED long at 2124.77 | PnL: -0.17% | $-0.45 +2025-03-10 15:37:26,688 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.41975 | Take profit: 2092.8596000000002 +2025-03-10 15:37:26,864 - INFO - CLOSED short at 2114.1 | PnL: 0.50% | $0.68 +2025-03-10 15:37:26,864 - INFO - OPENED LONG at 2114.1 | Stop loss: 2103.5036 | Take profit: 2145.8503499999997 +2025-03-10 15:37:26,886 - INFO - CLOSED long at 2115.11 | PnL: 0.05% | $-0.09 +2025-03-10 15:37:26,886 - INFO - OPENED SHORT at 2115.11 | Stop loss: 2125.7114500000002 | Take profit: 2083.3445 +2025-03-10 15:37:27,111 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 34.1% in downtrends | Avg Win=$0.43, Avg Loss=$-0.41 +2025-03-10 15:37:27,112 - INFO - Episode 5: Reward=32.55, Balance=$85.86, Win Rate=28.6%, Trades=84, Episode PnL=$-8.35, Total PnL=$-32.65, Max Drawdown=10.6%, Pred Accuracy=98.1% +2025-03-10 15:37:27,196 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.23035 | Take profit: 2031.9078 +2025-03-10 15:37:27,687 - INFO - CLOSED short at 2064.7 | PnL: -0.09% | $-0.37 +2025-03-10 15:37:27,687 - INFO - OPENED LONG at 2064.7 | Stop loss: 2054.3505999999998 | Take profit: 2095.7093499999996 +2025-03-10 15:37:27,707 - INFO - CLOSED long at 2062.61 | PnL: -0.10% | $-0.40 +2025-03-10 15:37:27,707 - INFO - OPENED SHORT at 2062.61 | Stop loss: 2072.9489500000004 | Take profit: 2031.632 +2025-03-10 15:37:27,807 - INFO - CLOSED short at 2064.1 | PnL: -0.07% | $-0.34 +2025-03-10 15:37:27,808 - INFO - OPENED LONG at 2064.1 | Stop loss: 2053.7536 | Take profit: 2095.10035 +2025-03-10 15:37:27,829 - INFO - CLOSED long at 2065.36 | PnL: 0.06% | $-0.08 +2025-03-10 15:37:27,829 - INFO - OPENED SHORT at 2065.36 | Stop loss: 2075.7127 | Take profit: 2034.34075 +2025-03-10 15:37:27,894 - INFO - CLOSED short at 2064.79 | PnL: 0.03% | $-0.14 +2025-03-10 15:37:27,894 - INFO - OPENED LONG at 2064.79 | Stop loss: 2054.44015 | Take profit: 2095.8007 +2025-03-10 15:37:27,919 - INFO - CLOSED long at 2065.89 | PnL: 0.05% | $-0.09 +2025-03-10 15:37:27,919 - INFO - OPENED SHORT at 2065.89 | Stop loss: 2076.24535 | Take profit: 2034.8627999999999 +2025-03-10 15:37:27,939 - INFO - CLOSED short at 2063.53 | PnL: 0.11% | $0.03 +2025-03-10 15:37:27,940 - INFO - OPENED LONG at 2063.53 | Stop loss: 2053.18645 | Take profit: 2094.5218000000004 +2025-03-10 15:37:27,963 - INFO - CLOSED long at 2063.0 | PnL: -0.03% | $-0.24 +2025-03-10 15:37:27,964 - INFO - OPENED SHORT at 2063.0 | Stop loss: 2073.3409 | Take profit: 2032.01615 +2025-03-10 15:37:28,123 - INFO - CLOSED short at 2059.02 | PnL: 0.19% | $0.18 +2025-03-10 15:37:28,124 - INFO - OPENED LONG at 2059.02 | Stop loss: 2048.699 | Take profit: 2089.9441500000003 +2025-03-10 15:37:28,148 - INFO - CLOSED long at 2058.89 | PnL: -0.01% | $-0.21 +2025-03-10 15:37:28,149 - INFO - OPENED SHORT at 2058.89 | Stop loss: 2069.2103500000003 | Take profit: 2027.9678 +2025-03-10 15:37:28,314 - INFO - CLOSED short at 2054.83 | PnL: 0.20% | $0.19 +2025-03-10 15:37:28,314 - INFO - OPENED LONG at 2054.83 | Stop loss: 2044.5299499999999 | Take profit: 2085.6912999999995 +2025-03-10 15:37:28,340 - INFO - CLOSED long at 2056.71 | PnL: 0.09% | $-0.02 +2025-03-10 15:37:28,341 - INFO - OPENED SHORT at 2056.71 | Stop loss: 2067.01945 | Take profit: 2025.8205 +2025-03-10 15:37:28,460 - INFO - CLOSED short at 2061.6 | PnL: -0.24% | $-0.66 +2025-03-10 15:37:28,460 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.2661 | Take profit: 2092.56285 +2025-03-10 15:37:28,481 - INFO - CLOSED long at 2061.3 | PnL: -0.01% | $-0.22 +2025-03-10 15:37:28,481 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.6324000000004 | Take profit: 2030.3416500000003 +2025-03-10 15:37:28,816 - INFO - STOP LOSS hit for short at 2071.6324000000004 | PnL: -0.50% | $-1.16 +2025-03-10 15:37:28,838 - INFO - OPENED LONG at 2074.3 | Stop loss: 2063.9026000000003 | Take profit: 2105.4533500000002 +2025-03-10 15:37:28,860 - INFO - CLOSED long at 2078.01 | PnL: 0.18% | $0.15 +2025-03-10 15:37:28,860 - INFO - OPENED SHORT at 2078.01 | Stop loss: 2088.4259500000003 | Take profit: 2046.8010000000002 +2025-03-10 15:37:28,888 - INFO - CLOSED short at 2075.01 | PnL: 0.14% | $0.08 +2025-03-10 15:37:28,889 - INFO - OPENED LONG at 2075.01 | Stop loss: 2064.60905 | Take profit: 2106.174 +2025-03-10 15:37:28,943 - INFO - CLOSED long at 2071.04 | PnL: -0.19% | $-0.56 +2025-03-10 15:37:28,943 - INFO - OPENED SHORT at 2071.04 | Stop loss: 2081.4211 | Take profit: 2039.93555 +2025-03-10 15:37:28,968 - INFO - CLOSED short at 2070.01 | PnL: 0.05% | $-0.10 +2025-03-10 15:37:28,969 - INFO - OPENED LONG at 2070.01 | Stop loss: 2059.63405 | Take profit: 2101.099 +2025-03-10 15:37:28,994 - INFO - CLOSED long at 2071.6 | PnL: 0.08% | $-0.04 +2025-03-10 15:37:28,994 - INFO - OPENED SHORT at 2071.6 | Stop loss: 2081.9839 | Take profit: 2040.48715 +2025-03-10 15:37:29,016 - INFO - CLOSED short at 2073.23 | PnL: -0.08% | $-0.34 +2025-03-10 15:37:29,040 - INFO - OPENED SHORT at 2070.0 | Stop loss: 2080.3759 | Take profit: 2038.91115 +2025-03-10 15:37:29,108 - INFO - CLOSED short at 2069.69 | PnL: 0.01% | $-0.16 +2025-03-10 15:37:29,109 - INFO - OPENED LONG at 2069.69 | Stop loss: 2059.31565 | Take profit: 2100.7742000000003 +2025-03-10 15:37:29,137 - INFO - CLOSED long at 2069.03 | PnL: -0.03% | $-0.25 +2025-03-10 15:37:29,137 - INFO - OPENED SHORT at 2069.03 | Stop loss: 2079.4010500000004 | Take profit: 2037.9557000000002 +2025-03-10 15:37:29,204 - INFO - CLOSED short at 2072.99 | PnL: -0.19% | $-0.55 +2025-03-10 15:37:29,205 - INFO - OPENED LONG at 2072.99 | Stop loss: 2062.5991499999996 | Take profit: 2104.1236999999996 +2025-03-10 15:37:29,232 - INFO - CLOSED long at 2071.49 | PnL: -0.07% | $-0.32 +2025-03-10 15:37:29,232 - INFO - OPENED SHORT at 2071.49 | Stop loss: 2081.87335 | Take profit: 2040.3787999999997 +2025-03-10 15:37:29,445 - INFO - CLOSED short at 2065.3 | PnL: 0.30% | $0.37 +2025-03-10 15:37:29,445 - INFO - OPENED LONG at 2065.3 | Stop loss: 2054.9476000000004 | Take profit: 2096.3183500000005 +2025-03-10 15:37:29,468 - INFO - CLOSED long at 2064.4 | PnL: -0.04% | $-0.27 +2025-03-10 15:37:29,468 - INFO - OPENED SHORT at 2064.4 | Stop loss: 2074.7479000000003 | Take profit: 2033.39515 +2025-03-10 15:37:29,532 - INFO - CLOSED short at 2067.53 | PnL: -0.15% | $-0.47 +2025-03-10 15:37:29,532 - INFO - OPENED LONG at 2067.53 | Stop loss: 2057.16645 | Take profit: 2098.5818 +2025-03-10 15:37:29,553 - INFO - CLOSED long at 2065.29 | PnL: -0.11% | $-0.39 +2025-03-10 15:37:29,554 - INFO - OPENED SHORT at 2065.29 | Stop loss: 2075.64235 | Take profit: 2034.2717999999998 +2025-03-10 15:37:29,599 - INFO - CLOSED short at 2066.8 | PnL: -0.07% | $-0.32 +2025-03-10 15:37:29,599 - INFO - OPENED LONG at 2066.8 | Stop loss: 2056.4401000000003 | Take profit: 2097.84085 +2025-03-10 15:37:29,622 - INFO - CLOSED long at 2066.5 | PnL: -0.01% | $-0.21 +2025-03-10 15:37:29,622 - INFO - OPENED SHORT at 2066.5 | Stop loss: 2076.8584 | Take profit: 2035.4636500000001 +2025-03-10 15:37:29,717 - INFO - CLOSED short at 2071.35 | PnL: -0.23% | $-0.62 +2025-03-10 15:37:29,718 - INFO - OPENED LONG at 2071.35 | Stop loss: 2060.96735 | Take profit: 2102.4591 +2025-03-10 15:37:29,743 - INFO - CLOSED long at 2070.9 | PnL: -0.02% | $-0.22 +2025-03-10 15:37:29,744 - INFO - OPENED SHORT at 2070.9 | Stop loss: 2081.2804 | Take profit: 2039.7976500000002 +2025-03-10 15:37:30,984 - INFO - CLOSED short at 2056.85 | PnL: 0.68% | $1.05 +2025-03-10 15:37:30,984 - INFO - OPENED LONG at 2056.85 | Stop loss: 2046.53985 | Take profit: 2087.7416 +2025-03-10 15:37:31,005 - INFO - CLOSED long at 2057.11 | PnL: 0.01% | $-0.16 +2025-03-10 15:37:31,006 - INFO - OPENED SHORT at 2057.11 | Stop loss: 2067.4214500000003 | Take profit: 2026.2145 +2025-03-10 15:37:31,180 - INFO - STOP LOSS hit for short at 2067.4214500000003 | PnL: -0.50% | $-1.11 +2025-03-10 15:37:31,203 - INFO - OPENED SHORT at 2067.49 | Stop loss: 2077.85335 | Take profit: 2036.4387999999997 +2025-03-10 15:37:31,510 - INFO - CLOSED short at 2074.05 | PnL: -0.32% | $-0.76 +2025-03-10 15:37:31,532 - INFO - OPENED SHORT at 2072.99 | Stop loss: 2083.38085 | Take profit: 2041.8562999999997 +2025-03-10 15:37:31,581 - INFO - CLOSED short at 2071.8 | PnL: 0.06% | $-0.08 +2025-03-10 15:37:31,581 - INFO - OPENED LONG at 2071.8 | Stop loss: 2061.4151 | Take profit: 2102.91585 +2025-03-10 15:37:31,602 - INFO - CLOSED long at 2074.9 | PnL: 0.15% | $0.09 +2025-03-10 15:37:31,603 - INFO - OPENED SHORT at 2074.9 | Stop loss: 2085.3004 | Take profit: 2043.73765 +2025-03-10 15:37:31,668 - INFO - STOP LOSS hit for short at 2085.3004 | PnL: -0.50% | $-1.08 +2025-03-10 15:37:31,690 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.9683499999996 | Take profit: 2059.0937999999996 +2025-03-10 15:37:31,710 - INFO - STOP LOSS hit for short at 2100.9683499999996 | PnL: -0.50% | $-1.07 +2025-03-10 15:37:31,732 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3794 | Take profit: 2098.7006499999998 +2025-03-10 15:37:31,847 - INFO - STOP LOSS hit for short at 2141.3794 | PnL: -0.50% | $-1.06 +2025-03-10 15:37:31,873 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.0324 | Take profit: 2109.14165 +2025-03-10 15:37:32,211 - INFO - TAKE PROFIT hit for short at 2109.14165 | PnL: 1.50% | $2.44 +2025-03-10 15:37:32,232 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1789 | Take profit: 2078.90215 +2025-03-10 15:37:32,881 - INFO - CLOSED short at 2098.39 | PnL: 0.58% | $0.86 +2025-03-10 15:37:32,882 - INFO - OPENED LONG at 2098.39 | Stop loss: 2087.8721499999997 | Take profit: 2129.9047 +2025-03-10 15:37:32,902 - INFO - CLOSED long at 2095.29 | PnL: -0.15% | $-0.45 +2025-03-10 15:37:32,902 - INFO - OPENED SHORT at 2095.29 | Stop loss: 2105.79235 | Take profit: 2063.8217999999997 +2025-03-10 15:37:33,389 - INFO - CLOSED short at 2085.85 | PnL: 0.45% | $0.63 +2025-03-10 15:37:33,389 - INFO - OPENED LONG at 2085.85 | Stop loss: 2075.39485 | Take profit: 2117.1766 +2025-03-10 15:37:33,410 - INFO - CLOSED long at 2088.66 | PnL: 0.13% | $0.06 +2025-03-10 15:37:33,411 - INFO - OPENED SHORT at 2088.66 | Stop loss: 2099.1292 | Take profit: 2057.2912499999998 +2025-03-10 15:37:33,634 - INFO - CLOSED short at 2091.05 | PnL: -0.11% | $-0.39 +2025-03-10 15:37:33,634 - INFO - OPENED LONG at 2091.05 | Stop loss: 2080.56885 | Take profit: 2122.4546000000005 +2025-03-10 15:37:33,674 - INFO - CLOSED long at 2091.95 | PnL: 0.04% | $-0.10 +2025-03-10 15:37:33,674 - INFO - OPENED SHORT at 2091.95 | Stop loss: 2102.43565 | Take profit: 2060.5319 +2025-03-10 15:37:33,714 - INFO - CLOSED short at 2097.8 | PnL: -0.28% | $-0.68 +2025-03-10 15:37:33,735 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.51585 | Take profit: 2068.4512999999997 +2025-03-10 15:37:34,435 - INFO - STOP LOSS hit for short at 2110.51585 | PnL: -0.50% | $-1.07 +2025-03-10 15:37:34,455 - INFO - OPENED SHORT at 2110.87 | Stop loss: 2121.45025 | Take profit: 2079.1681 +2025-03-10 15:37:35,110 - INFO - STOP LOSS hit for short at 2121.45025 | PnL: -0.50% | $-1.06 +2025-03-10 15:37:35,133 - INFO - OPENED SHORT at 2121.2 | Stop loss: 2131.8318999999997 | Take profit: 2089.3431499999997 +2025-03-10 15:37:35,228 - INFO - STOP LOSS hit for short at 2131.8318999999997 | PnL: -0.50% | $-1.05 +2025-03-10 15:37:35,250 - INFO - OPENED SHORT at 2136.26 | Stop loss: 2146.9672 | Take profit: 2104.17725 +2025-03-10 15:37:35,315 - INFO - CLOSED short at 2132.83 | PnL: 0.16% | $0.10 +2025-03-10 15:37:35,341 - INFO - OPENED SHORT at 2127.79 | Stop loss: 2138.4548499999996 | Take profit: 2095.8343 +2025-03-10 15:37:35,920 - INFO - CLOSED short at 2114.41 | PnL: 0.63% | $0.91 +2025-03-10 15:37:35,947 - INFO - OPENED SHORT at 2115.45 | Stop loss: 2126.0531499999997 | Take profit: 2083.6794 +2025-03-10 15:37:36,528 - INFO - STOP LOSS hit for short at 2126.0531499999997 | PnL: -0.50% | $-1.05 +2025-03-10 15:37:36,570 - INFO - OPENED SHORT at 2123.61 | Stop loss: 2134.2539500000003 | Take profit: 2091.717 +2025-03-10 15:37:37,342 - INFO - TAKE PROFIT hit for short at 2091.717 | PnL: 1.50% | $2.42 +2025-03-10 15:37:37,366 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5761500000003 | Take profit: 2068.5104 +2025-03-10 15:37:37,389 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 32.3% in downtrends | Avg Win=$0.64, Avg Loss=$-0.47 +2025-03-10 15:37:37,389 - INFO - Episode 6: Reward=55.48, Balance=$89.67, Win Rate=26.3%, Trades=57, Episode PnL=$-6.41, Total PnL=$-42.98, Max Drawdown=12.8%, Pred Accuracy=98.1% +2025-03-10 15:37:37,487 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.23035 | Take profit: 2031.9078 +2025-03-10 15:37:37,775 - INFO - CLOSED short at 2062.89 | PnL: 0.00% | $-0.20 +2025-03-10 15:37:37,775 - INFO - OPENED LONG at 2062.89 | Stop loss: 2052.54965 | Take profit: 2093.8722000000002 +2025-03-10 15:37:37,802 - INFO - CLOSED long at 2064.5 | PnL: 0.08% | $-0.04 +2025-03-10 15:37:37,803 - INFO - OPENED SHORT at 2064.5 | Stop loss: 2074.8484 | Take profit: 2033.49365 +2025-03-10 15:37:38,119 - INFO - CLOSED short at 2064.1 | PnL: 0.02% | $-0.16 +2025-03-10 15:37:38,144 - INFO - OPENED SHORT at 2065.36 | Stop loss: 2075.7127 | Take profit: 2034.34075 +2025-03-10 15:37:38,307 - INFO - CLOSED short at 2062.6 | PnL: 0.13% | $0.07 +2025-03-10 15:37:38,307 - INFO - OPENED LONG at 2062.6 | Stop loss: 2052.2610999999997 | Take profit: 2093.5778499999997 +2025-03-10 15:37:38,332 - INFO - CLOSED long at 2061.89 | PnL: -0.03% | $-0.26 +2025-03-10 15:37:38,332 - INFO - OPENED SHORT at 2061.89 | Stop loss: 2072.2253499999997 | Take profit: 2030.9227999999998 +2025-03-10 15:37:39,124 - INFO - STOP LOSS hit for short at 2072.2253499999997 | PnL: -0.50% | $-1.18 +2025-03-10 15:37:39,151 - INFO - OPENED SHORT at 2078.01 | Stop loss: 2088.4259500000003 | Take profit: 2046.8010000000002 +2025-03-10 15:37:39,384 - INFO - CLOSED short at 2069.03 | PnL: 0.43% | $0.64 +2025-03-10 15:37:39,384 - INFO - OPENED LONG at 2069.03 | Stop loss: 2058.65895 | Take profit: 2100.1043000000004 +2025-03-10 15:37:39,404 - INFO - CLOSED long at 2067.44 | PnL: -0.08% | $-0.35 +2025-03-10 15:37:39,405 - INFO - OPENED SHORT at 2067.44 | Stop loss: 2077.8031 | Take profit: 2036.38955 +2025-03-10 15:37:39,569 - INFO - CLOSED short at 2065.66 | PnL: 0.09% | $-0.03 +2025-03-10 15:37:39,592 - INFO - OPENED SHORT at 2063.95 | Stop loss: 2074.2956499999996 | Take profit: 2032.9518999999998 +2025-03-10 15:37:39,692 - INFO - CLOSED short at 2064.31 | PnL: -0.02% | $-0.23 +2025-03-10 15:37:39,693 - INFO - OPENED LONG at 2064.31 | Stop loss: 2053.9625499999997 | Take profit: 2095.3134999999997 +2025-03-10 15:37:39,714 - INFO - CLOSED long at 2065.5 | PnL: 0.06% | $-0.08 +2025-03-10 15:37:39,714 - INFO - OPENED SHORT at 2065.5 | Stop loss: 2075.8534 | Take profit: 2034.4786499999998 +2025-03-10 15:37:40,303 - INFO - STOP LOSS hit for short at 2075.8534 | PnL: -0.50% | $-1.17 +2025-03-10 15:37:40,330 - INFO - OPENED SHORT at 2075.61 | Stop loss: 2086.01395 | Take profit: 2044.4370000000001 +2025-03-10 15:37:40,698 - INFO - CLOSED short at 2065.7 | PnL: 0.48% | $0.72 +2025-03-10 15:37:40,721 - INFO - OPENED SHORT at 2065.8 | Stop loss: 2076.1549 | Take profit: 2034.7741500000002 +2025-03-10 15:37:41,745 - INFO - CLOSED short at 2070.41 | PnL: -0.22% | $-0.62 +2025-03-10 15:37:41,745 - INFO - OPENED LONG at 2070.41 | Stop loss: 2060.03205 | Take profit: 2101.5049999999997 +2025-03-10 15:37:41,766 - INFO - CLOSED long at 2073.49 | PnL: 0.15% | $0.09 +2025-03-10 15:37:41,766 - INFO - OPENED SHORT at 2073.49 | Stop loss: 2083.8833499999996 | Take profit: 2042.3487999999998 +2025-03-10 15:37:41,935 - INFO - STOP LOSS hit for short at 2083.8833499999996 | PnL: -0.50% | $-1.15 +2025-03-10 15:37:41,958 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.9683499999996 | Take profit: 2059.0937999999996 +2025-03-10 15:37:41,980 - INFO - STOP LOSS hit for short at 2100.9683499999996 | PnL: -0.50% | $-1.14 +2025-03-10 15:37:42,001 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3794 | Take profit: 2098.7006499999998 +2025-03-10 15:37:42,112 - INFO - STOP LOSS hit for short at 2141.3794 | PnL: -0.50% | $-1.13 +2025-03-10 15:37:42,135 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.0324 | Take profit: 2109.14165 +2025-03-10 15:37:42,494 - INFO - TAKE PROFIT hit for short at 2109.14165 | PnL: 1.50% | $2.60 +2025-03-10 15:37:42,520 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1789 | Take profit: 2078.90215 +2025-03-10 15:37:42,712 - INFO - CLOSED short at 2116.48 | PnL: -0.28% | $-0.72 +2025-03-10 15:37:42,736 - INFO - OPENED SHORT at 2114.8 | Stop loss: 2125.3999 | Take profit: 2083.03915 +2025-03-10 15:37:43,473 - INFO - TAKE PROFIT hit for short at 2083.03915 | PnL: 1.50% | $2.65 +2025-03-10 15:37:43,493 - INFO - OPENED SHORT at 2081.49 | Stop loss: 2091.9233499999996 | Take profit: 2050.2288 +2025-03-10 15:37:43,805 - INFO - CLOSED short at 2087.47 | PnL: -0.29% | $-0.75 +2025-03-10 15:37:43,805 - INFO - OPENED LONG at 2087.47 | Stop loss: 2077.00675 | Take profit: 2118.8208999999997 +2025-03-10 15:37:43,825 - INFO - CLOSED long at 2087.78 | PnL: 0.01% | $-0.16 +2025-03-10 15:37:43,826 - INFO - OPENED SHORT at 2087.78 | Stop loss: 2098.2448 | Take profit: 2056.42445 +2025-03-10 15:37:44,028 - INFO - STOP LOSS hit for short at 2098.2448 | PnL: -0.50% | $-1.16 +2025-03-10 15:37:44,053 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.1740999999997 | Take profit: 2070.0765499999998 +2025-03-10 15:37:44,607 - INFO - STOP LOSS hit for short at 2112.1740999999997 | PnL: -0.50% | $-1.14 +2025-03-10 15:37:44,630 - INFO - OPENED SHORT at 2110.87 | Stop loss: 2121.45025 | Take profit: 2079.1681 +2025-03-10 15:37:45,184 - INFO - STOP LOSS hit for short at 2121.45025 | PnL: -0.50% | $-1.13 +2025-03-10 15:37:45,206 - INFO - OPENED SHORT at 2121.2 | Stop loss: 2131.8318999999997 | Take profit: 2089.3431499999997 +2025-03-10 15:37:45,283 - INFO - STOP LOSS hit for short at 2131.8318999999997 | PnL: -0.50% | $-1.12 +2025-03-10 15:37:45,309 - INFO - OPENED SHORT at 2136.26 | Stop loss: 2146.9672 | Take profit: 2104.17725 +2025-03-10 15:37:45,654 - INFO - CLOSED short at 2118.8 | PnL: 0.82% | $1.32 +2025-03-10 15:37:45,678 - INFO - OPENED SHORT at 2116.53 | Stop loss: 2127.1385500000006 | Take profit: 2084.7432000000003 +2025-03-10 15:37:46,140 - INFO - CLOSED short at 2114.71 | PnL: 0.09% | $-0.03 +2025-03-10 15:37:46,162 - INFO - OPENED SHORT at 2117.92 | Stop loss: 2128.5355 | Take profit: 2086.1123500000003 +2025-03-10 15:37:46,530 - INFO - CLOSED short at 2123.02 | PnL: -0.24% | $-0.63 +2025-03-10 15:37:46,553 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7313 | Take profit: 2093.16495 +2025-03-10 15:37:47,072 - INFO - CLOSED short at 2115.21 | PnL: 0.46% | $0.67 +2025-03-10 15:37:47,072 - INFO - OPENED LONG at 2115.21 | Stop loss: 2104.60805 | Take profit: 2146.977 +2025-03-10 15:37:47,097 - INFO - CLOSED long at 2114.1 | PnL: -0.05% | $-0.28 +2025-03-10 15:37:47,098 - INFO - OPENED SHORT at 2114.1 | Stop loss: 2124.6964000000003 | Take profit: 2082.34965 +2025-03-10 15:37:47,143 - INFO - CLOSED short at 2114.32 | PnL: -0.01% | $-0.20 +2025-03-10 15:37:47,143 - INFO - OPENED LONG at 2114.32 | Stop loss: 2103.7225 | Take profit: 2146.0736500000003 +2025-03-10 15:37:47,169 - INFO - CLOSED long at 2114.57 | PnL: 0.01% | $-0.16 +2025-03-10 15:37:47,169 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.16875 | Take profit: 2082.8126 +2025-03-10 15:37:47,362 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 26.3% in downtrends | Avg Win=$1.10, Avg Loss=$-0.59 +2025-03-10 15:37:47,363 - INFO - Episode 7: Reward=76.58, Balance=$93.53, Win Rate=23.5%, Trades=34, Episode PnL=$-5.22, Total PnL=$-49.45, Max Drawdown=7.1%, Pred Accuracy=98.2% +2025-03-10 15:37:47,459 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.23035 | Take profit: 2031.9078 +2025-03-10 15:37:48,133 - INFO - CLOSED short at 2064.1 | PnL: -0.06% | $-0.31 +2025-03-10 15:37:48,156 - INFO - OPENED SHORT at 2065.36 | Stop loss: 2075.7127 | Take profit: 2034.34075 +2025-03-10 15:37:48,942 - INFO - CLOSED short at 2066.34 | PnL: -0.05% | $-0.29 +2025-03-10 15:37:48,943 - INFO - OPENED LONG at 2066.34 | Stop loss: 2055.9824000000003 | Take profit: 2097.37395 +2025-03-10 15:37:48,963 - INFO - CLOSED long at 2066.79 | PnL: 0.02% | $-0.15 +2025-03-10 15:37:48,964 - INFO - OPENED SHORT at 2066.79 | Stop loss: 2077.14985 | Take profit: 2035.7493 +2025-03-10 15:37:49,126 - INFO - STOP LOSS hit for short at 2077.14985 | PnL: -0.50% | $-1.18 +2025-03-10 15:37:49,148 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.41095 | Take profit: 2043.8460000000002 +2025-03-10 15:37:49,318 - INFO - CLOSED short at 2068.39 | PnL: 0.32% | $0.42 +2025-03-10 15:37:49,341 - INFO - OPENED SHORT at 2069.69 | Stop loss: 2080.0643499999996 | Take profit: 2038.6058 +2025-03-10 15:37:51,258 - INFO - CLOSED short at 2058.3 | PnL: 0.55% | $0.88 +2025-03-10 15:37:51,258 - INFO - OPENED LONG at 2058.3 | Stop loss: 2047.9826 | Take profit: 2089.21335 +2025-03-10 15:37:51,281 - INFO - CLOSED long at 2056.85 | PnL: -0.07% | $-0.33 +2025-03-10 15:37:51,281 - INFO - OPENED SHORT at 2056.85 | Stop loss: 2067.16015 | Take profit: 2025.9584 +2025-03-10 15:37:51,469 - INFO - STOP LOSS hit for short at 2067.16015 | PnL: -0.50% | $-1.18 +2025-03-10 15:37:51,488 - INFO - OPENED SHORT at 2067.49 | Stop loss: 2077.85335 | Take profit: 2036.4387999999997 +2025-03-10 15:37:51,776 - INFO - CLOSED short at 2073.49 | PnL: -0.29% | $-0.75 +2025-03-10 15:37:51,776 - INFO - OPENED LONG at 2073.49 | Stop loss: 2063.09665 | Take profit: 2104.6312 +2025-03-10 15:37:51,798 - INFO - CLOSED long at 2074.05 | PnL: 0.03% | $-0.14 +2025-03-10 15:37:51,798 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.4461499999998 | Take profit: 2042.9004000000002 +2025-03-10 15:37:51,947 - INFO - STOP LOSS hit for short at 2084.4461499999998 | PnL: -0.50% | $-1.15 +2025-03-10 15:37:51,994 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.561 | Take profit: 2071.43585 +2025-03-10 15:37:52,016 - INFO - STOP LOSS hit for short at 2113.561 | PnL: -0.50% | $-1.14 +2025-03-10 15:37:52,043 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2636 | Take profit: 2107.40805 +2025-03-10 15:37:52,354 - INFO - CLOSED short at 2117.24 | PnL: 1.04% | $1.76 +2025-03-10 15:37:52,355 - INFO - OPENED LONG at 2117.24 | Stop loss: 2106.6278999999995 | Take profit: 2149.03745 +2025-03-10 15:37:52,376 - INFO - CLOSED long at 2119.93 | PnL: 0.13% | $0.05 +2025-03-10 15:37:52,376 - INFO - OPENED SHORT at 2119.93 | Stop loss: 2130.55555 | Take profit: 2088.0922 +2025-03-10 15:37:53,449 - INFO - TAKE PROFIT hit for short at 2088.0922 | PnL: 1.50% | $2.67 +2025-03-10 15:37:53,478 - INFO - OPENED SHORT at 2088.44 | Stop loss: 2098.9081 | Take profit: 2057.07455 +2025-03-10 15:37:54,199 - INFO - STOP LOSS hit for short at 2098.9081 | PnL: -0.50% | $-1.18 +2025-03-10 15:37:54,222 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.1740999999997 | Take profit: 2070.0765499999998 +2025-03-10 15:37:54,588 - INFO - CLOSED short at 2104.4 | PnL: -0.13% | $-0.45 +2025-03-10 15:37:54,589 - INFO - OPENED LONG at 2104.4 | Stop loss: 2093.8521 | Take profit: 2136.0048500000003 +2025-03-10 15:37:54,612 - INFO - CLOSED long at 2105.21 | PnL: 0.04% | $-0.12 +2025-03-10 15:37:54,612 - INFO - OPENED SHORT at 2105.21 | Stop loss: 2115.76195 | Take profit: 2073.5930000000003 +2025-03-10 15:37:54,718 - INFO - CLOSED short at 2103.41 | PnL: 0.09% | $-0.03 +2025-03-10 15:37:54,747 - INFO - OPENED SHORT at 2104.73 | Stop loss: 2115.2795499999997 | Take profit: 2073.1202 +2025-03-10 15:37:55,167 - INFO - STOP LOSS hit for short at 2115.2795499999997 | PnL: -0.50% | $-1.16 +2025-03-10 15:37:55,191 - INFO - OPENED SHORT at 2117.39 | Stop loss: 2128.00285 | Take profit: 2085.5903 +2025-03-10 15:37:55,520 - INFO - STOP LOSS hit for short at 2128.00285 | PnL: -0.50% | $-1.14 +2025-03-10 15:37:55,546 - INFO - OPENED SHORT at 2135.86 | Stop loss: 2146.5652 | Take profit: 2103.78325 +2025-03-10 15:37:55,837 - INFO - CLOSED short at 2123.37 | PnL: 0.58% | $0.91 +2025-03-10 15:37:55,837 - INFO - OPENED LONG at 2123.37 | Stop loss: 2112.72725 | Take profit: 2155.2594 +2025-03-10 15:37:55,857 - INFO - CLOSED long at 2121.73 | PnL: -0.08% | $-0.34 +2025-03-10 15:37:55,857 - INFO - OPENED SHORT at 2121.73 | Stop loss: 2132.3645500000002 | Take profit: 2089.8652 +2025-03-10 15:37:56,376 - INFO - CLOSED short at 2110.34 | PnL: 0.54% | $0.83 +2025-03-10 15:37:56,376 - INFO - OPENED LONG at 2110.34 | Stop loss: 2099.7624 | Take profit: 2142.03395 +2025-03-10 15:37:56,397 - INFO - CLOSED long at 2113.34 | PnL: 0.14% | $0.08 +2025-03-10 15:37:56,397 - INFO - OPENED SHORT at 2113.34 | Stop loss: 2123.9326 | Take profit: 2081.60105 +2025-03-10 15:37:56,590 - INFO - STOP LOSS hit for short at 2123.9326 | PnL: -0.50% | $-1.15 +2025-03-10 15:37:56,611 - INFO - OPENED SHORT at 2121.43 | Stop loss: 2132.0630499999997 | Take profit: 2089.5697 +2025-03-10 15:37:57,569 - INFO - CLOSED short at 2100.05 | PnL: 1.01% | $1.71 +2025-03-10 15:37:57,569 - INFO - OPENED LONG at 2100.05 | Stop loss: 2089.52385 | Take profit: 2131.5896000000002 +2025-03-10 15:37:57,592 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 35.3% in downtrends | Avg Win=$1.04, Avg Loss=$-0.68 +2025-03-10 15:37:57,593 - INFO - Episode 8: Reward=90.33, Balance=$97.13, Win Rate=33.3%, Trades=27, Episode PnL=$-1.92, Total PnL=$-52.32, Max Drawdown=5.3%, Pred Accuracy=98.4% +2025-03-10 15:37:57,684 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.23035 | Take profit: 2031.9078 +2025-03-10 15:37:57,828 - INFO - CLOSED short at 2064.96 | PnL: -0.10% | $-0.40 +2025-03-10 15:37:57,829 - INFO - OPENED LONG at 2064.96 | Stop loss: 2054.6093 | Take profit: 2095.97325 +2025-03-10 15:37:57,852 - INFO - CLOSED long at 2066.24 | PnL: 0.06% | $-0.07 +2025-03-10 15:37:57,853 - INFO - OPENED SHORT at 2066.24 | Stop loss: 2076.5970999999995 | Take profit: 2035.2075499999996 +2025-03-10 15:37:57,923 - INFO - CLOSED short at 2066.09 | PnL: 0.01% | $-0.18 +2025-03-10 15:37:57,924 - INFO - OPENED LONG at 2066.09 | Stop loss: 2055.73365 | Take profit: 2097.1202 +2025-03-10 15:37:57,950 - INFO - CLOSED long at 2064.45 | PnL: -0.08% | $-0.35 +2025-03-10 15:37:57,951 - INFO - OPENED SHORT at 2064.45 | Stop loss: 2074.7981499999996 | Take profit: 2033.4443999999996 +2025-03-10 15:37:58,149 - INFO - CLOSED short at 2058.89 | PnL: 0.27% | $0.33 +2025-03-10 15:37:58,149 - INFO - OPENED LONG at 2058.89 | Stop loss: 2048.56965 | Take profit: 2089.8122 +2025-03-10 15:37:58,173 - INFO - CLOSED long at 2059.3 | PnL: 0.02% | $-0.16 +2025-03-10 15:37:58,173 - INFO - OPENED SHORT at 2059.3 | Stop loss: 2069.6224 | Take profit: 2028.3716500000003 +2025-03-10 15:37:58,519 - INFO - CLOSED short at 2062.6 | PnL: -0.16% | $-0.51 +2025-03-10 15:37:58,540 - INFO - OPENED SHORT at 2061.89 | Stop loss: 2072.2253499999997 | Take profit: 2030.9227999999998 +2025-03-10 15:37:58,705 - INFO - CLOSED short at 2059.96 | PnL: 0.09% | $-0.01 +2025-03-10 15:37:58,726 - INFO - OPENED SHORT at 2059.46 | Stop loss: 2069.7832 | Take profit: 2028.52925 +2025-03-10 15:37:58,786 - INFO - CLOSED short at 2056.28 | PnL: 0.15% | $0.11 +2025-03-10 15:37:58,809 - INFO - OPENED SHORT at 2055.6 | Stop loss: 2065.9039 | Take profit: 2024.72715 +2025-03-10 15:37:59,060 - INFO - STOP LOSS hit for short at 2065.9039 | PnL: -0.50% | $-1.17 +2025-03-10 15:37:59,080 - INFO - OPENED LONG at 2066.01 | Stop loss: 2055.65405 | Take profit: 2097.039 +2025-03-10 15:37:59,103 - INFO - CLOSED long at 2063.9 | PnL: -0.10% | $-0.39 +2025-03-10 15:37:59,103 - INFO - OPENED SHORT at 2063.9 | Stop loss: 2074.2454000000002 | Take profit: 2032.9026500000002 +2025-03-10 15:37:59,336 - INFO - STOP LOSS hit for short at 2074.2454000000002 | PnL: -0.50% | $-1.15 +2025-03-10 15:37:59,358 - INFO - OPENED SHORT at 2078.01 | Stop loss: 2088.4259500000003 | Take profit: 2046.8010000000002 +2025-03-10 15:38:00,235 - INFO - CLOSED short at 2070.7 | PnL: 0.35% | $0.48 +2025-03-10 15:38:00,235 - INFO - OPENED LONG at 2070.7 | Stop loss: 2060.3206 | Take profit: 2101.79935 +2025-03-10 15:38:00,259 - INFO - CLOSED long at 2070.8 | PnL: 0.00% | $-0.18 +2025-03-10 15:38:00,281 - INFO - OPENED SHORT at 2070.35 | Stop loss: 2080.72765 | Take profit: 2039.2558999999999 +2025-03-10 15:38:01,203 - INFO - CLOSED short at 2064.5 | PnL: 0.28% | $0.35 +2025-03-10 15:38:01,228 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.6875499999996 | Take profit: 2035.2962 +2025-03-10 15:38:01,517 - INFO - CLOSED short at 2058.3 | PnL: 0.39% | $0.55 +2025-03-10 15:38:01,518 - INFO - OPENED LONG at 2058.3 | Stop loss: 2047.9826 | Take profit: 2089.21335 +2025-03-10 15:38:01,549 - INFO - CLOSED long at 2056.85 | PnL: -0.07% | $-0.33 +2025-03-10 15:38:01,550 - INFO - OPENED SHORT at 2056.85 | Stop loss: 2067.16015 | Take profit: 2025.9584 +2025-03-10 15:38:01,804 - INFO - STOP LOSS hit for short at 2067.16015 | PnL: -0.50% | $-1.15 +2025-03-10 15:38:01,843 - INFO - OPENED SHORT at 2067.49 | Stop loss: 2077.85335 | Take profit: 2036.4387999999997 +2025-03-10 15:38:01,872 - INFO - CLOSED short at 2066.59 | PnL: 0.04% | $-0.11 +2025-03-10 15:38:01,900 - INFO - OPENED SHORT at 2064.08 | Stop loss: 2074.4263 | Take profit: 2033.0799499999998 +2025-03-10 15:38:02,155 - INFO - CLOSED short at 2070.41 | PnL: -0.31% | $-0.77 +2025-03-10 15:38:02,180 - INFO - OPENED SHORT at 2073.49 | Stop loss: 2083.8833499999996 | Take profit: 2042.3487999999998 +2025-03-10 15:38:02,350 - INFO - STOP LOSS hit for short at 2083.8833499999996 | PnL: -0.50% | $-1.13 +2025-03-10 15:38:02,379 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.9683499999996 | Take profit: 2059.0937999999996 +2025-03-10 15:38:02,401 - INFO - STOP LOSS hit for short at 2100.9683499999996 | PnL: -0.50% | $-1.11 +2025-03-10 15:38:02,424 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3794 | Take profit: 2098.7006499999998 +2025-03-10 15:38:02,528 - INFO - STOP LOSS hit for short at 2141.3794 | PnL: -0.50% | $-1.10 +2025-03-10 15:38:02,551 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.0324 | Take profit: 2109.14165 +2025-03-10 15:38:02,872 - INFO - TAKE PROFIT hit for short at 2109.14165 | PnL: 1.50% | $2.54 +2025-03-10 15:38:02,895 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1789 | Take profit: 2078.90215 +2025-03-10 15:38:03,226 - INFO - CLOSED short at 2090.0 | PnL: 0.98% | $1.63 +2025-03-10 15:38:03,247 - INFO - OPENED SHORT at 2099.53 | Stop loss: 2110.05355 | Take profit: 2067.9982000000005 +2025-03-10 15:38:03,885 - INFO - CLOSED short at 2085.09 | PnL: 0.69% | $1.11 +2025-03-10 15:38:03,908 - INFO - OPENED SHORT at 2083.59 | Stop loss: 2094.0338500000003 | Take profit: 2052.2973 +2025-03-10 15:38:04,341 - INFO - STOP LOSS hit for short at 2094.0338500000003 | PnL: -0.50% | $-1.15 +2025-03-10 15:38:04,370 - INFO - OPENED SHORT at 2097.8 | Stop loss: 2108.3149000000003 | Take profit: 2066.29415 +2025-03-10 15:38:04,390 - INFO - CLOSED short at 2099.99 | PnL: -0.10% | $-0.39 +2025-03-10 15:38:04,412 - INFO - OPENED SHORT at 2101.64 | Stop loss: 2112.1740999999997 | Take profit: 2070.0765499999998 +2025-03-10 15:38:04,953 - INFO - STOP LOSS hit for short at 2112.1740999999997 | PnL: -0.50% | $-1.13 +2025-03-10 15:38:04,982 - INFO - OPENED SHORT at 2110.87 | Stop loss: 2121.45025 | Take profit: 2079.1681 +2025-03-10 15:38:05,519 - INFO - STOP LOSS hit for short at 2121.45025 | PnL: -0.50% | $-1.12 +2025-03-10 15:38:05,540 - INFO - OPENED SHORT at 2121.2 | Stop loss: 2131.8318999999997 | Take profit: 2089.3431499999997 +2025-03-10 15:38:05,624 - INFO - STOP LOSS hit for short at 2131.8318999999997 | PnL: -0.50% | $-1.11 +2025-03-10 15:38:05,646 - INFO - OPENED SHORT at 2136.26 | Stop loss: 2146.9672 | Take profit: 2104.17725 +2025-03-10 15:38:06,928 - INFO - CLOSED short at 2123.02 | PnL: 0.62% | $0.94 +2025-03-10 15:38:06,929 - INFO - OPENED LONG at 2123.02 | Stop loss: 2112.379 | Take profit: 2154.90415 +2025-03-10 15:38:06,951 - INFO - CLOSED long at 2125.08 | PnL: 0.10% | $-0.01 +2025-03-10 15:38:06,951 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7313 | Take profit: 2093.16495 +2025-03-10 15:38:07,443 - INFO - CLOSED short at 2116.06 | PnL: 0.42% | $0.60 +2025-03-10 15:38:07,469 - INFO - OPENED SHORT at 2115.21 | Stop loss: 2125.8119500000003 | Take profit: 2083.443 +2025-03-10 15:38:07,744 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 29.4% in downtrends | Avg Win=$0.86, Avg Loss=$-0.63 +2025-03-10 15:38:07,745 - INFO - Episode 9: Reward=85.50, Balance=$93.45, Win Rate=29.4%, Trades=34, Episode PnL=$-5.24, Total PnL=$-58.87, Max Drawdown=8.5%, Pred Accuracy=98.5% +2025-03-10 15:38:08,530 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.23035 | Take profit: 2031.9078 +2025-03-10 15:38:09,266 - INFO - CLOSED short at 2063.39 | PnL: -0.02% | $-0.25 +2025-03-10 15:38:09,266 - INFO - OPENED LONG at 2063.39 | Stop loss: 2053.04715 | Take profit: 2094.3797 +2025-03-10 15:38:09,291 - INFO - CLOSED long at 2064.79 | PnL: 0.07% | $-0.06 +2025-03-10 15:38:09,291 - INFO - OPENED SHORT at 2064.79 | Stop loss: 2075.13985 | Take profit: 2033.7793 +2025-03-10 15:38:10,123 - INFO - CLOSED short at 2066.79 | PnL: -0.10% | $-0.39 +2025-03-10 15:38:10,125 - INFO - OPENED LONG at 2066.79 | Stop loss: 2056.43015 | Take profit: 2097.8307 +2025-03-10 15:38:10,149 - INFO - CLOSED long at 2067.33 | PnL: 0.03% | $-0.14 +2025-03-10 15:38:10,149 - INFO - OPENED SHORT at 2067.33 | Stop loss: 2077.69255 | Take profit: 2036.2812000000001 +2025-03-10 15:38:10,284 - INFO - STOP LOSS hit for short at 2077.69255 | PnL: -0.50% | $-1.18 +2025-03-10 15:38:10,305 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.41095 | Take profit: 2043.8460000000002 +2025-03-10 15:38:11,044 - INFO - CLOSED short at 2066.5 | PnL: 0.41% | $0.60 +2025-03-10 15:38:11,075 - INFO - OPENED SHORT at 2068.59 | Stop loss: 2078.9588500000004 | Take profit: 2037.5223 +2025-03-10 15:38:11,679 - INFO - CLOSED short at 2075.61 | PnL: -0.34% | $-0.86 +2025-03-10 15:38:11,680 - INFO - OPENED LONG at 2075.61 | Stop loss: 2065.2060500000002 | Take profit: 2106.7830000000004 +2025-03-10 15:38:11,702 - INFO - CLOSED long at 2074.0 | PnL: -0.08% | $-0.34 +2025-03-10 15:38:11,702 - INFO - OPENED SHORT at 2074.0 | Stop loss: 2084.3959 | Take profit: 2042.85115 +2025-03-10 15:38:12,472 - INFO - CLOSED short at 2056.77 | PnL: 0.83% | $1.41 +2025-03-10 15:38:12,472 - INFO - OPENED LONG at 2056.77 | Stop loss: 2046.46025 | Take profit: 2087.6603999999998 +2025-03-10 15:38:12,496 - INFO - CLOSED long at 2053.01 | PnL: -0.18% | $-0.55 +2025-03-10 15:38:12,496 - INFO - OPENED SHORT at 2053.01 | Stop loss: 2063.3009500000003 | Take profit: 2022.1760000000002 +2025-03-10 15:38:12,665 - INFO - CLOSED short at 2062.83 | PnL: -0.48% | $-1.12 +2025-03-10 15:38:12,685 - INFO - OPENED SHORT at 2063.9 | Stop loss: 2074.2454000000002 | Take profit: 2032.9026500000002 +2025-03-10 15:38:13,213 - INFO - STOP LOSS hit for short at 2074.2454000000002 | PnL: -0.50% | $-1.15 +2025-03-10 15:38:13,236 - INFO - OPENED SHORT at 2076.08 | Stop loss: 2086.4863 | Take profit: 2044.89995 +2025-03-10 15:38:13,306 - INFO - STOP LOSS hit for short at 2086.4863 | PnL: -0.50% | $-1.14 +2025-03-10 15:38:13,329 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.561 | Take profit: 2071.43585 +2025-03-10 15:38:13,355 - INFO - STOP LOSS hit for short at 2113.561 | PnL: -0.50% | $-1.13 +2025-03-10 15:38:13,387 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2636 | Take profit: 2107.40805 +2025-03-10 15:38:13,714 - INFO - CLOSED short at 2117.24 | PnL: 1.04% | $1.74 +2025-03-10 15:38:13,715 - INFO - OPENED LONG at 2117.24 | Stop loss: 2106.6278999999995 | Take profit: 2149.03745 +2025-03-10 15:38:13,737 - INFO - CLOSED long at 2119.93 | PnL: 0.13% | $0.05 +2025-03-10 15:38:13,738 - INFO - OPENED SHORT at 2119.93 | Stop loss: 2130.55555 | Take profit: 2088.0922 +2025-03-10 15:38:14,146 - INFO - CLOSED short at 2108.71 | PnL: 0.53% | $0.81 +2025-03-10 15:38:14,169 - INFO - OPENED SHORT at 2106.49 | Stop loss: 2117.04835 | Take profit: 2074.8538 +2025-03-10 15:38:14,477 - INFO - CLOSED short at 2100.74 | PnL: 0.27% | $0.33 +2025-03-10 15:38:14,500 - INFO - OPENED SHORT at 2103.86 | Stop loss: 2114.4052 | Take profit: 2072.2632500000004 +2025-03-10 15:38:15,418 - INFO - CLOSED short at 2097.8 | PnL: 0.29% | $0.36 +2025-03-10 15:38:15,419 - INFO - OPENED LONG at 2097.8 | Stop loss: 2087.2851 | Take profit: 2129.30585 +2025-03-10 15:38:15,441 - INFO - CLOSED long at 2099.99 | PnL: 0.10% | $0.01 +2025-03-10 15:38:15,441 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.51585 | Take profit: 2068.4512999999997 +2025-03-10 15:38:15,830 - INFO - CLOSED short at 2100.0 | PnL: -0.00% | $-0.19 +2025-03-10 15:38:15,856 - INFO - OPENED SHORT at 2102.7 | Stop loss: 2113.2393999999995 | Take profit: 2071.12065 +2025-03-10 15:38:16,069 - INFO - STOP LOSS hit for short at 2113.2393999999995 | PnL: -0.50% | $-1.15 +2025-03-10 15:38:16,092 - INFO - OPENED SHORT at 2113.0 | Stop loss: 2123.5909 | Take profit: 2081.26615 +2025-03-10 15:38:16,643 - INFO - STOP LOSS hit for short at 2123.5909 | PnL: -0.50% | $-1.14 +2025-03-10 15:38:16,669 - INFO - OPENED SHORT at 2127.79 | Stop loss: 2138.4548499999996 | Take profit: 2095.8343 +2025-03-10 15:38:17,217 - INFO - CLOSED short at 2119.48 | PnL: 0.39% | $0.54 +2025-03-10 15:38:17,244 - INFO - OPENED SHORT at 2121.53 | Stop loss: 2132.16355 | Take profit: 2089.6682 +2025-03-10 15:38:17,481 - INFO - CLOSED short at 2110.66 | PnL: 0.51% | $0.77 +2025-03-10 15:38:17,482 - INFO - OPENED LONG at 2110.66 | Stop loss: 2100.0807999999997 | Take profit: 2142.35875 +2025-03-10 15:38:17,505 - INFO - CLOSED long at 2110.3 | PnL: -0.02% | $-0.22 +2025-03-10 15:38:17,506 - INFO - OPENED SHORT at 2110.3 | Stop loss: 2120.8774000000003 | Take profit: 2078.60665 +2025-03-10 15:38:17,781 - INFO - STOP LOSS hit for short at 2120.8774000000003 | PnL: -0.50% | $-1.14 +2025-03-10 15:38:17,803 - INFO - OPENED SHORT at 2122.53 | Stop loss: 2133.1685500000003 | Take profit: 2090.6532 +2025-03-10 15:38:18,284 - INFO - CLOSED short at 2122.01 | PnL: 0.02% | $-0.14 +2025-03-10 15:38:18,310 - INFO - OPENED SHORT at 2122.17 | Stop loss: 2132.8067499999997 | Take profit: 2090.2986 +2025-03-10 15:38:18,755 - INFO - CLOSED short at 2114.32 | PnL: 0.37% | $0.50 +2025-03-10 15:38:18,775 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.16875 | Take profit: 2082.8126 +2025-03-10 15:38:18,961 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 28.6% in downtrends | Avg Win=$0.65, Avg Loss=$-0.68 +2025-03-10 15:38:18,962 - INFO - Episode 10: Reward=90.88, Balance=$94.84, Win Rate=37.9%, Trades=29, Episode PnL=$-3.89, Total PnL=$-64.03, Max Drawdown=6.3%, Pred Accuracy=98.7% +2025-03-10 15:38:19,104 - INFO - Model saved to checkpoints/trading_agent_episode_10.pt +2025-03-10 15:38:19,105 - INFO - Checkpoint saved at episode 10 +2025-03-10 15:38:20,187 - INFO - Visualization saved for episode 10 +2025-03-10 15:38:21,706 - INFO - Visualization saved for episode 10 +2025-03-10 15:38:21,956 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.23035 | Take profit: 2031.9078 +2025-03-10 15:38:22,118 - INFO - CLOSED short at 2067.1 | PnL: -0.20% | $-0.60 +2025-03-10 15:38:22,119 - INFO - OPENED LONG at 2067.1 | Stop loss: 2056.7386 | Take profit: 2098.14535 +2025-03-10 15:38:22,139 - INFO - CLOSED long at 2065.54 | PnL: -0.08% | $-0.34 +2025-03-10 15:38:22,167 - INFO - OPENED SHORT at 2066.09 | Stop loss: 2076.44635 | Take profit: 2035.0598000000002 +2025-03-10 15:38:22,400 - INFO - CLOSED short at 2060.31 | PnL: 0.28% | $0.35 +2025-03-10 15:38:22,401 - INFO - OPENED LONG at 2060.31 | Stop loss: 2049.9825499999997 | Take profit: 2091.2535 +2025-03-10 15:38:22,421 - INFO - CLOSED long at 2061.8 | PnL: 0.07% | $-0.05 +2025-03-10 15:38:22,421 - INFO - OPENED SHORT at 2061.8 | Stop loss: 2072.1349 | Take profit: 2030.8341500000001 +2025-03-10 15:38:22,626 - INFO - CLOSED short at 2064.79 | PnL: -0.15% | $-0.48 +2025-03-10 15:38:22,627 - INFO - OPENED LONG at 2064.79 | Stop loss: 2054.44015 | Take profit: 2095.8007 +2025-03-10 15:38:22,648 - INFO - CLOSED long at 2065.89 | PnL: 0.05% | $-0.09 +2025-03-10 15:38:22,648 - INFO - OPENED SHORT at 2065.89 | Stop loss: 2076.24535 | Take profit: 2034.8627999999999 +2025-03-10 15:38:23,133 - INFO - CLOSED short at 2061.66 | PnL: 0.20% | $0.20 +2025-03-10 15:38:23,157 - INFO - OPENED SHORT at 2061.5 | Stop loss: 2071.8334 | Take profit: 2030.53865 +2025-03-10 15:38:23,321 - INFO - CLOSED short at 2064.49 | PnL: -0.15% | $-0.48 +2025-03-10 15:38:23,341 - INFO - OPENED SHORT at 2066.33 | Stop loss: 2076.6875499999996 | Take profit: 2035.2962 +2025-03-10 15:38:23,423 - INFO - CLOSED short at 2067.01 | PnL: -0.03% | $-0.26 +2025-03-10 15:38:23,444 - INFO - OPENED SHORT at 2065.69 | Stop loss: 2076.0443499999997 | Take profit: 2034.6658 +2025-03-10 15:38:23,530 - INFO - STOP LOSS hit for short at 2076.0443499999997 | PnL: -0.50% | $-1.17 +2025-03-10 15:38:23,550 - INFO - OPENED SHORT at 2075.01 | Stop loss: 2085.41095 | Take profit: 2043.8460000000002 +2025-03-10 15:38:25,533 - INFO - CLOSED short at 2057.11 | PnL: 0.86% | $1.46 +2025-03-10 15:38:25,533 - INFO - OPENED LONG at 2057.11 | Stop loss: 2046.7985500000002 | Take profit: 2088.0055 +2025-03-10 15:38:25,554 - INFO - CLOSED long at 2057.89 | PnL: 0.04% | $-0.12 +2025-03-10 15:38:25,554 - INFO - OPENED SHORT at 2057.89 | Stop loss: 2068.2053499999997 | Take profit: 2026.9827999999998 +2025-03-10 15:38:25,692 - INFO - STOP LOSS hit for short at 2068.2053499999997 | PnL: -0.50% | $-1.17 +2025-03-10 15:38:25,711 - INFO - OPENED SHORT at 2067.49 | Stop loss: 2077.85335 | Take profit: 2036.4387999999997 +2025-03-10 15:38:25,769 - INFO - CLOSED short at 2061.21 | PnL: 0.30% | $0.39 +2025-03-10 15:38:25,769 - INFO - OPENED LONG at 2061.21 | Stop loss: 2050.87805 | Take profit: 2092.167 +2025-03-10 15:38:25,789 - INFO - CLOSED long at 2059.9 | PnL: -0.06% | $-0.32 +2025-03-10 15:38:25,789 - INFO - OPENED SHORT at 2059.9 | Stop loss: 2070.2254000000003 | Take profit: 2028.9626500000002 +2025-03-10 15:38:25,890 - INFO - STOP LOSS hit for short at 2070.2254000000003 | PnL: -0.50% | $-1.16 +2025-03-10 15:38:25,910 - INFO - OPENED SHORT at 2070.24 | Stop loss: 2080.6171 | Take profit: 2039.14755 +2025-03-10 15:38:26,149 - INFO - STOP LOSS hit for short at 2080.6171 | PnL: -0.50% | $-1.14 +2025-03-10 15:38:26,173 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.9683499999996 | Take profit: 2059.0937999999996 +2025-03-10 15:38:26,194 - INFO - STOP LOSS hit for short at 2100.9683499999996 | PnL: -0.50% | $-1.13 +2025-03-10 15:38:26,219 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3794 | Take profit: 2098.7006499999998 +2025-03-10 15:38:26,322 - INFO - STOP LOSS hit for short at 2141.3794 | PnL: -0.50% | $-1.12 +2025-03-10 15:38:26,344 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.0324 | Take profit: 2109.14165 +2025-03-10 15:38:26,658 - INFO - TAKE PROFIT hit for short at 2109.14165 | PnL: 1.50% | $2.57 +2025-03-10 15:38:26,678 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1789 | Take profit: 2078.90215 +2025-03-10 15:38:27,468 - INFO - CLOSED short at 2088.35 | PnL: 1.05% | $1.80 +2025-03-10 15:38:27,468 - INFO - OPENED LONG at 2088.35 | Stop loss: 2077.88235 | Take profit: 2119.7141 +2025-03-10 15:38:27,489 - INFO - CLOSED long at 2083.28 | PnL: -0.24% | $-0.66 +2025-03-10 15:38:27,489 - INFO - OPENED SHORT at 2083.28 | Stop loss: 2093.7223000000004 | Take profit: 2051.99195 +2025-03-10 15:38:28,070 - INFO - STOP LOSS hit for short at 2093.7223000000004 | PnL: -0.50% | $-1.15 +2025-03-10 15:38:28,092 - INFO - OPENED SHORT at 2097.8 | Stop loss: 2108.3149000000003 | Take profit: 2066.29415 +2025-03-10 15:38:28,524 - INFO - CLOSED short at 2100.0 | PnL: -0.10% | $-0.39 +2025-03-10 15:38:28,525 - INFO - OPENED LONG at 2100.0 | Stop loss: 2089.4741 | Take profit: 2131.53885 +2025-03-10 15:38:28,547 - INFO - CLOSED long at 2102.7 | PnL: 0.13% | $0.05 +2025-03-10 15:38:28,548 - INFO - OPENED SHORT at 2102.7 | Stop loss: 2113.2393999999995 | Take profit: 2071.12065 +2025-03-10 15:38:28,747 - INFO - STOP LOSS hit for short at 2113.2393999999995 | PnL: -0.50% | $-1.13 +2025-03-10 15:38:28,772 - INFO - OPENED SHORT at 2113.0 | Stop loss: 2123.5909 | Take profit: 2081.26615 +2025-03-10 15:38:29,150 - INFO - CLOSED short at 2117.6 | PnL: -0.22% | $-0.59 +2025-03-10 15:38:29,150 - INFO - OPENED LONG at 2117.6 | Stop loss: 2106.9861 | Take profit: 2149.40285 +2025-03-10 15:38:29,176 - INFO - CLOSED long at 2115.21 | PnL: -0.11% | $-0.39 +2025-03-10 15:38:29,176 - INFO - OPENED SHORT at 2115.21 | Stop loss: 2125.8119500000003 | Take profit: 2083.443 +2025-03-10 15:38:29,361 - INFO - STOP LOSS hit for short at 2125.8119500000003 | PnL: -0.50% | $-1.10 +2025-03-10 15:38:29,382 - INFO - OPENED SHORT at 2129.3 | Stop loss: 2139.9724000000006 | Take profit: 2097.3216500000003 +2025-03-10 15:38:30,744 - INFO - CLOSED short at 2125.08 | PnL: 0.20% | $0.18 +2025-03-10 15:38:30,768 - INFO - OPENED SHORT at 2125.77 | Stop loss: 2136.4247499999997 | Take profit: 2093.8446 +2025-03-10 15:38:31,454 - INFO - TAKE PROFIT hit for short at 2093.8446 | PnL: 1.50% | $2.55 +2025-03-10 15:38:31,479 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5761500000003 | Take profit: 2068.5104 +2025-03-10 15:38:31,496 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 31.6% in downtrends | Avg Win=$1.06, Avg Loss=$-0.68 +2025-03-10 15:38:31,497 - INFO - Episode 11: Reward=82.84, Balance=$94.53, Win Rate=29.0%, Trades=31, Episode PnL=$-3.89, Total PnL=$-69.50, Max Drawdown=8.2%, Pred Accuracy=99.1% +2025-03-10 15:38:31,583 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.23035 | Take profit: 2031.9078 +2025-03-10 15:38:32,635 - INFO - CLOSED short at 2054.83 | PnL: 0.39% | $0.57 +2025-03-10 15:38:32,654 - INFO - OPENED LONG at 2056.71 | Stop loss: 2046.40055 | Take profit: 2087.5995000000003 +2025-03-10 15:38:32,681 - INFO - CLOSED long at 2058.15 | PnL: 0.07% | $-0.06 +2025-03-10 15:38:32,681 - INFO - OPENED SHORT at 2058.15 | Stop loss: 2068.46665 | Take profit: 2027.2389 +2025-03-10 15:38:33,032 - INFO - STOP LOSS hit for short at 2068.46665 | PnL: -0.50% | $-1.19 +2025-03-10 15:38:33,059 - INFO - OPENED SHORT at 2072.0 | Stop loss: 2082.3859 | Take profit: 2040.8811500000002 +2025-03-10 15:38:33,253 - INFO - CLOSED short at 2068.15 | PnL: 0.19% | $0.17 +2025-03-10 15:38:33,275 - INFO - OPENED SHORT at 2068.39 | Stop loss: 2078.75785 | Take profit: 2037.3253 +2025-03-10 15:38:33,413 - INFO - CLOSED short at 2069.87 | PnL: -0.07% | $-0.34 +2025-03-10 15:38:33,413 - INFO - OPENED LONG at 2069.87 | Stop loss: 2059.49475 | Take profit: 2100.9568999999997 +2025-03-10 15:38:33,433 - INFO - CLOSED long at 2067.33 | PnL: -0.12% | $-0.44 +2025-03-10 15:38:33,433 - INFO - OPENED SHORT at 2067.33 | Stop loss: 2077.69255 | Take profit: 2036.2812000000001 +2025-03-10 15:38:33,761 - INFO - CLOSED short at 2071.59 | PnL: -0.21% | $-0.60 +2025-03-10 15:38:33,762 - INFO - OPENED LONG at 2071.59 | Stop loss: 2061.20615 | Take profit: 2102.7027000000003 +2025-03-10 15:38:33,783 - INFO - CLOSED long at 2070.2 | PnL: -0.07% | $-0.32 +2025-03-10 15:38:33,783 - INFO - OPENED SHORT at 2070.2 | Stop loss: 2080.5768999999996 | Take profit: 2039.1081499999998 +2025-03-10 15:38:34,226 - INFO - CLOSED short at 2075.61 | PnL: -0.26% | $-0.70 +2025-03-10 15:38:34,227 - INFO - OPENED LONG at 2075.61 | Stop loss: 2065.2060500000002 | Take profit: 2106.7830000000004 +2025-03-10 15:38:34,252 - INFO - CLOSED long at 2074.0 | PnL: -0.08% | $-0.34 +2025-03-10 15:38:34,252 - INFO - OPENED SHORT at 2074.0 | Stop loss: 2084.3959 | Take profit: 2042.85115 +2025-03-10 15:38:35,514 - INFO - CLOSED short at 2061.84 | PnL: 0.59% | $0.93 +2025-03-10 15:38:35,514 - INFO - OPENED LONG at 2061.84 | Stop loss: 2051.5049 | Take profit: 2092.8064500000005 +2025-03-10 15:38:35,538 - INFO - CLOSED long at 2062.54 | PnL: 0.03% | $-0.13 +2025-03-10 15:38:35,538 - INFO - OPENED SHORT at 2062.54 | Stop loss: 2072.8786 | Take profit: 2031.56305 +2025-03-10 15:38:35,692 - INFO - STOP LOSS hit for short at 2072.8786 | PnL: -0.50% | $-1.16 +2025-03-10 15:38:35,717 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.4461499999998 | Take profit: 2042.9004000000002 +2025-03-10 15:38:35,861 - INFO - STOP LOSS hit for short at 2084.4461499999998 | PnL: -0.50% | $-1.14 +2025-03-10 15:38:35,884 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.9683499999996 | Take profit: 2059.0937999999996 +2025-03-10 15:38:35,912 - INFO - STOP LOSS hit for short at 2100.9683499999996 | PnL: -0.50% | $-1.13 +2025-03-10 15:38:35,937 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3794 | Take profit: 2098.7006499999998 +2025-03-10 15:38:36,051 - INFO - STOP LOSS hit for short at 2141.3794 | PnL: -0.50% | $-1.12 +2025-03-10 15:38:36,077 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.0324 | Take profit: 2109.14165 +2025-03-10 15:38:36,438 - INFO - CLOSED short at 2107.43 | PnL: 1.58% | $2.72 +2025-03-10 15:38:36,438 - INFO - OPENED LONG at 2107.43 | Stop loss: 2096.86695 | Take profit: 2139.0802999999996 +2025-03-10 15:38:36,461 - INFO - CLOSED long at 2110.6 | PnL: 0.15% | $0.10 +2025-03-10 15:38:36,461 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1789 | Take profit: 2078.90215 +2025-03-10 15:38:37,432 - INFO - CLOSED short at 2083.41 | PnL: 1.29% | $2.25 +2025-03-10 15:38:37,457 - INFO - OPENED SHORT at 2085.09 | Stop loss: 2095.54135 | Take profit: 2053.7748 +2025-03-10 15:38:37,496 - INFO - CLOSED short at 2086.57 | PnL: -0.07% | $-0.33 +2025-03-10 15:38:37,496 - INFO - OPENED LONG at 2086.57 | Stop loss: 2076.11125 | Take profit: 2117.9074000000005 +2025-03-10 15:38:37,516 - INFO - CLOSED long at 2085.8 | PnL: -0.04% | $-0.26 +2025-03-10 15:38:37,516 - INFO - OPENED SHORT at 2085.8 | Stop loss: 2096.2549000000004 | Take profit: 2054.4741500000005 +2025-03-10 15:38:37,886 - INFO - STOP LOSS hit for short at 2096.2549000000004 | PnL: -0.50% | $-1.16 +2025-03-10 15:38:37,909 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.51585 | Take profit: 2068.4512999999997 +2025-03-10 15:38:38,452 - INFO - STOP LOSS hit for short at 2110.51585 | PnL: -0.50% | $-1.14 +2025-03-10 15:38:38,472 - INFO - OPENED SHORT at 2110.87 | Stop loss: 2121.45025 | Take profit: 2079.1681 +2025-03-10 15:38:38,779 - INFO - CLOSED short at 2117.39 | PnL: -0.31% | $-0.77 +2025-03-10 15:38:38,779 - INFO - OPENED LONG at 2117.39 | Stop loss: 2106.77715 | Take profit: 2149.1897 +2025-03-10 15:38:38,799 - INFO - CLOSED long at 2115.3 | PnL: -0.10% | $-0.37 +2025-03-10 15:38:38,799 - INFO - OPENED SHORT at 2115.3 | Stop loss: 2125.9024 | Take profit: 2083.53165 +2025-03-10 15:38:39,078 - INFO - STOP LOSS hit for short at 2125.9024 | PnL: -0.50% | $-1.12 +2025-03-10 15:38:39,099 - INFO - OPENED SHORT at 2129.3 | Stop loss: 2139.9724000000006 | Take profit: 2097.3216500000003 +2025-03-10 15:38:39,866 - INFO - CLOSED short at 2113.04 | PnL: 0.76% | $1.22 +2025-03-10 15:38:39,867 - INFO - OPENED LONG at 2113.04 | Stop loss: 2102.4489 | Take profit: 2144.7744500000003 +2025-03-10 15:38:39,888 - INFO - CLOSED long at 2108.73 | PnL: -0.20% | $-0.57 +2025-03-10 15:38:39,888 - INFO - OPENED SHORT at 2108.73 | Stop loss: 2119.2995499999997 | Take profit: 2077.0602 +2025-03-10 15:38:40,027 - INFO - STOP LOSS hit for short at 2119.2995499999997 | PnL: -0.50% | $-1.11 +2025-03-10 15:38:40,050 - INFO - OPENED SHORT at 2123.62 | Stop loss: 2134.264 | Take profit: 2091.72685 +2025-03-10 15:38:40,939 - INFO - CLOSED short at 2114.57 | PnL: 0.43% | $0.60 +2025-03-10 15:38:40,965 - INFO - OPENED SHORT at 2112.57 | Stop loss: 2123.15875 | Take profit: 2080.8426 +2025-03-10 15:38:41,045 - INFO - CLOSED short at 2098.24 | PnL: 0.68% | $1.06 +2025-03-10 15:38:41,065 - INFO - OPENED SHORT at 2098.28 | Stop loss: 2108.7973 | Take profit: 2066.76695 +2025-03-10 15:38:41,125 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 17.6% in downtrends | Avg Win=$1.07, Avg Loss=$-0.70 +2025-03-10 15:38:41,126 - INFO - Episode 12: Reward=180.40, Balance=$94.12, Win Rate=29.0%, Trades=31, Episode PnL=$-3.49, Total PnL=$-75.38, Max Drawdown=8.1%, Pred Accuracy=99.5% +2025-03-10 15:38:41,214 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.23035 | Take profit: 2031.9078 +2025-03-10 15:38:42,839 - INFO - STOP LOSS hit for short at 2073.23035 | PnL: -0.50% | $-1.19 +2025-03-10 15:38:42,859 - INFO - OPENED SHORT at 2078.01 | Stop loss: 2088.4259500000003 | Take profit: 2046.8010000000002 +2025-03-10 15:38:43,195 - INFO - CLOSED short at 2067.33 | PnL: 0.51% | $0.81 +2025-03-10 15:38:43,218 - INFO - OPENED SHORT at 2066.38 | Stop loss: 2076.7378 | Take profit: 2035.34545 +2025-03-10 15:38:43,476 - INFO - CLOSED short at 2066.8 | PnL: -0.02% | $-0.24 +2025-03-10 15:38:43,476 - INFO - OPENED LONG at 2066.8 | Stop loss: 2056.4401000000003 | Take profit: 2097.84085 +2025-03-10 15:38:43,499 - INFO - CLOSED long at 2066.5 | PnL: -0.01% | $-0.22 +2025-03-10 15:38:43,499 - INFO - OPENED SHORT at 2066.5 | Stop loss: 2076.8584 | Take profit: 2035.4636500000001 +2025-03-10 15:38:43,558 - INFO - CLOSED short at 2070.2 | PnL: -0.18% | $-0.55 +2025-03-10 15:38:43,558 - INFO - OPENED LONG at 2070.2 | Stop loss: 2059.8230999999996 | Take profit: 2101.29185 +2025-03-10 15:38:43,581 - INFO - CLOSED long at 2071.35 | PnL: 0.06% | $-0.09 +2025-03-10 15:38:43,581 - INFO - OPENED SHORT at 2071.35 | Stop loss: 2081.73265 | Take profit: 2040.2409 +2025-03-10 15:38:44,680 - INFO - CLOSED short at 2056.77 | PnL: 0.70% | $1.18 +2025-03-10 15:38:44,681 - INFO - OPENED LONG at 2056.77 | Stop loss: 2046.46025 | Take profit: 2087.6603999999998 +2025-03-10 15:38:44,697 - INFO - CLOSED long at 2053.01 | PnL: -0.18% | $-0.56 +2025-03-10 15:38:44,698 - INFO - OPENED SHORT at 2053.01 | Stop loss: 2063.3009500000003 | Take profit: 2022.1760000000002 +2025-03-10 15:38:44,878 - INFO - STOP LOSS hit for short at 2063.3009500000003 | PnL: -0.50% | $-1.18 +2025-03-10 15:38:44,902 - INFO - OPENED SHORT at 2065.1 | Stop loss: 2075.4514 | Take profit: 2034.08465 +2025-03-10 15:38:45,297 - INFO - CLOSED short at 2074.05 | PnL: -0.43% | $-1.03 +2025-03-10 15:38:45,323 - INFO - OPENED SHORT at 2072.99 | Stop loss: 2083.38085 | Take profit: 2041.8562999999997 +2025-03-10 15:38:45,452 - INFO - STOP LOSS hit for short at 2083.38085 | PnL: -0.50% | $-1.15 +2025-03-10 15:38:45,478 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.9683499999996 | Take profit: 2059.0937999999996 +2025-03-10 15:38:45,499 - INFO - STOP LOSS hit for short at 2100.9683499999996 | PnL: -0.50% | $-1.14 +2025-03-10 15:38:45,524 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3794 | Take profit: 2098.7006499999998 +2025-03-10 15:38:45,628 - INFO - STOP LOSS hit for short at 2141.3794 | PnL: -0.50% | $-1.12 +2025-03-10 15:38:45,655 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.0324 | Take profit: 2109.14165 +2025-03-10 15:38:45,969 - INFO - TAKE PROFIT hit for short at 2109.14165 | PnL: 1.50% | $2.59 +2025-03-10 15:38:45,990 - INFO - OPENED SHORT at 2110.6 | Stop loss: 2121.1789 | Take profit: 2078.90215 +2025-03-10 15:38:47,555 - INFO - CLOSED short at 2099.73 | PnL: 0.52% | $0.79 +2025-03-10 15:38:47,578 - INFO - OPENED LONG at 2106.15 | Stop loss: 2095.59335 | Take profit: 2137.7810999999997 +2025-03-10 15:38:47,603 - INFO - CLOSED long at 2103.48 | PnL: -0.13% | $-0.43 +2025-03-10 15:38:47,604 - INFO - OPENED SHORT at 2103.48 | Stop loss: 2114.0233 | Take profit: 2071.88895 +2025-03-10 15:38:48,166 - INFO - STOP LOSS hit for short at 2114.0233 | PnL: -0.50% | $-1.15 +2025-03-10 15:38:48,188 - INFO - OPENED SHORT at 2113.61 | Stop loss: 2124.20395 | Take profit: 2081.867 +2025-03-10 15:38:48,402 - INFO - CLOSED short at 2117.39 | PnL: -0.18% | $-0.53 +2025-03-10 15:38:48,402 - INFO - OPENED LONG at 2117.39 | Stop loss: 2106.77715 | Take profit: 2149.1897 +2025-03-10 15:38:48,429 - INFO - CLOSED long at 2115.3 | PnL: -0.10% | $-0.37 +2025-03-10 15:38:48,430 - INFO - OPENED SHORT at 2115.3 | Stop loss: 2125.9024 | Take profit: 2083.53165 +2025-03-10 15:38:48,742 - INFO - STOP LOSS hit for short at 2125.9024 | PnL: -0.50% | $-1.12 +2025-03-10 15:38:48,773 - INFO - OPENED SHORT at 2129.3 | Stop loss: 2139.9724000000006 | Take profit: 2097.3216500000003 +2025-03-10 15:38:50,461 - INFO - CLOSED short at 2116.81 | PnL: 0.59% | $0.90 +2025-03-10 15:38:50,481 - INFO - OPENED SHORT at 2114.78 | Stop loss: 2125.3798 | Take profit: 2083.0194500000002 +2025-03-10 15:38:50,597 - INFO - CLOSED short at 2115.11 | PnL: -0.02% | $-0.22 +2025-03-10 15:38:50,597 - INFO - OPENED LONG at 2115.11 | Stop loss: 2104.50855 | Take profit: 2146.8755 +2025-03-10 15:38:50,618 - INFO - CLOSED long at 2114.32 | PnL: -0.04% | $-0.26 +2025-03-10 15:38:50,618 - INFO - OPENED SHORT at 2114.32 | Stop loss: 2124.9175 | Take profit: 2082.56635 +2025-03-10 15:38:50,792 - INFO - CLOSED short at 2100.05 | PnL: 0.67% | $1.06 +2025-03-10 15:38:50,792 - INFO - OPENED LONG at 2100.05 | Stop loss: 2089.52385 | Take profit: 2131.5896000000002 +2025-03-10 15:38:50,810 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 21.4% in downtrends | Avg Win=$1.22, Avg Loss=$-0.70 +2025-03-10 15:38:50,810 - INFO - Episode 13: Reward=83.38, Balance=$94.79, Win Rate=25.0%, Trades=24, Episode PnL=$-3.28, Total PnL=$-80.58, Max Drawdown=6.7%, Pred Accuracy=99.5% +2025-03-10 15:38:50,901 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.23035 | Take profit: 2031.9078 +2025-03-10 15:38:52,379 - INFO - STOP LOSS hit for short at 2073.23035 | PnL: -0.50% | $-1.19 +2025-03-10 15:38:52,402 - INFO - OPENED SHORT at 2078.01 | Stop loss: 2088.4259500000003 | Take profit: 2046.8010000000002 +2025-03-10 15:38:52,461 - INFO - CLOSED short at 2071.04 | PnL: 0.34% | $0.46 +2025-03-10 15:38:52,482 - INFO - OPENED SHORT at 2070.01 | Stop loss: 2080.3859500000003 | Take profit: 2038.9210000000003 +2025-03-10 15:38:52,503 - INFO - CLOSED short at 2071.6 | PnL: -0.08% | $-0.35 +2025-03-10 15:38:52,503 - INFO - OPENED LONG at 2071.6 | Stop loss: 2061.2160999999996 | Take profit: 2102.71285 +2025-03-10 15:38:52,524 - INFO - CLOSED long at 2073.23 | PnL: 0.08% | $-0.04 +2025-03-10 15:38:52,525 - INFO - OPENED SHORT at 2073.23 | Stop loss: 2083.62205 | Take profit: 2042.0927 +2025-03-10 15:38:53,012 - INFO - CLOSED short at 2066.8 | PnL: 0.31% | $0.41 +2025-03-10 15:38:53,013 - INFO - OPENED LONG at 2066.8 | Stop loss: 2056.4401000000003 | Take profit: 2097.84085 +2025-03-10 15:38:53,032 - INFO - CLOSED long at 2066.5 | PnL: -0.01% | $-0.22 +2025-03-10 15:38:53,033 - INFO - OPENED SHORT at 2066.5 | Stop loss: 2076.8584 | Take profit: 2035.4636500000001 +2025-03-10 15:38:53,131 - INFO - CLOSED short at 2070.9 | PnL: -0.21% | $-0.61 +2025-03-10 15:38:53,155 - INFO - OPENED SHORT at 2069.69 | Stop loss: 2080.0643499999996 | Take profit: 2038.6058 +2025-03-10 15:38:53,373 - INFO - CLOSED short at 2074.37 | PnL: -0.23% | $-0.63 +2025-03-10 15:38:53,395 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.47125 | Take profit: 2043.9051000000002 +2025-03-10 15:38:53,452 - INFO - CLOSED short at 2073.99 | PnL: 0.05% | $-0.09 +2025-03-10 15:38:53,452 - INFO - OPENED LONG at 2073.99 | Stop loss: 2063.59415 | Take profit: 2105.1386999999995 +2025-03-10 15:38:53,473 - INFO - CLOSED long at 2075.32 | PnL: 0.06% | $-0.07 +2025-03-10 15:38:53,473 - INFO - OPENED SHORT at 2075.32 | Stop loss: 2085.7225000000003 | Take profit: 2044.15135 +2025-03-10 15:38:53,590 - INFO - CLOSED short at 2069.97 | PnL: 0.26% | $0.30 +2025-03-10 15:38:53,612 - INFO - OPENED SHORT at 2067.7 | Stop loss: 2078.0644 | Take profit: 2036.64565 +2025-03-10 15:38:53,768 - INFO - CLOSED short at 2069.0 | PnL: -0.06% | $-0.32 +2025-03-10 15:38:53,768 - INFO - OPENED LONG at 2069.0 | Stop loss: 2058.6291 | Take profit: 2100.07385 +2025-03-10 15:38:53,788 - INFO - CLOSED long at 2070.19 | PnL: 0.06% | $-0.08 +2025-03-10 15:38:53,788 - INFO - OPENED SHORT at 2070.19 | Stop loss: 2080.56685 | Take profit: 2039.0983 +2025-03-10 15:38:53,847 - INFO - CLOSED short at 2065.5 | PnL: 0.23% | $0.24 +2025-03-10 15:38:53,848 - INFO - OPENED LONG at 2065.5 | Stop loss: 2055.1466 | Take profit: 2096.52135 +2025-03-10 15:38:53,867 - INFO - CLOSED long at 2065.7 | PnL: 0.01% | $-0.17 +2025-03-10 15:38:53,867 - INFO - OPENED SHORT at 2065.7 | Stop loss: 2076.0543999999995 | Take profit: 2034.67565 +2025-03-10 15:38:54,230 - INFO - CLOSED short at 2058.65 | PnL: 0.34% | $0.47 +2025-03-10 15:38:54,230 - INFO - OPENED LONG at 2058.65 | Stop loss: 2048.33085 | Take profit: 2089.5686 +2025-03-10 15:38:54,255 - INFO - CLOSED long at 2056.77 | PnL: -0.09% | $-0.37 +2025-03-10 15:38:54,255 - INFO - OPENED SHORT at 2056.77 | Stop loss: 2067.0797500000003 | Take profit: 2025.8796 +2025-03-10 15:38:54,522 - INFO - CLOSED short at 2062.43 | PnL: -0.28% | $-0.72 +2025-03-10 15:38:54,544 - INFO - OPENED SHORT at 2062.55 | Stop loss: 2072.8886500000003 | Take profit: 2031.5729000000001 +2025-03-10 15:38:54,937 - INFO - STOP LOSS hit for short at 2072.8886500000003 | PnL: -0.50% | $-1.15 +2025-03-10 15:38:54,964 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.4461499999998 | Take profit: 2042.9004000000002 +2025-03-10 15:38:55,117 - INFO - STOP LOSS hit for short at 2084.4461499999998 | PnL: -0.50% | $-1.14 +2025-03-10 15:38:55,140 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.9683499999996 | Take profit: 2059.0937999999996 +2025-03-10 15:38:55,165 - INFO - STOP LOSS hit for short at 2100.9683499999996 | PnL: -0.50% | $-1.13 +2025-03-10 15:38:55,187 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3794 | Take profit: 2098.7006499999998 +2025-03-10 15:38:55,299 - INFO - STOP LOSS hit for short at 2141.3794 | PnL: -0.50% | $-1.11 +2025-03-10 15:38:55,320 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.0324 | Take profit: 2109.14165 +2025-03-10 15:38:55,399 - INFO - CLOSED short at 2126.99 | PnL: 0.67% | $1.04 +2025-03-10 15:38:55,399 - INFO - OPENED LONG at 2126.99 | Stop loss: 2116.32915 | Take profit: 2158.9336999999996 +2025-03-10 15:38:55,424 - INFO - CLOSED long at 2127.3 | PnL: 0.01% | $-0.16 +2025-03-10 15:38:55,424 - INFO - OPENED SHORT at 2127.3 | Stop loss: 2137.9624 | Take profit: 2095.35165 +2025-03-10 15:38:56,000 - INFO - TAKE PROFIT hit for short at 2095.35165 | PnL: 1.50% | $2.59 +2025-03-10 15:38:56,022 - INFO - OPENED SHORT at 2099.53 | Stop loss: 2110.05355 | Take profit: 2067.9982000000005 +2025-03-10 15:38:56,046 - INFO - CLOSED short at 2098.1 | PnL: 0.07% | $-0.06 +2025-03-10 15:38:56,046 - INFO - OPENED LONG at 2098.1 | Stop loss: 2087.5836 | Take profit: 2129.61035 +2025-03-10 15:38:56,069 - INFO - CLOSED long at 2102.19 | PnL: 0.19% | $0.18 +2025-03-10 15:38:56,069 - INFO - OPENED SHORT at 2102.19 | Stop loss: 2112.72685 | Take profit: 2070.6183 +2025-03-10 15:38:56,914 - INFO - CLOSED short at 2089.96 | PnL: 0.58% | $0.91 +2025-03-10 15:38:56,939 - INFO - OPENED SHORT at 2087.0 | Stop loss: 2097.4609 | Take profit: 2055.6561500000003 +2025-03-10 15:38:57,182 - INFO - STOP LOSS hit for short at 2097.4609 | PnL: -0.50% | $-1.15 +2025-03-10 15:38:57,202 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.51585 | Take profit: 2068.4512999999997 +2025-03-10 15:38:57,763 - INFO - STOP LOSS hit for short at 2110.51585 | PnL: -0.50% | $-1.14 +2025-03-10 15:38:57,791 - INFO - OPENED SHORT at 2110.87 | Stop loss: 2121.45025 | Take profit: 2079.1681 +2025-03-10 15:38:58,327 - INFO - STOP LOSS hit for short at 2121.45025 | PnL: -0.50% | $-1.12 +2025-03-10 15:38:58,352 - INFO - OPENED SHORT at 2121.2 | Stop loss: 2131.8318999999997 | Take profit: 2089.3431499999997 +2025-03-10 15:38:58,436 - INFO - STOP LOSS hit for short at 2131.8318999999997 | PnL: -0.50% | $-1.11 +2025-03-10 15:38:58,455 - INFO - OPENED SHORT at 2136.26 | Stop loss: 2146.9672 | Take profit: 2104.17725 +2025-03-10 15:38:58,776 - INFO - CLOSED short at 2120.0 | PnL: 0.76% | $1.21 +2025-03-10 15:38:58,776 - INFO - OPENED LONG at 2120.0 | Stop loss: 2109.3741 | Take profit: 2151.8388499999996 +2025-03-10 15:38:58,798 - INFO - CLOSED long at 2117.98 | PnL: -0.10% | $-0.36 +2025-03-10 15:38:58,798 - INFO - OPENED SHORT at 2117.98 | Stop loss: 2128.5958 | Take profit: 2086.17145 +2025-03-10 15:38:59,655 - INFO - CLOSED short at 2125.04 | PnL: -0.33% | $-0.80 +2025-03-10 15:38:59,656 - INFO - OPENED LONG at 2125.04 | Stop loss: 2114.3889 | Take profit: 2156.9544499999997 +2025-03-10 15:38:59,675 - INFO - CLOSED long at 2123.61 | PnL: -0.07% | $-0.31 +2025-03-10 15:38:59,675 - INFO - OPENED SHORT at 2123.61 | Stop loss: 2134.2539500000003 | Take profit: 2091.717 +2025-03-10 15:38:59,965 - INFO - CLOSED short at 2116.52 | PnL: 0.33% | $0.43 +2025-03-10 15:38:59,987 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.641 | Take profit: 2087.19585 +2025-03-10 15:39:00,496 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 30.0% in downtrends | Avg Win=$0.75, Avg Loss=$-0.60 +2025-03-10 15:39:00,497 - INFO - Episode 14: Reward=174.51, Balance=$92.62, Win Rate=29.7%, Trades=37, Episode PnL=$-5.77, Total PnL=$-87.96, Max Drawdown=7.5%, Pred Accuracy=99.7% +2025-03-10 15:39:01,240 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.23035 | Take profit: 2031.9078 +2025-03-10 15:39:01,347 - INFO - CLOSED short at 2063.59 | PnL: -0.03% | $-0.26 +2025-03-10 15:39:01,348 - INFO - OPENED LONG at 2063.59 | Stop loss: 2053.24615 | Take profit: 2094.5827000000004 +2025-03-10 15:39:01,369 - INFO - CLOSED long at 2064.96 | PnL: 0.07% | $-0.07 +2025-03-10 15:39:01,370 - INFO - OPENED SHORT at 2064.96 | Stop loss: 2075.3107 | Take profit: 2033.94675 +2025-03-10 15:39:01,989 - INFO - CLOSED short at 2063.53 | PnL: 0.07% | $-0.06 +2025-03-10 15:39:02,014 - INFO - OPENED SHORT at 2063.0 | Stop loss: 2073.3409 | Take profit: 2032.01615 +2025-03-10 15:39:02,442 - INFO - CLOSED short at 2061.66 | PnL: 0.06% | $-0.07 +2025-03-10 15:39:02,462 - INFO - OPENED SHORT at 2061.5 | Stop loss: 2071.8334 | Take profit: 2030.53865 +2025-03-10 15:39:02,731 - INFO - CLOSED short at 2065.69 | PnL: -0.20% | $-0.60 +2025-03-10 15:39:02,757 - INFO - OPENED SHORT at 2069.79 | Stop loss: 2080.16485 | Take profit: 2038.7043 +2025-03-10 15:39:03,613 - INFO - CLOSED short at 2070.8 | PnL: -0.05% | $-0.29 +2025-03-10 15:39:03,638 - INFO - OPENED SHORT at 2070.35 | Stop loss: 2080.72765 | Take profit: 2039.2558999999999 +2025-03-10 15:39:03,841 - INFO - CLOSED short at 2074.35 | PnL: -0.19% | $-0.57 +2025-03-10 15:39:03,859 - INFO - OPENED SHORT at 2073.27 | Stop loss: 2083.66225 | Take profit: 2042.1321 +2025-03-10 15:39:05,076 - INFO - CLOSED short at 2059.9 | PnL: 0.64% | $1.06 +2025-03-10 15:39:05,097 - INFO - OPENED SHORT at 2060.7 | Stop loss: 2071.0294 | Take profit: 2029.75065 +2025-03-10 15:39:05,283 - INFO - STOP LOSS hit for short at 2071.0294 | PnL: -0.50% | $-1.18 +2025-03-10 15:39:05,304 - INFO - OPENED SHORT at 2074.05 | Stop loss: 2084.4461499999998 | Take profit: 2042.9004000000002 +2025-03-10 15:39:05,450 - INFO - STOP LOSS hit for short at 2084.4461499999998 | PnL: -0.50% | $-1.16 +2025-03-10 15:39:05,471 - INFO - OPENED SHORT at 2090.49 | Stop loss: 2100.9683499999996 | Take profit: 2059.0937999999996 +2025-03-10 15:39:05,495 - INFO - STOP LOSS hit for short at 2100.9683499999996 | PnL: -0.50% | $-1.15 +2025-03-10 15:39:05,517 - INFO - OPENED SHORT at 2130.7 | Stop loss: 2141.3794 | Take profit: 2098.7006499999998 +2025-03-10 15:39:05,620 - INFO - STOP LOSS hit for short at 2141.3794 | PnL: -0.50% | $-1.14 +2025-03-10 15:39:05,644 - INFO - OPENED SHORT at 2141.3 | Stop loss: 2152.0324 | Take profit: 2109.14165 +2025-03-10 15:39:05,775 - INFO - CLOSED short at 2121.09 | PnL: 0.94% | $1.58 +2025-03-10 15:39:05,776 - INFO - OPENED LONG at 2121.09 | Stop loss: 2110.45865 | Take profit: 2152.9452 +2025-03-10 15:39:05,795 - INFO - CLOSED long at 2120.15 | PnL: -0.04% | $-0.27 +2025-03-10 15:39:05,796 - INFO - OPENED SHORT at 2120.15 | Stop loss: 2130.7766500000002 | Take profit: 2088.3089 +2025-03-10 15:39:06,838 - INFO - CLOSED short at 2083.28 | PnL: 1.74% | $3.10 +2025-03-10 15:39:06,860 - INFO - OPENED SHORT at 2088.44 | Stop loss: 2098.9081 | Take profit: 2057.07455 +2025-03-10 15:39:07,324 - INFO - CLOSED short at 2087.78 | PnL: 0.03% | $-0.13 +2025-03-10 15:39:07,325 - INFO - OPENED LONG at 2087.78 | Stop loss: 2077.3152 | Take profit: 2119.1355500000004 +2025-03-10 15:39:07,349 - INFO - CLOSED long at 2086.81 | PnL: -0.05% | $-0.29 +2025-03-10 15:39:07,350 - INFO - OPENED SHORT at 2086.81 | Stop loss: 2097.26995 | Take profit: 2055.469 +2025-03-10 15:39:07,516 - INFO - STOP LOSS hit for short at 2097.26995 | PnL: -0.50% | $-1.17 +2025-03-10 15:39:07,539 - INFO - OPENED SHORT at 2099.99 | Stop loss: 2110.51585 | Take profit: 2068.4512999999997 +2025-03-10 15:39:07,781 - INFO - CLOSED short at 2101.5 | PnL: -0.07% | $-0.33 +2025-03-10 15:39:07,781 - INFO - OPENED LONG at 2101.5 | Stop loss: 2090.9665999999997 | Take profit: 2133.06135 +2025-03-10 15:39:07,803 - INFO - CLOSED long at 2105.83 | PnL: 0.21% | $0.20 +2025-03-10 15:39:07,803 - INFO - OPENED SHORT at 2105.83 | Stop loss: 2116.3850500000003 | Take profit: 2074.2037 +2025-03-10 15:39:08,225 - INFO - CLOSED short at 2115.26 | PnL: -0.45% | $-1.05 +2025-03-10 15:39:08,225 - INFO - OPENED LONG at 2115.26 | Stop loss: 2104.6578000000004 | Take profit: 2147.02775 +2025-03-10 15:39:08,250 - INFO - CLOSED long at 2113.61 | PnL: -0.08% | $-0.34 +2025-03-10 15:39:08,251 - INFO - OPENED SHORT at 2113.61 | Stop loss: 2124.20395 | Take profit: 2081.867 +2025-03-10 15:39:08,757 - INFO - STOP LOSS hit for short at 2124.20395 | PnL: -0.50% | $-1.14 +2025-03-10 15:39:08,779 - INFO - OPENED SHORT at 2127.79 | Stop loss: 2138.4548499999996 | Take profit: 2095.8343 +2025-03-10 15:39:08,986 - INFO - CLOSED short at 2127.47 | PnL: 0.02% | $-0.16 +2025-03-10 15:39:09,027 - INFO - OPENED SHORT at 2135.55 | Stop loss: 2146.25365 | Take profit: 2103.4779000000003 +2025-03-10 15:39:11,097 - INFO - TAKE PROFIT hit for short at 2103.4779000000003 | PnL: 1.50% | $2.62 +2025-03-10 15:39:11,122 - INFO - OPENED SHORT at 2098.28 | Stop loss: 2108.7973 | Take profit: 2066.76695 +2025-03-10 15:39:11,185 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 16.7% in downtrends | Avg Win=$1.71, Avg Loss=$-0.57 +2025-03-10 15:39:11,186 - INFO - Episode 15: Reward=173.97, Balance=$97.13, Win Rate=20.0%, Trades=25, Episode PnL=$-2.11, Total PnL=$-90.83, Max Drawdown=5.5%, Pred Accuracy=99.8% +2025-03-10 15:39:11,274 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.23035 | Take profit: 2031.9078 +2025-03-10 15:39:12,204 - INFO - CLOSED short at 2058.89 | PnL: 0.19% | $0.19 +2025-03-10 15:39:12,204 - INFO - OPENED LONG at 2058.89 | Stop loss: 2048.56965 | Take profit: 2089.8122 +2025-03-10 15:39:12,225 - INFO - CLOSED long at 2059.96 | PnL: 0.05% | $-0.10 +2025-03-10 15:39:12,225 - INFO - OPENED SHORT at 2059.96 | Stop loss: 2070.2857 | Take profit: 2029.02175 +2025-03-10 15:39:12,489 - INFO - CLOSED short at 2061.6 | PnL: -0.08% | $-0.36 +2025-03-10 15:39:12,489 - INFO - OPENED LONG at 2061.6 | Stop loss: 2051.2661 | Take profit: 2092.56285 +2025-03-10 15:39:12,509 - INFO - CLOSED long at 2061.3 | PnL: -0.01% | $-0.23 +2025-03-10 15:39:12,509 - INFO - OPENED SHORT at 2061.3 | Stop loss: 2071.6324000000004 | Take profit: 2030.3416500000003 +2025-03-10 15:39:12,786 - INFO - STOP LOSS hit for short at 2071.6324000000004 | PnL: -0.50% | $-1.18 +2025-03-10 15:39:12,813 - INFO - OPENED SHORT at 2074.3 | Stop loss: 2084.6974 | Take profit: 2043.1466500000001 +2025-03-10 15:39:13,053 - INFO - CLOSED short at 2069.03 | PnL: 0.25% | $0.30 +2025-03-10 15:39:13,076 - INFO - OPENED SHORT at 2067.44 | Stop loss: 2077.8031 | Take profit: 2036.38955 +2025-03-10 15:39:13,518 - INFO - CLOSED short at 2071.59 | PnL: -0.20% | $-0.59 +2025-03-10 15:39:13,518 - INFO - OPENED LONG at 2071.59 | Stop loss: 2061.20615 | Take profit: 2102.7027000000003 +2025-03-10 15:39:13,539 - INFO - CLOSED long at 2070.2 | PnL: -0.07% | $-0.32 +2025-03-10 15:39:13,539 - INFO - OPENED SHORT at 2070.2 | Stop loss: 2080.5768999999996 | Take profit: 2039.1081499999998 +2025-03-10 15:39:13,715 - INFO - CLOSED short at 2068.19 | PnL: 0.10% | $-0.01 +2025-03-10 15:39:13,743 - INFO - OPENED SHORT at 2068.67 | Stop loss: 2079.03925 | Take profit: 2037.6011 +2025-03-10 15:39:14,772 - INFO - CLOSED short at 2049.21 | PnL: 0.94% | $1.62 +2025-03-10 15:39:14,796 - INFO - OPENED SHORT at 2049.5 | Stop loss: 2059.7734 | Take profit: 2018.71865 +2025-03-10 15:39:14,946 - INFO - STOP LOSS hit for short at 2059.7734 | PnL: -0.50% | $-1.18 +2025-03-10 15:39:14,977 - INFO - OPENED SHORT at 2063.9 | Stop loss: 2074.2454000000002 | Take profit: 2032.9026500000002 +2025-03-10 15:39:15,598 - INFO - STOP LOSS hit for short at 2074.2454000000002 | PnL: -0.50% | $-1.17 +2025-03-10 15:39:15,627 - INFO - OPENED SHORT at 2076.08 | Stop loss: 2086.4863 | Take profit: 2044.89995 +2025-03-10 15:39:15,650 - INFO - CLOSED short at 2077.61 | PnL: -0.07% | $-0.33 +2025-03-10 15:39:15,650 - INFO - OPENED LONG at 2077.61 | Stop loss: 2067.19605 | Take profit: 2108.813 +2025-03-10 15:39:15,672 - INFO - CLOSED long at 2085.56 | PnL: 0.38% | $0.54 +2025-03-10 15:39:15,673 - INFO - OPENED SHORT at 2085.56 | Stop loss: 2096.0137 | Take profit: 2054.23775 +2025-03-10 15:39:15,696 - INFO - CLOSED short at 2090.49 | PnL: -0.24% | $-0.65 +2025-03-10 15:39:15,697 - INFO - OPENED LONG at 2090.49 | Stop loss: 2080.01165 | Take profit: 2121.8862 +2025-03-10 15:39:15,724 - INFO - CLOSED long at 2103.02 | PnL: 0.60% | $0.95 +2025-03-10 15:39:15,724 - INFO - OPENED SHORT at 2103.02 | Stop loss: 2113.561 | Take profit: 2071.43585 +2025-03-10 15:39:15,746 - INFO - STOP LOSS hit for short at 2113.561 | PnL: -0.50% | $-1.16 +2025-03-10 15:39:15,770 - INFO - OPENED SHORT at 2139.54 | Stop loss: 2150.2636 | Take profit: 2107.40805 +2025-03-10 15:39:16,255 - INFO - CLOSED short at 2109.05 | PnL: 1.43% | $2.52 +2025-03-10 15:39:16,284 - INFO - OPENED SHORT at 2112.09 | Stop loss: 2122.67635 | Take profit: 2080.3698 +2025-03-10 15:39:19,049 - INFO - STOP LOSS hit for short at 2122.67635 | PnL: -0.50% | $-1.17 +2025-03-10 15:39:19,073 - INFO - OPENED SHORT at 2127.79 | Stop loss: 2138.4548499999996 | Take profit: 2095.8343 +2025-03-10 15:39:19,292 - INFO - CLOSED short at 2127.47 | PnL: 0.02% | $-0.16 +2025-03-10 15:39:19,316 - INFO - OPENED SHORT at 2129.51 | Stop loss: 2140.1834500000004 | Take profit: 2097.5285000000003 +2025-03-10 15:39:21,339 - INFO - TAKE PROFIT hit for short at 2097.5285000000003 | PnL: 1.50% | $2.70 +2025-03-10 15:39:21,365 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5761500000003 | Take profit: 2068.5104 +2025-03-10 15:39:21,384 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 18.2% in downtrends | Avg Win=$1.26, Avg Loss=$-0.61 +2025-03-10 15:39:21,384 - INFO - Episode 16: Reward=182.94, Balance=$100.23, Win Rate=33.3%, Trades=21, Episode PnL=$-0.62, Total PnL=$-90.60, Max Drawdown=3.7%, Pred Accuracy=99.8% +2025-03-10 15:39:21,485 - INFO - OPENED SHORT at 2062.89 | Stop loss: 2073.23035 | Take profit: 2031.9078 +2025-03-10 15:39:23,345 - INFO - STOP LOSS hit for short at 2073.23035 | PnL: -0.50% | $-1.19 +2025-03-10 15:39:23,371 - INFO - OPENED SHORT at 2078.01 | Stop loss: 2088.4259500000003 | Take profit: 2046.8010000000002 +2025-03-10 15:39:23,951 - INFO - CLOSED short at 2064.4 | PnL: 0.65% | $1.08 +2025-03-10 15:39:23,951 - INFO - OPENED LONG at 2064.4 | Stop loss: 2054.0521 | Take profit: 2095.4048500000004 +2025-03-10 15:39:23,976 - INFO - CLOSED long at 2064.31 | PnL: -0.00% | $-0.21 +2025-03-10 15:39:23,976 - INFO - OPENED SHORT at 2064.31 | Stop loss: 2074.6574499999997 | Take profit: 2033.3065 +2025-03-10 15:39:24,521 - INFO - CLOSED short at 2071.61 | PnL: -0.35% | $-0.89 +2025-03-10 15:39:24,521 - INFO - OPENED LONG at 2071.61 | Stop loss: 2061.22605 | Take profit: 2102.723 +2025-03-10 15:39:24,552 - INFO - CLOSED long at 2074.37 | PnL: 0.13% | $0.06 +2025-03-10 15:39:24,552 - INFO - OPENED SHORT at 2074.37 | Stop loss: 2084.76775 | Take profit: 2043.2156 +2025-03-10 15:39:43,622 - INFO - Using GPU: NVIDIA GeForce RTX 4060 Laptop GPU +2025-03-10 15:39:43,641 - INFO - Exchange initialized with standard CCXT: mexc +2025-03-10 15:39:43,642 - INFO - Fetching initial data for ETH/USDT +2025-03-10 15:39:43,642 - INFO - Fetching initial data for ETH/USDT +2025-03-10 15:39:46,986 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 15:39:47,004 - INFO - Initialized environment with 500 candles +2025-03-10 15:39:49,215 - INFO - Starting continuous training mode. Press Ctrl+C to stop. +2025-03-10 15:39:49,215 - INFO - Starting training batch 1 +2025-03-10 15:39:49,215 - INFO - Refreshing data for new training batch +2025-03-10 15:39:49,215 - ERROR - Error: 'TradingEnvironment' object has no attribute 'fetch_new_data' +2025-03-10 15:39:49,221 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2441, in main + await env.fetch_new_data(exchange, "ETH/USDT", "1m", 500) + ^^^^^^^^^^^^^^^^^^ +AttributeError: 'TradingEnvironment' object has no attribute 'fetch_new_data' + +2025-03-10 15:39:49,222 - INFO - Exchange connection closed +2025-03-10 15:58:37,559 - INFO - Using GPU: NVIDIA GeForce RTX 4060 Laptop GPU +2025-03-10 15:58:37,578 - INFO - Exchange initialized with standard CCXT: mexc +2025-03-10 15:58:37,578 - INFO - Fetching initial data for ETH/USDT +2025-03-10 15:58:37,580 - INFO - Fetching initial data for ETH/USDT +2025-03-10 15:58:41,294 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 15:58:41,313 - INFO - Initialized environment with 500 candles +2025-03-10 15:58:43,495 - INFO - Starting continuous training mode. Press Ctrl+C to stop. +2025-03-10 15:58:43,495 - INFO - Starting training batch 1 +2025-03-10 15:58:43,496 - INFO - Refreshing data for new training batch +2025-03-10 15:58:43,496 - ERROR - Error: 'TradingEnvironment' object has no attribute 'fetch_new_data' +2025-03-10 15:58:43,502 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2446, in main + await env.fetch_new_data(exchange, "ETH/USDT", "1m", 500) + ^^^^^^^^^^^^^^^^^^ +AttributeError: 'TradingEnvironment' object has no attribute 'fetch_new_data' + +2025-03-10 15:58:43,502 - INFO - Exchange connection closed +2025-03-10 15:59:21,963 - INFO - Using GPU: NVIDIA GeForce RTX 4060 Laptop GPU +2025-03-10 15:59:21,981 - INFO - Exchange initialized with standard CCXT: mexc +2025-03-10 15:59:21,981 - INFO - Fetching initial data for ETH/USDT +2025-03-10 15:59:21,981 - INFO - Fetching initial data for ETH/USDT +2025-03-10 15:59:25,319 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 15:59:25,337 - INFO - Initialized environment with 500 candles +2025-03-10 15:59:27,516 - INFO - Starting continuous training mode. Press Ctrl+C to stop. +2025-03-10 15:59:27,516 - INFO - Starting training batch 1 +2025-03-10 15:59:27,516 - INFO - Refreshing data for new training batch +2025-03-10 15:59:27,517 - ERROR - Error: 'mexc' object has no attribute 'fetch_initial_data' +2025-03-10 15:59:27,518 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2446, in main + await fetch_new_data(exchange, "ETH/USDT", "1m", 500) + File "main.py", line 2351, in fetch_new_data + return await self.fetch_initial_data(exchange, symbol, timeframe, limit) + ^^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'mexc' object has no attribute 'fetch_initial_data' + +2025-03-10 15:59:27,518 - INFO - Exchange connection closed +2025-03-10 16:02:01,607 - INFO - Using GPU: NVIDIA GeForce RTX 4060 Laptop GPU +2025-03-10 16:02:01,627 - INFO - Exchange initialized with standard CCXT: mexc +2025-03-10 16:02:01,628 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:02:01,628 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:02:05,083 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 16:02:05,105 - INFO - Initialized environment with 500 candles +2025-03-10 16:02:07,444 - INFO - Starting continuous training mode. Press Ctrl+C to stop. +2025-03-10 16:02:07,444 - INFO - Starting training batch 1 +2025-03-10 16:02:07,445 - INFO - Refreshing data for new training batch +2025-03-10 16:02:07,445 - ERROR - Error: 'mexc' object has no attribute 'fetch_initial_data' +2025-03-10 16:02:07,447 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 2446, in main + await fetch_new_data(exchange, "ETH/USDT", "1m", 500) + File "main.py", line 2351, in fetch_new_data + return await env.fetch_initial_data(exchange, symbol, timeframe, limit) + ^^^^^^^^^^^^^^^^^^^^^^ +AttributeError: 'mexc' object has no attribute 'fetch_initial_data' + +2025-03-10 16:02:07,447 - INFO - Exchange connection closed +2025-03-10 16:05:04,475 - INFO - Using GPU: NVIDIA GeForce RTX 4060 Laptop GPU +2025-03-10 16:05:04,494 - INFO - Exchange initialized with standard CCXT: mexc +2025-03-10 16:05:04,495 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:05:04,495 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:05:08,177 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 16:05:08,194 - INFO - Initialized environment with 500 candles +2025-03-10 16:05:10,332 - INFO - Starting continuous training mode. Press Ctrl+C to stop. +2025-03-10 16:05:10,333 - INFO - Starting training batch 1 +2025-03-10 16:05:10,333 - INFO - Refreshing data for new training batch +2025-03-10 16:05:10,333 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:05:10,655 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 16:05:10,666 - INFO - Initialized environment with 500 candles +2025-03-10 16:05:10,666 - INFO - Updated environment with fresh candles +2025-03-10 16:05:10,667 - INFO - Starting training on device: cuda +2025-03-10 16:05:10,667 - INFO - Loading best model from models/trading_agent_best_pnl.pt to resume training +2025-03-10 16:05:10,667 - INFO - Loading model from models/trading_agent_best_pnl.pt +2025-03-10 16:05:10,810 - INFO - Model loaded successfully with weights_only=True +2025-03-10 16:05:10,810 - INFO - Resumed with best metrics - Reward: 202.74, PnL: $4.37, Win Rate: 66.7% +2025-03-10 16:05:10,810 - INFO - Refreshing data for episode 0 +2025-03-10 16:05:10,810 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:05:11,133 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:05:11,143 - INFO - Initialized environment with 100 candles +2025-03-10 16:05:12,442 - INFO - Episode 0: Reward=-0.66, Balance=$100.00, Win Rate=0.0%, Trades=0, Episode PnL=$0.00, Total PnL=$0.00, Max Drawdown=0.0%, Pred Accuracy=99.4% +2025-03-10 16:05:12,577 - INFO - Model saved to checkpoints/trading_agent_episode_0.pt +2025-03-10 16:05:12,578 - INFO - Checkpoint saved at episode 0 +2025-03-10 16:05:13,603 - INFO - Visualization saved for episode 0 +2025-03-10 16:05:15,066 - INFO - Visualization saved for episode 0 +2025-03-10 16:05:15,084 - INFO - Refreshing data for episode 1 +2025-03-10 16:05:15,084 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:05:15,405 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:05:15,414 - INFO - Initialized environment with 100 candles +2025-03-10 16:05:16,546 - INFO - OPENED SHORT at 2104.22 | Stop loss: 2114.7807749999997 | Take profit: 2072.5971874999996 +2025-03-10 16:05:16,736 - INFO - CLOSED short at 2084.95 | PnL: 0.92% | $1.60 +2025-03-10 16:05:16,737 - INFO - OPENED LONG at 2084.95 | Stop loss: 2074.4855749999997 | Take profit: 2116.2837624999997 +2025-03-10 16:05:16,911 - INFO - STOP LOSS hit for long at 2074.4855749999997 | PnL: -0.50% | $-1.20 +2025-03-10 16:05:16,976 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$1.60, Avg Loss=$-1.20 +2025-03-10 16:05:16,977 - INFO - Episode 1: Reward=14.49, Balance=$100.40, Win Rate=50.0%, Trades=2, Episode PnL=$0.40, Total PnL=$0.40, Max Drawdown=0.0%, Pred Accuracy=99.5% +2025-03-10 16:05:16,977 - INFO - Refreshing data for episode 2 +2025-03-10 16:05:16,977 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:05:17,297 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:05:17,306 - INFO - Initialized environment with 100 candles +2025-03-10 16:05:18,403 - INFO - OPENED LONG at 2090.59 | Stop loss: 2080.0973750000003 | Take profit: 2122.0083625 +2025-03-10 16:05:18,460 - INFO - CLOSED long at 2080.58 | PnL: -0.48% | $-1.14 +2025-03-10 16:05:18,667 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.00, Avg Loss=$-1.14 +2025-03-10 16:05:18,667 - INFO - Episode 2: Reward=10.20, Balance=$98.86, Win Rate=0.0%, Trades=1, Episode PnL=$-1.14, Total PnL=$-0.73, Max Drawdown=1.1%, Pred Accuracy=99.5% +2025-03-10 16:05:18,668 - INFO - Refreshing data for episode 3 +2025-03-10 16:05:18,668 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:05:18,966 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:05:18,975 - INFO - Initialized environment with 100 candles +2025-03-10 16:05:19,633 - INFO - OPENED LONG at 2113.28 | Stop loss: 2102.673925 | Take profit: 2145.0387125 +2025-03-10 16:05:19,704 - INFO - STOP LOSS hit for long at 2102.673925 | PnL: -0.50% | $-1.18 +2025-03-10 16:05:19,951 - INFO - OPENED SHORT at 2105.26 | Stop loss: 2115.825975 | Take profit: 2073.6215875000003 +2025-03-10 16:05:20,280 - INFO - TAKE PROFIT hit for short at 2073.6215875000003 | PnL: 1.50% | $2.72 +2025-03-10 16:05:20,342 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$2.72, Avg Loss=$-1.18 +2025-03-10 16:05:20,343 - INFO - Episode 3: Reward=15.74, Balance=$101.54, Win Rate=50.0%, Trades=2, Episode PnL=$1.54, Total PnL=$0.80, Max Drawdown=1.2%, Pred Accuracy=99.5% +2025-03-10 16:05:20,344 - INFO - Refreshing data for episode 4 +2025-03-10 16:05:20,344 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:05:20,640 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:05:20,649 - INFO - Initialized environment with 100 candles +2025-03-10 16:05:20,746 - INFO - OPENED LONG at 2126.13 | Stop loss: 2115.4596607142857 | Take profit: 2158.0814839285713 +2025-03-10 16:05:21,110 - INFO - STOP LOSS hit for long at 2115.4596607142857 | PnL: -0.50% | $-1.18 +2025-03-10 16:05:21,976 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.00, Avg Loss=$-1.18 +2025-03-10 16:05:21,976 - INFO - Episode 4: Reward=7.23, Balance=$98.82, Win Rate=0.0%, Trades=1, Episode PnL=$-1.18, Total PnL=$-0.38, Max Drawdown=1.2%, Pred Accuracy=99.5% +2025-03-10 16:05:21,976 - INFO - Refreshing data for episode 5 +2025-03-10 16:05:21,977 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:05:22,288 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:05:22,299 - INFO - Initialized environment with 100 candles +2025-03-10 16:05:23,202 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.629689285714 | Take profit: 2086.1704660714286 +2025-03-10 16:05:23,946 - INFO - CLOSED short at 2105.26 | PnL: 0.60% | $0.98 +2025-03-10 16:05:24,336 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.98, Avg Loss=$0.00 +2025-03-10 16:05:24,337 - INFO - Episode 5: Reward=22.27, Balance=$100.98, Win Rate=100.0%, Trades=1, Episode PnL=$0.98, Total PnL=$0.61, Max Drawdown=0.0%, Pred Accuracy=99.6% +2025-03-10 16:05:24,338 - INFO - Refreshing data for episode 6 +2025-03-10 16:05:24,338 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:05:24,643 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:05:24,653 - INFO - Initialized environment with 100 candles +2025-03-10 16:05:24,966 - INFO - OPENED LONG at 2121.42 | Stop loss: 2110.773210714286 | Take profit: 2153.3008339285716 +2025-03-10 16:05:25,011 - INFO - CLOSED long at 2119.02 | PnL: -0.11% | $-0.42 +2025-03-10 16:05:25,055 - INFO - OPENED LONG at 2124.9 | Stop loss: 2114.235810714286 | Take profit: 2156.8330339285712 +2025-03-10 16:05:25,082 - INFO - CLOSED long at 2128.33 | PnL: 0.16% | $0.12 +2025-03-10 16:05:25,311 - INFO - OPENED LONG at 2115.11 | Stop loss: 2104.494760714286 | Take profit: 2146.896183928571 +2025-03-10 16:05:25,336 - INFO - CLOSED long at 2114.32 | PnL: -0.04% | $-0.27 +2025-03-10 16:05:25,360 - INFO - OPENED LONG at 2114.57 | Stop loss: 2103.957460714286 | Take profit: 2146.348083928571 +2025-03-10 16:05:25,403 - INFO - CLOSED long at 2113.28 | PnL: -0.06% | $-0.31 +2025-03-10 16:05:25,533 - INFO - OPENED LONG at 2100.05 | Stop loss: 2089.510060714286 | Take profit: 2131.610283928572 +2025-03-10 16:05:25,557 - INFO - CLOSED long at 2096.36 | PnL: -0.18% | $-0.54 +2025-03-10 16:05:25,695 - INFO - OPENED LONG at 2104.22 | Stop loss: 2093.6592107142856 | Take profit: 2135.8428339285715 +2025-03-10 16:05:25,789 - INFO - CLOSED long at 2099.22 | PnL: -0.24% | $-0.65 +2025-03-10 16:05:25,866 - INFO - OPENED LONG at 2098.66 | Stop loss: 2088.1270107142855 | Take profit: 2130.1994339285716 +2025-03-10 16:05:25,892 - INFO - CLOSED long at 2090.59 | PnL: -0.38% | $-0.93 +2025-03-10 16:05:25,940 - INFO - OPENED LONG at 2084.95 | Stop loss: 2074.4855607142854 | Take profit: 2116.283783928571 +2025-03-10 16:05:26,069 - INFO - CLOSED long at 2084.11 | PnL: -0.04% | $-0.27 +2025-03-10 16:05:26,092 - INFO - OPENED LONG at 2083.07 | Stop loss: 2072.614960714286 | Take profit: 2114.375583928572 +2025-03-10 16:05:26,133 - INFO - STOP LOSS hit for long at 2072.614960714286 | PnL: -0.50% | $-1.14 +2025-03-10 16:05:26,173 - INFO - OPENED LONG at 2051.0 | Stop loss: 2040.7053107142856 | Take profit: 2081.824533928572 +2025-03-10 16:05:26,193 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.12, Avg Loss=$-0.57 +2025-03-10 16:05:26,195 - INFO - Episode 6: Reward=-1.37, Balance=$95.59, Win Rate=11.1%, Trades=9, Episode PnL=$-4.41, Total PnL=$-3.80, Max Drawdown=4.4%, Pred Accuracy=99.6% +2025-03-10 16:05:26,195 - INFO - Refreshing data for episode 7 +2025-03-10 16:05:26,196 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:05:26,528 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:05:26,539 - INFO - Initialized environment with 100 candles +2025-03-10 16:05:26,563 - INFO - OPENED LONG at 2123.61 | Stop loss: 2112.9518035714286 | Take profit: 2155.5243696428574 +2025-03-10 16:05:26,631 - INFO - CLOSED long at 2125.77 | PnL: 0.10% | $0.00 +2025-03-10 16:05:26,656 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.8007964285716 | Take profit: 2094.177830357143 +2025-03-10 16:05:26,677 - INFO - CLOSED short at 2126.32 | PnL: -0.01% | $-0.21 +2025-03-10 16:05:26,677 - INFO - OPENED LONG at 2126.32 | Stop loss: 2115.6482535714285 | Take profit: 2158.2750196428574 +2025-03-10 16:05:26,847 - INFO - CLOSED long at 2121.8 | PnL: -0.21% | $-0.61 +2025-03-10 16:05:26,892 - INFO - OPENED LONG at 2116.52 | Stop loss: 2105.8972535714283 | Take profit: 2148.3280196428573 +2025-03-10 16:05:27,034 - INFO - CLOSED long at 2116.81 | PnL: 0.01% | $-0.17 +2025-03-10 16:05:27,034 - INFO - OPENED SHORT at 2116.81 | Stop loss: 2127.4341964285713 | Take profit: 2084.997630357143 +2025-03-10 16:05:27,056 - INFO - CLOSED short at 2114.78 | PnL: 0.10% | $-0.01 +2025-03-10 16:05:27,057 - INFO - OPENED LONG at 2114.78 | Stop loss: 2104.165953571429 | Take profit: 2146.5619196428574 +2025-03-10 16:05:27,144 - INFO - CLOSED long at 2115.21 | PnL: 0.02% | $-0.15 +2025-03-10 16:05:27,144 - INFO - OPENED SHORT at 2115.21 | Stop loss: 2125.8261964285716 | Take profit: 2083.421630357143 +2025-03-10 16:05:27,767 - INFO - TAKE PROFIT hit for short at 2083.421630357143 | PnL: 1.50% | $2.72 +2025-03-10 16:05:27,826 - INFO - OPENED SHORT at 2084.25 | Stop loss: 2094.7113964285713 | Take profit: 2052.9260303571427 +2025-03-10 16:05:27,972 - INFO - TAKE PROFIT hit for short at 2052.9260303571427 | PnL: 1.50% | $2.80 +2025-03-10 16:05:28,020 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$1.84, Avg Loss=$-0.23 +2025-03-10 16:05:28,021 - INFO - Episode 7: Reward=10.59, Balance=$104.36, Win Rate=37.5%, Trades=8, Episode PnL=$4.69, Total PnL=$0.56, Max Drawdown=0.8%, Pred Accuracy=99.5% +2025-03-10 16:05:28,160 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 16:05:28,160 - INFO - New best PnL model saved: $4.69 +2025-03-10 16:05:28,161 - INFO - Refreshing data for episode 8 +2025-03-10 16:05:28,161 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:05:28,473 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:05:28,482 - INFO - Initialized environment with 100 candles +2025-03-10 16:05:28,505 - INFO - OPENED SHORT at 2123.61 | Stop loss: 2134.2683142857145 | Take profit: 2091.6954535714285 +2025-03-10 16:05:29,242 - INFO - TAKE PROFIT hit for short at 2091.6954535714285 | PnL: 1.50% | $2.75 +2025-03-10 16:05:29,262 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5905142857146 | Take profit: 2068.488853571429 +2025-03-10 16:05:29,798 - INFO - CLOSED short at 2083.07 | PnL: 0.81% | $1.43 +2025-03-10 16:05:29,827 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.4856142857143 | Take profit: 2043.8835535714286 +2025-03-10 16:05:29,912 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.09, Avg Loss=$0.00 +2025-03-10 16:05:29,913 - INFO - Episode 8: Reward=29.51, Balance=$104.18, Win Rate=100.0%, Trades=2, Episode PnL=$4.18, Total PnL=$4.74, Max Drawdown=0.0%, Pred Accuracy=99.5% +2025-03-10 16:05:29,913 - INFO - Refreshing data for episode 9 +2025-03-10 16:05:29,914 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:05:30,227 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:05:30,237 - INFO - Initialized environment with 100 candles +2025-03-10 16:05:30,260 - INFO - OPENED SHORT at 2123.61 | Stop loss: 2134.2683142857145 | Take profit: 2091.6954535714285 +2025-03-10 16:05:30,830 - INFO - CLOSED short at 2114.1 | PnL: 0.45% | $0.68 +2025-03-10 16:05:30,831 - INFO - OPENED LONG at 2114.1 | Stop loss: 2103.4892357142858 | Take profit: 2145.8718964285713 +2025-03-10 16:05:30,853 - INFO - CLOSED long at 2115.11 | PnL: 0.05% | $-0.10 +2025-03-10 16:05:30,853 - INFO - OPENED SHORT at 2115.11 | Stop loss: 2125.7258142857145 | Take profit: 2083.3229535714286 +2025-03-10 16:05:30,874 - INFO - CLOSED short at 2114.32 | PnL: 0.04% | $-0.12 +2025-03-10 16:05:30,874 - INFO - OPENED LONG at 2114.32 | Stop loss: 2103.708135714286 | Take profit: 2146.0951964285714 +2025-03-10 16:05:30,899 - INFO - CLOSED long at 2114.57 | PnL: 0.01% | $-0.17 +2025-03-10 16:05:30,899 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.1831142857145 | Take profit: 2082.7910535714286 +2025-03-10 16:05:31,212 - INFO - CLOSED short at 2100.0 | PnL: 0.69% | $1.16 +2025-03-10 16:05:31,235 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.3844142857142 | Take profit: 2071.2271535714285 +2025-03-10 16:05:31,375 - INFO - CLOSED short at 2094.16 | PnL: 0.41% | $0.62 +2025-03-10 16:05:31,403 - INFO - OPENED SHORT at 2096.96 | Stop loss: 2107.4850642857145 | Take profit: 2065.4452035714285 +2025-03-10 16:05:31,684 - INFO - TAKE PROFIT hit for short at 2065.4452035714285 | PnL: 1.50% | $2.81 +2025-03-10 16:05:31,710 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.295264285714 | Take profit: 2020.1746035714286 +2025-03-10 16:05:31,733 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$1.32, Avg Loss=$-0.13 +2025-03-10 16:05:31,734 - INFO - Episode 9: Reward=27.80, Balance=$104.87, Win Rate=57.1%, Trades=7, Episode PnL=$5.15, Total PnL=$9.61, Max Drawdown=0.0%, Pred Accuracy=99.5% +2025-03-10 16:05:31,873 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 16:05:31,874 - INFO - New best PnL model saved: $5.15 +2025-03-10 16:05:31,874 - INFO - Refreshing data for episode 10 +2025-03-10 16:05:31,875 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:05:32,164 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:05:32,173 - INFO - Initialized environment with 100 candles +2025-03-10 16:05:32,861 - INFO - OPENED SHORT at 2123.61 | Stop loss: 2134.269085714286 | Take profit: 2091.6942964285718 +2025-03-10 16:05:33,185 - INFO - CLOSED short at 2119.02 | PnL: 0.22% | $0.23 +2025-03-10 16:05:33,205 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.6058357142856 | Take profit: 2089.0840464285716 +2025-03-10 16:05:33,314 - INFO - CLOSED short at 2116.81 | PnL: 0.20% | $0.19 +2025-03-10 16:05:33,314 - INFO - OPENED LONG at 2116.81 | Stop loss: 2106.1849142857145 | Take profit: 2148.623703571429 +2025-03-10 16:05:33,338 - INFO - CLOSED long at 2114.78 | PnL: -0.10% | $-0.39 +2025-03-10 16:05:33,339 - INFO - OPENED SHORT at 2114.78 | Stop loss: 2125.394935714286 | Take profit: 2082.9967464285714 +2025-03-10 16:05:34,200 - INFO - TAKE PROFIT hit for short at 2082.9967464285714 | PnL: 1.50% | $2.75 +2025-03-10 16:05:34,225 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2147857142854 | Take profit: 2053.4171964285715 +2025-03-10 16:05:34,410 - INFO - TAKE PROFIT hit for short at 2053.4171964285715 | PnL: 1.50% | $2.83 +2025-03-10 16:05:34,434 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.2960357142856 | Take profit: 2020.1734464285714 +2025-03-10 16:05:34,455 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.50, Avg Loss=$-0.39 +2025-03-10 16:05:34,455 - INFO - Episode 10: Reward=14.43, Balance=$105.61, Win Rate=80.0%, Trades=5, Episode PnL=$6.00, Total PnL=$15.23, Max Drawdown=0.0%, Pred Accuracy=99.4% +2025-03-10 16:05:34,597 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 16:05:34,598 - INFO - New best PnL model saved: $6.00 +2025-03-10 16:05:34,740 - INFO - Model saved to checkpoints/trading_agent_episode_10.pt +2025-03-10 16:05:34,741 - INFO - Checkpoint saved at episode 10 +2025-03-10 16:05:35,918 - INFO - Visualization saved for episode 10 +2025-03-10 16:05:37,501 - INFO - Visualization saved for episode 10 +2025-03-10 16:05:37,516 - INFO - Refreshing data for episode 11 +2025-03-10 16:05:37,517 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:05:37,824 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:05:37,834 - INFO - Initialized environment with 100 candles +2025-03-10 16:05:37,919 - INFO - OPENED SHORT at 2123.61 | Stop loss: 2134.2699214285713 | Take profit: 2091.693042857143 +2025-03-10 16:05:38,295 - INFO - CLOSED short at 2116.52 | PnL: 0.33% | $0.46 +2025-03-10 16:05:38,296 - INFO - OPENED LONG at 2116.52 | Stop loss: 2105.8955285714287 | Take profit: 2148.330607142857 +2025-03-10 16:05:38,318 - INFO - CLOSED long at 2119.02 | PnL: 0.12% | $0.04 +2025-03-10 16:05:38,319 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.6569714285715 | Take profit: 2087.1718928571427 +2025-03-10 16:05:38,341 - INFO - CLOSED short at 2120.96 | PnL: -0.09% | $-0.38 +2025-03-10 16:05:38,365 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.5663714285715 | Take profit: 2092.963692857143 +2025-03-10 16:05:38,793 - INFO - TAKE PROFIT hit for short at 2092.963692857143 | PnL: 1.50% | $2.75 +2025-03-10 16:05:38,817 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5921214285718 | Take profit: 2068.486442857143 +2025-03-10 16:05:39,380 - INFO - TAKE PROFIT hit for short at 2068.486442857143 | PnL: 1.50% | $2.83 +2025-03-10 16:05:39,403 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5833714285714 | Take profit: 2017.512692857143 +2025-03-10 16:05:39,446 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.52, Avg Loss=$-0.38 +2025-03-10 16:05:39,447 - INFO - Episode 11: Reward=14.54, Balance=$105.70, Win Rate=80.0%, Trades=5, Episode PnL=$5.67, Total PnL=$20.93, Max Drawdown=0.0%, Pred Accuracy=99.1% +2025-03-10 16:05:39,447 - INFO - Refreshing data for episode 12 +2025-03-10 16:05:39,447 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:05:39,754 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:05:39,764 - INFO - Initialized environment with 100 candles +2025-03-10 16:05:39,787 - INFO - OPENED SHORT at 2123.61 | Stop loss: 2134.270225 | Take profit: 2091.6925875 +2025-03-10 16:05:40,341 - INFO - CLOSED short at 2116.06 | PnL: 0.36% | $0.50 +2025-03-10 16:05:40,365 - INFO - OPENED SHORT at 2115.21 | Stop loss: 2125.8282249999997 | Take profit: 2083.4185875000003 +2025-03-10 16:05:40,782 - INFO - CLOSED short at 2103.41 | PnL: 0.56% | $0.90 +2025-03-10 16:05:40,783 - INFO - OPENED LONG at 2103.41 | Stop loss: 2092.850775 | Take profit: 2135.0244125 +2025-03-10 16:05:40,803 - INFO - CLOSED long at 2104.22 | PnL: 0.04% | $-0.12 +2025-03-10 16:05:40,804 - INFO - OPENED SHORT at 2104.22 | Stop loss: 2114.7832750000002 | Take profit: 2072.5934374999997 +2025-03-10 16:05:41,201 - INFO - TAKE PROFIT hit for short at 2072.5934374999997 | PnL: 1.50% | $2.79 +2025-03-10 16:05:41,222 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5836750000003 | Take profit: 2017.5122375 +2025-03-10 16:05:41,270 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.40, Avg Loss=$-0.12 +2025-03-10 16:05:41,271 - INFO - Episode 12: Reward=15.28, Balance=$104.07, Win Rate=75.0%, Trades=4, Episode PnL=$4.19, Total PnL=$25.00, Max Drawdown=0.0%, Pred Accuracy=98.7% +2025-03-10 16:05:41,271 - INFO - Refreshing data for episode 13 +2025-03-10 16:05:41,271 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:05:41,581 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:05:41,594 - INFO - Initialized environment with 100 candles +2025-03-10 16:05:41,620 - INFO - OPENED SHORT at 2123.61 | Stop loss: 2134.271653571429 | Take profit: 2091.690444642857 +2025-03-10 16:05:42,482 - INFO - TAKE PROFIT hit for short at 2091.690444642857 | PnL: 1.50% | $2.75 +2025-03-10 16:05:42,505 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5938535714286 | Take profit: 2068.483844642857 +2025-03-10 16:05:43,062 - INFO - TAKE PROFIT hit for short at 2068.483844642857 | PnL: 1.50% | $2.82 +2025-03-10 16:05:43,086 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.585103571429 | Take profit: 2017.5100946428572 +2025-03-10 16:05:43,129 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.79, Avg Loss=$0.00 +2025-03-10 16:05:43,130 - INFO - Episode 13: Reward=0.27, Balance=$105.57, Win Rate=100.0%, Trades=2, Episode PnL=$5.57, Total PnL=$30.57, Max Drawdown=0.0%, Pred Accuracy=97.5% +2025-03-10 16:05:43,130 - INFO - Refreshing data for episode 14 +2025-03-10 16:05:43,130 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:05:43,437 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:05:43,447 - INFO - Initialized environment with 100 candles +2025-03-10 16:05:43,477 - INFO - OPENED SHORT at 2123.61 | Stop loss: 2134.271653571429 | Take profit: 2091.690444642857 +2025-03-10 16:05:43,523 - INFO - CLOSED short at 2125.08 | PnL: -0.07% | $-0.33 +2025-03-10 16:05:43,524 - INFO - OPENED LONG at 2125.08 | Stop loss: 2114.4109964285713 | Take profit: 2157.0216053571426 +2025-03-10 16:05:43,546 - INFO - CLOSED long at 2125.77 | PnL: 0.03% | $-0.13 +2025-03-10 16:05:43,546 - INFO - OPENED SHORT at 2125.77 | Stop loss: 2136.442453571429 | Take profit: 2093.818044642857 +2025-03-10 16:05:43,908 - INFO - CLOSED short at 2128.33 | PnL: -0.12% | $-0.43 +2025-03-10 16:05:43,909 - INFO - OPENED LONG at 2128.33 | Stop loss: 2117.644746428571 | Take profit: 2160.320355357143 +2025-03-10 16:05:43,934 - INFO - CLOSED long at 2124.77 | PnL: -0.17% | $-0.52 +2025-03-10 16:05:43,934 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.4374535714287 | Take profit: 2092.833044642857 +2025-03-10 16:05:44,332 - INFO - TAKE PROFIT hit for short at 2092.833044642857 | PnL: 1.50% | $2.71 +2025-03-10 16:05:44,352 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5938535714286 | Take profit: 2068.483844642857 +2025-03-10 16:05:44,951 - INFO - TAKE PROFIT hit for short at 2068.483844642857 | PnL: 1.50% | $2.78 +2025-03-10 16:05:44,971 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.585103571429 | Take profit: 2017.5100946428572 +2025-03-10 16:05:45,010 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$2.75, Avg Loss=$-0.35 +2025-03-10 16:05:45,012 - INFO - Episode 14: Reward=-6.27, Balance=$104.08, Win Rate=33.3%, Trades=6, Episode PnL=$4.73, Total PnL=$34.65, Max Drawdown=0.0%, Pred Accuracy=97.3% +2025-03-10 16:05:45,012 - INFO - Refreshing data for episode 15 +2025-03-10 16:05:45,012 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:05:45,315 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:05:45,325 - INFO - Initialized environment with 100 candles +2025-03-10 16:05:46,011 - INFO - OPENED SHORT at 2123.61 | Stop loss: 2134.271653571429 | Take profit: 2091.690444642857 +2025-03-10 16:05:46,964 - INFO - TAKE PROFIT hit for short at 2091.690444642857 | PnL: 1.50% | $2.75 +2025-03-10 16:05:46,985 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5938535714286 | Take profit: 2068.483844642857 +2025-03-10 16:05:47,147 - INFO - CLOSED short at 2103.41 | PnL: -0.16% | $-0.52 +2025-03-10 16:05:47,308 - INFO - OPENED SHORT at 2099.22 | Stop loss: 2109.7597035714284 | Take profit: 2067.666294642857 +2025-03-10 16:05:47,735 - INFO - TAKE PROFIT hit for short at 2067.666294642857 | PnL: 1.50% | $2.81 +2025-03-10 16:05:47,778 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$-0.52 +2025-03-10 16:05:47,779 - INFO - Episode 15: Reward=-2.73, Balance=$105.04, Win Rate=66.7%, Trades=3, Episode PnL=$5.04, Total PnL=$39.69, Max Drawdown=0.5%, Pred Accuracy=97.8% +2025-03-10 16:05:47,779 - INFO - Refreshing data for episode 16 +2025-03-10 16:05:47,780 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:05:48,096 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:05:48,106 - INFO - Initialized environment with 100 candles +2025-03-10 16:05:48,691 - INFO - OPENED SHORT at 2114.78 | Stop loss: 2125.397503571429 | Take profit: 2082.992894642857 +2025-03-10 16:05:49,501 - INFO - TAKE PROFIT hit for short at 2082.992894642857 | PnL: 1.50% | $2.75 +2025-03-10 16:05:49,530 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2173535714287 | Take profit: 2053.4133446428573 +2025-03-10 16:05:49,724 - INFO - TAKE PROFIT hit for short at 2053.4133446428573 | PnL: 1.50% | $2.82 +2025-03-10 16:05:49,747 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.298603571429 | Take profit: 2020.1695946428572 +2025-03-10 16:05:49,766 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.79, Avg Loss=$0.00 +2025-03-10 16:05:49,767 - INFO - Episode 16: Reward=-4.72, Balance=$105.57, Win Rate=100.0%, Trades=2, Episode PnL=$5.57, Total PnL=$45.26, Max Drawdown=0.0%, Pred Accuracy=98.1% +2025-03-10 16:05:49,768 - INFO - Refreshing data for episode 17 +2025-03-10 16:05:49,768 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:05:50,099 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:05:50,108 - INFO - Initialized environment with 100 candles +2025-03-10 16:05:50,183 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7490035714286 | Take profit: 2093.1383946428573 +2025-03-10 16:05:50,508 - INFO - CLOSED short at 2116.52 | PnL: 0.40% | $0.59 +2025-03-10 16:05:50,533 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.6587035714283 | Take profit: 2087.169294642857 +2025-03-10 16:05:51,474 - INFO - TAKE PROFIT hit for short at 2087.169294642857 | PnL: 1.50% | $2.77 +2025-03-10 16:05:51,494 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0265035714287 | Take profit: 2049.3058946428573 +2025-03-10 16:05:51,669 - INFO - TAKE PROFIT hit for short at 2049.3058946428573 | PnL: 1.50% | $2.84 +2025-03-10 16:05:51,689 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.298603571429 | Take profit: 2020.1695946428572 +2025-03-10 16:05:51,709 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.07, Avg Loss=$0.00 +2025-03-10 16:05:51,710 - INFO - Episode 17: Reward=1.09, Balance=$106.20, Win Rate=100.0%, Trades=3, Episode PnL=$6.20, Total PnL=$51.46, Max Drawdown=0.0%, Pred Accuracy=98.2% +2025-03-10 16:05:51,850 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 16:05:51,851 - INFO - New best PnL model saved: $6.20 +2025-03-10 16:05:51,851 - INFO - Refreshing data for episode 18 +2025-03-10 16:05:51,851 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:05:52,181 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:05:52,190 - INFO - Initialized environment with 100 candles +2025-03-10 16:05:52,213 - INFO - OPENED SHORT at 2123.61 | Stop loss: 2134.271653571429 | Take profit: 2091.690444642857 +2025-03-10 16:05:53,012 - INFO - TAKE PROFIT hit for short at 2091.690444642857 | PnL: 1.50% | $2.75 +2025-03-10 16:05:53,059 - INFO - OPENED SHORT at 2096.36 | Stop loss: 2106.885403571429 | Take profit: 2064.8491946428576 +2025-03-10 16:05:53,636 - INFO - TAKE PROFIT hit for short at 2064.8491946428576 | PnL: 1.50% | $2.82 +2025-03-10 16:05:53,658 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.298603571429 | Take profit: 2020.1695946428572 +2025-03-10 16:05:53,683 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.79, Avg Loss=$0.00 +2025-03-10 16:05:53,683 - INFO - Episode 18: Reward=-0.06, Balance=$105.57, Win Rate=100.0%, Trades=2, Episode PnL=$5.57, Total PnL=$57.04, Max Drawdown=0.0%, Pred Accuracy=98.0% +2025-03-10 16:05:53,684 - INFO - Refreshing data for episode 19 +2025-03-10 16:05:53,684 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:05:54,028 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:05:54,037 - INFO - Initialized environment with 100 candles +2025-03-10 16:05:54,060 - INFO - OPENED SHORT at 2123.61 | Stop loss: 2134.271653571429 | Take profit: 2091.690444642857 +2025-03-10 16:05:54,306 - INFO - CLOSED short at 2120.54 | PnL: 0.14% | $0.09 +2025-03-10 16:05:54,327 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.6336035714285 | Take profit: 2086.164594642857 +2025-03-10 16:05:54,857 - INFO - CLOSED short at 2100.05 | PnL: 0.85% | $1.47 +2025-03-10 16:05:54,934 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.7145535714285 | Take profit: 2064.681744642857 +2025-03-10 16:05:55,476 - INFO - TAKE PROFIT hit for short at 2064.681744642857 | PnL: 1.50% | $2.79 +2025-03-10 16:05:55,517 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.45, Avg Loss=$0.00 +2025-03-10 16:05:55,518 - INFO - Episode 19: Reward=1.69, Balance=$104.35, Win Rate=100.0%, Trades=3, Episode PnL=$4.35, Total PnL=$61.38, Max Drawdown=0.0%, Pred Accuracy=97.9% +2025-03-10 16:05:55,518 - INFO - Refreshing data for episode 20 +2025-03-10 16:05:55,518 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:05:55,833 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:05:55,843 - INFO - Initialized environment with 100 candles +2025-03-10 16:05:56,515 - INFO - OPENED SHORT at 2123.61 | Stop loss: 2134.271653571429 | Take profit: 2091.690444642857 +2025-03-10 16:05:57,104 - INFO - CLOSED short at 2115.21 | PnL: 0.40% | $0.58 +2025-03-10 16:05:57,359 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5938535714286 | Take profit: 2068.483844642857 +2025-03-10 16:05:57,446 - INFO - CLOSED short at 2096.19 | PnL: 0.18% | $0.17 +2025-03-10 16:05:57,471 - INFO - OPENED SHORT at 2100.0 | Stop loss: 2110.543603571429 | Take profit: 2068.434594642857 +2025-03-10 16:05:57,496 - INFO - CLOSED short at 2102.83 | PnL: -0.13% | $-0.46 +2025-03-10 16:05:57,969 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.37, Avg Loss=$-0.46 +2025-03-10 16:05:57,970 - INFO - Episode 20: Reward=-6.41, Balance=$100.28, Win Rate=66.7%, Trades=3, Episode PnL=$0.28, Total PnL=$61.66, Max Drawdown=0.5%, Pred Accuracy=97.8% +2025-03-10 16:05:58,114 - INFO - Model saved to checkpoints/trading_agent_episode_20.pt +2025-03-10 16:05:58,115 - INFO - Checkpoint saved at episode 20 +2025-03-10 16:05:58,115 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:05:59,100 - INFO - Visualization saved for episode 20 +2025-03-10 16:06:00,960 - INFO - Visualization saved for episode 20 +2025-03-10 16:06:00,971 - INFO - Refreshing data for episode 21 +2025-03-10 16:06:00,971 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:06:01,318 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:06:01,327 - INFO - Initialized environment with 100 candles +2025-03-10 16:06:02,088 - INFO - OPENED LONG at 2114.32 | Stop loss: 2103.7047964285716 | Take profit: 2146.100205357143 +2025-03-10 16:06:02,109 - INFO - CLOSED long at 2114.57 | PnL: 0.01% | $-0.17 +2025-03-10 16:06:02,259 - INFO - OPENED SHORT at 2091.36 | Stop loss: 2101.860403571429 | Take profit: 2059.9241946428574 +2025-03-10 16:06:02,299 - INFO - CLOSED short at 2096.36 | PnL: -0.24% | $-0.66 +2025-03-10 16:06:02,344 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.332803571429 | Take profit: 2058.426994642857 +2025-03-10 16:06:02,375 - INFO - CLOSED short at 2096.19 | PnL: -0.30% | $-0.78 +2025-03-10 16:06:02,467 - INFO - OPENED SHORT at 2104.22 | Stop loss: 2114.7847035714285 | Take profit: 2072.591294642857 +2025-03-10 16:06:02,604 - INFO - CLOSED short at 2096.96 | PnL: 0.35% | $0.47 +2025-03-10 16:06:02,643 - INFO - OPENED SHORT at 2090.59 | Stop loss: 2101.086553571429 | Take profit: 2059.165744642857 +2025-03-10 16:06:02,665 - INFO - CLOSED short at 2090.99 | PnL: -0.02% | $-0.23 +2025-03-10 16:06:02,772 - INFO - OPENED SHORT at 2084.25 | Stop loss: 2094.7148535714286 | Take profit: 2052.920844642857 +2025-03-10 16:06:02,793 - INFO - CLOSED short at 2085.37 | PnL: -0.05% | $-0.30 +2025-03-10 16:06:02,793 - INFO - OPENED LONG at 2085.37 | Stop loss: 2074.8995464285713 | Take profit: 2116.715955357143 +2025-03-10 16:06:02,814 - INFO - CLOSED long at 2084.11 | PnL: -0.06% | $-0.31 +2025-03-10 16:06:02,899 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.585103571429 | Take profit: 2017.5100946428572 +2025-03-10 16:06:02,920 - INFO - CLOSED short at 2051.0 | PnL: -0.13% | $-0.44 +2025-03-10 16:06:02,940 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.47, Avg Loss=$-0.41 +2025-03-10 16:06:02,940 - INFO - Episode 21: Reward=-19.81, Balance=$97.57, Win Rate=12.5%, Trades=8, Episode PnL=$-2.43, Total PnL=$59.23, Max Drawdown=2.4%, Pred Accuracy=97.9% +2025-03-10 16:06:02,942 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:06:02,942 - INFO - Refreshing data for episode 22 +2025-03-10 16:06:02,942 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:06:03,262 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:06:03,271 - INFO - Initialized environment with 100 candles +2025-03-10 16:06:03,315 - INFO - OPENED SHORT at 2123.02 | Stop loss: 2133.6787035714287 | Take profit: 2091.109294642857 +2025-03-10 16:06:03,337 - INFO - CLOSED short at 2125.08 | PnL: -0.10% | $-0.39 +2025-03-10 16:06:03,360 - INFO - OPENED SHORT at 2125.77 | Stop loss: 2136.442453571429 | Take profit: 2093.818044642857 +2025-03-10 16:06:03,401 - INFO - CLOSED short at 2126.32 | PnL: -0.03% | $-0.25 +2025-03-10 16:06:03,423 - INFO - OPENED SHORT at 2126.7 | Stop loss: 2137.377103571428 | Take profit: 2094.7340946428567 +2025-03-10 16:06:03,608 - INFO - CLOSED short at 2116.52 | PnL: 0.48% | $0.74 +2025-03-10 16:06:03,629 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.6587035714283 | Take profit: 2087.169294642857 +2025-03-10 16:06:03,776 - INFO - CLOSED short at 2114.78 | PnL: 0.20% | $0.20 +2025-03-10 16:06:03,776 - INFO - OPENED LONG at 2114.78 | Stop loss: 2104.1624964285716 | Take profit: 2146.567105357143 +2025-03-10 16:06:03,801 - INFO - CLOSED long at 2115.52 | PnL: 0.03% | $-0.13 +2025-03-10 16:06:03,801 - INFO - OPENED SHORT at 2115.52 | Stop loss: 2126.1412035714284 | Take profit: 2083.7217946428573 +2025-03-10 16:06:03,918 - INFO - CLOSED short at 2115.11 | PnL: 0.02% | $-0.16 +2025-03-10 16:06:03,947 - INFO - OPENED SHORT at 2114.32 | Stop loss: 2124.9352035714287 | Take profit: 2082.5397946428575 +2025-03-10 16:06:04,148 - INFO - CLOSED short at 2096.36 | PnL: 0.85% | $1.47 +2025-03-10 16:06:04,167 - INFO - OPENED SHORT at 2089.04 | Stop loss: 2099.5288035714284 | Take profit: 2057.638994642857 +2025-03-10 16:06:04,241 - INFO - STOP LOSS hit for short at 2099.5288035714284 | PnL: -0.50% | $-1.20 +2025-03-10 16:06:04,264 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.3877535714287 | Take profit: 2071.222144642857 +2025-03-10 16:06:04,449 - INFO - CLOSED short at 2096.96 | PnL: 0.28% | $0.35 +2025-03-10 16:06:04,478 - INFO - OPENED SHORT at 2098.66 | Stop loss: 2109.1969035714283 | Take profit: 2067.114694642857 +2025-03-10 16:06:04,683 - INFO - CLOSED short at 2083.07 | PnL: 0.74% | $1.27 +2025-03-10 16:06:04,704 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.4889535714287 | Take profit: 2043.8785446428574 +2025-03-10 16:06:04,727 - INFO - CLOSED short at 2067.71 | PnL: 0.35% | $0.51 +2025-03-10 16:06:04,751 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.585103571429 | Take profit: 2017.5100946428572 +2025-03-10 16:06:04,793 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$0.76, Avg Loss=$-0.42 +2025-03-10 16:06:04,793 - INFO - Episode 22: Reward=2.55, Balance=$102.42, Win Rate=54.5%, Trades=11, Episode PnL=$2.54, Total PnL=$61.65, Max Drawdown=1.2%, Pred Accuracy=98.0% +2025-03-10 16:06:04,794 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:06:04,794 - INFO - Refreshing data for episode 23 +2025-03-10 16:06:04,794 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:06:05,116 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:06:05,125 - INFO - Initialized environment with 100 candles +2025-03-10 16:06:05,173 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7473678571428 | Take profit: 2093.1408482142856 +2025-03-10 16:06:05,220 - INFO - CLOSED short at 2126.13 | PnL: -0.05% | $-0.29 +2025-03-10 16:06:05,220 - INFO - OPENED LONG at 2126.13 | Stop loss: 2115.457382142857 | Take profit: 2158.0849017857145 +2025-03-10 16:06:05,241 - INFO - CLOSED long at 2126.32 | PnL: 0.01% | $-0.18 +2025-03-10 16:06:05,268 - INFO - OPENED SHORT at 2126.7 | Stop loss: 2137.3754678571427 | Take profit: 2094.7365482142854 +2025-03-10 16:06:05,416 - INFO - CLOSED short at 2118.0 | PnL: 0.41% | $0.60 +2025-03-10 16:06:05,438 - INFO - OPENED SHORT at 2121.8 | Stop loss: 2132.450967857143 | Take profit: 2089.910048214286 +2025-03-10 16:06:05,501 - INFO - CLOSED short at 2119.02 | PnL: 0.13% | $0.06 +2025-03-10 16:06:05,531 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.606767857143 | Take profit: 2089.0826482142857 +2025-03-10 16:06:05,825 - INFO - CLOSED short at 2114.57 | PnL: 0.30% | $0.40 +2025-03-10 16:06:05,846 - INFO - OPENED SHORT at 2112.57 | Stop loss: 2123.174817857143 | Take profit: 2080.818498214286 +2025-03-10 16:06:05,937 - INFO - CLOSED short at 2098.24 | PnL: 0.68% | $1.14 +2025-03-10 16:06:05,981 - INFO - OPENED SHORT at 2091.36 | Stop loss: 2101.858767857143 | Take profit: 2059.9266482142857 +2025-03-10 16:06:06,123 - INFO - STOP LOSS hit for short at 2101.858767857143 | PnL: -0.50% | $-1.20 +2025-03-10 16:06:06,150 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9690178571427 | Take profit: 2071.7958982142854 +2025-03-10 16:06:06,559 - INFO - TAKE PROFIT hit for short at 2071.7958982142854 | PnL: 1.50% | $2.77 +2025-03-10 16:06:06,578 - INFO - OPENED LONG at 2048.3 | Stop loss: 2038.0165321428572 | Take profit: 2079.0874517857146 +2025-03-10 16:06:06,626 - INFO - CLOSED long at 2043.51 | PnL: -0.23% | $-0.68 +2025-03-10 16:06:06,627 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.769517857143 | Take profit: 2012.7943982142856 +2025-03-10 16:06:06,651 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 33.3% in downtrends | Avg Win=$0.99, Avg Loss=$-0.59 +2025-03-10 16:06:06,651 - INFO - Episode 23: Reward=-1.22, Balance=$102.62, Win Rate=55.6%, Trades=9, Episode PnL=$3.29, Total PnL=$64.27, Max Drawdown=1.2%, Pred Accuracy=97.8% +2025-03-10 16:06:06,652 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:06:06,652 - INFO - Refreshing data for episode 24 +2025-03-10 16:06:06,652 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:06:06,984 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:06:06,995 - INFO - Initialized environment with 100 candles +2025-03-10 16:06:07,135 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.9946392857146 | Take profit: 2094.3606410714287 +2025-03-10 16:06:07,244 - INFO - CLOSED short at 2120.48 | PnL: 0.27% | $0.34 +2025-03-10 16:06:07,286 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.633039285714 | Take profit: 2086.1654410714286 +2025-03-10 16:06:07,407 - INFO - CLOSED short at 2124.9 | PnL: -0.33% | $-0.84 +2025-03-10 16:06:07,408 - INFO - OPENED LONG at 2124.9 | Stop loss: 2114.232460714286 | Take profit: 2156.838058928571 +2025-03-10 16:06:07,431 - INFO - CLOSED long at 2128.33 | PnL: 0.16% | $0.12 +2025-03-10 16:06:07,431 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.014689285714 | Take profit: 2096.3404910714285 +2025-03-10 16:06:07,508 - INFO - CLOSED short at 2114.78 | PnL: 0.64% | $1.05 +2025-03-10 16:06:07,528 - INFO - OPENED LONG at 2115.52 | Stop loss: 2104.8993607142856 | Take profit: 2147.317358928571 +2025-03-10 16:06:07,550 - INFO - CLOSED long at 2114.75 | PnL: -0.04% | $-0.27 +2025-03-10 16:06:07,550 - INFO - OPENED SHORT at 2114.75 | Stop loss: 2125.3667892857143 | Take profit: 2082.9641910714286 +2025-03-10 16:06:07,941 - INFO - CLOSED short at 2100.0 | PnL: 0.70% | $1.18 +2025-03-10 16:06:07,992 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9700892857145 | Take profit: 2071.7942910714287 +2025-03-10 16:06:08,054 - INFO - CLOSED short at 2105.26 | PnL: -0.09% | $-0.37 +2025-03-10 16:06:08,054 - INFO - OPENED LONG at 2105.26 | Stop loss: 2094.690660714286 | Take profit: 2136.9034589285716 +2025-03-10 16:06:08,073 - INFO - CLOSED long at 2099.63 | PnL: -0.27% | $-0.73 +2025-03-10 16:06:08,073 - INFO - OPENED SHORT at 2099.63 | Stop loss: 2110.1711892857147 | Take profit: 2068.0709910714286 +2025-03-10 16:06:08,272 - INFO - CLOSED short at 2081.0 | PnL: 0.89% | $1.55 +2025-03-10 16:06:08,302 - INFO - OPENED SHORT at 2084.25 | Stop loss: 2094.714289285714 | Take profit: 2052.9216910714285 +2025-03-10 16:06:08,433 - INFO - TAKE PROFIT hit for short at 2052.9216910714285 | PnL: 1.50% | $2.81 +2025-03-10 16:06:08,491 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 33.3% in downtrends | Avg Win=$1.17, Avg Loss=$-0.55 +2025-03-10 16:06:08,491 - INFO - Episode 24: Reward=-2.28, Balance=$104.83, Win Rate=60.0%, Trades=10, Episode PnL=$5.71, Total PnL=$69.10, Max Drawdown=0.0%, Pred Accuracy=97.8% +2025-03-10 16:06:08,492 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:06:08,492 - INFO - Refreshing data for episode 25 +2025-03-10 16:06:08,492 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:06:08,800 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:06:08,809 - INFO - Initialized environment with 100 candles +2025-03-10 16:06:09,489 - INFO - OPENED SHORT at 2123.02 | Stop loss: 2133.6781392857147 | Take profit: 2091.1101410714286 +2025-03-10 16:06:09,519 - INFO - CLOSED short at 2125.08 | PnL: -0.10% | $-0.39 +2025-03-10 16:06:09,544 - INFO - OPENED SHORT at 2125.77 | Stop loss: 2136.4418892857143 | Take profit: 2093.8188910714284 +2025-03-10 16:06:09,568 - INFO - CLOSED short at 2126.13 | PnL: -0.02% | $-0.23 +2025-03-10 16:06:09,612 - INFO - OPENED SHORT at 2126.7 | Stop loss: 2137.376539285714 | Take profit: 2094.7349410714282 +2025-03-10 16:06:09,977 - INFO - CLOSED short at 2114.78 | PnL: 0.56% | $0.90 +2025-03-10 16:06:10,021 - INFO - OPENED SHORT at 2114.75 | Stop loss: 2125.3667892857143 | Take profit: 2082.9641910714286 +2025-03-10 16:06:10,112 - INFO - CLOSED short at 2115.11 | PnL: -0.02% | $-0.23 +2025-03-10 16:06:10,139 - INFO - OPENED SHORT at 2114.32 | Stop loss: 2124.9346392857146 | Take profit: 2082.5406410714286 +2025-03-10 16:06:10,185 - INFO - CLOSED short at 2112.57 | PnL: 0.08% | $-0.03 +2025-03-10 16:06:10,251 - INFO - OPENED SHORT at 2115.07 | Stop loss: 2125.688389285714 | Take profit: 2083.2793910714286 +2025-03-10 16:06:10,534 - INFO - CLOSED short at 2105.26 | PnL: 0.46% | $0.71 +2025-03-10 16:06:10,554 - INFO - OPENED SHORT at 2099.63 | Stop loss: 2110.1711892857147 | Take profit: 2068.0709910714286 +2025-03-10 16:06:10,655 - INFO - CLOSED short at 2090.59 | PnL: 0.43% | $0.65 +2025-03-10 16:06:10,655 - INFO - OPENED LONG at 2090.59 | Stop loss: 2080.0940107142856 | Take profit: 2122.0134089285716 +2025-03-10 16:06:10,680 - INFO - CLOSED long at 2090.99 | PnL: 0.02% | $-0.16 +2025-03-10 16:06:10,681 - INFO - OPENED SHORT at 2090.99 | Stop loss: 2101.4879892857143 | Take profit: 2059.5605910714285 +2025-03-10 16:06:10,933 - INFO - TAKE PROFIT hit for short at 2059.5605910714285 | PnL: 1.50% | $2.78 +2025-03-10 16:06:10,993 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.26, Avg Loss=$-0.21 +2025-03-10 16:06:10,994 - INFO - Episode 25: Reward=-3.85, Balance=$104.01, Win Rate=44.4%, Trades=9, Episode PnL=$4.17, Total PnL=$73.11, Max Drawdown=0.6%, Pred Accuracy=97.8% +2025-03-10 16:06:10,994 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:06:10,995 - INFO - Refreshing data for episode 26 +2025-03-10 16:06:10,995 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:06:11,302 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:06:11,312 - INFO - Initialized environment with 100 candles +2025-03-10 16:06:11,338 - INFO - OPENED SHORT at 2123.02 | Stop loss: 2133.6781392857147 | Take profit: 2091.1101410714286 +2025-03-10 16:06:11,429 - INFO - CLOSED short at 2126.32 | PnL: -0.16% | $-0.50 +2025-03-10 16:06:11,451 - INFO - OPENED SHORT at 2126.7 | Stop loss: 2137.376539285714 | Take profit: 2094.7349410714282 +2025-03-10 16:06:11,477 - INFO - CLOSED short at 2122.01 | PnL: 0.22% | $0.24 +2025-03-10 16:06:11,521 - INFO - OPENED SHORT at 2122.24 | Stop loss: 2132.894239285714 | Take profit: 2090.3418410714285 +2025-03-10 16:06:12,004 - INFO - CLOSED short at 2113.28 | PnL: 0.42% | $0.63 +2025-03-10 16:06:12,026 - INFO - OPENED SHORT at 2114.5 | Stop loss: 2125.1155392857145 | Take profit: 2082.7179410714284 +2025-03-10 16:06:12,332 - INFO - CLOSED short at 2104.67 | PnL: 0.46% | $0.72 +2025-03-10 16:06:12,333 - INFO - OPENED LONG at 2104.67 | Stop loss: 2094.103610714286 | Take profit: 2136.3046089285713 +2025-03-10 16:06:12,353 - INFO - CLOSED long at 2105.26 | PnL: 0.03% | $-0.14 +2025-03-10 16:06:12,419 - INFO - OPENED SHORT at 2094.16 | Stop loss: 2104.673839285714 | Take profit: 2062.6830410714283 +2025-03-10 16:06:12,442 - INFO - CLOSED short at 2096.96 | PnL: -0.13% | $-0.46 +2025-03-10 16:06:12,491 - INFO - OPENED SHORT at 2090.59 | Stop loss: 2101.0859892857143 | Take profit: 2059.1665910714287 +2025-03-10 16:06:12,573 - INFO - CLOSED short at 2084.75 | PnL: 0.28% | $0.35 +2025-03-10 16:06:12,595 - INFO - OPENED SHORT at 2081.0 | Stop loss: 2091.4480392857145 | Take profit: 2049.7204410714285 +2025-03-10 16:06:12,617 - INFO - CLOSED short at 2084.25 | PnL: -0.16% | $-0.51 +2025-03-10 16:06:12,735 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5845392857145 | Take profit: 2017.5109410714288 +2025-03-10 16:06:12,783 - INFO - CLOSED short at 2043.51 | PnL: 0.23% | $0.26 +2025-03-10 16:06:12,804 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$0.44, Avg Loss=$-0.40 +2025-03-10 16:06:12,804 - INFO - Episode 26: Reward=-2.56, Balance=$100.59, Win Rate=55.6%, Trades=9, Episode PnL=$0.59, Total PnL=$73.69, Max Drawdown=0.6%, Pred Accuracy=97.8% +2025-03-10 16:06:12,805 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:06:12,805 - INFO - Refreshing data for episode 27 +2025-03-10 16:06:12,805 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:06:13,105 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:06:13,115 - INFO - Initialized environment with 100 candles +2025-03-10 16:06:13,222 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.9947071428574 | Take profit: 2094.3605392857144 +2025-03-10 16:06:13,243 - INFO - CLOSED short at 2126.7 | PnL: -0.02% | $-0.23 +2025-03-10 16:06:13,474 - INFO - OPENED LONG at 2120.96 | Stop loss: 2110.312092857143 | Take profit: 2152.8390607142856 +2025-03-10 16:06:13,518 - INFO - CLOSED long at 2128.33 | PnL: 0.35% | $0.48 +2025-03-10 16:06:13,701 - INFO - OPENED LONG at 2114.1 | Stop loss: 2103.4863928571426 | Take profit: 2145.8761607142856 +2025-03-10 16:06:13,742 - INFO - CLOSED long at 2114.32 | PnL: 0.01% | $-0.18 +2025-03-10 16:06:13,743 - INFO - OPENED SHORT at 2114.32 | Stop loss: 2124.9347071428574 | Take profit: 2082.540539285714 +2025-03-10 16:06:13,764 - INFO - CLOSED short at 2114.57 | PnL: -0.01% | $-0.22 +2025-03-10 16:06:13,787 - INFO - OPENED SHORT at 2112.57 | Stop loss: 2123.175957142857 | Take profit: 2080.8167892857145 +2025-03-10 16:06:14,068 - INFO - CLOSED short at 2102.83 | PnL: 0.46% | $0.71 +2025-03-10 16:06:14,193 - INFO - OPENED SHORT at 2099.63 | Stop loss: 2110.171257142857 | Take profit: 2068.070889285714 +2025-03-10 16:06:14,271 - INFO - CLOSED short at 2096.96 | PnL: 0.13% | $0.05 +2025-03-10 16:06:14,343 - INFO - OPENED SHORT at 2090.99 | Stop loss: 2101.488057142857 | Take profit: 2059.560489285714 +2025-03-10 16:06:14,388 - INFO - CLOSED short at 2080.58 | PnL: 0.50% | $0.78 +2025-03-10 16:06:14,412 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2168571428574 | Take profit: 2053.4140892857145 +2025-03-10 16:06:14,586 - INFO - TAKE PROFIT hit for short at 2053.4140892857145 | PnL: 1.50% | $2.79 +2025-03-10 16:06:14,609 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.298107142857 | Take profit: 2020.1703392857144 +2025-03-10 16:06:14,657 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$0.96, Avg Loss=$-0.21 +2025-03-10 16:06:14,657 - INFO - Episode 27: Reward=-6.38, Balance=$104.19, Win Rate=62.5%, Trades=8, Episode PnL=$4.37, Total PnL=$77.88, Max Drawdown=0.4%, Pred Accuracy=97.8% +2025-03-10 16:06:14,658 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:06:14,658 - INFO - Refreshing data for episode 28 +2025-03-10 16:06:14,658 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:06:14,961 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:06:14,970 - INFO - Initialized environment with 100 candles +2025-03-10 16:06:15,044 - INFO - OPENED SHORT at 2125.77 | Stop loss: 2136.4420285714286 | Take profit: 2093.818682142857 +2025-03-10 16:06:15,108 - INFO - CLOSED short at 2126.7 | PnL: -0.04% | $-0.28 +2025-03-10 16:06:15,133 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.6632285714286 | Take profit: 2090.1150821428573 +2025-03-10 16:06:15,324 - INFO - CLOSED short at 2119.02 | PnL: 0.14% | $0.08 +2025-03-10 16:06:15,351 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.6079785714282 | Take profit: 2089.080832142857 +2025-03-10 16:06:15,374 - INFO - CLOSED short at 2124.9 | PnL: -0.19% | $-0.56 +2025-03-10 16:06:15,374 - INFO - OPENED LONG at 2124.9 | Stop loss: 2114.2323214285716 | Take profit: 2156.838267857143 +2025-03-10 16:06:15,399 - INFO - CLOSED long at 2128.33 | PnL: 0.16% | $0.12 +2025-03-10 16:06:15,399 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.0148285714286 | Take profit: 2096.340282142857 +2025-03-10 16:06:15,841 - INFO - TAKE PROFIT hit for short at 2096.340282142857 | PnL: 1.50% | $2.73 +2025-03-10 16:06:15,867 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.593428571429 | Take profit: 2068.4844821428574 +2025-03-10 16:06:16,453 - INFO - TAKE PROFIT hit for short at 2068.4844821428574 | PnL: 1.50% | $2.81 +2025-03-10 16:06:16,480 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.584678571429 | Take profit: 2017.5107321428573 +2025-03-10 16:06:16,520 - INFO - CLOSED short at 2043.51 | PnL: 0.23% | $0.28 +2025-03-10 16:06:16,541 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$1.20, Avg Loss=$-0.42 +2025-03-10 16:06:16,542 - INFO - Episode 28: Reward=-0.70, Balance=$105.17, Win Rate=71.4%, Trades=7, Episode PnL=$5.05, Total PnL=$83.06, Max Drawdown=0.3%, Pred Accuracy=97.8% +2025-03-10 16:06:16,542 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:06:16,542 - INFO - Refreshing data for episode 29 +2025-03-10 16:06:16,543 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:06:16,847 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:06:16,856 - INFO - Initialized environment with 100 candles +2025-03-10 16:06:16,882 - INFO - OPENED SHORT at 2123.02 | Stop loss: 2133.6782785714286 | Take profit: 2091.1099321428574 +2025-03-10 16:06:17,007 - INFO - CLOSED short at 2126.7 | PnL: -0.17% | $-0.54 +2025-03-10 16:06:17,030 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.6632285714286 | Take profit: 2090.1150821428573 +2025-03-10 16:06:17,770 - INFO - TAKE PROFIT hit for short at 2090.1150821428573 | PnL: 1.50% | $2.74 +2025-03-10 16:06:17,811 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.7141285714283 | Take profit: 2064.6823821428575 +2025-03-10 16:06:17,853 - INFO - CLOSED short at 2102.83 | PnL: -0.32% | $-0.83 +2025-03-10 16:06:17,903 - INFO - OPENED SHORT at 2104.22 | Stop loss: 2114.7842785714283 | Take profit: 2072.591932142857 +2025-03-10 16:06:17,960 - INFO - CLOSED short at 2099.63 | PnL: 0.22% | $0.23 +2025-03-10 16:06:17,960 - INFO - OPENED LONG at 2099.63 | Stop loss: 2089.0886714285716 | Take profit: 2131.189217857143 +2025-03-10 16:06:17,981 - INFO - CLOSED long at 2099.22 | PnL: -0.02% | $-0.24 +2025-03-10 16:06:17,981 - INFO - OPENED SHORT at 2099.22 | Stop loss: 2109.7592785714282 | Take profit: 2067.666932142857 +2025-03-10 16:06:18,220 - INFO - CLOSED short at 2084.11 | PnL: 0.72% | $1.23 +2025-03-10 16:06:18,220 - INFO - OPENED LONG at 2084.11 | Stop loss: 2073.6462714285717 | Take profit: 2115.436417857143 +2025-03-10 16:06:18,244 - INFO - CLOSED long at 2083.07 | PnL: -0.05% | $-0.30 +2025-03-10 16:06:18,244 - INFO - OPENED SHORT at 2083.07 | Stop loss: 2093.5285285714285 | Take profit: 2051.7591821428573 +2025-03-10 16:06:18,319 - INFO - TAKE PROFIT hit for short at 2051.7591821428573 | PnL: 1.50% | $2.81 +2025-03-10 16:06:18,344 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.2981785714283 | Take profit: 2020.1702321428572 +2025-03-10 16:06:18,388 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.75, Avg Loss=$-0.48 +2025-03-10 16:06:18,389 - INFO - Episode 29: Reward=-4.09, Balance=$105.10, Win Rate=50.0%, Trades=8, Episode PnL=$5.64, Total PnL=$88.16, Max Drawdown=0.8%, Pred Accuracy=97.8% +2025-03-10 16:06:18,390 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:06:18,390 - INFO - Refreshing data for episode 30 +2025-03-10 16:06:18,390 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:06:18,709 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:06:18,718 - INFO - Initialized environment with 100 candles +2025-03-10 16:06:19,370 - INFO - OPENED LONG at 2123.02 | Stop loss: 2112.3617214285714 | Take profit: 2154.9300678571426 +2025-03-10 16:06:19,407 - INFO - CLOSED long at 2125.08 | PnL: 0.10% | $-0.01 +2025-03-10 16:06:19,407 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.748578571429 | Take profit: 2093.139032142857 +2025-03-10 16:06:20,013 - INFO - CLOSED short at 2114.32 | PnL: 0.51% | $0.80 +2025-03-10 16:06:20,034 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.186028571429 | Take profit: 2082.7866821428574 +2025-03-10 16:06:20,521 - INFO - CLOSED short at 2098.66 | PnL: 0.75% | $1.29 +2025-03-10 16:06:20,546 - INFO - OPENED LONG at 2090.59 | Stop loss: 2080.0938714285717 | Take profit: 2122.013617857143 +2025-03-10 16:06:20,570 - INFO - CLOSED long at 2090.99 | PnL: 0.02% | $-0.16 +2025-03-10 16:06:20,570 - INFO - OPENED SHORT at 2090.99 | Stop loss: 2101.4881285714287 | Take profit: 2059.5603821428567 +2025-03-10 16:06:20,596 - INFO - CLOSED short at 2084.95 | PnL: 0.29% | $0.38 +2025-03-10 16:06:20,596 - INFO - OPENED LONG at 2084.95 | Stop loss: 2074.4820714285715 | Take profit: 2116.289017857143 +2025-03-10 16:06:20,620 - INFO - CLOSED long at 2080.58 | PnL: -0.21% | $-0.62 +2025-03-10 16:06:20,620 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0260785714286 | Take profit: 2049.306532142857 +2025-03-10 16:06:20,735 - INFO - CLOSED short at 2084.11 | PnL: -0.17% | $-0.54 +2025-03-10 16:06:20,735 - INFO - OPENED LONG at 2084.11 | Stop loss: 2073.6462714285717 | Take profit: 2115.436417857143 +2025-03-10 16:06:20,782 - INFO - CLOSED long at 2075.07 | PnL: -0.43% | $-1.06 +2025-03-10 16:06:20,782 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.488528571429 | Take profit: 2043.8791821428572 +2025-03-10 16:06:20,870 - INFO - TAKE PROFIT hit for short at 2043.8791821428572 | PnL: 1.50% | $2.75 +2025-03-10 16:06:20,889 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$1.30, Avg Loss=$-0.48 +2025-03-10 16:06:20,890 - INFO - Episode 30: Reward=-5.20, Balance=$102.83, Win Rate=44.4%, Trades=9, Episode PnL=$4.68, Total PnL=$90.99, Max Drawdown=0.0%, Pred Accuracy=97.9% +2025-03-10 16:06:21,031 - INFO - Model saved to checkpoints/trading_agent_episode_30.pt +2025-03-10 16:06:21,032 - INFO - Checkpoint saved at episode 30 +2025-03-10 16:06:21,032 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:06:21,876 - INFO - Visualization saved for episode 30 +2025-03-10 16:06:23,696 - INFO - Visualization saved for episode 30 +2025-03-10 16:06:23,710 - INFO - Refreshing data for episode 31 +2025-03-10 16:06:23,710 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:06:24,005 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:06:24,015 - INFO - Initialized environment with 100 candles +2025-03-10 16:06:24,135 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7500035714284 | Take profit: 2093.136894642857 +2025-03-10 16:06:24,167 - INFO - CLOSED short at 2125.77 | PnL: -0.03% | $-0.26 +2025-03-10 16:06:24,195 - INFO - OPENED LONG at 2126.13 | Stop loss: 2115.4547464285715 | Take profit: 2158.088855357143 +2025-03-10 16:06:24,223 - INFO - CLOSED long at 2126.32 | PnL: 0.01% | $-0.18 +2025-03-10 16:06:24,224 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.996203571429 | Take profit: 2094.3582946428573 +2025-03-10 16:06:24,260 - INFO - CLOSED short at 2126.7 | PnL: -0.02% | $-0.23 +2025-03-10 16:06:24,293 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.664653571429 | Take profit: 2090.112944642857 +2025-03-10 16:06:24,369 - INFO - CLOSED short at 2120.48 | PnL: 0.07% | $-0.05 +2025-03-10 16:06:24,370 - INFO - OPENED LONG at 2120.48 | Stop loss: 2109.8329964285713 | Take profit: 2152.354105357143 +2025-03-10 16:06:24,393 - INFO - CLOSED long at 2120.54 | PnL: 0.00% | $-0.19 +2025-03-10 16:06:24,393 - INFO - OPENED SHORT at 2120.54 | Stop loss: 2131.1873035714284 | Take profit: 2088.664994642857 +2025-03-10 16:06:24,659 - INFO - CLOSED short at 2116.81 | PnL: 0.18% | $0.15 +2025-03-10 16:06:24,660 - INFO - OPENED LONG at 2116.81 | Stop loss: 2106.1813464285715 | Take profit: 2148.6290553571425 +2025-03-10 16:06:24,692 - INFO - CLOSED long at 2114.78 | PnL: -0.10% | $-0.38 +2025-03-10 16:06:24,692 - INFO - OPENED SHORT at 2114.78 | Stop loss: 2125.398503571429 | Take profit: 2082.9913946428574 +2025-03-10 16:06:24,800 - INFO - CLOSED short at 2114.1 | PnL: 0.03% | $-0.13 +2025-03-10 16:06:24,844 - INFO - OPENED SHORT at 2114.32 | Stop loss: 2124.936203571429 | Take profit: 2082.538294642857 +2025-03-10 16:06:24,951 - INFO - CLOSED short at 2115.07 | PnL: -0.04% | $-0.26 +2025-03-10 16:06:24,952 - INFO - OPENED LONG at 2115.07 | Stop loss: 2104.4500464285716 | Take profit: 2146.8629553571427 +2025-03-10 16:06:24,973 - INFO - STOP LOSS hit for long at 2104.4500464285716 | PnL: -0.50% | $-1.16 +2025-03-10 16:06:24,996 - INFO - OPENED SHORT at 2098.28 | Stop loss: 2108.816003571429 | Take profit: 2066.7388946428573 +2025-03-10 16:06:25,123 - INFO - CLOSED short at 2089.84 | PnL: 0.40% | $0.58 +2025-03-10 16:06:25,124 - INFO - OPENED LONG at 2089.84 | Stop loss: 2079.3461964285716 | Take profit: 2121.254505357143 +2025-03-10 16:06:25,152 - INFO - CLOSED long at 2096.19 | PnL: 0.30% | $0.39 +2025-03-10 16:06:25,153 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.7155535714287 | Take profit: 2064.6802446428574 +2025-03-10 16:06:25,317 - INFO - CLOSED short at 2105.26 | PnL: -0.43% | $-1.03 +2025-03-10 16:06:25,317 - INFO - OPENED LONG at 2105.26 | Stop loss: 2094.6890964285717 | Take profit: 2136.905805357143 +2025-03-10 16:06:25,339 - INFO - CLOSED long at 2099.63 | PnL: -0.27% | $-0.70 +2025-03-10 16:06:25,339 - INFO - OPENED SHORT at 2099.63 | Stop loss: 2110.1727535714285 | Take profit: 2068.068644642857 +2025-03-10 16:06:25,696 - INFO - TAKE PROFIT hit for short at 2068.068644642857 | PnL: 1.50% | $2.65 +2025-03-10 16:06:25,722 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.586103571429 | Take profit: 2017.5085946428574 +2025-03-10 16:06:25,796 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 42.9% in downtrends | Avg Win=$0.94, Avg Loss=$-0.42 +2025-03-10 16:06:25,796 - INFO - Episode 31: Reward=-13.81, Balance=$99.20, Win Rate=26.7%, Trades=15, Episode PnL=$0.25, Total PnL=$90.19, Max Drawdown=2.7%, Pred Accuracy=97.8% +2025-03-10 16:06:25,797 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:06:25,797 - INFO - Refreshing data for episode 32 +2025-03-10 16:06:25,798 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:06:26,104 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:06:26,115 - INFO - Initialized environment with 100 candles +2025-03-10 16:06:26,135 - INFO - OPENED SHORT at 2123.02 | Stop loss: 2133.6797035714285 | Take profit: 2091.1077946428572 +2025-03-10 16:06:26,994 - INFO - CLOSED short at 2091.36 | PnL: 1.49% | $2.73 +2025-03-10 16:06:27,022 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5948535714288 | Take profit: 2068.4823446428572 +2025-03-10 16:06:27,680 - INFO - TAKE PROFIT hit for short at 2068.4823446428572 | PnL: 1.50% | $2.82 +2025-03-10 16:06:27,754 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.7721535714286 | Take profit: 2012.7904446428572 +2025-03-10 16:06:27,779 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.77, Avg Loss=$0.00 +2025-03-10 16:06:27,780 - INFO - Episode 32: Reward=2.19, Balance=$105.55, Win Rate=100.0%, Trades=2, Episode PnL=$5.55, Total PnL=$95.74, Max Drawdown=0.0%, Pred Accuracy=97.9% +2025-03-10 16:06:27,780 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:06:27,781 - INFO - Refreshing data for episode 33 +2025-03-10 16:06:27,781 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:06:28,114 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:06:28,125 - INFO - Initialized environment with 100 candles +2025-03-10 16:06:28,150 - INFO - OPENED SHORT at 2123.02 | Stop loss: 2133.6797035714285 | Take profit: 2091.1077946428572 +2025-03-10 16:06:28,301 - INFO - CLOSED short at 2122.01 | PnL: 0.05% | $-0.10 +2025-03-10 16:06:28,378 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.1270035714288 | Take profit: 2088.605894642857 +2025-03-10 16:06:28,400 - INFO - CLOSED short at 2120.54 | PnL: -0.00% | $-0.20 +2025-03-10 16:06:28,425 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.6346035714287 | Take profit: 2086.1630946428572 +2025-03-10 16:06:29,446 - INFO - CLOSED short at 2098.66 | PnL: 0.91% | $1.59 +2025-03-10 16:06:29,520 - INFO - OPENED SHORT at 2084.95 | Stop loss: 2095.4193535714285 | Take profit: 2053.608844642857 +2025-03-10 16:06:29,689 - INFO - CLOSED short at 2083.07 | PnL: 0.09% | $-0.02 +2025-03-10 16:06:29,712 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.489953571429 | Take profit: 2043.8770446428573 +2025-03-10 16:06:29,810 - INFO - TAKE PROFIT hit for short at 2043.8770446428573 | PnL: 1.50% | $2.78 +2025-03-10 16:06:29,840 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.19, Avg Loss=$-0.11 +2025-03-10 16:06:29,841 - INFO - Episode 33: Reward=-2.80, Balance=$104.05, Win Rate=40.0%, Trades=5, Episode PnL=$4.05, Total PnL=$99.78, Max Drawdown=0.3%, Pred Accuracy=97.9% +2025-03-10 16:06:29,841 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:06:29,841 - INFO - Refreshing data for episode 34 +2025-03-10 16:06:29,842 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:06:30,154 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:06:30,163 - INFO - Initialized environment with 100 candles +2025-03-10 16:06:30,260 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.8052535714287 | Take profit: 2094.171144642857 +2025-03-10 16:06:30,336 - INFO - CLOSED short at 2122.01 | PnL: 0.19% | $0.18 +2025-03-10 16:06:30,431 - INFO - OPENED SHORT at 2120.54 | Stop loss: 2131.1873035714284 | Take profit: 2088.664994642857 +2025-03-10 16:06:30,526 - INFO - CLOSED short at 2116.52 | PnL: 0.19% | $0.18 +2025-03-10 16:06:30,638 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.0162535714285 | Take profit: 2096.338144642857 +2025-03-10 16:06:31,076 - INFO - CLOSED short at 2098.28 | PnL: 1.41% | $2.58 +2025-03-10 16:06:31,171 - INFO - OPENED SHORT at 2089.04 | Stop loss: 2099.529803571428 | Take profit: 2057.637494642857 +2025-03-10 16:06:31,245 - INFO - STOP LOSS hit for short at 2099.529803571428 | PnL: -0.50% | $-1.21 +2025-03-10 16:06:31,374 - INFO - OPENED SHORT at 2105.26 | Stop loss: 2115.8309035714287 | Take profit: 2073.6141946428575 +2025-03-10 16:06:31,496 - INFO - CLOSED short at 2098.66 | PnL: 0.31% | $0.43 +2025-03-10 16:06:31,496 - INFO - OPENED LONG at 2098.66 | Stop loss: 2088.1220964285712 | Take profit: 2130.2068053571425 +2025-03-10 16:06:31,575 - INFO - STOP LOSS hit for long at 2088.1220964285712 | PnL: -0.50% | $-1.20 +2025-03-10 16:06:31,816 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.586103571429 | Take profit: 2017.5085946428574 +2025-03-10 16:06:31,895 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 33.3% in downtrends | Avg Win=$0.84, Avg Loss=$-1.21 +2025-03-10 16:06:31,896 - INFO - Episode 34: Reward=-1.35, Balance=$100.95, Win Rate=66.7%, Trades=6, Episode PnL=$0.95, Total PnL=$100.73, Max Drawdown=1.9%, Pred Accuracy=97.9% +2025-03-10 16:06:31,897 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:06:31,897 - INFO - Refreshing data for episode 35 +2025-03-10 16:06:31,898 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:06:32,189 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:06:32,200 - INFO - Initialized environment with 100 candles +2025-03-10 16:06:32,997 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7500035714284 | Take profit: 2093.136894642857 +2025-03-10 16:06:33,183 - INFO - CLOSED short at 2122.24 | PnL: 0.13% | $0.07 +2025-03-10 16:06:33,211 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.1270035714288 | Take profit: 2088.605894642857 +2025-03-10 16:06:34,397 - INFO - TAKE PROFIT hit for short at 2088.605894642857 | PnL: 1.50% | $2.75 +2025-03-10 16:06:34,471 - INFO - OPENED SHORT at 2081.0 | Stop loss: 2091.4496035714287 | Take profit: 2049.718094642857 +2025-03-10 16:06:34,637 - INFO - TAKE PROFIT hit for short at 2049.718094642857 | PnL: 1.50% | $2.82 +2025-03-10 16:06:34,686 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.7721535714286 | Take profit: 2012.7904446428572 +2025-03-10 16:06:34,708 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.88, Avg Loss=$0.00 +2025-03-10 16:06:34,709 - INFO - Episode 35: Reward=0.05, Balance=$105.64, Win Rate=100.0%, Trades=3, Episode PnL=$5.64, Total PnL=$106.37, Max Drawdown=0.0%, Pred Accuracy=97.9% +2025-03-10 16:06:34,709 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:06:34,710 - INFO - Refreshing data for episode 36 +2025-03-10 16:06:34,710 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:06:35,021 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:06:35,034 - INFO - Initialized environment with 100 candles +2025-03-10 16:06:35,061 - INFO - OPENED SHORT at 2123.02 | Stop loss: 2133.679810714286 | Take profit: 2091.1076339285714 +2025-03-10 16:06:35,089 - INFO - CLOSED short at 2125.08 | PnL: -0.10% | $-0.39 +2025-03-10 16:06:35,119 - INFO - OPENED SHORT at 2125.77 | Stop loss: 2136.4435607142855 | Take profit: 2093.816383928571 +2025-03-10 16:06:35,377 - INFO - CLOSED short at 2121.8 | PnL: 0.19% | $0.17 +2025-03-10 16:06:35,626 - INFO - OPENED SHORT at 2114.78 | Stop loss: 2125.398610714286 | Take profit: 2082.9912339285715 +2025-03-10 16:06:36,454 - INFO - CLOSED short at 2090.99 | PnL: 1.12% | $2.00 +2025-03-10 16:06:36,454 - INFO - OPENED LONG at 2090.99 | Stop loss: 2080.490339285714 | Take profit: 2122.4219160714283 +2025-03-10 16:06:36,510 - INFO - CLOSED long at 2080.58 | PnL: -0.50% | $-1.19 +2025-03-10 16:06:36,511 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0276107142854 | Take profit: 2049.304233928571 +2025-03-10 16:06:36,635 - INFO - CLOSED short at 2084.11 | PnL: -0.17% | $-0.53 +2025-03-10 16:06:36,684 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.490060714286 | Take profit: 2043.8768839285715 +2025-03-10 16:06:36,778 - INFO - TAKE PROFIT hit for short at 2043.8768839285715 | PnL: 1.50% | $2.75 +2025-03-10 16:06:36,803 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.64, Avg Loss=$-0.70 +2025-03-10 16:06:36,804 - INFO - Episode 36: Reward=-5.06, Balance=$102.81, Win Rate=50.0%, Trades=6, Episode PnL=$4.00, Total PnL=$109.18, Max Drawdown=0.4%, Pred Accuracy=98.0% +2025-03-10 16:06:36,804 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:06:36,804 - INFO - Refreshing data for episode 37 +2025-03-10 16:06:36,805 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:06:37,123 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:06:37,135 - INFO - Initialized environment with 100 candles +2025-03-10 16:06:37,161 - INFO - OPENED SHORT at 2123.02 | Stop loss: 2133.679810714286 | Take profit: 2091.1076339285714 +2025-03-10 16:06:37,364 - INFO - CLOSED short at 2122.24 | PnL: 0.04% | $-0.12 +2025-03-10 16:06:37,392 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.127110714286 | Take profit: 2088.6057339285717 +2025-03-10 16:06:37,695 - INFO - CLOSED short at 2116.81 | PnL: 0.17% | $0.14 +2025-03-10 16:06:37,780 - INFO - OPENED SHORT at 2114.75 | Stop loss: 2125.368460714286 | Take profit: 2082.9616839285713 +2025-03-10 16:06:37,851 - INFO - CLOSED short at 2114.1 | PnL: 0.03% | $-0.14 +2025-03-10 16:06:37,936 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.1875607142856 | Take profit: 2082.7843839285715 +2025-03-10 16:06:38,573 - INFO - TAKE PROFIT hit for short at 2082.7843839285715 | PnL: 1.50% | $2.75 +2025-03-10 16:06:38,668 - INFO - OPENED SHORT at 2085.37 | Stop loss: 2095.8415607142856 | Take profit: 2054.0223839285713 +2025-03-10 16:06:38,719 - INFO - CLOSED short at 2083.07 | PnL: 0.11% | $0.02 +2025-03-10 16:06:38,719 - INFO - OPENED LONG at 2083.07 | Stop loss: 2072.6099392857145 | Take profit: 2114.383116071429 +2025-03-10 16:06:38,745 - INFO - CLOSED long at 2075.07 | PnL: -0.38% | $-0.97 +2025-03-10 16:06:38,745 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.490060714286 | Take profit: 2043.8768839285715 +2025-03-10 16:06:38,849 - INFO - TAKE PROFIT hit for short at 2043.8768839285715 | PnL: 1.50% | $2.79 +2025-03-10 16:06:38,874 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.43, Avg Loss=$-0.41 +2025-03-10 16:06:38,875 - INFO - Episode 37: Reward=-4.53, Balance=$104.47, Win Rate=57.1%, Trades=7, Episode PnL=$5.44, Total PnL=$113.65, Max Drawdown=0.1%, Pred Accuracy=98.1% +2025-03-10 16:06:38,875 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:06:38,876 - INFO - Refreshing data for episode 38 +2025-03-10 16:06:38,876 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:06:39,201 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:06:39,212 - INFO - Initialized environment with 100 candles +2025-03-10 16:06:39,262 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7508464285715 | Take profit: 2093.135630357143 +2025-03-10 16:06:39,601 - INFO - CLOSED short at 2119.02 | PnL: 0.29% | $0.36 +2025-03-10 16:06:39,649 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.5699464285717 | Take profit: 2092.958330357143 +2025-03-10 16:06:40,098 - INFO - TAKE PROFIT hit for short at 2092.958330357143 | PnL: 1.50% | $2.76 +2025-03-10 16:06:40,143 - INFO - OPENED SHORT at 2096.36 | Stop loss: 2106.8872464285714 | Take profit: 2064.8464303571427 +2025-03-10 16:06:40,729 - INFO - TAKE PROFIT hit for short at 2064.8464303571427 | PnL: 1.50% | $2.83 +2025-03-10 16:06:40,785 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.7729964285713 | Take profit: 2012.7891803571429 +2025-03-10 16:06:40,814 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.98, Avg Loss=$0.00 +2025-03-10 16:06:40,815 - INFO - Episode 38: Reward=0.17, Balance=$105.95, Win Rate=100.0%, Trades=3, Episode PnL=$5.95, Total PnL=$119.61, Max Drawdown=0.0%, Pred Accuracy=98.0% +2025-03-10 16:06:40,815 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:06:40,815 - INFO - Refreshing data for episode 39 +2025-03-10 16:06:40,816 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:06:41,118 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:06:41,130 - INFO - Initialized environment with 100 candles +2025-03-10 16:06:41,155 - INFO - OPENED SHORT at 2123.02 | Stop loss: 2133.6805464285717 | Take profit: 2091.1065303571427 +2025-03-10 16:06:41,608 - INFO - CLOSED short at 2124.77 | PnL: -0.08% | $-0.36 +2025-03-10 16:06:41,636 - INFO - OPENED SHORT at 2120.26 | Stop loss: 2130.9067464285713 | Take profit: 2088.387930357143 +2025-03-10 16:06:42,462 - INFO - TAKE PROFIT hit for short at 2088.387930357143 | PnL: 1.50% | $2.74 +2025-03-10 16:06:42,514 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.219196428571 | Take profit: 2053.410580357143 +2025-03-10 16:06:42,697 - INFO - TAKE PROFIT hit for short at 2053.410580357143 | PnL: 1.50% | $2.81 +2025-03-10 16:06:42,721 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3004464285714 | Take profit: 2020.166830357143 +2025-03-10 16:06:42,768 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.77, Avg Loss=$-0.36 +2025-03-10 16:06:42,769 - INFO - Episode 39: Reward=-1.49, Balance=$105.19, Win Rate=66.7%, Trades=3, Episode PnL=$5.19, Total PnL=$124.80, Max Drawdown=0.4%, Pred Accuracy=98.0% +2025-03-10 16:06:42,769 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:06:42,770 - INFO - Refreshing data for episode 40 +2025-03-10 16:06:42,770 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:06:43,076 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:06:43,087 - INFO - Initialized environment with 100 candles +2025-03-10 16:06:43,895 - INFO - OPENED SHORT at 2123.02 | Stop loss: 2133.6805464285717 | Take profit: 2091.1065303571427 +2025-03-10 16:06:44,541 - INFO - CLOSED short at 2114.1 | PnL: 0.42% | $0.63 +2025-03-10 16:06:44,564 - INFO - OPENED SHORT at 2115.11 | Stop loss: 2125.7309964285714 | Take profit: 2083.3151803571427 +2025-03-10 16:06:44,780 - INFO - CLOSED short at 2098.28 | PnL: 0.80% | $1.37 +2025-03-10 16:06:44,814 - INFO - OPENED SHORT at 2091.36 | Stop loss: 2101.862246428572 | Take profit: 2059.921430357143 +2025-03-10 16:06:44,990 - INFO - STOP LOSS hit for short at 2101.862246428572 | PnL: -0.50% | $-1.20 +2025-03-10 16:06:45,020 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.972496428571 | Take profit: 2071.7906803571427 +2025-03-10 16:06:45,383 - INFO - CLOSED short at 2084.75 | PnL: 0.89% | $1.55 +2025-03-10 16:06:45,384 - INFO - OPENED LONG at 2084.75 | Stop loss: 2074.280803571429 | Take profit: 2116.089419642857 +2025-03-10 16:06:45,411 - INFO - CLOSED long at 2081.0 | PnL: -0.18% | $-0.56 +2025-03-10 16:06:45,411 - INFO - OPENED SHORT at 2081.0 | Stop loss: 2091.4504464285715 | Take profit: 2049.716830357143 +2025-03-10 16:06:45,578 - INFO - TAKE PROFIT hit for short at 2049.716830357143 | PnL: 1.50% | $2.80 +2025-03-10 16:06:45,606 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3004464285714 | Take profit: 2020.166830357143 +2025-03-10 16:06:45,654 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$1.59, Avg Loss=$-0.88 +2025-03-10 16:06:45,655 - INFO - Episode 40: Reward=17.18, Balance=$104.58, Win Rate=66.7%, Trades=6, Episode PnL=$5.14, Total PnL=$129.38, Max Drawdown=1.2%, Pred Accuracy=98.1% +2025-03-10 16:06:45,816 - INFO - Model saved to checkpoints/trading_agent_episode_40.pt +2025-03-10 16:06:45,817 - INFO - Checkpoint saved at episode 40 +2025-03-10 16:06:45,818 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:06:46,769 - INFO - Visualization saved for episode 40 +2025-03-10 16:06:48,953 - INFO - Visualization saved for episode 40 +2025-03-10 16:06:48,970 - INFO - Refreshing data for episode 41 +2025-03-10 16:06:48,970 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:06:49,279 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:06:49,290 - INFO - Initialized environment with 100 candles +2025-03-10 16:06:49,385 - INFO - OPENED SHORT at 2123.02 | Stop loss: 2133.681360714286 | Take profit: 2091.1053089285715 +2025-03-10 16:06:49,561 - INFO - CLOSED short at 2122.01 | PnL: 0.05% | $-0.10 +2025-03-10 16:06:49,593 - INFO - OPENED SHORT at 2122.17 | Stop loss: 2132.827110714286 | Take profit: 2090.2680589285715 +2025-03-10 16:06:49,782 - INFO - CLOSED short at 2119.02 | PnL: 0.15% | $0.09 +2025-03-10 16:06:49,841 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.570760714286 | Take profit: 2092.9571089285714 +2025-03-10 16:06:50,298 - INFO - TAKE PROFIT hit for short at 2092.9571089285714 | PnL: 1.50% | $2.75 +2025-03-10 16:06:50,325 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.596510714286 | Take profit: 2068.4798589285715 +2025-03-10 16:06:50,977 - INFO - TAKE PROFIT hit for short at 2068.4798589285715 | PnL: 1.50% | $2.82 +2025-03-10 16:06:50,999 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.587760714286 | Take profit: 2017.5061089285716 +2025-03-10 16:06:51,075 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.89, Avg Loss=$-0.10 +2025-03-10 16:06:51,076 - INFO - Episode 41: Reward=13.59, Balance=$105.56, Win Rate=75.0%, Trades=4, Episode PnL=$5.56, Total PnL=$134.94, Max Drawdown=0.1%, Pred Accuracy=98.1% +2025-03-10 16:06:51,076 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:06:51,077 - INFO - Refreshing data for episode 42 +2025-03-10 16:06:51,077 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:06:51,381 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:06:51,390 - INFO - Initialized environment with 100 candles +2025-03-10 16:06:51,433 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.751660714285 | Take profit: 2093.1344089285712 +2025-03-10 16:06:51,711 - INFO - CLOSED short at 2118.0 | PnL: 0.33% | $0.46 +2025-03-10 16:06:51,712 - INFO - OPENED LONG at 2118.0 | Stop loss: 2107.363739285714 | Take profit: 2149.839391071429 +2025-03-10 16:06:51,736 - INFO - CLOSED long at 2121.8 | PnL: 0.18% | $0.16 +2025-03-10 16:06:51,737 - INFO - OPENED SHORT at 2121.8 | Stop loss: 2132.455260714286 | Take profit: 2089.9036089285714 +2025-03-10 16:06:52,417 - INFO - TAKE PROFIT hit for short at 2089.9036089285714 | PnL: 1.50% | $2.76 +2025-03-10 16:06:52,440 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3354607142855 | Take profit: 2058.4230089285716 +2025-03-10 16:06:52,510 - INFO - STOP LOSS hit for short at 2100.3354607142855 | PnL: -0.50% | $-1.22 +2025-03-10 16:06:52,542 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9733107142856 | Take profit: 2071.789458928571 +2025-03-10 16:06:52,987 - INFO - CLOSED short at 2075.07 | PnL: 1.35% | $2.49 +2025-03-10 16:06:53,012 - INFO - OPENED SHORT at 2067.71 | Stop loss: 2078.094810714286 | Take profit: 2036.6249589285715 +2025-03-10 16:06:53,124 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$1.47, Avg Loss=$-1.22 +2025-03-10 16:06:53,124 - INFO - Episode 42: Reward=18.14, Balance=$104.65, Win Rate=80.0%, Trades=5, Episode PnL=$4.50, Total PnL=$139.59, Max Drawdown=1.2%, Pred Accuracy=98.2% +2025-03-10 16:06:53,126 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:06:53,126 - INFO - Refreshing data for episode 43 +2025-03-10 16:06:53,126 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:06:53,438 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:06:53,447 - INFO - Initialized environment with 100 candles +2025-03-10 16:06:53,471 - INFO - OPENED SHORT at 2123.02 | Stop loss: 2133.6815535714286 | Take profit: 2091.1050196428573 +2025-03-10 16:06:54,422 - INFO - TAKE PROFIT hit for short at 2091.1050196428573 | PnL: 1.50% | $2.75 +2025-03-10 16:06:54,450 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.335653571429 | Take profit: 2058.4227196428574 +2025-03-10 16:06:54,542 - INFO - STOP LOSS hit for short at 2100.335653571429 | PnL: -0.50% | $-1.21 +2025-03-10 16:06:54,567 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9735035714284 | Take profit: 2071.789169642857 +2025-03-10 16:06:54,658 - INFO - CLOSED short at 2099.63 | PnL: 0.18% | $0.16 +2025-03-10 16:06:54,658 - INFO - OPENED LONG at 2099.63 | Stop loss: 2089.0853964285716 | Take profit: 2131.194130357143 +2025-03-10 16:06:54,688 - INFO - CLOSED long at 2099.22 | PnL: -0.02% | $-0.24 +2025-03-10 16:06:54,689 - INFO - OPENED SHORT at 2099.22 | Stop loss: 2109.7625535714283 | Take profit: 2067.6620196428566 +2025-03-10 16:06:55,046 - INFO - CLOSED short at 2075.07 | PnL: 1.15% | $2.09 +2025-03-10 16:06:55,071 - INFO - OPENED SHORT at 2067.71 | Stop loss: 2078.0950035714286 | Take profit: 2036.6246696428573 +2025-03-10 16:06:55,163 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$1.66, Avg Loss=$-0.72 +2025-03-10 16:06:55,164 - INFO - Episode 43: Reward=15.63, Balance=$103.54, Win Rate=60.0%, Trades=5, Episode PnL=$3.78, Total PnL=$143.13, Max Drawdown=1.2%, Pred Accuracy=98.2% +2025-03-10 16:06:55,164 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:06:55,165 - INFO - Refreshing data for episode 44 +2025-03-10 16:06:55,165 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:06:55,465 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:06:55,475 - INFO - Initialized environment with 100 candles +2025-03-10 16:06:55,502 - INFO - OPENED SHORT at 2123.02 | Stop loss: 2133.6815535714286 | Take profit: 2091.1050196428573 +2025-03-10 16:06:56,520 - INFO - TAKE PROFIT hit for short at 2091.1050196428573 | PnL: 1.50% | $2.75 +2025-03-10 16:06:56,550 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.335653571429 | Take profit: 2058.4227196428574 +2025-03-10 16:06:56,642 - INFO - STOP LOSS hit for short at 2100.335653571429 | PnL: -0.50% | $-1.21 +2025-03-10 16:06:56,673 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9735035714284 | Take profit: 2071.789169642857 +2025-03-10 16:06:56,793 - INFO - CLOSED short at 2099.22 | PnL: 0.20% | $0.20 +2025-03-10 16:06:56,817 - INFO - OPENED SHORT at 2094.16 | Stop loss: 2104.6772535714285 | Take profit: 2062.677919642857 +2025-03-10 16:06:56,889 - INFO - CLOSED short at 2090.59 | PnL: 0.17% | $0.14 +2025-03-10 16:06:56,923 - INFO - OPENED SHORT at 2090.99 | Stop loss: 2101.4914035714282 | Take profit: 2059.5554696428567 +2025-03-10 16:06:57,118 - INFO - CLOSED short at 2084.11 | PnL: 0.33% | $0.46 +2025-03-10 16:06:57,147 - INFO - OPENED SHORT at 2083.07 | Stop loss: 2093.531803571429 | Take profit: 2051.7542696428573 +2025-03-10 16:06:57,237 - INFO - TAKE PROFIT hit for short at 2051.7542696428573 | PnL: 1.50% | $2.81 +2025-03-10 16:06:57,289 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.7740035714282 | Take profit: 2012.7876696428573 +2025-03-10 16:06:57,312 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$1.27, Avg Loss=$-1.21 +2025-03-10 16:06:57,313 - INFO - Episode 44: Reward=17.17, Balance=$105.14, Win Rate=83.3%, Trades=6, Episode PnL=$5.14, Total PnL=$148.27, Max Drawdown=1.2%, Pred Accuracy=98.2% +2025-03-10 16:06:57,313 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:06:57,314 - INFO - Refreshing data for episode 45 +2025-03-10 16:06:57,314 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:06:57,621 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:06:57,630 - INFO - Initialized environment with 100 candles +2025-03-10 16:06:58,423 - INFO - OPENED SHORT at 2123.02 | Stop loss: 2133.6815535714286 | Take profit: 2091.1050196428573 +2025-03-10 16:06:59,415 - INFO - TAKE PROFIT hit for short at 2091.1050196428573 | PnL: 1.50% | $2.75 +2025-03-10 16:06:59,473 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.7174035714283 | Take profit: 2064.6774696428574 +2025-03-10 16:07:00,079 - INFO - TAKE PROFIT hit for short at 2064.6774696428574 | PnL: 1.50% | $2.82 +2025-03-10 16:07:00,111 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3014535714287 | Take profit: 2020.1653196428572 +2025-03-10 16:07:00,166 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$0.00 +2025-03-10 16:07:00,167 - INFO - Episode 45: Reward=13.89, Balance=$105.57, Win Rate=100.0%, Trades=2, Episode PnL=$5.57, Total PnL=$153.84, Max Drawdown=0.0%, Pred Accuracy=98.2% +2025-03-10 16:07:00,167 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:07:00,168 - INFO - Refreshing data for episode 46 +2025-03-10 16:07:00,168 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:07:00,480 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:07:00,491 - INFO - Initialized environment with 100 candles +2025-03-10 16:07:00,517 - INFO - OPENED SHORT at 2123.02 | Stop loss: 2133.6815535714286 | Take profit: 2091.1050196428573 +2025-03-10 16:07:00,885 - INFO - CLOSED short at 2124.9 | PnL: -0.09% | $-0.37 +2025-03-10 16:07:00,906 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.0181035714286 | Take profit: 2096.335369642857 +2025-03-10 16:07:01,349 - INFO - TAKE PROFIT hit for short at 2096.335369642857 | PnL: 1.50% | $2.74 +2025-03-10 16:07:01,382 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.596703571429 | Take profit: 2068.4795696428573 +2025-03-10 16:07:01,957 - INFO - TAKE PROFIT hit for short at 2068.4795696428573 | PnL: 1.50% | $2.81 +2025-03-10 16:07:01,981 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5879535714284 | Take profit: 2017.5058196428574 +2025-03-10 16:07:02,063 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.77, Avg Loss=$-0.37 +2025-03-10 16:07:02,063 - INFO - Episode 46: Reward=12.61, Balance=$105.18, Win Rate=66.7%, Trades=3, Episode PnL=$5.18, Total PnL=$159.02, Max Drawdown=0.4%, Pred Accuracy=98.3% +2025-03-10 16:07:02,064 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:07:02,064 - INFO - Refreshing data for episode 47 +2025-03-10 16:07:02,065 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:07:02,384 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:07:02,397 - INFO - Initialized environment with 100 candles +2025-03-10 16:07:02,448 - INFO - OPENED SHORT at 2125.77 | Stop loss: 2136.4426857142857 | Take profit: 2093.8176964285713 +2025-03-10 16:07:02,734 - INFO - CLOSED short at 2116.52 | PnL: 0.44% | $0.66 +2025-03-10 16:07:02,735 - INFO - OPENED LONG at 2116.52 | Stop loss: 2105.8935642857145 | Take profit: 2148.3335535714286 +2025-03-10 16:07:02,765 - INFO - CLOSED long at 2119.02 | PnL: 0.12% | $0.04 +2025-03-10 16:07:02,766 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.6589357142857 | Take profit: 2087.1689464285714 +2025-03-10 16:07:03,813 - INFO - TAKE PROFIT hit for short at 2087.1689464285714 | PnL: 1.50% | $2.77 +2025-03-10 16:07:03,836 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0267357142857 | Take profit: 2049.3055464285712 +2025-03-10 16:07:04,080 - INFO - TAKE PROFIT hit for short at 2049.3055464285712 | PnL: 1.50% | $2.84 +2025-03-10 16:07:04,105 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.2988357142854 | Take profit: 2020.1692464285713 +2025-03-10 16:07:04,176 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.58, Avg Loss=$0.00 +2025-03-10 16:07:04,177 - INFO - Episode 47: Reward=15.92, Balance=$106.30, Win Rate=100.0%, Trades=4, Episode PnL=$6.27, Total PnL=$165.32, Max Drawdown=0.0%, Pred Accuracy=98.2% +2025-03-10 16:07:04,336 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 16:07:04,337 - INFO - New best PnL model saved: $6.27 +2025-03-10 16:07:04,337 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:07:04,337 - INFO - Refreshing data for episode 48 +2025-03-10 16:07:04,337 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:07:04,646 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:07:04,659 - INFO - Initialized environment with 100 candles +2025-03-10 16:07:04,685 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7495785714286 | Take profit: 2093.137532142857 +2025-03-10 16:07:05,262 - INFO - CLOSED short at 2115.52 | PnL: 0.45% | $0.69 +2025-03-10 16:07:05,262 - INFO - OPENED LONG at 2115.52 | Stop loss: 2104.8982214285716 | Take profit: 2147.319067857143 +2025-03-10 16:07:05,290 - INFO - CLOSED long at 2114.75 | PnL: -0.04% | $-0.27 +2025-03-10 16:07:05,291 - INFO - OPENED SHORT at 2114.75 | Stop loss: 2125.367928571429 | Take profit: 2082.9624821428574 +2025-03-10 16:07:06,130 - INFO - TAKE PROFIT hit for short at 2082.9624821428574 | PnL: 1.50% | $2.76 +2025-03-10 16:07:06,154 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2179285714287 | Take profit: 2053.4124821428572 +2025-03-10 16:07:06,367 - INFO - TAKE PROFIT hit for short at 2053.4124821428572 | PnL: 1.50% | $2.84 +2025-03-10 16:07:06,396 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.2991785714285 | Take profit: 2020.1687321428572 +2025-03-10 16:07:06,466 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.09, Avg Loss=$-0.27 +2025-03-10 16:07:06,467 - INFO - Episode 48: Reward=13.88, Balance=$106.01, Win Rate=75.0%, Trades=4, Episode PnL=$6.28, Total PnL=$171.34, Max Drawdown=0.0%, Pred Accuracy=98.3% +2025-03-10 16:07:06,604 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 16:07:06,604 - INFO - New best PnL model saved: $6.28 +2025-03-10 16:07:06,605 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:07:06,605 - INFO - Refreshing data for episode 49 +2025-03-10 16:07:06,605 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:07:06,922 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:07:06,932 - INFO - Initialized environment with 100 candles +2025-03-10 16:07:06,961 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7501535714287 | Take profit: 2093.136669642857 +2025-03-10 16:07:07,587 - INFO - CLOSED short at 2116.06 | PnL: 0.42% | $0.64 +2025-03-10 16:07:07,587 - INFO - OPENED LONG at 2116.06 | Stop loss: 2105.4349464285715 | Take profit: 2147.8680303571427 +2025-03-10 16:07:07,615 - INFO - CLOSED long at 2115.21 | PnL: -0.04% | $-0.28 +2025-03-10 16:07:07,616 - INFO - OPENED SHORT at 2115.21 | Stop loss: 2125.8308035714285 | Take profit: 2083.414719642857 +2025-03-10 16:07:08,172 - INFO - CLOSED short at 2104.67 | PnL: 0.50% | $0.78 +2025-03-10 16:07:08,230 - INFO - OPENED SHORT at 2099.63 | Stop loss: 2110.172903571429 | Take profit: 2068.068419642857 +2025-03-10 16:07:08,485 - INFO - CLOSED short at 2081.0 | PnL: 0.89% | $1.56 +2025-03-10 16:07:08,515 - INFO - OPENED SHORT at 2084.25 | Stop loss: 2094.7160035714287 | Take profit: 2052.919119642857 +2025-03-10 16:07:08,668 - INFO - TAKE PROFIT hit for short at 2052.919119642857 | PnL: 1.50% | $2.82 +2025-03-10 16:07:08,695 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.299753571429 | Take profit: 2020.167869642857 +2025-03-10 16:07:08,718 - INFO - CLOSED short at 2043.51 | PnL: 0.37% | $0.55 +2025-03-10 16:07:08,718 - INFO - OPENED LONG at 2043.51 | Stop loss: 2033.2476964285715 | Take profit: 2074.229780357143 +2025-03-10 16:07:08,742 - INFO - CLOSED long at 2052.89 | PnL: 0.46% | $0.75 +2025-03-10 16:07:08,742 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.1992035714284 | Take profit: 2022.029519642857 +2025-03-10 16:07:08,763 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.18, Avg Loss=$-0.28 +2025-03-10 16:07:08,763 - INFO - Episode 49: Reward=19.13, Balance=$106.82, Win Rate=85.7%, Trades=7, Episode PnL=$6.35, Total PnL=$178.15, Max Drawdown=0.0%, Pred Accuracy=98.4% +2025-03-10 16:07:08,924 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 16:07:08,924 - INFO - New best PnL model saved: $6.35 +2025-03-10 16:07:08,924 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:07:08,924 - INFO - Early stopping triggered after 50 episodes without improvement +2025-03-10 16:07:09,080 - INFO - Model saved to models/trading_agent_final.pt +2025-03-10 16:07:10,049 - INFO - Training results saved to training_results.png +2025-03-10 16:07:10,182 - INFO - Model saved to models/trading_agent_continuous_0.pt +2025-03-10 16:07:15,187 - INFO - Starting training batch 2 +2025-03-10 16:07:15,187 - INFO - Refreshing data for new training batch +2025-03-10 16:07:15,188 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:07:15,520 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 16:07:15,531 - INFO - Initialized environment with 500 candles +2025-03-10 16:07:15,531 - INFO - Updated environment with fresh candles +2025-03-10 16:07:15,531 - INFO - Starting training on device: cuda +2025-03-10 16:07:15,533 - INFO - Loading best model from models/trading_agent_best_pnl.pt to resume training +2025-03-10 16:07:15,533 - INFO - Loading model from models/trading_agent_best_pnl.pt +2025-03-10 16:07:15,778 - INFO - Model loaded successfully with weights_only=True +2025-03-10 16:07:15,778 - INFO - Resumed with best metrics - Reward: 202.74, PnL: $6.20, Win Rate: 66.7% +2025-03-10 16:07:15,782 - INFO - Refreshing data for episode 0 +2025-03-10 16:07:15,782 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:07:16,110 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:07:16,118 - INFO - Initialized environment with 100 candles +2025-03-10 16:07:17,041 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7505142857144 | Take profit: 2093.1361285714283 +2025-03-10 16:07:17,716 - INFO - CLOSED short at 2116.06 | PnL: 0.42% | $0.64 +2025-03-10 16:07:17,741 - INFO - OPENED SHORT at 2115.21 | Stop loss: 2125.8311642857143 | Take profit: 2083.4141785714287 +2025-03-10 16:07:18,037 - INFO - CLOSED short at 2091.36 | PnL: 1.13% | $2.02 +2025-03-10 16:07:18,037 - INFO - OPENED LONG at 2091.36 | Stop loss: 2080.8580857142856 | Take profit: 2122.7980714285713 +2025-03-10 16:07:18,063 - INFO - CLOSED long at 2100.05 | PnL: 0.42% | $0.63 +2025-03-10 16:07:18,063 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5953642857144 | Take profit: 2068.4815785714286 +2025-03-10 16:07:18,455 - INFO - CLOSED short at 2090.59 | PnL: 0.45% | $0.71 +2025-03-10 16:07:18,456 - INFO - OPENED LONG at 2090.59 | Stop loss: 2080.0919357142857 | Take profit: 2122.0165214285717 +2025-03-10 16:07:18,482 - INFO - CLOSED long at 2090.99 | PnL: 0.02% | $-0.16 +2025-03-10 16:07:18,483 - INFO - OPENED SHORT at 2090.99 | Stop loss: 2101.490064285714 | Take profit: 2059.5574785714284 +2025-03-10 16:07:18,734 - INFO - TAKE PROFIT hit for short at 2059.5574785714284 | PnL: 1.50% | $2.85 +2025-03-10 16:07:18,758 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3001142857142 | Take profit: 2020.1673285714285 +2025-03-10 16:07:18,820 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.37, Avg Loss=$-0.16 +2025-03-10 16:07:18,821 - INFO - Episode 0: Reward=18.65, Balance=$106.69, Win Rate=83.3%, Trades=6, Episode PnL=$6.22, Total PnL=$184.84, Max Drawdown=0.0%, Pred Accuracy=99.5% +2025-03-10 16:07:18,963 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 16:07:18,963 - INFO - New best PnL model saved: $6.22 +2025-03-10 16:07:19,117 - INFO - Model saved to checkpoints/trading_agent_episode_0.pt +2025-03-10 16:07:19,118 - INFO - Checkpoint saved at episode 0 +2025-03-10 16:07:20,095 - INFO - Visualization saved for episode 0 +2025-03-10 16:07:21,873 - INFO - Visualization saved for episode 0 +2025-03-10 16:07:21,891 - INFO - Refreshing data for episode 1 +2025-03-10 16:07:21,891 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:07:22,189 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:07:22,198 - INFO - Initialized environment with 100 candles +2025-03-10 16:07:22,292 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7507535714285 | Take profit: 2093.135769642857 +2025-03-10 16:07:22,814 - INFO - CLOSED short at 2115.52 | PnL: 0.45% | $0.69 +2025-03-10 16:07:22,838 - INFO - OPENED SHORT at 2114.75 | Stop loss: 2125.3691035714282 | Take profit: 2082.9607196428574 +2025-03-10 16:07:23,558 - INFO - TAKE PROFIT hit for short at 2082.9607196428574 | PnL: 1.50% | $2.77 +2025-03-10 16:07:23,582 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2191035714286 | Take profit: 2053.410719642857 +2025-03-10 16:07:23,758 - INFO - TAKE PROFIT hit for short at 2053.410719642857 | PnL: 1.50% | $2.84 +2025-03-10 16:07:23,783 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.300353571429 | Take profit: 2020.166969642857 +2025-03-10 16:07:23,850 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.10, Avg Loss=$0.00 +2025-03-10 16:07:23,851 - INFO - Episode 1: Reward=15.40, Balance=$106.29, Win Rate=100.0%, Trades=3, Episode PnL=$6.29, Total PnL=$191.14, Max Drawdown=0.0%, Pred Accuracy=99.5% +2025-03-10 16:07:23,985 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 16:07:23,986 - INFO - New best PnL model saved: $6.29 +2025-03-10 16:07:23,986 - INFO - Refreshing data for episode 2 +2025-03-10 16:07:23,987 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:07:24,302 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:07:24,313 - INFO - Initialized environment with 100 candles +2025-03-10 16:07:24,332 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7507535714285 | Take profit: 2093.135769642857 +2025-03-10 16:07:24,435 - INFO - CLOSED short at 2122.01 | PnL: 0.14% | $0.09 +2025-03-10 16:07:24,436 - INFO - OPENED LONG at 2122.01 | Stop loss: 2111.3545964285718 | Take profit: 2153.908180357143 +2025-03-10 16:07:24,456 - INFO - CLOSED long at 2122.17 | PnL: 0.01% | $-0.18 +2025-03-10 16:07:24,456 - INFO - OPENED SHORT at 2122.17 | Stop loss: 2132.826203571429 | Take profit: 2090.2694196428574 +2025-03-10 16:07:25,129 - INFO - TAKE PROFIT hit for short at 2090.2694196428574 | PnL: 1.50% | $2.75 +2025-03-10 16:07:25,158 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.334553571429 | Take profit: 2058.4243696428575 +2025-03-10 16:07:25,227 - INFO - CLOSED short at 2102.83 | PnL: -0.62% | $-1.45 +2025-03-10 16:07:25,228 - INFO - OPENED LONG at 2102.83 | Stop loss: 2092.2704964285713 | Take profit: 2134.440480357143 +2025-03-10 16:07:25,250 - INFO - CLOSED long at 2103.41 | PnL: 0.03% | $-0.14 +2025-03-10 16:07:25,251 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9724035714285 | Take profit: 2071.790819642857 +2025-03-10 16:07:25,669 - INFO - TAKE PROFIT hit for short at 2071.790819642857 | PnL: 1.50% | $2.78 +2025-03-10 16:07:25,696 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.586853571429 | Take profit: 2017.5074696428571 +2025-03-10 16:07:25,779 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$1.87, Avg Loss=$-0.59 +2025-03-10 16:07:25,780 - INFO - Episode 2: Reward=9.12, Balance=$103.83, Win Rate=50.0%, Trades=6, Episode PnL=$4.16, Total PnL=$194.97, Max Drawdown=0.0%, Pred Accuracy=99.6% +2025-03-10 16:07:25,780 - INFO - Refreshing data for episode 3 +2025-03-10 16:07:25,780 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:07:26,090 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:07:26,101 - INFO - Initialized environment with 100 candles +2025-03-10 16:07:26,122 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7507535714285 | Take profit: 2093.135769642857 +2025-03-10 16:07:26,717 - INFO - CLOSED short at 2114.32 | PnL: 0.51% | $0.80 +2025-03-10 16:07:26,740 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.188203571429 | Take profit: 2082.783419642857 +2025-03-10 16:07:27,202 - INFO - CLOSED short at 2096.96 | PnL: 0.83% | $1.45 +2025-03-10 16:07:27,203 - INFO - OPENED LONG at 2096.96 | Stop loss: 2086.4298464285716 | Take profit: 2128.4824303571427 +2025-03-10 16:07:27,223 - INFO - CLOSED long at 2098.66 | PnL: 0.08% | $-0.04 +2025-03-10 16:07:27,224 - INFO - OPENED SHORT at 2098.66 | Stop loss: 2109.198653571428 | Take profit: 2067.112069642857 +2025-03-10 16:07:27,293 - INFO - CLOSED short at 2084.95 | PnL: 0.65% | $1.11 +2025-03-10 16:07:27,318 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.028253571428 | Take profit: 2049.3032696428572 +2025-03-10 16:07:27,515 - INFO - TAKE PROFIT hit for short at 2049.3032696428572 | PnL: 1.50% | $2.84 +2025-03-10 16:07:27,537 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.300353571429 | Take profit: 2020.166969642857 +2025-03-10 16:07:27,606 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.55, Avg Loss=$-0.04 +2025-03-10 16:07:27,606 - INFO - Episode 3: Reward=17.53, Balance=$106.15, Win Rate=80.0%, Trades=5, Episode PnL=$6.19, Total PnL=$201.12, Max Drawdown=0.0%, Pred Accuracy=99.6% +2025-03-10 16:07:27,607 - INFO - Refreshing data for episode 4 +2025-03-10 16:07:27,607 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:07:27,942 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:07:27,954 - INFO - Initialized environment with 100 candles +2025-03-10 16:07:27,977 - INFO - OPENED LONG at 2125.08 | Stop loss: 2114.4092464285714 | Take profit: 2157.0242303571426 +2025-03-10 16:07:27,999 - INFO - CLOSED long at 2125.77 | PnL: 0.03% | $-0.13 +2025-03-10 16:07:27,999 - INFO - OPENED SHORT at 2125.77 | Stop loss: 2136.4442035714287 | Take profit: 2093.8154196428573 +2025-03-10 16:07:28,743 - INFO - TAKE PROFIT hit for short at 2093.8154196428573 | PnL: 1.50% | $2.74 +2025-03-10 16:07:28,764 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.595603571429 | Take profit: 2068.4812196428575 +2025-03-10 16:07:28,878 - INFO - CLOSED short at 2100.0 | PnL: 0.00% | $-0.20 +2025-03-10 16:07:28,903 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.3895035714286 | Take profit: 2071.219519642857 +2025-03-10 16:07:29,341 - INFO - CLOSED short at 2075.07 | PnL: 1.32% | $2.45 +2025-03-10 16:07:29,365 - INFO - OPENED SHORT at 2067.71 | Stop loss: 2078.0939035714287 | Take profit: 2036.6263196428572 +2025-03-10 16:07:29,478 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.60, Avg Loss=$-0.16 +2025-03-10 16:07:29,479 - INFO - Episode 4: Reward=27.24, Balance=$104.86, Win Rate=50.0%, Trades=4, Episode PnL=$4.99, Total PnL=$205.98, Max Drawdown=0.2%, Pred Accuracy=99.6% +2025-03-10 16:07:29,479 - INFO - Refreshing data for episode 5 +2025-03-10 16:07:29,480 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:07:29,796 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:07:29,806 - INFO - Initialized environment with 100 candles +2025-03-10 16:07:30,722 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7507535714285 | Take profit: 2093.135769642857 +2025-03-10 16:07:31,259 - INFO - CLOSED short at 2115.21 | PnL: 0.46% | $0.71 +2025-03-10 16:07:31,284 - INFO - OPENED SHORT at 2114.1 | Stop loss: 2124.7158535714284 | Take profit: 2082.320469642857 +2025-03-10 16:07:31,309 - INFO - CLOSED short at 2115.11 | PnL: -0.05% | $-0.29 +2025-03-10 16:07:31,333 - INFO - OPENED SHORT at 2114.32 | Stop loss: 2124.936953571429 | Take profit: 2082.5371696428574 +2025-03-10 16:07:31,956 - INFO - TAKE PROFIT hit for short at 2082.5371696428574 | PnL: 1.50% | $2.76 +2025-03-10 16:07:31,983 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2191035714286 | Take profit: 2053.410719642857 +2025-03-10 16:07:32,177 - INFO - TAKE PROFIT hit for short at 2053.410719642857 | PnL: 1.50% | $2.83 +2025-03-10 16:07:32,205 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.300353571429 | Take profit: 2020.166969642857 +2025-03-10 16:07:32,274 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.10, Avg Loss=$-0.29 +2025-03-10 16:07:32,274 - INFO - Episode 5: Reward=27.84, Balance=$106.02, Win Rate=75.0%, Trades=4, Episode PnL=$6.02, Total PnL=$212.00, Max Drawdown=0.3%, Pred Accuracy=99.7% +2025-03-10 16:07:32,275 - INFO - Refreshing data for episode 6 +2025-03-10 16:07:32,275 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:07:32,582 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:07:32,594 - INFO - Initialized environment with 100 candles +2025-03-10 16:07:32,620 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7507535714285 | Take profit: 2093.135769642857 +2025-03-10 16:07:33,440 - INFO - TAKE PROFIT hit for short at 2093.135769642857 | PnL: 1.50% | $2.75 +2025-03-10 16:07:33,469 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.595603571429 | Take profit: 2068.4812196428575 +2025-03-10 16:07:33,872 - INFO - CLOSED short at 2084.95 | PnL: 0.72% | $1.25 +2025-03-10 16:07:33,899 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.028253571428 | Take profit: 2049.3032696428572 +2025-03-10 16:07:34,090 - INFO - CLOSED short at 2048.3 | PnL: 1.55% | $2.95 +2025-03-10 16:07:34,090 - INFO - OPENED LONG at 2048.3 | Stop loss: 2038.0131464285716 | Take profit: 2079.092530357143 +2025-03-10 16:07:34,114 - INFO - CLOSED long at 2051.0 | PnL: 0.13% | $0.07 +2025-03-10 16:07:34,115 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.300353571429 | Take profit: 2020.166969642857 +2025-03-10 16:07:34,178 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.75, Avg Loss=$0.00 +2025-03-10 16:07:34,179 - INFO - Episode 6: Reward=33.22, Balance=$107.01, Win Rate=100.0%, Trades=4, Episode PnL=$6.95, Total PnL=$219.01, Max Drawdown=0.0%, Pred Accuracy=99.7% +2025-03-10 16:07:34,315 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 16:07:34,315 - INFO - New best PnL model saved: $6.95 +2025-03-10 16:07:34,316 - INFO - Refreshing data for episode 7 +2025-03-10 16:07:34,316 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:07:34,623 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:07:34,634 - INFO - Initialized environment with 100 candles +2025-03-10 16:07:34,655 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7507535714285 | Take profit: 2093.135769642857 +2025-03-10 16:07:34,696 - INFO - CLOSED short at 2126.13 | PnL: -0.05% | $-0.29 +2025-03-10 16:07:34,720 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.9969535714285 | Take profit: 2094.357169642857 +2025-03-10 16:07:34,804 - INFO - CLOSED short at 2122.24 | PnL: 0.19% | $0.18 +2025-03-10 16:07:34,827 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.1277535714285 | Take profit: 2088.6047696428573 +2025-03-10 16:07:34,946 - INFO - CLOSED short at 2119.02 | PnL: 0.07% | $-0.06 +2025-03-10 16:07:34,968 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.6101535714283 | Take profit: 2089.0775696428573 +2025-03-10 16:07:35,486 - INFO - TAKE PROFIT hit for short at 2089.0775696428573 | PnL: 1.50% | $2.74 +2025-03-10 16:07:35,507 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.334553571429 | Take profit: 2058.4243696428575 +2025-03-10 16:07:35,577 - INFO - STOP LOSS hit for short at 2100.334553571429 | PnL: -0.50% | $-1.21 +2025-03-10 16:07:35,602 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9724035714285 | Take profit: 2071.790819642857 +2025-03-10 16:07:36,036 - INFO - TAKE PROFIT hit for short at 2071.790819642857 | PnL: 1.50% | $2.78 +2025-03-10 16:07:36,060 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.586853571429 | Take profit: 2017.5074696428571 +2025-03-10 16:07:36,152 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$1.90, Avg Loss=$-0.52 +2025-03-10 16:07:36,153 - INFO - Episode 7: Reward=26.45, Balance=$104.14, Win Rate=50.0%, Trades=6, Episode PnL=$4.14, Total PnL=$223.16, Max Drawdown=1.2%, Pred Accuracy=99.8% +2025-03-10 16:07:36,153 - INFO - Refreshing data for episode 8 +2025-03-10 16:07:36,153 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:07:36,446 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:07:36,456 - INFO - Initialized environment with 100 candles +2025-03-10 16:07:36,480 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7507535714285 | Take profit: 2093.135769642857 +2025-03-10 16:07:36,636 - INFO - CLOSED short at 2122.24 | PnL: 0.13% | $0.07 +2025-03-10 16:07:36,636 - INFO - OPENED LONG at 2122.24 | Stop loss: 2111.5834464285713 | Take profit: 2154.1416303571427 +2025-03-10 16:07:36,659 - INFO - CLOSED long at 2120.48 | PnL: -0.08% | $-0.36 +2025-03-10 16:07:36,659 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.1277535714285 | Take profit: 2088.6047696428573 +2025-03-10 16:07:36,681 - INFO - CLOSED short at 2120.54 | PnL: -0.00% | $-0.20 +2025-03-10 16:07:36,681 - INFO - OPENED LONG at 2120.54 | Stop loss: 2109.8919464285714 | Take profit: 2152.4161303571427 +2025-03-10 16:07:36,705 - INFO - CLOSED long at 2118.0 | PnL: -0.12% | $-0.43 +2025-03-10 16:07:36,705 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.635353571429 | Take profit: 2086.161969642857 +2025-03-10 16:07:36,775 - INFO - CLOSED short at 2116.52 | PnL: 0.07% | $-0.06 +2025-03-10 16:07:36,775 - INFO - OPENED LONG at 2116.52 | Stop loss: 2105.8920464285716 | Take profit: 2148.3358303571426 +2025-03-10 16:07:36,797 - INFO - CLOSED long at 2119.02 | PnL: 0.12% | $0.04 +2025-03-10 16:07:36,798 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.660453571428 | Take profit: 2087.1666696428574 +2025-03-10 16:07:37,113 - INFO - CLOSED short at 2114.57 | PnL: 0.21% | $0.21 +2025-03-10 16:07:37,114 - INFO - OPENED LONG at 2114.57 | Stop loss: 2103.9517964285715 | Take profit: 2146.3565803571432 +2025-03-10 16:07:37,140 - INFO - CLOSED long at 2112.57 | PnL: -0.09% | $-0.38 +2025-03-10 16:07:37,140 - INFO - OPENED SHORT at 2112.57 | Stop loss: 2123.1782035714286 | Take profit: 2080.8134196428573 +2025-03-10 16:07:37,661 - INFO - CLOSED short at 2098.66 | PnL: 0.66% | $1.08 +2025-03-10 16:07:37,662 - INFO - OPENED LONG at 2098.66 | Stop loss: 2088.1213464285715 | Take profit: 2130.207930357143 +2025-03-10 16:07:37,683 - INFO - CLOSED long at 2090.59 | PnL: -0.38% | $-0.95 +2025-03-10 16:07:37,684 - INFO - OPENED SHORT at 2090.59 | Stop loss: 2101.0883035714287 | Take profit: 2059.1631196428575 +2025-03-10 16:07:37,966 - INFO - TAKE PROFIT hit for short at 2059.1631196428575 | PnL: 1.50% | $2.72 +2025-03-10 16:07:38,003 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.300353571429 | Take profit: 2020.166969642857 +2025-03-10 16:07:38,077 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$0.82, Avg Loss=$-0.40 +2025-03-10 16:07:38,077 - INFO - Episode 8: Reward=22.09, Balance=$101.74, Win Rate=45.5%, Trades=11, Episode PnL=$3.82, Total PnL=$224.90, Max Drawdown=0.0%, Pred Accuracy=99.8% +2025-03-10 16:07:38,078 - INFO - Refreshing data for episode 9 +2025-03-10 16:07:38,078 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:07:38,389 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:07:38,401 - INFO - Initialized environment with 100 candles +2025-03-10 16:07:38,428 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7507535714285 | Take profit: 2093.135769642857 +2025-03-10 16:07:39,391 - INFO - TAKE PROFIT hit for short at 2093.135769642857 | PnL: 1.50% | $2.75 +2025-03-10 16:07:39,421 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.595603571429 | Take profit: 2068.4812196428575 +2025-03-10 16:07:40,106 - INFO - CLOSED short at 2083.07 | PnL: 0.81% | $1.43 +2025-03-10 16:07:40,106 - INFO - OPENED LONG at 2083.07 | Stop loss: 2072.6092964285713 | Take profit: 2114.384080357143 +2025-03-10 16:07:40,138 - INFO - CLOSED long at 2075.07 | PnL: -0.38% | $-0.99 +2025-03-10 16:07:40,138 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.4907035714286 | Take profit: 2043.8759196428573 +2025-03-10 16:07:40,247 - INFO - TAKE PROFIT hit for short at 2043.8759196428573 | PnL: 1.50% | $2.83 +2025-03-10 16:07:40,277 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.199803571428 | Take profit: 2022.028619642857 +2025-03-10 16:07:40,295 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.34, Avg Loss=$-0.99 +2025-03-10 16:07:40,296 - INFO - Episode 9: Reward=27.53, Balance=$106.02, Win Rate=75.0%, Trades=4, Episode PnL=$7.01, Total PnL=$230.92, Max Drawdown=0.0%, Pred Accuracy=99.8% +2025-03-10 16:07:40,439 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 16:07:40,440 - INFO - New best PnL model saved: $7.01 +2025-03-10 16:07:40,440 - INFO - Refreshing data for episode 10 +2025-03-10 16:07:40,440 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:07:40,764 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:07:40,774 - INFO - Initialized environment with 100 candles +2025-03-10 16:07:41,530 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7507535714285 | Take profit: 2093.135769642857 +2025-03-10 16:07:41,817 - INFO - CLOSED short at 2121.42 | PnL: 0.17% | $0.14 +2025-03-10 16:07:41,841 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.1479535714284 | Take profit: 2084.7041696428573 +2025-03-10 16:07:41,936 - INFO - STOP LOSS hit for short at 2127.1479535714284 | PnL: -0.50% | $-1.18 +2025-03-10 16:07:41,965 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.439203571428 | Take profit: 2092.830419642857 +2025-03-10 16:07:42,419 - INFO - TAKE PROFIT hit for short at 2092.830419642857 | PnL: 1.50% | $2.72 +2025-03-10 16:07:42,452 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.595603571429 | Take profit: 2068.4812196428575 +2025-03-10 16:07:43,125 - INFO - TAKE PROFIT hit for short at 2068.4812196428575 | PnL: 1.50% | $2.79 +2025-03-10 16:07:43,151 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.586853571429 | Take profit: 2017.5074696428571 +2025-03-10 16:07:43,240 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$1.88, Avg Loss=$-1.18 +2025-03-10 16:07:43,241 - INFO - Episode 10: Reward=28.98, Balance=$104.47, Win Rate=75.0%, Trades=4, Episode PnL=$4.47, Total PnL=$235.39, Max Drawdown=1.2%, Pred Accuracy=99.7% +2025-03-10 16:07:43,390 - INFO - Model saved to checkpoints/trading_agent_episode_10.pt +2025-03-10 16:07:43,391 - INFO - Checkpoint saved at episode 10 +2025-03-10 16:07:44,445 - INFO - Visualization saved for episode 10 +2025-03-10 16:07:46,306 - INFO - Visualization saved for episode 10 +2025-03-10 16:07:46,325 - INFO - Refreshing data for episode 11 +2025-03-10 16:07:46,326 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:07:46,626 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:07:46,637 - INFO - Initialized environment with 100 candles +2025-03-10 16:07:46,708 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7508285714284 | Take profit: 2093.135657142857 +2025-03-10 16:07:47,697 - INFO - TAKE PROFIT hit for short at 2093.135657142857 | PnL: 1.50% | $2.75 +2025-03-10 16:07:47,721 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.595678571429 | Take profit: 2068.4811071428576 +2025-03-10 16:07:47,965 - INFO - CLOSED short at 2104.22 | PnL: -0.20% | $-0.60 +2025-03-10 16:07:47,993 - INFO - OPENED SHORT at 2104.67 | Stop loss: 2115.2387785714286 | Take profit: 2073.0318071428574 +2025-03-10 16:07:48,573 - INFO - TAKE PROFIT hit for short at 2073.0318071428574 | PnL: 1.50% | $2.81 +2025-03-10 16:07:48,606 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.586928571429 | Take profit: 2017.5073571428572 +2025-03-10 16:07:48,726 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$-0.60 +2025-03-10 16:07:48,727 - INFO - Episode 11: Reward=12.37, Balance=$104.95, Win Rate=66.7%, Trades=3, Episode PnL=$4.95, Total PnL=$240.35, Max Drawdown=0.6%, Pred Accuracy=99.4% +2025-03-10 16:07:48,727 - INFO - Refreshing data for episode 12 +2025-03-10 16:07:48,728 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:07:49,027 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:07:49,034 - INFO - Initialized environment with 100 candles +2025-03-10 16:07:49,065 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7508285714284 | Take profit: 2093.135657142857 +2025-03-10 16:07:49,939 - INFO - TAKE PROFIT hit for short at 2093.135657142857 | PnL: 1.50% | $2.75 +2025-03-10 16:07:49,961 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.595678571429 | Take profit: 2068.4811071428576 +2025-03-10 16:07:50,611 - INFO - TAKE PROFIT hit for short at 2068.4811071428576 | PnL: 1.50% | $2.82 +2025-03-10 16:07:50,639 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.586928571429 | Take profit: 2017.5073571428572 +2025-03-10 16:07:50,741 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.79, Avg Loss=$0.00 +2025-03-10 16:07:50,742 - INFO - Episode 12: Reward=14.10, Balance=$105.57, Win Rate=100.0%, Trades=2, Episode PnL=$5.57, Total PnL=$245.92, Max Drawdown=0.0%, Pred Accuracy=98.8% +2025-03-10 16:07:50,742 - INFO - Refreshing data for episode 13 +2025-03-10 16:07:50,743 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:07:51,054 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:07:51,065 - INFO - Initialized environment with 100 candles +2025-03-10 16:07:51,091 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7510964285716 | Take profit: 2093.135255357143 +2025-03-10 16:07:51,891 - INFO - CLOSED short at 2098.24 | PnL: 1.26% | $2.28 +2025-03-10 16:07:51,926 - INFO - OPENED SHORT at 2098.28 | Stop loss: 2108.817096428572 | Take profit: 2066.737255357143 +2025-03-10 16:07:52,169 - INFO - CLOSED short at 2104.67 | PnL: -0.30% | $-0.81 +2025-03-10 16:07:52,169 - INFO - OPENED LONG at 2104.67 | Stop loss: 2094.1009535714284 | Take profit: 2136.308594642857 +2025-03-10 16:07:52,190 - INFO - CLOSED long at 2105.26 | PnL: 0.03% | $-0.14 +2025-03-10 16:07:52,190 - INFO - OPENED SHORT at 2105.26 | Stop loss: 2115.8319964285715 | Take profit: 2073.612555357143 +2025-03-10 16:07:52,255 - INFO - CLOSED short at 2094.16 | PnL: 0.53% | $0.85 +2025-03-10 16:07:52,255 - INFO - OPENED LONG at 2094.16 | Stop loss: 2083.6435035714285 | Take profit: 2125.640944642857 +2025-03-10 16:07:52,276 - INFO - CLOSED long at 2096.96 | PnL: 0.13% | $0.07 +2025-03-10 16:07:52,277 - INFO - OPENED SHORT at 2096.96 | Stop loss: 2107.4904964285715 | Take profit: 2065.437055357143 +2025-03-10 16:07:52,635 - INFO - TAKE PROFIT hit for short at 2065.437055357143 | PnL: 1.50% | $2.81 +2025-03-10 16:07:52,660 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3006964285714 | Take profit: 2020.1664553571427 +2025-03-10 16:07:52,739 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$1.50, Avg Loss=$-0.48 +2025-03-10 16:07:52,740 - INFO - Episode 13: Reward=1.09, Balance=$105.05, Win Rate=66.7%, Trades=6, Episode PnL=$5.12, Total PnL=$250.96, Max Drawdown=0.0%, Pred Accuracy=97.6% +2025-03-10 16:07:52,740 - INFO - Refreshing data for episode 14 +2025-03-10 16:07:52,740 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:07:53,061 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:07:53,071 - INFO - Initialized environment with 100 candles +2025-03-10 16:07:53,099 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7510964285716 | Take profit: 2093.135255357143 +2025-03-10 16:07:54,014 - INFO - TAKE PROFIT hit for short at 2093.135255357143 | PnL: 1.50% | $2.75 +2025-03-10 16:07:54,041 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5959464285716 | Take profit: 2068.480705357143 +2025-03-10 16:07:54,172 - INFO - CLOSED short at 2100.0 | PnL: 0.00% | $-0.20 +2025-03-10 16:07:54,173 - INFO - OPENED LONG at 2100.0 | Stop loss: 2089.4543035714287 | Take profit: 2131.5685446428574 +2025-03-10 16:07:54,195 - INFO - CLOSED long at 2102.83 | PnL: 0.13% | $0.07 +2025-03-10 16:07:54,195 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.3898464285717 | Take profit: 2071.2190053571426 +2025-03-10 16:07:54,311 - INFO - CLOSED short at 2099.63 | PnL: 0.15% | $0.10 +2025-03-10 16:07:54,312 - INFO - OPENED LONG at 2099.63 | Stop loss: 2089.0861535714284 | Take profit: 2131.1929946428572 +2025-03-10 16:07:54,340 - INFO - CLOSED long at 2099.22 | PnL: -0.02% | $-0.24 +2025-03-10 16:07:54,340 - INFO - OPENED SHORT at 2099.22 | Stop loss: 2109.761796428571 | Take profit: 2067.663155357143 +2025-03-10 16:07:54,390 - INFO - CLOSED short at 2096.96 | PnL: 0.11% | $0.02 +2025-03-10 16:07:54,414 - INFO - OPENED SHORT at 2098.66 | Stop loss: 2109.1989964285713 | Take profit: 2067.1115553571426 +2025-03-10 16:07:54,711 - INFO - TAKE PROFIT hit for short at 2067.1115553571426 | PnL: 1.50% | $2.82 +2025-03-10 16:07:54,734 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3006964285714 | Take profit: 2020.1664553571427 +2025-03-10 16:07:54,800 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$1.15, Avg Loss=$-0.22 +2025-03-10 16:07:54,801 - INFO - Episode 14: Reward=-0.07, Balance=$105.32, Win Rate=71.4%, Trades=7, Episode PnL=$5.49, Total PnL=$256.28, Max Drawdown=0.2%, Pred Accuracy=97.1% +2025-03-10 16:07:54,801 - INFO - Refreshing data for episode 15 +2025-03-10 16:07:54,802 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:07:55,111 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:07:55,120 - INFO - Initialized environment with 100 candles +2025-03-10 16:07:56,097 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7510964285716 | Take profit: 2093.135255357143 +2025-03-10 16:07:56,510 - INFO - CLOSED short at 2124.77 | PnL: 0.01% | $-0.17 +2025-03-10 16:07:56,535 - INFO - OPENED SHORT at 2120.26 | Stop loss: 2130.906996428572 | Take profit: 2088.3875553571434 +2025-03-10 16:07:57,359 - INFO - TAKE PROFIT hit for short at 2088.3875553571434 | PnL: 1.50% | $2.74 +2025-03-10 16:07:57,387 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0285964285713 | Take profit: 2049.302755357143 +2025-03-10 16:07:57,437 - INFO - CLOSED short at 2081.0 | PnL: -0.02% | $-0.24 +2025-03-10 16:07:57,468 - INFO - OPENED SHORT at 2084.25 | Stop loss: 2094.7169464285716 | Take profit: 2052.917705357143 +2025-03-10 16:07:57,598 - INFO - TAKE PROFIT hit for short at 2052.917705357143 | PnL: 1.50% | $2.81 +2025-03-10 16:07:57,638 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.7732464285714 | Take profit: 2012.788805357143 +2025-03-10 16:07:57,683 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$-0.20 +2025-03-10 16:07:57,684 - INFO - Episode 15: Reward=-2.52, Balance=$105.14, Win Rate=50.0%, Trades=4, Episode PnL=$5.14, Total PnL=$261.42, Max Drawdown=0.2%, Pred Accuracy=97.6% +2025-03-10 16:07:57,684 - INFO - Refreshing data for episode 16 +2025-03-10 16:07:57,684 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:07:57,979 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:07:57,990 - INFO - Initialized environment with 100 candles +2025-03-10 16:07:58,018 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7510964285716 | Take profit: 2093.135255357143 +2025-03-10 16:07:58,884 - INFO - TAKE PROFIT hit for short at 2093.135255357143 | PnL: 1.50% | $2.75 +2025-03-10 16:07:58,916 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5959464285716 | Take profit: 2068.480705357143 +2025-03-10 16:07:59,659 - INFO - TAKE PROFIT hit for short at 2068.480705357143 | PnL: 1.50% | $2.82 +2025-03-10 16:07:59,683 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5871964285716 | Take profit: 2017.5069553571432 +2025-03-10 16:07:59,775 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$0.00 +2025-03-10 16:07:59,776 - INFO - Episode 16: Reward=14.10, Balance=$105.57, Win Rate=100.0%, Trades=2, Episode PnL=$5.57, Total PnL=$266.99, Max Drawdown=0.0%, Pred Accuracy=98.0% +2025-03-10 16:07:59,776 - INFO - Refreshing data for episode 17 +2025-03-10 16:07:59,778 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:08:00,090 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:08:00,103 - INFO - Initialized environment with 100 candles +2025-03-10 16:08:00,132 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7510964285716 | Take profit: 2093.135255357143 +2025-03-10 16:08:01,012 - INFO - TAKE PROFIT hit for short at 2093.135255357143 | PnL: 1.50% | $2.75 +2025-03-10 16:08:01,037 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5959464285716 | Take profit: 2068.480705357143 +2025-03-10 16:08:01,221 - INFO - CLOSED short at 2104.22 | PnL: -0.20% | $-0.60 +2025-03-10 16:08:01,245 - INFO - OPENED SHORT at 2104.67 | Stop loss: 2115.2390464285713 | Take profit: 2073.031405357143 +2025-03-10 16:08:01,668 - INFO - TAKE PROFIT hit for short at 2073.031405357143 | PnL: 1.50% | $2.81 +2025-03-10 16:08:01,691 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5871964285716 | Take profit: 2017.5069553571432 +2025-03-10 16:08:01,791 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$-0.60 +2025-03-10 16:08:01,792 - INFO - Episode 17: Reward=12.40, Balance=$104.95, Win Rate=66.7%, Trades=3, Episode PnL=$4.95, Total PnL=$271.95, Max Drawdown=0.6%, Pred Accuracy=98.1% +2025-03-10 16:08:01,792 - INFO - Refreshing data for episode 18 +2025-03-10 16:08:01,793 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:08:02,117 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:08:02,129 - INFO - Initialized environment with 100 candles +2025-03-10 16:08:02,154 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7510964285716 | Take profit: 2093.135255357143 +2025-03-10 16:08:02,208 - INFO - CLOSED short at 2126.13 | PnL: -0.05% | $-0.29 +2025-03-10 16:08:02,208 - INFO - OPENED LONG at 2126.13 | Stop loss: 2115.4536535714287 | Take profit: 2158.0904946428573 +2025-03-10 16:08:02,233 - INFO - CLOSED long at 2126.32 | PnL: 0.01% | $-0.18 +2025-03-10 16:08:02,234 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.997296428571 | Take profit: 2094.356655357143 +2025-03-10 16:08:03,164 - INFO - TAKE PROFIT hit for short at 2094.356655357143 | PnL: 1.50% | $2.73 +2025-03-10 16:08:03,214 - INFO - OPENED SHORT at 2096.36 | Stop loss: 2106.8874964285715 | Take profit: 2064.846055357143 +2025-03-10 16:08:03,590 - INFO - CLOSED short at 2098.66 | PnL: -0.11% | $-0.42 +2025-03-10 16:08:03,625 - INFO - OPENED SHORT at 2090.59 | Stop loss: 2101.088646428572 | Take profit: 2059.162605357143 +2025-03-10 16:08:03,731 - INFO - CLOSED short at 2084.75 | PnL: 0.28% | $0.36 +2025-03-10 16:08:03,757 - INFO - OPENED SHORT at 2081.0 | Stop loss: 2091.450696428571 | Take profit: 2049.716455357143 +2025-03-10 16:08:03,812 - INFO - CLOSED short at 2085.37 | PnL: -0.21% | $-0.62 +2025-03-10 16:08:03,841 - INFO - OPENED SHORT at 2084.11 | Stop loss: 2094.5762464285717 | Take profit: 2052.779805357143 +2025-03-10 16:08:03,936 - INFO - CLOSED short at 2048.3 | PnL: 1.72% | $3.22 +2025-03-10 16:08:03,958 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3006964285714 | Take profit: 2020.1664553571427 +2025-03-10 16:08:04,021 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$2.10, Avg Loss=$-0.38 +2025-03-10 16:08:04,022 - INFO - Episode 18: Reward=-2.31, Balance=$104.80, Win Rate=42.9%, Trades=7, Episode PnL=$4.98, Total PnL=$276.74, Max Drawdown=0.7%, Pred Accuracy=97.8% +2025-03-10 16:08:04,022 - INFO - Refreshing data for episode 19 +2025-03-10 16:08:04,023 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:08:04,337 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:08:04,346 - INFO - Initialized environment with 100 candles +2025-03-10 16:08:04,372 - INFO - OPENED SHORT at 2125.08 | Stop loss: 2135.7510964285716 | Take profit: 2093.135255357143 +2025-03-10 16:08:04,728 - INFO - CLOSED short at 2124.9 | PnL: 0.01% | $-0.18 +2025-03-10 16:08:04,752 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.0173464285713 | Take profit: 2096.336505357143 +2025-03-10 16:08:05,182 - INFO - TAKE PROFIT hit for short at 2096.336505357143 | PnL: 1.50% | $2.74 +2025-03-10 16:08:05,203 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5959464285716 | Take profit: 2068.480705357143 +2025-03-10 16:08:05,806 - INFO - TAKE PROFIT hit for short at 2068.480705357143 | PnL: 1.50% | $2.82 +2025-03-10 16:08:05,829 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5871964285716 | Take profit: 2017.5069553571432 +2025-03-10 16:08:05,916 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$-0.18 +2025-03-10 16:08:05,917 - INFO - Episode 19: Reward=-1.00, Balance=$105.38, Win Rate=66.7%, Trades=3, Episode PnL=$5.38, Total PnL=$282.13, Max Drawdown=0.2%, Pred Accuracy=97.6% +2025-03-10 16:08:05,918 - INFO - Refreshing data for episode 20 +2025-03-10 16:08:05,918 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:08:06,225 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:08:06,236 - INFO - Initialized environment with 100 candles +2025-03-10 16:08:06,896 - INFO - OPENED SHORT at 2125.77 | Stop loss: 2136.4422035714283 | Take profit: 2093.8184196428574 +2025-03-10 16:08:07,616 - INFO - CLOSED short at 2098.24 | PnL: 1.30% | $2.34 +2025-03-10 16:08:07,643 - INFO - OPENED SHORT at 2098.28 | Stop loss: 2108.814753571429 | Take profit: 2066.7407696428572 +2025-03-10 16:08:08,262 - INFO - TAKE PROFIT hit for short at 2066.7407696428572 | PnL: 1.50% | $2.81 +2025-03-10 16:08:08,283 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.2983535714284 | Take profit: 2020.169969642857 +2025-03-10 16:08:08,365 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.58, Avg Loss=$0.00 +2025-03-10 16:08:08,366 - INFO - Episode 20: Reward=2.48, Balance=$105.16, Win Rate=100.0%, Trades=2, Episode PnL=$5.16, Total PnL=$287.28, Max Drawdown=0.0%, Pred Accuracy=97.8% +2025-03-10 16:08:08,503 - INFO - Model saved to checkpoints/trading_agent_episode_20.pt +2025-03-10 16:08:08,504 - INFO - Checkpoint saved at episode 20 +2025-03-10 16:08:08,504 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:08:09,378 - INFO - Visualization saved for episode 20 +2025-03-10 16:08:10,935 - INFO - Visualization saved for episode 20 +2025-03-10 16:08:10,948 - INFO - Refreshing data for episode 21 +2025-03-10 16:08:10,948 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:08:11,269 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:08:11,279 - INFO - Initialized environment with 100 candles +2025-03-10 16:08:11,378 - INFO - OPENED SHORT at 2125.77 | Stop loss: 2136.4437464285716 | Take profit: 2093.816105357143 +2025-03-10 16:08:12,092 - INFO - CLOSED short at 2112.57 | PnL: 0.62% | $1.02 +2025-03-10 16:08:12,115 - INFO - OPENED SHORT at 2113.28 | Stop loss: 2123.891296428572 | Take profit: 2081.5134553571434 +2025-03-10 16:08:12,394 - INFO - CLOSED short at 2102.83 | PnL: 0.49% | $0.78 +2025-03-10 16:08:12,394 - INFO - OPENED LONG at 2102.83 | Stop loss: 2092.2709535714284 | Take profit: 2134.439794642857 +2025-03-10 16:08:12,417 - INFO - CLOSED long at 2103.41 | PnL: 0.03% | $-0.14 +2025-03-10 16:08:12,417 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9719464285713 | Take profit: 2071.791505357143 +2025-03-10 16:08:12,563 - INFO - CLOSED short at 2094.16 | PnL: 0.44% | $0.68 +2025-03-10 16:08:12,586 - INFO - OPENED SHORT at 2096.96 | Stop loss: 2107.4896964285713 | Take profit: 2065.4382553571427 +2025-03-10 16:08:12,612 - INFO - CLOSED short at 2098.66 | PnL: -0.08% | $-0.36 +2025-03-10 16:08:12,639 - INFO - OPENED SHORT at 2090.59 | Stop loss: 2101.0878464285715 | Take profit: 2059.163805357143 +2025-03-10 16:08:12,907 - INFO - TAKE PROFIT hit for short at 2059.163805357143 | PnL: 1.50% | $2.80 +2025-03-10 16:08:12,953 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.7724464285716 | Take profit: 2012.790005357143 +2025-03-10 16:08:13,017 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.32, Avg Loss=$-0.25 +2025-03-10 16:08:13,018 - INFO - Episode 21: Reward=1.34, Balance=$104.77, Win Rate=66.7%, Trades=6, Episode PnL=$4.92, Total PnL=$292.05, Max Drawdown=0.4%, Pred Accuracy=97.9% +2025-03-10 16:08:13,018 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:08:13,018 - INFO - Refreshing data for episode 22 +2025-03-10 16:08:13,019 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:08:13,329 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:08:13,340 - INFO - Initialized environment with 100 candles +2025-03-10 16:08:13,357 - INFO - OPENED SHORT at 2125.77 | Stop loss: 2136.4443142857144 | Take profit: 2093.8152535714285 +2025-03-10 16:08:13,445 - INFO - CLOSED short at 2122.01 | PnL: 0.18% | $0.15 +2025-03-10 16:08:13,445 - INFO - OPENED LONG at 2122.01 | Stop loss: 2111.354485714286 | Take profit: 2153.908346428572 +2025-03-10 16:08:13,469 - INFO - CLOSED long at 2122.17 | PnL: 0.01% | $-0.18 +2025-03-10 16:08:13,471 - INFO - OPENED SHORT at 2122.17 | Stop loss: 2132.8263142857145 | Take profit: 2090.2692535714286 +2025-03-10 16:08:13,575 - INFO - CLOSED short at 2121.8 | PnL: 0.02% | $-0.16 +2025-03-10 16:08:13,575 - INFO - OPENED LONG at 2121.8 | Stop loss: 2111.145535714286 | Take profit: 2153.6951964285713 +2025-03-10 16:08:13,596 - INFO - CLOSED long at 2121.42 | PnL: -0.02% | $-0.23 +2025-03-10 16:08:13,596 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.0725642857146 | Take profit: 2089.5305035714287 +2025-03-10 16:08:13,779 - INFO - CLOSED short at 2114.78 | PnL: 0.31% | $0.42 +2025-03-10 16:08:13,780 - INFO - OPENED LONG at 2114.78 | Stop loss: 2104.160635714286 | Take profit: 2146.5698964285716 +2025-03-10 16:08:13,799 - INFO - CLOSED long at 2115.52 | PnL: 0.03% | $-0.13 +2025-03-10 16:08:13,800 - INFO - OPENED SHORT at 2115.52 | Stop loss: 2126.143064285714 | Take profit: 2083.7190035714284 +2025-03-10 16:08:14,327 - INFO - CLOSED short at 2105.26 | PnL: 0.48% | $0.75 +2025-03-10 16:08:14,328 - INFO - OPENED LONG at 2105.26 | Stop loss: 2094.688235714286 | Take profit: 2136.9070964285715 +2025-03-10 16:08:14,369 - INFO - CLOSED long at 2099.22 | PnL: -0.29% | $-0.76 +2025-03-10 16:08:14,369 - INFO - OPENED SHORT at 2099.22 | Stop loss: 2109.761564285714 | Take profit: 2067.6635035714285 +2025-03-10 16:08:14,561 - INFO - CLOSED short at 2081.0 | PnL: 0.87% | $1.50 +2025-03-10 16:08:14,586 - INFO - OPENED SHORT at 2084.25 | Stop loss: 2094.7167142857143 | Take profit: 2052.9180535714286 +2025-03-10 16:08:14,720 - INFO - TAKE PROFIT hit for short at 2052.9180535714286 | PnL: 1.50% | $2.78 +2025-03-10 16:08:14,746 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3004642857145 | Take profit: 2020.1668035714288 +2025-03-10 16:08:14,830 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 80.0% in downtrends | Avg Win=$1.12, Avg Loss=$-0.29 +2025-03-10 16:08:14,831 - INFO - Episode 22: Reward=-2.83, Balance=$104.14, Win Rate=50.0%, Trades=10, Episode PnL=$5.44, Total PnL=$296.19, Max Drawdown=0.0%, Pred Accuracy=98.0% +2025-03-10 16:08:14,831 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:08:14,832 - INFO - Refreshing data for episode 23 +2025-03-10 16:08:14,832 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:08:15,136 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:08:15,151 - INFO - Initialized environment with 100 candles +2025-03-10 16:08:15,173 - INFO - OPENED SHORT at 2125.77 | Stop loss: 2136.444610714286 | Take profit: 2093.8148089285714 +2025-03-10 16:08:15,364 - INFO - CLOSED short at 2118.0 | PnL: 0.37% | $0.52 +2025-03-10 16:08:15,394 - INFO - OPENED SHORT at 2121.8 | Stop loss: 2132.454760714286 | Take profit: 2089.9043589285716 +2025-03-10 16:08:15,818 - INFO - CLOSED short at 2113.28 | PnL: 0.40% | $0.59 +2025-03-10 16:08:15,840 - INFO - OPENED SHORT at 2114.5 | Stop loss: 2125.1182607142855 | Take profit: 2082.7138589285714 +2025-03-10 16:08:16,303 - INFO - CLOSED short at 2090.99 | PnL: 1.11% | $2.00 +2025-03-10 16:08:16,326 - INFO - OPENED SHORT at 2084.95 | Stop loss: 2095.4205107142857 | Take profit: 2053.607108928571 +2025-03-10 16:08:16,371 - INFO - CLOSED short at 2084.75 | PnL: 0.01% | $-0.18 +2025-03-10 16:08:16,371 - INFO - OPENED LONG at 2084.75 | Stop loss: 2074.2804892857143 | Take profit: 2116.0898910714286 +2025-03-10 16:08:16,398 - INFO - CLOSED long at 2081.0 | PnL: -0.18% | $-0.56 +2025-03-10 16:08:16,398 - INFO - OPENED SHORT at 2081.0 | Stop loss: 2091.4507607142855 | Take profit: 2049.7163589285715 +2025-03-10 16:08:16,552 - INFO - TAKE PROFIT hit for short at 2049.7163589285715 | PnL: 1.50% | $2.81 +2025-03-10 16:08:16,576 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3007607142854 | Take profit: 2020.1663589285715 +2025-03-10 16:08:16,661 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$1.48, Avg Loss=$-0.37 +2025-03-10 16:08:16,661 - INFO - Episode 23: Reward=1.51, Balance=$105.18, Win Rate=66.7%, Trades=6, Episode PnL=$5.74, Total PnL=$301.38, Max Drawdown=0.0%, Pred Accuracy=97.9% +2025-03-10 16:08:16,662 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:08:16,662 - INFO - Refreshing data for episode 24 +2025-03-10 16:08:16,663 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:08:16,972 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:08:16,981 - INFO - Initialized environment with 100 candles +2025-03-10 16:08:17,005 - INFO - OPENED SHORT at 2125.77 | Stop loss: 2136.444610714286 | Take profit: 2093.8148089285714 +2025-03-10 16:08:17,196 - INFO - CLOSED short at 2118.0 | PnL: 0.37% | $0.52 +2025-03-10 16:08:17,197 - INFO - OPENED LONG at 2118.0 | Stop loss: 2107.3642392857146 | Take profit: 2149.838641071429 +2025-03-10 16:08:17,215 - INFO - CLOSED long at 2121.8 | PnL: 0.18% | $0.16 +2025-03-10 16:08:17,242 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.0728607142855 | Take profit: 2089.5300589285716 +2025-03-10 16:08:17,305 - INFO - CLOSED short at 2120.96 | PnL: 0.02% | $-0.15 +2025-03-10 16:08:17,326 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.5702607142857 | Take profit: 2092.9578589285716 +2025-03-10 16:08:17,347 - INFO - CLOSED short at 2128.33 | PnL: -0.16% | $-0.51 +2025-03-10 16:08:17,369 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.4396107142857 | Take profit: 2092.8298089285713 +2025-03-10 16:08:17,777 - INFO - TAKE PROFIT hit for short at 2092.8298089285713 | PnL: 1.50% | $2.75 +2025-03-10 16:08:17,799 - INFO - OPENED LONG at 2100.05 | Stop loss: 2089.5039892857144 | Take profit: 2131.6193910714287 +2025-03-10 16:08:17,827 - INFO - CLOSED long at 2096.36 | PnL: -0.18% | $-0.55 +2025-03-10 16:08:17,827 - INFO - OPENED SHORT at 2096.36 | Stop loss: 2106.887560714286 | Take profit: 2064.8459589285717 +2025-03-10 16:08:18,444 - INFO - CLOSED short at 2048.3 | PnL: 2.29% | $4.39 +2025-03-10 16:08:18,445 - INFO - OPENED LONG at 2048.3 | Stop loss: 2038.0127392857146 | Take profit: 2079.093141071429 +2025-03-10 16:08:18,469 - INFO - CLOSED long at 2051.0 | PnL: 0.13% | $0.07 +2025-03-10 16:08:18,469 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3007607142854 | Take profit: 2020.1663589285715 +2025-03-10 16:08:18,562 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.58, Avg Loss=$-0.41 +2025-03-10 16:08:18,562 - INFO - Episode 24: Reward=2.07, Balance=$106.65, Win Rate=62.5%, Trades=8, Episode PnL=$7.14, Total PnL=$308.03, Max Drawdown=0.7%, Pred Accuracy=97.8% +2025-03-10 16:08:18,712 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 16:08:18,712 - INFO - New best PnL model saved: $7.14 +2025-03-10 16:08:18,713 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:08:18,713 - INFO - Refreshing data for episode 25 +2025-03-10 16:08:18,713 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:08:19,023 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:08:19,033 - INFO - Initialized environment with 100 candles +2025-03-10 16:08:19,737 - INFO - OPENED LONG at 2125.77 | Stop loss: 2115.095389285714 | Take profit: 2157.725191071429 +2025-03-10 16:08:19,761 - INFO - CLOSED long at 2126.13 | PnL: 0.02% | $-0.16 +2025-03-10 16:08:19,762 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.806410714286 | Take profit: 2094.1694089285716 +2025-03-10 16:08:19,876 - INFO - CLOSED short at 2122.24 | PnL: 0.18% | $0.16 +2025-03-10 16:08:19,876 - INFO - OPENED LONG at 2122.24 | Stop loss: 2111.583039285714 | Take profit: 2154.142241071428 +2025-03-10 16:08:19,899 - INFO - CLOSED long at 2120.48 | PnL: -0.08% | $-0.36 +2025-03-10 16:08:19,899 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.1281607142855 | Take profit: 2088.6041589285715 +2025-03-10 16:08:20,024 - INFO - CLOSED short at 2116.52 | PnL: 0.19% | $0.17 +2025-03-10 16:08:20,024 - INFO - OPENED LONG at 2116.52 | Stop loss: 2105.891639285714 | Take profit: 2148.3364410714285 +2025-03-10 16:08:20,073 - INFO - CLOSED long at 2120.96 | PnL: 0.21% | $0.21 +2025-03-10 16:08:20,073 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.6105607142854 | Take profit: 2089.0769589285715 +2025-03-10 16:08:20,320 - INFO - CLOSED short at 2114.1 | PnL: 0.32% | $0.44 +2025-03-10 16:08:20,321 - INFO - OPENED LONG at 2114.1 | Stop loss: 2103.483739285714 | Take profit: 2145.880141071428 +2025-03-10 16:08:20,345 - INFO - CLOSED long at 2115.11 | PnL: 0.05% | $-0.10 +2025-03-10 16:08:20,346 - INFO - OPENED SHORT at 2115.11 | Stop loss: 2125.731310714286 | Take profit: 2083.3147089285717 +2025-03-10 16:08:20,371 - INFO - CLOSED short at 2114.32 | PnL: 0.04% | $-0.12 +2025-03-10 16:08:20,371 - INFO - OPENED LONG at 2114.32 | Stop loss: 2103.7026392857147 | Take profit: 2146.1034410714287 +2025-03-10 16:08:20,394 - INFO - CLOSED long at 2114.57 | PnL: 0.01% | $-0.17 +2025-03-10 16:08:20,395 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.188610714286 | Take profit: 2082.7828089285713 +2025-03-10 16:08:20,697 - INFO - CLOSED short at 2100.0 | PnL: 0.69% | $1.15 +2025-03-10 16:08:20,698 - INFO - OPENED LONG at 2100.0 | Stop loss: 2089.4542392857143 | Take profit: 2131.568641071429 +2025-03-10 16:08:20,725 - INFO - CLOSED long at 2102.83 | PnL: 0.13% | $0.07 +2025-03-10 16:08:20,725 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.3899107142856 | Take profit: 2071.2189089285716 +2025-03-10 16:08:20,800 - INFO - CLOSED short at 2104.67 | PnL: -0.09% | $-0.37 +2025-03-10 16:08:20,801 - INFO - OPENED LONG at 2104.67 | Stop loss: 2094.1008892857144 | Take profit: 2136.3086910714287 +2025-03-10 16:08:20,826 - INFO - CLOSED long at 2105.26 | PnL: 0.03% | $-0.14 +2025-03-10 16:08:20,826 - INFO - OPENED SHORT at 2105.26 | Stop loss: 2115.832060714286 | Take profit: 2073.612458928572 +2025-03-10 16:08:20,946 - INFO - CLOSED short at 2098.66 | PnL: 0.31% | $0.42 +2025-03-10 16:08:20,947 - INFO - OPENED LONG at 2098.66 | Stop loss: 2088.120939285714 | Take profit: 2130.2085410714285 +2025-03-10 16:08:20,992 - INFO - CLOSED long at 2090.99 | PnL: -0.37% | $-0.92 +2025-03-10 16:08:20,993 - INFO - OPENED SHORT at 2090.99 | Stop loss: 2101.4907107142853 | Take profit: 2059.556508928571 +2025-03-10 16:08:21,017 - INFO - CLOSED short at 2084.95 | PnL: 0.29% | $0.37 +2025-03-10 16:08:21,017 - INFO - OPENED LONG at 2084.95 | Stop loss: 2074.479489285714 | Take profit: 2116.292891071428 +2025-03-10 16:08:21,064 - INFO - CLOSED long at 2084.75 | PnL: -0.01% | $-0.22 +2025-03-10 16:08:21,064 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2195107142857 | Take profit: 2053.4101089285714 +2025-03-10 16:08:21,111 - INFO - CLOSED short at 2084.25 | PnL: 0.02% | $-0.15 +2025-03-10 16:08:21,112 - INFO - OPENED LONG at 2084.25 | Stop loss: 2073.7829892857144 | Take profit: 2115.582391071429 +2025-03-10 16:08:21,135 - INFO - CLOSED long at 2085.37 | PnL: 0.05% | $-0.09 +2025-03-10 16:08:21,136 - INFO - OPENED SHORT at 2085.37 | Stop loss: 2095.8426107142855 | Take profit: 2054.020808928571 +2025-03-10 16:08:21,186 - INFO - CLOSED short at 2083.07 | PnL: 0.11% | $0.02 +2025-03-10 16:08:21,186 - INFO - OPENED LONG at 2083.07 | Stop loss: 2072.608889285714 | Take profit: 2114.3846910714287 +2025-03-10 16:08:21,233 - INFO - STOP LOSS hit for long at 2072.608889285714 | PnL: -0.50% | $-1.18 +2025-03-10 16:08:21,255 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.587260714286 | Take profit: 2017.5068589285715 +2025-03-10 16:08:21,378 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 63.6% in downtrends | Avg Win=$0.34, Avg Loss=$-0.33 +2025-03-10 16:08:21,379 - INFO - Episode 25: Reward=-10.13, Balance=$99.03, Win Rate=42.9%, Trades=21, Episode PnL=$0.91, Total PnL=$307.05, Max Drawdown=1.0%, Pred Accuracy=97.9% +2025-03-10 16:08:21,380 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:08:21,380 - INFO - Refreshing data for episode 26 +2025-03-10 16:08:21,380 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:08:21,693 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:08:21,703 - INFO - Initialized environment with 100 candles +2025-03-10 16:08:21,723 - INFO - OPENED LONG at 2125.77 | Stop loss: 2115.095389285714 | Take profit: 2157.725191071429 +2025-03-10 16:08:21,746 - INFO - CLOSED long at 2126.13 | PnL: 0.02% | $-0.16 +2025-03-10 16:08:21,747 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.806410714286 | Take profit: 2094.1694089285716 +2025-03-10 16:08:21,967 - INFO - CLOSED short at 2121.42 | PnL: 0.22% | $0.24 +2025-03-10 16:08:21,967 - INFO - OPENED LONG at 2121.42 | Stop loss: 2110.7671392857146 | Take profit: 2153.3099410714285 +2025-03-10 16:08:21,992 - INFO - CLOSED long at 2116.52 | PnL: -0.23% | $-0.65 +2025-03-10 16:08:21,992 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.148360714286 | Take profit: 2084.7035589285715 +2025-03-10 16:08:22,043 - INFO - CLOSED short at 2120.96 | PnL: -0.21% | $-0.60 +2025-03-10 16:08:22,043 - INFO - OPENED LONG at 2120.96 | Stop loss: 2110.3094392857142 | Take profit: 2152.8430410714286 +2025-03-10 16:08:22,065 - INFO - CLOSED long at 2124.9 | PnL: 0.19% | $0.17 +2025-03-10 16:08:22,065 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.5702607142857 | Take profit: 2092.9578589285716 +2025-03-10 16:08:22,357 - INFO - CLOSED short at 2114.57 | PnL: 0.49% | $0.75 +2025-03-10 16:08:22,385 - INFO - OPENED SHORT at 2112.57 | Stop loss: 2123.1786107142857 | Take profit: 2080.8128089285715 +2025-03-10 16:08:22,781 - INFO - CLOSED short at 2099.22 | PnL: 0.63% | $1.04 +2025-03-10 16:08:22,781 - INFO - OPENED LONG at 2099.22 | Stop loss: 2088.678139285714 | Take profit: 2130.7769410714286 +2025-03-10 16:08:22,801 - INFO - CLOSED long at 2094.16 | PnL: -0.24% | $-0.67 +2025-03-10 16:08:22,801 - INFO - OPENED SHORT at 2094.16 | Stop loss: 2104.6765607142856 | Take profit: 2062.6789589285713 +2025-03-10 16:08:22,871 - INFO - CLOSED short at 2090.59 | PnL: 0.17% | $0.14 +2025-03-10 16:08:22,872 - INFO - OPENED LONG at 2090.59 | Stop loss: 2080.0912892857145 | Take profit: 2122.0174910714286 +2025-03-10 16:08:22,895 - INFO - CLOSED long at 2090.99 | PnL: 0.02% | $-0.16 +2025-03-10 16:08:22,895 - INFO - OPENED SHORT at 2090.99 | Stop loss: 2101.4907107142853 | Take profit: 2059.556508928571 +2025-03-10 16:08:23,071 - INFO - CLOSED short at 2084.11 | PnL: 0.33% | $0.45 +2025-03-10 16:08:23,071 - INFO - OPENED LONG at 2084.11 | Stop loss: 2073.6436892857146 | Take profit: 2115.440291071429 +2025-03-10 16:08:23,119 - INFO - CLOSED long at 2075.07 | PnL: -0.43% | $-1.05 +2025-03-10 16:08:23,119 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.491110714286 | Take profit: 2043.8753089285715 +2025-03-10 16:08:23,222 - INFO - TAKE PROFIT hit for short at 2043.8753089285715 | PnL: 1.50% | $2.73 +2025-03-10 16:08:23,246 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.2002107142857 | Take profit: 2022.0280089285714 +2025-03-10 16:08:23,291 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 83.3% in downtrends | Avg Win=$0.79, Avg Loss=$-0.55 +2025-03-10 16:08:23,291 - INFO - Episode 26: Reward=-4.64, Balance=$102.21, Win Rate=53.8%, Trades=13, Episode PnL=$4.74, Total PnL=$309.27, Max Drawdown=0.3%, Pred Accuracy=98.0% +2025-03-10 16:08:23,292 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:08:23,292 - INFO - Refreshing data for episode 27 +2025-03-10 16:08:23,293 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:08:23,604 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:08:23,616 - INFO - Initialized environment with 100 candles +2025-03-10 16:08:23,645 - INFO - OPENED SHORT at 2125.77 | Stop loss: 2136.444610714286 | Take profit: 2093.8148089285714 +2025-03-10 16:08:23,701 - INFO - CLOSED short at 2126.32 | PnL: -0.03% | $-0.25 +2025-03-10 16:08:23,702 - INFO - OPENED LONG at 2126.32 | Stop loss: 2115.6426392857143 | Take profit: 2158.283441071429 +2025-03-10 16:08:23,738 - INFO - CLOSED long at 2126.7 | PnL: 0.02% | $-0.16 +2025-03-10 16:08:23,738 - INFO - OPENED SHORT at 2126.7 | Stop loss: 2137.3792607142855 | Take profit: 2094.7308589285713 +2025-03-10 16:08:23,790 - INFO - CLOSED short at 2122.17 | PnL: 0.21% | $0.22 +2025-03-10 16:08:23,790 - INFO - OPENED LONG at 2122.17 | Stop loss: 2111.5133892857143 | Take profit: 2154.0711910714285 +2025-03-10 16:08:23,814 - INFO - CLOSED long at 2122.24 | PnL: 0.00% | $-0.19 +2025-03-10 16:08:23,814 - INFO - OPENED SHORT at 2122.24 | Stop loss: 2132.896960714286 | Take profit: 2090.3377589285715 +2025-03-10 16:08:23,883 - INFO - CLOSED short at 2118.0 | PnL: 0.20% | $0.19 +2025-03-10 16:08:23,884 - INFO - OPENED LONG at 2118.0 | Stop loss: 2107.3642392857146 | Take profit: 2149.838641071429 +2025-03-10 16:08:23,915 - INFO - CLOSED long at 2121.8 | PnL: 0.18% | $0.16 +2025-03-10 16:08:23,915 - INFO - OPENED SHORT at 2121.8 | Stop loss: 2132.454760714286 | Take profit: 2089.9043589285716 +2025-03-10 16:08:24,250 - INFO - CLOSED short at 2115.21 | PnL: 0.31% | $0.41 +2025-03-10 16:08:24,250 - INFO - OPENED LONG at 2115.21 | Stop loss: 2104.588189285714 | Take profit: 2147.006791071429 +2025-03-10 16:08:24,294 - INFO - CLOSED long at 2115.11 | PnL: -0.00% | $-0.21 +2025-03-10 16:08:24,295 - INFO - OPENED SHORT at 2115.11 | Stop loss: 2125.731310714286 | Take profit: 2083.3147089285717 +2025-03-10 16:08:24,316 - INFO - CLOSED short at 2114.32 | PnL: 0.04% | $-0.12 +2025-03-10 16:08:24,341 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.188610714286 | Take profit: 2082.7828089285713 +2025-03-10 16:08:24,360 - INFO - CLOSED short at 2112.57 | PnL: 0.09% | $-0.01 +2025-03-10 16:08:24,382 - INFO - OPENED SHORT at 2113.28 | Stop loss: 2123.892160714286 | Take profit: 2081.512158928572 +2025-03-10 16:08:24,538 - INFO - CLOSED short at 2096.36 | PnL: 0.80% | $1.37 +2025-03-10 16:08:24,539 - INFO - OPENED LONG at 2096.36 | Stop loss: 2085.8324392857144 | Take profit: 2127.8740410714286 +2025-03-10 16:08:24,586 - INFO - CLOSED long at 2089.84 | PnL: -0.31% | $-0.82 +2025-03-10 16:08:24,617 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.716710714286 | Take profit: 2064.6785089285713 +2025-03-10 16:08:24,725 - INFO - CLOSED short at 2104.67 | PnL: -0.40% | $-0.99 +2025-03-10 16:08:24,725 - INFO - OPENED LONG at 2104.67 | Stop loss: 2094.1008892857144 | Take profit: 2136.3086910714287 +2025-03-10 16:08:24,747 - INFO - CLOSED long at 2105.26 | PnL: 0.03% | $-0.14 +2025-03-10 16:08:24,747 - INFO - OPENED SHORT at 2105.26 | Stop loss: 2115.832060714286 | Take profit: 2073.612458928572 +2025-03-10 16:08:24,876 - INFO - CLOSED short at 2090.59 | PnL: 0.70% | $1.16 +2025-03-10 16:08:24,876 - INFO - OPENED LONG at 2090.59 | Stop loss: 2080.0912892857145 | Take profit: 2122.0174910714286 +2025-03-10 16:08:24,897 - INFO - CLOSED long at 2090.99 | PnL: 0.02% | $-0.16 +2025-03-10 16:08:24,898 - INFO - OPENED SHORT at 2090.99 | Stop loss: 2101.4907107142853 | Take profit: 2059.556508928571 +2025-03-10 16:08:24,922 - INFO - CLOSED short at 2084.95 | PnL: 0.29% | $0.37 +2025-03-10 16:08:24,922 - INFO - OPENED LONG at 2084.95 | Stop loss: 2074.479489285714 | Take profit: 2116.292891071428 +2025-03-10 16:08:24,968 - INFO - CLOSED long at 2084.75 | PnL: -0.01% | $-0.22 +2025-03-10 16:08:24,968 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2195107142857 | Take profit: 2053.4101089285714 +2025-03-10 16:08:25,016 - INFO - CLOSED short at 2084.25 | PnL: 0.02% | $-0.15 +2025-03-10 16:08:25,016 - INFO - OPENED LONG at 2084.25 | Stop loss: 2073.7829892857144 | Take profit: 2115.582391071429 +2025-03-10 16:08:25,039 - INFO - CLOSED long at 2085.37 | PnL: 0.05% | $-0.09 +2025-03-10 16:08:25,040 - INFO - OPENED SHORT at 2085.37 | Stop loss: 2095.8426107142855 | Take profit: 2054.020808928571 +2025-03-10 16:08:25,068 - INFO - CLOSED short at 2084.11 | PnL: 0.06% | $-0.08 +2025-03-10 16:08:25,068 - INFO - OPENED LONG at 2084.11 | Stop loss: 2073.6436892857146 | Take profit: 2115.440291071429 +2025-03-10 16:08:25,115 - INFO - CLOSED long at 2075.07 | PnL: -0.43% | $-1.05 +2025-03-10 16:08:25,115 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.491110714286 | Take profit: 2043.8753089285715 +2025-03-10 16:08:25,208 - INFO - TAKE PROFIT hit for short at 2043.8753089285715 | PnL: 1.50% | $2.73 +2025-03-10 16:08:25,232 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.2002107142857 | Take profit: 2022.0280089285714 +2025-03-10 16:08:25,255 - INFO - CLOSED short at 2053.22 | PnL: -0.02% | $-0.23 +2025-03-10 16:08:25,256 - INFO - OPENED LONG at 2053.22 | Stop loss: 2042.908139285714 | Take profit: 2084.0869410714286 +2025-03-10 16:08:25,275 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 58.3% in downtrends | Avg Win=$0.83, Avg Loss=$-0.30 +2025-03-10 16:08:25,276 - INFO - Episode 27: Reward=-18.52, Balance=$101.76, Win Rate=33.3%, Trades=24, Episode PnL=$3.81, Total PnL=$311.02, Max Drawdown=0.0%, Pred Accuracy=98.0% +2025-03-10 16:08:25,276 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:08:25,277 - INFO - Refreshing data for episode 28 +2025-03-10 16:08:25,277 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:08:25,580 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:08:25,590 - INFO - Initialized environment with 100 candles +2025-03-10 16:08:25,615 - INFO - OPENED SHORT at 2125.77 | Stop loss: 2136.444610714286 | Take profit: 2093.8148089285714 +2025-03-10 16:08:25,738 - INFO - CLOSED short at 2122.17 | PnL: 0.17% | $0.14 +2025-03-10 16:08:25,738 - INFO - OPENED LONG at 2122.17 | Stop loss: 2111.5133892857143 | Take profit: 2154.0711910714285 +2025-03-10 16:08:25,784 - INFO - CLOSED long at 2120.48 | PnL: -0.08% | $-0.35 +2025-03-10 16:08:25,784 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.1281607142855 | Take profit: 2088.6041589285715 +2025-03-10 16:08:25,860 - INFO - CLOSED short at 2121.8 | PnL: -0.06% | $-0.32 +2025-03-10 16:08:25,860 - INFO - OPENED LONG at 2121.8 | Stop loss: 2111.1452392857145 | Take profit: 2153.695641071429 +2025-03-10 16:08:25,903 - INFO - CLOSED long at 2116.52 | PnL: -0.25% | $-0.68 +2025-03-10 16:08:25,903 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.148360714286 | Take profit: 2084.7035589285715 +2025-03-10 16:08:26,003 - INFO - CLOSED short at 2128.33 | PnL: -0.56% | $-1.27 +2025-03-10 16:08:26,003 - INFO - OPENED LONG at 2128.33 | Stop loss: 2117.642589285714 | Take profit: 2160.3235910714284 +2025-03-10 16:08:26,051 - INFO - CLOSED long at 2120.26 | PnL: -0.38% | $-0.91 +2025-03-10 16:08:26,052 - INFO - OPENED SHORT at 2120.26 | Stop loss: 2130.9070607142858 | Take profit: 2088.3874589285715 +2025-03-10 16:08:26,102 - INFO - CLOSED short at 2114.78 | PnL: 0.26% | $0.30 +2025-03-10 16:08:26,103 - INFO - OPENED LONG at 2114.78 | Stop loss: 2104.1603392857146 | Take profit: 2146.5703410714286 +2025-03-10 16:08:26,246 - INFO - CLOSED long at 2115.11 | PnL: 0.02% | $-0.16 +2025-03-10 16:08:26,246 - INFO - OPENED SHORT at 2115.11 | Stop loss: 2125.731310714286 | Take profit: 2083.3147089285717 +2025-03-10 16:08:26,292 - INFO - CLOSED short at 2114.57 | PnL: 0.03% | $-0.14 +2025-03-10 16:08:26,318 - INFO - OPENED SHORT at 2112.57 | Stop loss: 2123.1786107142857 | Take profit: 2080.8128089285715 +2025-03-10 16:08:26,431 - INFO - CLOSED short at 2098.28 | PnL: 0.68% | $1.09 +2025-03-10 16:08:26,432 - INFO - OPENED LONG at 2098.28 | Stop loss: 2087.7428392857146 | Take profit: 2129.8228410714287 +2025-03-10 16:08:26,476 - INFO - CLOSED long at 2100.05 | PnL: 0.08% | $-0.03 +2025-03-10 16:08:26,476 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5960107142855 | Take profit: 2068.4806089285717 +2025-03-10 16:08:26,552 - INFO - CLOSED short at 2089.84 | PnL: 0.49% | $0.74 +2025-03-10 16:08:26,553 - INFO - OPENED LONG at 2089.84 | Stop loss: 2079.3450392857144 | Take profit: 2121.2562410714286 +2025-03-10 16:08:26,577 - INFO - CLOSED long at 2096.19 | PnL: 0.30% | $0.39 +2025-03-10 16:08:26,578 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.716710714286 | Take profit: 2064.6785089285713 +2025-03-10 16:08:26,602 - INFO - CLOSED short at 2100.0 | PnL: -0.18% | $-0.54 +2025-03-10 16:08:26,602 - INFO - OPENED LONG at 2100.0 | Stop loss: 2089.4542392857143 | Take profit: 2131.568641071429 +2025-03-10 16:08:26,626 - INFO - CLOSED long at 2102.83 | PnL: 0.13% | $0.07 +2025-03-10 16:08:26,626 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.3899107142856 | Take profit: 2071.2189089285716 +2025-03-10 16:08:26,828 - INFO - CLOSED short at 2098.66 | PnL: 0.20% | $0.19 +2025-03-10 16:08:26,829 - INFO - OPENED LONG at 2098.66 | Stop loss: 2088.120939285714 | Take profit: 2130.2085410714285 +2025-03-10 16:08:26,895 - INFO - CLOSED long at 2084.95 | PnL: -0.65% | $-1.45 +2025-03-10 16:08:26,895 - INFO - OPENED SHORT at 2084.95 | Stop loss: 2095.4205107142857 | Take profit: 2053.607108928571 +2025-03-10 16:08:26,971 - INFO - CLOSED short at 2081.0 | PnL: 0.19% | $0.17 +2025-03-10 16:08:26,972 - INFO - OPENED LONG at 2081.0 | Stop loss: 2070.549239285714 | Take profit: 2112.2836410714285 +2025-03-10 16:08:27,106 - INFO - STOP LOSS hit for long at 2070.549239285714 | PnL: -0.50% | $-1.15 +2025-03-10 16:08:27,133 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.587260714286 | Take profit: 2017.5068589285715 +2025-03-10 16:08:27,155 - INFO - CLOSED short at 2051.0 | PnL: -0.13% | $-0.44 +2025-03-10 16:08:27,155 - INFO - OPENED LONG at 2051.0 | Stop loss: 2040.6992392857142 | Take profit: 2081.8336410714287 +2025-03-10 16:08:27,182 - INFO - CLOSED long at 2043.51 | PnL: -0.37% | $-0.87 +2025-03-10 16:08:27,182 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.773310714286 | Take profit: 2012.7887089285714 +2025-03-10 16:08:27,228 - INFO - CLOSED short at 2053.22 | PnL: -0.48% | $-1.07 +2025-03-10 16:08:27,228 - INFO - OPENED LONG at 2053.22 | Stop loss: 2042.908139285714 | Take profit: 2084.0869410714286 +2025-03-10 16:08:27,252 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$0.39, Avg Loss=$-0.67 +2025-03-10 16:08:27,253 - INFO - Episode 28: Reward=-11.47, Balance=$93.70, Win Rate=36.4%, Trades=22, Episode PnL=$-2.30, Total PnL=$304.72, Max Drawdown=3.9%, Pred Accuracy=98.1% +2025-03-10 16:08:27,254 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:08:27,254 - INFO - Refreshing data for episode 29 +2025-03-10 16:08:27,254 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:08:27,555 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:08:27,565 - INFO - Initialized environment with 100 candles +2025-03-10 16:08:27,587 - INFO - OPENED SHORT at 2125.77 | Stop loss: 2136.444610714286 | Take profit: 2093.8148089285714 +2025-03-10 16:08:27,657 - INFO - CLOSED short at 2126.7 | PnL: -0.04% | $-0.28 +2025-03-10 16:08:27,657 - INFO - OPENED LONG at 2126.7 | Stop loss: 2116.020739285714 | Take profit: 2158.6691410714284 +2025-03-10 16:08:27,704 - INFO - CLOSED long at 2122.17 | PnL: -0.21% | $-0.61 +2025-03-10 16:08:27,704 - INFO - OPENED SHORT at 2122.17 | Stop loss: 2132.826610714286 | Take profit: 2090.2688089285716 +2025-03-10 16:08:27,745 - INFO - CLOSED short at 2120.48 | PnL: 0.08% | $-0.04 +2025-03-10 16:08:27,745 - INFO - OPENED LONG at 2120.48 | Stop loss: 2109.8318392857145 | Take profit: 2152.3558410714286 +2025-03-10 16:08:27,767 - INFO - CLOSED long at 2120.54 | PnL: 0.00% | $-0.19 +2025-03-10 16:08:27,767 - INFO - OPENED SHORT at 2120.54 | Stop loss: 2131.1884607142856 | Take profit: 2088.6632589285714 +2025-03-10 16:08:27,788 - INFO - CLOSED short at 2118.0 | PnL: 0.12% | $0.04 +2025-03-10 16:08:27,788 - INFO - OPENED LONG at 2118.0 | Stop loss: 2107.3642392857146 | Take profit: 2149.838641071429 +2025-03-10 16:08:27,816 - INFO - CLOSED long at 2121.8 | PnL: 0.18% | $0.15 +2025-03-10 16:08:27,816 - INFO - OPENED SHORT at 2121.8 | Stop loss: 2132.454760714286 | Take profit: 2089.9043589285716 +2025-03-10 16:08:27,903 - INFO - CLOSED short at 2120.96 | PnL: 0.04% | $-0.12 +2025-03-10 16:08:27,905 - INFO - OPENED LONG at 2120.96 | Stop loss: 2110.3094392857142 | Take profit: 2152.8430410714286 +2025-03-10 16:08:27,957 - INFO - CLOSED long at 2128.33 | PnL: 0.35% | $0.48 +2025-03-10 16:08:27,957 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.0174107142857 | Take profit: 2096.3364089285715 +2025-03-10 16:08:28,037 - INFO - CLOSED short at 2116.81 | PnL: 0.54% | $0.86 +2025-03-10 16:08:28,037 - INFO - OPENED LONG at 2116.81 | Stop loss: 2106.1801892857143 | Take profit: 2148.630791071428 +2025-03-10 16:08:28,075 - INFO - CLOSED long at 2114.78 | PnL: -0.10% | $-0.38 +2025-03-10 16:08:28,075 - INFO - OPENED SHORT at 2114.78 | Stop loss: 2125.399660714286 | Take profit: 2082.9896589285718 +2025-03-10 16:08:28,105 - INFO - CLOSED short at 2115.52 | PnL: -0.03% | $-0.26 +2025-03-10 16:08:28,106 - INFO - OPENED LONG at 2115.52 | Stop loss: 2104.896639285714 | Take profit: 2147.3214410714286 +2025-03-10 16:08:28,141 - INFO - CLOSED long at 2114.75 | PnL: -0.04% | $-0.27 +2025-03-10 16:08:28,142 - INFO - OPENED SHORT at 2114.75 | Stop loss: 2125.3695107142858 | Take profit: 2082.9601089285716 +2025-03-10 16:08:28,230 - INFO - CLOSED short at 2114.1 | PnL: 0.03% | $-0.13 +2025-03-10 16:08:28,231 - INFO - OPENED LONG at 2114.1 | Stop loss: 2103.483739285714 | Take profit: 2145.880141071428 +2025-03-10 16:08:28,285 - INFO - CLOSED long at 2114.32 | PnL: 0.01% | $-0.17 +2025-03-10 16:08:28,286 - INFO - OPENED SHORT at 2114.32 | Stop loss: 2124.9373607142857 | Take profit: 2082.5365589285716 +2025-03-10 16:08:28,344 - INFO - CLOSED short at 2112.57 | PnL: 0.08% | $-0.03 +2025-03-10 16:08:28,345 - INFO - OPENED LONG at 2112.57 | Stop loss: 2101.9613892857146 | Take profit: 2144.327191071429 +2025-03-10 16:08:28,399 - INFO - CLOSED long at 2114.5 | PnL: 0.09% | $-0.02 +2025-03-10 16:08:28,399 - INFO - OPENED SHORT at 2114.5 | Stop loss: 2125.1182607142855 | Take profit: 2082.7138589285714 +2025-03-10 16:08:28,427 - INFO - CLOSED short at 2115.07 | PnL: -0.03% | $-0.25 +2025-03-10 16:08:28,427 - INFO - OPENED LONG at 2115.07 | Stop loss: 2104.4488892857144 | Take profit: 2146.8646910714288 +2025-03-10 16:08:28,456 - INFO - CLOSED long at 2098.24 | PnL: -0.80% | $-1.73 +2025-03-10 16:08:28,456 - INFO - OPENED SHORT at 2098.24 | Stop loss: 2108.7769607142855 | Take profit: 2066.697758928571 +2025-03-10 16:08:28,553 - INFO - CLOSED short at 2100.05 | PnL: -0.09% | $-0.35 +2025-03-10 16:08:28,553 - INFO - OPENED LONG at 2100.05 | Stop loss: 2089.5039892857144 | Take profit: 2131.6193910714287 +2025-03-10 16:08:28,577 - INFO - CLOSED long at 2096.36 | PnL: -0.18% | $-0.52 +2025-03-10 16:08:28,578 - INFO - OPENED SHORT at 2096.36 | Stop loss: 2106.887560714286 | Take profit: 2064.8459589285717 +2025-03-10 16:08:28,626 - INFO - CLOSED short at 2089.84 | PnL: 0.31% | $0.40 +2025-03-10 16:08:28,660 - INFO - OPENED LONG at 2096.19 | Stop loss: 2085.663289285714 | Take profit: 2127.701491071429 +2025-03-10 16:08:28,690 - INFO - CLOSED long at 2100.0 | PnL: 0.18% | $0.15 +2025-03-10 16:08:28,691 - INFO - OPENED SHORT at 2100.0 | Stop loss: 2110.5457607142857 | Take profit: 2068.431358928571 +2025-03-10 16:08:28,783 - INFO - CLOSED short at 2104.67 | PnL: -0.22% | $-0.61 +2025-03-10 16:08:28,784 - INFO - OPENED LONG at 2104.67 | Stop loss: 2094.1008892857144 | Take profit: 2136.3086910714287 +2025-03-10 16:08:28,809 - INFO - CLOSED long at 2105.26 | PnL: 0.03% | $-0.14 +2025-03-10 16:08:28,809 - INFO - OPENED SHORT at 2105.26 | Stop loss: 2115.832060714286 | Take profit: 2073.612458928572 +2025-03-10 16:08:28,998 - INFO - CLOSED short at 2084.95 | PnL: 0.96% | $1.62 +2025-03-10 16:08:29,026 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0286607142857 | Take profit: 2049.3026589285714 +2025-03-10 16:08:29,093 - INFO - CLOSED short at 2084.25 | PnL: -0.18% | $-0.53 +2025-03-10 16:08:29,094 - INFO - OPENED LONG at 2084.25 | Stop loss: 2073.7829892857144 | Take profit: 2115.582391071429 +2025-03-10 16:08:29,125 - INFO - CLOSED long at 2085.37 | PnL: 0.05% | $-0.09 +2025-03-10 16:08:29,127 - INFO - OPENED SHORT at 2085.37 | Stop loss: 2095.8426107142855 | Take profit: 2054.020808928571 +2025-03-10 16:08:29,196 - INFO - CLOSED short at 2075.07 | PnL: 0.49% | $0.75 +2025-03-10 16:08:29,223 - INFO - OPENED SHORT at 2067.71 | Stop loss: 2078.0943107142857 | Take profit: 2036.6257089285714 +2025-03-10 16:08:29,387 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 16.7% in downtrends | Avg Win=$0.56, Avg Loss=$-0.34 +2025-03-10 16:08:29,388 - INFO - Episode 29: Reward=-24.92, Balance=$97.73, Win Rate=28.6%, Trades=28, Episode PnL=$1.06, Total PnL=$302.45, Max Drawdown=3.4%, Pred Accuracy=98.0% +2025-03-10 16:08:29,388 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:08:29,389 - INFO - Refreshing data for episode 30 +2025-03-10 16:08:29,389 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:08:29,700 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:08:29,715 - INFO - Initialized environment with 100 candles +2025-03-10 16:08:30,800 - INFO - OPENED SHORT at 2125.77 | Stop loss: 2136.444610714286 | Take profit: 2093.8148089285714 +2025-03-10 16:08:30,971 - INFO - CLOSED short at 2122.24 | PnL: 0.17% | $0.13 +2025-03-10 16:08:30,972 - INFO - OPENED LONG at 2122.24 | Stop loss: 2111.583039285714 | Take profit: 2154.142241071428 +2025-03-10 16:08:30,995 - INFO - CLOSED long at 2120.48 | PnL: -0.08% | $-0.36 +2025-03-10 16:08:30,997 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.1281607142855 | Take profit: 2088.6041589285715 +2025-03-10 16:08:31,628 - INFO - CLOSED short at 2114.5 | PnL: 0.28% | $0.36 +2025-03-10 16:08:31,628 - INFO - OPENED LONG at 2114.5 | Stop loss: 2103.881739285714 | Take profit: 2146.2861410714286 +2025-03-10 16:08:31,656 - INFO - CLOSED long at 2115.07 | PnL: 0.03% | $-0.14 +2025-03-10 16:08:31,656 - INFO - OPENED SHORT at 2115.07 | Stop loss: 2125.691110714286 | Take profit: 2083.2753089285716 +2025-03-10 16:08:32,211 - INFO - TAKE PROFIT hit for short at 2083.2753089285716 | PnL: 1.50% | $2.75 +2025-03-10 16:08:32,240 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2195107142857 | Take profit: 2053.4101089285714 +2025-03-10 16:08:32,435 - INFO - TAKE PROFIT hit for short at 2053.4101089285714 | PnL: 1.50% | $2.82 +2025-03-10 16:08:32,473 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3007607142854 | Take profit: 2020.1663589285715 +2025-03-10 16:08:32,580 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.51, Avg Loss=$-0.25 +2025-03-10 16:08:32,581 - INFO - Episode 30: Reward=13.06, Balance=$105.55, Win Rate=66.7%, Trades=6, Episode PnL=$6.05, Total PnL=$308.00, Max Drawdown=0.0%, Pred Accuracy=98.0% +2025-03-10 16:08:32,743 - INFO - Model saved to checkpoints/trading_agent_episode_30.pt +2025-03-10 16:08:32,745 - INFO - Checkpoint saved at episode 30 +2025-03-10 16:08:32,745 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:08:33,806 - INFO - Visualization saved for episode 30 +2025-03-10 16:08:35,791 - INFO - Visualization saved for episode 30 +2025-03-10 16:08:35,806 - INFO - Refreshing data for episode 31 +2025-03-10 16:08:35,806 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:08:36,111 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:08:36,124 - INFO - Initialized environment with 100 candles +2025-03-10 16:08:36,233 - INFO - OPENED SHORT at 2125.77 | Stop loss: 2136.4450857142856 | Take profit: 2093.8140964285712 +2025-03-10 16:08:36,267 - INFO - CLOSED short at 2126.13 | PnL: -0.02% | $-0.23 +2025-03-10 16:08:36,304 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.997835714286 | Take profit: 2094.3558464285716 +2025-03-10 16:08:37,080 - INFO - CLOSED short at 2098.24 | PnL: 1.32% | $2.38 +2025-03-10 16:08:37,120 - INFO - OPENED SHORT at 2091.36 | Stop loss: 2101.863035714286 | Take profit: 2059.9202464285718 +2025-03-10 16:08:37,288 - INFO - STOP LOSS hit for short at 2101.863035714286 | PnL: -0.50% | $-1.20 +2025-03-10 16:08:37,315 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9732857142853 | Take profit: 2071.789496428571 +2025-03-10 16:08:37,379 - INFO - CLOSED short at 2105.26 | PnL: -0.09% | $-0.37 +2025-03-10 16:08:37,379 - INFO - OPENED LONG at 2105.26 | Stop loss: 2094.6874642857147 | Take profit: 2136.9082535714288 +2025-03-10 16:08:37,402 - INFO - CLOSED long at 2099.63 | PnL: -0.27% | $-0.72 +2025-03-10 16:08:37,402 - INFO - OPENED SHORT at 2099.63 | Stop loss: 2110.1743857142856 | Take profit: 2068.0661964285714 +2025-03-10 16:08:37,790 - INFO - TAKE PROFIT hit for short at 2068.0661964285714 | PnL: 1.50% | $2.74 +2025-03-10 16:08:37,819 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.587735714286 | Take profit: 2017.5061464285716 +2025-03-10 16:08:37,936 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 33.3% in downtrends | Avg Win=$2.56, Avg Loss=$-0.63 +2025-03-10 16:08:37,937 - INFO - Episode 31: Reward=11.24, Balance=$102.60, Win Rate=33.3%, Trades=6, Episode PnL=$3.32, Total PnL=$310.60, Max Drawdown=1.2%, Pred Accuracy=98.1% +2025-03-10 16:08:37,938 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:08:37,938 - INFO - Refreshing data for episode 32 +2025-03-10 16:08:37,938 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:08:38,267 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:08:38,276 - INFO - Initialized environment with 100 candles +2025-03-10 16:08:38,295 - INFO - OPENED SHORT at 2125.77 | Stop loss: 2136.4450857142856 | Take profit: 2093.8140964285712 +2025-03-10 16:08:39,118 - INFO - CLOSED short at 2098.24 | PnL: 1.30% | $2.34 +2025-03-10 16:08:39,146 - INFO - OPENED SHORT at 2098.28 | Stop loss: 2108.817635714286 | Take profit: 2066.7364464285715 +2025-03-10 16:08:39,863 - INFO - TAKE PROFIT hit for short at 2066.7364464285715 | PnL: 1.50% | $2.81 +2025-03-10 16:08:39,893 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3012357142857 | Take profit: 2020.1656464285716 +2025-03-10 16:08:39,982 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.57, Avg Loss=$0.00 +2025-03-10 16:08:39,983 - INFO - Episode 32: Reward=16.30, Balance=$105.15, Win Rate=100.0%, Trades=2, Episode PnL=$5.15, Total PnL=$315.75, Max Drawdown=0.0%, Pred Accuracy=98.2% +2025-03-10 16:08:39,983 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:08:39,983 - INFO - Refreshing data for episode 33 +2025-03-10 16:08:39,983 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:08:40,314 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:08:40,324 - INFO - Initialized environment with 100 candles +2025-03-10 16:08:40,346 - INFO - OPENED SHORT at 2125.77 | Stop loss: 2136.4450857142856 | Take profit: 2093.8140964285712 +2025-03-10 16:08:41,265 - INFO - TAKE PROFIT hit for short at 2093.8140964285712 | PnL: 1.50% | $2.75 +2025-03-10 16:08:41,293 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.596485714286 | Take profit: 2068.4798964285715 +2025-03-10 16:08:41,629 - INFO - CLOSED short at 2099.22 | PnL: 0.04% | $-0.12 +2025-03-10 16:08:41,630 - INFO - OPENED LONG at 2099.22 | Stop loss: 2088.677664285714 | Take profit: 2130.7776535714283 +2025-03-10 16:08:41,662 - INFO - CLOSED long at 2094.16 | PnL: -0.24% | $-0.68 +2025-03-10 16:08:41,662 - INFO - OPENED SHORT at 2094.16 | Stop loss: 2104.6770357142855 | Take profit: 2062.678246428571 +2025-03-10 16:08:41,909 - INFO - CLOSED short at 2085.37 | PnL: 0.42% | $0.64 +2025-03-10 16:08:41,936 - INFO - OPENED SHORT at 2084.11 | Stop loss: 2094.5767857142855 | Take profit: 2052.7789964285716 +2025-03-10 16:08:42,034 - INFO - TAKE PROFIT hit for short at 2052.7789964285716 | PnL: 1.50% | $2.82 +2025-03-10 16:08:42,061 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3012357142857 | Take profit: 2020.1656464285716 +2025-03-10 16:08:42,172 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.07, Avg Loss=$-0.40 +2025-03-10 16:08:42,172 - INFO - Episode 33: Reward=12.05, Balance=$105.39, Win Rate=60.0%, Trades=5, Episode PnL=$6.08, Total PnL=$321.14, Max Drawdown=0.2%, Pred Accuracy=98.1% +2025-03-10 16:08:42,173 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:08:42,173 - INFO - Refreshing data for episode 34 +2025-03-10 16:08:42,173 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:08:42,505 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:08:42,515 - INFO - Initialized environment with 100 candles +2025-03-10 16:08:42,543 - INFO - OPENED SHORT at 2125.77 | Stop loss: 2136.4452464285714 | Take profit: 2093.813855357143 +2025-03-10 16:08:43,498 - INFO - TAKE PROFIT hit for short at 2093.813855357143 | PnL: 1.50% | $2.75 +2025-03-10 16:08:43,533 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5966464285716 | Take profit: 2068.479655357143 +2025-03-10 16:08:44,292 - INFO - TAKE PROFIT hit for short at 2068.479655357143 | PnL: 1.50% | $2.82 +2025-03-10 16:08:44,325 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5878964285716 | Take profit: 2017.505905357143 +2025-03-10 16:08:44,453 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$0.00 +2025-03-10 16:08:44,454 - INFO - Episode 34: Reward=14.10, Balance=$105.57, Win Rate=100.0%, Trades=2, Episode PnL=$5.57, Total PnL=$326.71, Max Drawdown=0.0%, Pred Accuracy=98.2% +2025-03-10 16:08:44,455 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:08:44,455 - INFO - Refreshing data for episode 35 +2025-03-10 16:08:44,455 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:08:44,768 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:08:44,784 - INFO - Initialized environment with 100 candles +2025-03-10 16:08:45,590 - INFO - OPENED SHORT at 2125.77 | Stop loss: 2136.4457285714284 | Take profit: 2093.8131321428573 +2025-03-10 16:08:46,440 - INFO - CLOSED short at 2115.07 | PnL: 0.50% | $0.79 +2025-03-10 16:08:46,441 - INFO - OPENED LONG at 2115.07 | Stop loss: 2104.4477714285717 | Take profit: 2146.8663678571434 +2025-03-10 16:08:46,471 - INFO - CLOSED long at 2098.24 | PnL: -0.80% | $-1.77 +2025-03-10 16:08:46,473 - INFO - OPENED SHORT at 2098.24 | Stop loss: 2108.7780785714285 | Take profit: 2066.696082142857 +2025-03-10 16:08:46,603 - INFO - CLOSED short at 2089.04 | PnL: 0.44% | $0.66 +2025-03-10 16:08:46,631 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.336078571429 | Take profit: 2058.422082142857 +2025-03-10 16:08:46,714 - INFO - STOP LOSS hit for short at 2100.336078571429 | PnL: -0.50% | $-1.17 +2025-03-10 16:08:46,738 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9739285714286 | Take profit: 2071.788532142857 +2025-03-10 16:08:46,836 - INFO - CLOSED short at 2099.63 | PnL: 0.18% | $0.15 +2025-03-10 16:08:46,836 - INFO - OPENED LONG at 2099.63 | Stop loss: 2089.0849714285714 | Take profit: 2131.1947678571432 +2025-03-10 16:08:46,865 - INFO - CLOSED long at 2099.22 | PnL: -0.02% | $-0.23 +2025-03-10 16:08:46,866 - INFO - OPENED SHORT at 2099.22 | Stop loss: 2109.7629785714284 | Take profit: 2067.661382142857 +2025-03-10 16:08:47,301 - INFO - TAKE PROFIT hit for short at 2067.661382142857 | PnL: 1.50% | $2.70 +2025-03-10 16:08:47,329 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3018785714285 | Take profit: 2020.1646821428571 +2025-03-10 16:08:47,440 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$1.08, Avg Loss=$-1.06 +2025-03-10 16:08:47,441 - INFO - Episode 35: Reward=13.20, Balance=$101.13, Win Rate=57.1%, Trades=7, Episode PnL=$3.13, Total PnL=$327.84, Max Drawdown=1.5%, Pred Accuracy=98.3% +2025-03-10 16:08:47,443 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:08:47,443 - INFO - Refreshing data for episode 36 +2025-03-10 16:08:47,443 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:08:47,748 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:08:47,758 - INFO - Initialized environment with 100 candles +2025-03-10 16:08:47,785 - INFO - OPENED SHORT at 2125.77 | Stop loss: 2136.4457285714284 | Take profit: 2093.8131321428573 +2025-03-10 16:08:48,100 - INFO - CLOSED short at 2116.52 | PnL: 0.44% | $0.66 +2025-03-10 16:08:48,129 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.6619785714283 | Take profit: 2087.164382142857 +2025-03-10 16:08:48,234 - INFO - CLOSED short at 2124.77 | PnL: -0.27% | $-0.73 +2025-03-10 16:08:48,262 - INFO - OPENED SHORT at 2120.26 | Stop loss: 2130.908178571429 | Take profit: 2088.3857821428574 +2025-03-10 16:08:48,607 - INFO - CLOSED short at 2113.28 | PnL: 0.33% | $0.45 +2025-03-10 16:08:48,607 - INFO - OPENED LONG at 2113.28 | Stop loss: 2102.6667214285717 | Take profit: 2145.0495178571427 +2025-03-10 16:08:48,628 - INFO - CLOSED long at 2114.5 | PnL: 0.06% | $-0.08 +2025-03-10 16:08:48,629 - INFO - OPENED SHORT at 2114.5 | Stop loss: 2125.1193785714286 | Take profit: 2082.7121821428573 +2025-03-10 16:08:49,215 - INFO - CLOSED short at 2096.96 | PnL: 0.83% | $1.43 +2025-03-10 16:08:49,216 - INFO - OPENED LONG at 2096.96 | Stop loss: 2086.4283214285715 | Take profit: 2128.4847178571426 +2025-03-10 16:08:49,244 - INFO - CLOSED long at 2098.66 | PnL: 0.08% | $-0.04 +2025-03-10 16:08:49,245 - INFO - OPENED SHORT at 2098.66 | Stop loss: 2109.2001785714288 | Take profit: 2067.109782142857 +2025-03-10 16:08:49,542 - INFO - CLOSED short at 2083.07 | PnL: 0.74% | $1.28 +2025-03-10 16:08:49,545 - INFO - OPENED LONG at 2083.07 | Stop loss: 2072.6077714285716 | Take profit: 2114.3863678571433 +2025-03-10 16:08:49,571 - INFO - CLOSED long at 2075.07 | PnL: -0.38% | $-0.97 +2025-03-10 16:08:49,571 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.4922285714288 | Take profit: 2043.8736321428573 +2025-03-10 16:08:49,676 - INFO - TAKE PROFIT hit for short at 2043.8736321428573 | PnL: 1.50% | $2.80 +2025-03-10 16:08:49,710 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.2013285714283 | Take profit: 2022.026332142857 +2025-03-10 16:08:49,735 - INFO - CLOSED short at 2053.22 | PnL: -0.02% | $-0.24 +2025-03-10 16:08:49,735 - INFO - OPENED LONG at 2053.22 | Stop loss: 2042.9070214285712 | Take profit: 2084.0886178571427 +2025-03-10 16:08:49,758 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 80.0% in downtrends | Avg Win=$1.32, Avg Loss=$-0.41 +2025-03-10 16:08:49,758 - INFO - Episode 36: Reward=11.64, Balance=$104.55, Win Rate=50.0%, Trades=10, Episode PnL=$5.64, Total PnL=$332.39, Max Drawdown=0.7%, Pred Accuracy=98.3% +2025-03-10 16:08:49,760 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:08:49,760 - INFO - Refreshing data for episode 37 +2025-03-10 16:08:49,760 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:08:50,072 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:08:50,084 - INFO - Initialized environment with 100 candles +2025-03-10 16:08:50,145 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.8077 | Take profit: 2094.167475 +2025-03-10 16:08:50,445 - INFO - CLOSED short at 2116.52 | PnL: 0.45% | $0.69 +2025-03-10 16:08:50,446 - INFO - OPENED LONG at 2116.52 | Stop loss: 2105.8903499999997 | Take profit: 2148.338375 +2025-03-10 16:08:50,477 - INFO - CLOSED long at 2119.02 | PnL: 0.12% | $0.04 +2025-03-10 16:08:50,477 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.66215 | Take profit: 2087.164125 +2025-03-10 16:08:50,536 - INFO - CLOSED short at 2124.9 | PnL: -0.28% | $-0.74 +2025-03-10 16:08:50,537 - INFO - OPENED LONG at 2124.9 | Stop loss: 2114.22845 | Take profit: 2156.844075 +2025-03-10 16:08:50,571 - INFO - CLOSED long at 2128.33 | PnL: 0.16% | $0.12 +2025-03-10 16:08:50,572 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.0187 | Take profit: 2096.334475 +2025-03-10 16:08:50,630 - INFO - CLOSED short at 2120.26 | PnL: 0.38% | $0.55 +2025-03-10 16:08:50,660 - INFO - OPENED SHORT at 2116.81 | Stop loss: 2127.4411 | Take profit: 2084.987275 +2025-03-10 16:08:51,589 - INFO - TAKE PROFIT hit for short at 2084.987275 | PnL: 1.50% | $2.76 +2025-03-10 16:08:51,617 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0299499999996 | Take profit: 2049.300725 +2025-03-10 16:08:51,837 - INFO - TAKE PROFIT hit for short at 2049.300725 | PnL: 1.50% | $2.84 +2025-03-10 16:08:51,868 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3020500000002 | Take profit: 2020.164425 +2025-03-10 16:08:51,976 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$1.17, Avg Loss=$-0.74 +2025-03-10 16:08:51,977 - INFO - Episode 37: Reward=15.88, Balance=$106.25, Win Rate=85.7%, Trades=7, Episode PnL=$6.09, Total PnL=$338.64, Max Drawdown=0.0%, Pred Accuracy=98.3% +2025-03-10 16:08:51,977 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:08:51,978 - INFO - Refreshing data for episode 38 +2025-03-10 16:08:51,978 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:08:52,750 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:08:52,759 - INFO - Initialized environment with 100 candles +2025-03-10 16:08:52,814 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.808335714286 | Take profit: 2094.1665214285717 +2025-03-10 16:08:53,656 - INFO - CLOSED short at 2098.24 | PnL: 1.31% | $2.37 +2025-03-10 16:08:53,656 - INFO - OPENED LONG at 2098.24 | Stop loss: 2087.701114285714 | Take profit: 2129.7851285714282 +2025-03-10 16:08:53,684 - INFO - CLOSED long at 2098.28 | PnL: 0.00% | $-0.20 +2025-03-10 16:08:53,685 - INFO - OPENED SHORT at 2098.28 | Stop loss: 2108.819085714286 | Take profit: 2066.7342714285714 +2025-03-10 16:08:54,420 - INFO - TAKE PROFIT hit for short at 2066.7342714285714 | PnL: 1.50% | $2.80 +2025-03-10 16:08:54,447 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3026857142854 | Take profit: 2020.1634714285715 +2025-03-10 16:08:54,542 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.59, Avg Loss=$-0.20 +2025-03-10 16:08:54,543 - INFO - Episode 38: Reward=14.94, Balance=$104.98, Win Rate=66.7%, Trades=3, Episode PnL=$5.17, Total PnL=$343.62, Max Drawdown=0.0%, Pred Accuracy=98.4% +2025-03-10 16:08:54,543 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:08:54,544 - INFO - Refreshing data for episode 39 +2025-03-10 16:08:54,544 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:08:54,857 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:08:54,867 - INFO - Initialized environment with 100 candles +2025-03-10 16:08:54,899 - INFO - OPENED SHORT at 2125.77 | Stop loss: 2136.447067857143 | Take profit: 2093.811123214286 +2025-03-10 16:08:55,345 - INFO - CLOSED short at 2124.9 | PnL: 0.04% | $-0.12 +2025-03-10 16:08:55,345 - INFO - OPENED LONG at 2124.9 | Stop loss: 2114.2272821428573 | Take profit: 2156.8458267857145 +2025-03-10 16:08:55,370 - INFO - CLOSED long at 2128.33 | PnL: 0.16% | $0.12 +2025-03-10 16:08:55,370 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.019867857143 | Take profit: 2096.3327232142856 +2025-03-10 16:08:55,817 - INFO - CLOSED short at 2115.07 | PnL: 0.62% | $1.02 +2025-03-10 16:08:55,817 - INFO - OPENED LONG at 2115.07 | Stop loss: 2104.4464321428572 | Take profit: 2146.8683767857146 +2025-03-10 16:08:55,845 - INFO - CLOSED long at 2098.24 | PnL: -0.80% | $-1.77 +2025-03-10 16:08:55,846 - INFO - OPENED SHORT at 2098.24 | Stop loss: 2108.779417857143 | Take profit: 2066.6940732142857 +2025-03-10 16:08:56,251 - INFO - CLOSED short at 2099.22 | PnL: -0.05% | $-0.28 +2025-03-10 16:08:56,276 - INFO - OPENED SHORT at 2094.16 | Stop loss: 2104.6790178571428 | Take profit: 2062.6752732142854 +2025-03-10 16:08:56,669 - INFO - TAKE PROFIT hit for short at 2062.6752732142854 | PnL: 1.50% | $2.72 +2025-03-10 16:08:56,697 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3032178571425 | Take profit: 2020.1626732142856 +2025-03-10 16:08:56,794 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$1.29, Avg Loss=$-0.72 +2025-03-10 16:08:56,795 - INFO - Episode 39: Reward=10.59, Balance=$101.69, Win Rate=50.0%, Trades=6, Episode PnL=$3.34, Total PnL=$345.31, Max Drawdown=1.0%, Pred Accuracy=98.5% +2025-03-10 16:08:56,796 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:08:56,796 - INFO - Refreshing data for episode 40 +2025-03-10 16:08:56,796 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:08:57,124 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:08:57,133 - INFO - Initialized environment with 100 candles +2025-03-10 16:08:57,968 - INFO - OPENED SHORT at 2125.77 | Stop loss: 2136.447067857143 | Take profit: 2093.811123214286 +2025-03-10 16:08:58,873 - INFO - TAKE PROFIT hit for short at 2093.811123214286 | PnL: 1.50% | $2.74 +2025-03-10 16:08:58,903 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.598467857143 | Take profit: 2068.4769232142858 +2025-03-10 16:08:59,065 - INFO - CLOSED short at 2102.83 | PnL: -0.13% | $-0.47 +2025-03-10 16:08:59,087 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9752678571426 | Take profit: 2071.786523214286 +2025-03-10 16:08:59,270 - INFO - CLOSED short at 2096.96 | PnL: 0.31% | $0.41 +2025-03-10 16:08:59,271 - INFO - OPENED LONG at 2096.96 | Stop loss: 2086.426982142857 | Take profit: 2128.4867267857144 +2025-03-10 16:08:59,293 - INFO - CLOSED long at 2098.66 | PnL: 0.08% | $-0.04 +2025-03-10 16:08:59,321 - INFO - OPENED SHORT at 2090.59 | Stop loss: 2101.0911678571433 | Take profit: 2059.158823214286 +2025-03-10 16:08:59,638 - INFO - TAKE PROFIT hit for short at 2059.158823214286 | PnL: 1.50% | $2.82 +2025-03-10 16:08:59,689 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.775767857143 | Take profit: 2012.7850232142857 +2025-03-10 16:08:59,742 - INFO - CLOSED short at 2053.22 | PnL: -0.48% | $-1.19 +2025-03-10 16:08:59,765 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.99, Avg Loss=$-0.56 +2025-03-10 16:08:59,766 - INFO - Episode 40: Reward=9.65, Balance=$104.28, Win Rate=50.0%, Trades=6, Episode PnL=$4.28, Total PnL=$349.59, Max Drawdown=1.1%, Pred Accuracy=98.5% +2025-03-10 16:08:59,904 - INFO - Model saved to checkpoints/trading_agent_episode_40.pt +2025-03-10 16:08:59,905 - INFO - Checkpoint saved at episode 40 +2025-03-10 16:08:59,905 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:09:01,076 - INFO - Visualization saved for episode 40 +2025-03-10 16:09:02,689 - INFO - Visualization saved for episode 40 +2025-03-10 16:09:02,704 - INFO - Refreshing data for episode 41 +2025-03-10 16:09:02,704 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:09:03,009 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:09:03,019 - INFO - Initialized environment with 100 candles +2025-03-10 16:09:03,080 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.807542857143 | Take profit: 2094.167710714286 +2025-03-10 16:09:03,333 - INFO - CLOSED short at 2121.42 | PnL: 0.22% | $0.24 +2025-03-10 16:09:03,333 - INFO - OPENED LONG at 2121.42 | Stop loss: 2110.7660071428572 | Take profit: 2153.3116392857146 +2025-03-10 16:09:03,358 - INFO - CLOSED long at 2116.52 | PnL: -0.23% | $-0.65 +2025-03-10 16:09:03,363 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.149492857143 | Take profit: 2084.701860714286 +2025-03-10 16:09:03,460 - INFO - STOP LOSS hit for short at 2127.149492857143 | PnL: -0.50% | $-1.17 +2025-03-10 16:09:03,486 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.4407428571426 | Take profit: 2092.8281107142857 +2025-03-10 16:09:03,897 - INFO - TAKE PROFIT hit for short at 2092.8281107142857 | PnL: 1.50% | $2.70 +2025-03-10 16:09:03,918 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.597142857143 | Take profit: 2068.478910714286 +2025-03-10 16:09:04,133 - INFO - CLOSED short at 2104.67 | PnL: -0.22% | $-0.63 +2025-03-10 16:09:04,133 - INFO - OPENED LONG at 2104.67 | Stop loss: 2094.099757142857 | Take profit: 2136.3103892857143 +2025-03-10 16:09:04,156 - INFO - CLOSED long at 2105.26 | PnL: 0.03% | $-0.14 +2025-03-10 16:09:04,156 - INFO - OPENED SHORT at 2105.26 | Stop loss: 2115.8331928571433 | Take profit: 2073.610760714286 +2025-03-10 16:09:04,179 - INFO - CLOSED short at 2099.63 | PnL: 0.27% | $0.33 +2025-03-10 16:09:04,205 - INFO - OPENED SHORT at 2099.22 | Stop loss: 2109.7629928571428 | Take profit: 2067.6613607142854 +2025-03-10 16:09:04,476 - INFO - CLOSED short at 2084.11 | PnL: 0.72% | $1.22 +2025-03-10 16:09:04,501 - INFO - OPENED SHORT at 2083.07 | Stop loss: 2093.532242857143 | Take profit: 2051.753610714286 +2025-03-10 16:09:04,572 - INFO - TAKE PROFIT hit for short at 2051.753610714286 | PnL: 1.50% | $2.80 +2025-03-10 16:09:04,596 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3018928571432 | Take profit: 2020.164660714286 +2025-03-10 16:09:04,701 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 60.0% in downtrends | Avg Win=$1.46, Avg Loss=$-0.65 +2025-03-10 16:09:04,701 - INFO - Episode 41: Reward=12.61, Balance=$104.69, Win Rate=55.6%, Trades=9, Episode PnL=$5.48, Total PnL=$354.28, Max Drawdown=1.6%, Pred Accuracy=98.7% +2025-03-10 16:09:04,703 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:09:04,703 - INFO - Refreshing data for episode 42 +2025-03-10 16:09:04,703 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:09:05,030 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:09:05,041 - INFO - Initialized environment with 100 candles +2025-03-10 16:09:05,066 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.807542857143 | Take profit: 2094.167710714286 +2025-03-10 16:09:05,825 - INFO - TAKE PROFIT hit for short at 2094.167710714286 | PnL: 1.50% | $2.75 +2025-03-10 16:09:05,850 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.597142857143 | Take profit: 2068.478910714286 +2025-03-10 16:09:05,991 - INFO - CLOSED short at 2103.41 | PnL: -0.16% | $-0.52 +2025-03-10 16:09:06,011 - INFO - OPENED SHORT at 2104.22 | Stop loss: 2114.7879928571424 | Take profit: 2072.5863607142855 +2025-03-10 16:09:06,436 - INFO - TAKE PROFIT hit for short at 2072.5863607142855 | PnL: 1.50% | $2.81 +2025-03-10 16:09:06,461 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5883928571434 | Take profit: 2017.505160714286 +2025-03-10 16:09:06,588 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$-0.52 +2025-03-10 16:09:06,589 - INFO - Episode 42: Reward=12.47, Balance=$105.03, Win Rate=66.7%, Trades=3, Episode PnL=$5.03, Total PnL=$359.31, Max Drawdown=0.5%, Pred Accuracy=98.8% +2025-03-10 16:09:06,589 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:09:06,590 - INFO - Refreshing data for episode 43 +2025-03-10 16:09:06,590 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:09:06,914 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:09:06,924 - INFO - Initialized environment with 100 candles +2025-03-10 16:09:06,950 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.8079464285715 | Take profit: 2094.167105357143 +2025-03-10 16:09:07,421 - INFO - CLOSED short at 2120.26 | PnL: 0.28% | $0.34 +2025-03-10 16:09:07,446 - INFO - OPENED SHORT at 2116.81 | Stop loss: 2127.4413464285713 | Take profit: 2084.986905357143 +2025-03-10 16:09:08,219 - INFO - TAKE PROFIT hit for short at 2084.986905357143 | PnL: 1.50% | $2.75 +2025-03-10 16:09:08,242 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0301964285713 | Take profit: 2049.300355357143 +2025-03-10 16:09:08,430 - INFO - TAKE PROFIT hit for short at 2049.300355357143 | PnL: 1.50% | $2.83 +2025-03-10 16:09:08,457 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3022964285715 | Take profit: 2020.1640553571428 +2025-03-10 16:09:08,556 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.98, Avg Loss=$0.00 +2025-03-10 16:09:08,556 - INFO - Episode 43: Reward=15.20, Balance=$105.93, Win Rate=100.0%, Trades=3, Episode PnL=$5.93, Total PnL=$365.24, Max Drawdown=0.0%, Pred Accuracy=98.8% +2025-03-10 16:09:08,556 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:09:08,557 - INFO - Refreshing data for episode 44 +2025-03-10 16:09:08,557 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:09:08,871 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:09:08,883 - INFO - Initialized environment with 100 candles +2025-03-10 16:09:08,906 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.8079464285715 | Take profit: 2094.167105357143 +2025-03-10 16:09:09,652 - INFO - TAKE PROFIT hit for short at 2094.167105357143 | PnL: 1.50% | $2.75 +2025-03-10 16:09:09,675 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5975464285716 | Take profit: 2068.478305357143 +2025-03-10 16:09:10,242 - INFO - TAKE PROFIT hit for short at 2068.478305357143 | PnL: 1.50% | $2.82 +2025-03-10 16:09:10,264 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5887964285716 | Take profit: 2017.504555357143 +2025-03-10 16:09:10,398 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$0.00 +2025-03-10 16:09:10,399 - INFO - Episode 44: Reward=14.10, Balance=$105.57, Win Rate=100.0%, Trades=2, Episode PnL=$5.57, Total PnL=$370.80, Max Drawdown=0.0%, Pred Accuracy=98.9% +2025-03-10 16:09:10,400 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:09:10,400 - INFO - Refreshing data for episode 45 +2025-03-10 16:09:10,401 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:09:10,701 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:09:10,710 - INFO - Initialized environment with 100 candles +2025-03-10 16:09:11,394 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.8079464285715 | Take profit: 2094.167105357143 +2025-03-10 16:09:11,674 - INFO - CLOSED short at 2119.02 | PnL: 0.33% | $0.46 +2025-03-10 16:09:11,703 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.6120964285715 | Take profit: 2089.074655357143 +2025-03-10 16:09:11,998 - INFO - CLOSED short at 2115.21 | PnL: 0.27% | $0.34 +2025-03-10 16:09:11,998 - INFO - OPENED LONG at 2115.21 | Stop loss: 2104.5866535714285 | Take profit: 2147.0090946428572 +2025-03-10 16:09:12,027 - INFO - CLOSED long at 2114.1 | PnL: -0.05% | $-0.30 +2025-03-10 16:09:12,027 - INFO - OPENED SHORT at 2114.1 | Stop loss: 2124.717796428571 | Take profit: 2082.3175553571427 +2025-03-10 16:09:12,849 - INFO - TAKE PROFIT hit for short at 2082.3175553571427 | PnL: 1.50% | $2.76 +2025-03-10 16:09:12,878 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2210464285718 | Take profit: 2053.407805357143 +2025-03-10 16:09:13,111 - INFO - TAKE PROFIT hit for short at 2053.407805357143 | PnL: 1.50% | $2.83 +2025-03-10 16:09:13,141 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3022964285715 | Take profit: 2020.1640553571428 +2025-03-10 16:09:13,273 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.60, Avg Loss=$-0.30 +2025-03-10 16:09:13,274 - INFO - Episode 45: Reward=14.76, Balance=$106.09, Win Rate=80.0%, Trades=5, Episode PnL=$6.39, Total PnL=$376.89, Max Drawdown=0.0%, Pred Accuracy=99.0% +2025-03-10 16:09:13,274 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:09:13,274 - INFO - Refreshing data for episode 46 +2025-03-10 16:09:13,275 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:09:13,590 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:09:13,602 - INFO - Initialized environment with 100 candles +2025-03-10 16:09:13,632 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.8079464285715 | Take profit: 2094.167105357143 +2025-03-10 16:09:13,688 - INFO - CLOSED short at 2126.7 | PnL: -0.03% | $-0.25 +2025-03-10 16:09:13,689 - INFO - OPENED LONG at 2126.7 | Stop loss: 2116.0192035714285 | Take profit: 2158.6714446428573 +2025-03-10 16:09:13,716 - INFO - CLOSED long at 2122.01 | PnL: -0.22% | $-0.63 +2025-03-10 16:09:13,716 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.667346428572 | Take profit: 2090.108905357143 +2025-03-10 16:09:14,683 - INFO - TAKE PROFIT hit for short at 2090.108905357143 | PnL: 1.50% | $2.72 +2025-03-10 16:09:14,718 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3364964285715 | Take profit: 2058.421455357143 +2025-03-10 16:09:14,805 - INFO - STOP LOSS hit for short at 2100.3364964285715 | PnL: -0.50% | $-1.20 +2025-03-10 16:09:14,834 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.974346428571 | Take profit: 2071.787905357143 +2025-03-10 16:09:15,100 - INFO - CLOSED short at 2084.95 | PnL: 0.88% | $1.53 +2025-03-10 16:09:15,123 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0301964285713 | Take profit: 2049.300355357143 +2025-03-10 16:09:15,329 - INFO - TAKE PROFIT hit for short at 2049.300355357143 | PnL: 1.50% | $2.80 +2025-03-10 16:09:15,353 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3022964285715 | Take profit: 2020.1640553571428 +2025-03-10 16:09:15,504 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$2.35, Avg Loss=$-0.69 +2025-03-10 16:09:15,505 - INFO - Episode 46: Reward=12.63, Balance=$104.98, Win Rate=50.0%, Trades=6, Episode PnL=$5.61, Total PnL=$381.87, Max Drawdown=1.2%, Pred Accuracy=99.0% +2025-03-10 16:09:15,505 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:09:15,505 - INFO - Refreshing data for episode 47 +2025-03-10 16:09:15,505 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:09:15,812 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:09:15,821 - INFO - Initialized environment with 100 candles +2025-03-10 16:09:15,849 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.8079464285715 | Take profit: 2094.167105357143 +2025-03-10 16:09:16,728 - INFO - TAKE PROFIT hit for short at 2094.167105357143 | PnL: 1.50% | $2.75 +2025-03-10 16:09:16,760 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5975464285716 | Take profit: 2068.478305357143 +2025-03-10 16:09:17,432 - INFO - TAKE PROFIT hit for short at 2068.478305357143 | PnL: 1.50% | $2.82 +2025-03-10 16:09:17,458 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5887964285716 | Take profit: 2017.504555357143 +2025-03-10 16:09:17,609 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$0.00 +2025-03-10 16:09:17,610 - INFO - Episode 47: Reward=14.08, Balance=$105.57, Win Rate=100.0%, Trades=2, Episode PnL=$5.57, Total PnL=$387.44, Max Drawdown=0.0%, Pred Accuracy=99.1% +2025-03-10 16:09:17,610 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:09:17,611 - INFO - Refreshing data for episode 48 +2025-03-10 16:09:17,611 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:09:17,903 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:09:17,908 - INFO - Initialized environment with 100 candles +2025-03-10 16:09:17,938 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.8079464285715 | Take profit: 2094.167105357143 +2025-03-10 16:09:18,764 - INFO - TAKE PROFIT hit for short at 2094.167105357143 | PnL: 1.50% | $2.75 +2025-03-10 16:09:18,794 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5975464285716 | Take profit: 2068.478305357143 +2025-03-10 16:09:18,971 - INFO - CLOSED short at 2104.22 | PnL: -0.20% | $-0.60 +2025-03-10 16:09:18,994 - INFO - OPENED SHORT at 2104.67 | Stop loss: 2115.240646428572 | Take profit: 2073.029005357143 +2025-03-10 16:09:19,114 - INFO - CLOSED short at 2098.66 | PnL: 0.29% | $0.37 +2025-03-10 16:09:19,139 - INFO - OPENED SHORT at 2090.59 | Stop loss: 2101.0902464285714 | Take profit: 2059.1602053571432 +2025-03-10 16:09:19,341 - INFO - CLOSED short at 2084.11 | PnL: 0.31% | $0.42 +2025-03-10 16:09:19,342 - INFO - OPENED LONG at 2084.11 | Stop loss: 2073.6421535714285 | Take profit: 2115.442594642857 +2025-03-10 16:09:19,369 - INFO - CLOSED long at 2083.07 | PnL: -0.05% | $-0.30 +2025-03-10 16:09:19,370 - INFO - OPENED SHORT at 2083.07 | Stop loss: 2093.5326464285718 | Take profit: 2051.753005357143 +2025-03-10 16:09:19,443 - INFO - TAKE PROFIT hit for short at 2051.753005357143 | PnL: 1.50% | $2.82 +2025-03-10 16:09:19,472 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3022964285715 | Take profit: 2020.1640553571428 +2025-03-10 16:09:19,579 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.59, Avg Loss=$-0.45 +2025-03-10 16:09:19,580 - INFO - Episode 48: Reward=13.09, Balance=$105.45, Win Rate=66.7%, Trades=6, Episode PnL=$5.75, Total PnL=$392.89, Max Drawdown=0.6%, Pred Accuracy=99.2% +2025-03-10 16:09:19,580 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:09:19,580 - INFO - Refreshing data for episode 49 +2025-03-10 16:09:19,582 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:09:19,881 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:09:19,894 - INFO - Initialized environment with 100 candles +2025-03-10 16:09:19,921 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.8079464285715 | Take profit: 2094.167105357143 +2025-03-10 16:09:20,215 - INFO - CLOSED short at 2121.42 | PnL: 0.22% | $0.24 +2025-03-10 16:09:20,216 - INFO - OPENED LONG at 2121.42 | Stop loss: 2110.7656035714285 | Take profit: 2153.312244642857 +2025-03-10 16:09:20,240 - INFO - CLOSED long at 2116.52 | PnL: -0.23% | $-0.65 +2025-03-10 16:09:20,241 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.1498964285715 | Take profit: 2084.7012553571426 +2025-03-10 16:09:20,344 - INFO - STOP LOSS hit for short at 2127.1498964285715 | PnL: -0.50% | $-1.17 +2025-03-10 16:09:20,366 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.4411464285713 | Take profit: 2092.827505357143 +2025-03-10 16:09:20,793 - INFO - TAKE PROFIT hit for short at 2092.827505357143 | PnL: 1.50% | $2.70 +2025-03-10 16:09:20,825 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5975464285716 | Take profit: 2068.478305357143 +2025-03-10 16:09:21,417 - INFO - TAKE PROFIT hit for short at 2068.478305357143 | PnL: 1.50% | $2.78 +2025-03-10 16:09:21,439 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5887964285716 | Take profit: 2017.504555357143 +2025-03-10 16:09:21,572 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$1.91, Avg Loss=$-0.91 +2025-03-10 16:09:21,573 - INFO - Episode 49: Reward=13.28, Balance=$103.89, Win Rate=60.0%, Trades=5, Episode PnL=$4.54, Total PnL=$396.79, Max Drawdown=1.6%, Pred Accuracy=99.2% +2025-03-10 16:09:21,574 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:09:21,574 - INFO - Early stopping triggered after 50 episodes without improvement +2025-03-10 16:09:21,715 - INFO - Model saved to models/trading_agent_final.pt +2025-03-10 16:09:22,660 - INFO - Training results saved to training_results.png +2025-03-10 16:09:22,810 - INFO - Model saved to models/trading_agent_continuous_50.pt +2025-03-10 16:09:27,810 - INFO - Starting training batch 3 +2025-03-10 16:09:27,810 - INFO - Refreshing data for new training batch +2025-03-10 16:09:27,811 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:09:28,156 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 16:09:28,168 - INFO - Initialized environment with 500 candles +2025-03-10 16:09:28,168 - INFO - Updated environment with fresh candles +2025-03-10 16:09:28,168 - INFO - Starting training on device: cuda +2025-03-10 16:09:28,169 - INFO - Loading best model from models/trading_agent_best_pnl.pt to resume training +2025-03-10 16:09:28,169 - INFO - Loading model from models/trading_agent_best_pnl.pt +2025-03-10 16:09:28,429 - INFO - Model loaded successfully with weights_only=True +2025-03-10 16:09:28,435 - INFO - Resumed with best metrics - Reward: 202.74, PnL: $7.14, Win Rate: 66.7% +2025-03-10 16:09:28,442 - INFO - Refreshing data for episode 0 +2025-03-10 16:09:28,443 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:09:28,746 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:09:28,755 - INFO - Initialized environment with 100 candles +2025-03-10 16:09:29,562 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.808217857143 | Take profit: 2094.1666982142856 +2025-03-10 16:09:29,733 - INFO - CLOSED short at 2122.24 | PnL: 0.18% | $0.16 +2025-03-10 16:09:29,733 - INFO - OPENED LONG at 2122.24 | Stop loss: 2111.581232142857 | Take profit: 2154.144951785714 +2025-03-10 16:09:29,767 - INFO - CLOSED long at 2120.48 | PnL: -0.08% | $-0.36 +2025-03-10 16:09:29,767 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.129967857143 | Take profit: 2088.6014482142855 +2025-03-10 16:09:30,062 - INFO - CLOSED short at 2120.26 | PnL: 0.01% | $-0.17 +2025-03-10 16:09:30,063 - INFO - OPENED LONG at 2120.26 | Stop loss: 2109.6111321428575 | Take profit: 2152.1352517857144 +2025-03-10 16:09:30,089 - INFO - CLOSED long at 2116.81 | PnL: -0.16% | $-0.51 +2025-03-10 16:09:30,089 - INFO - OPENED SHORT at 2116.81 | Stop loss: 2127.441617857143 | Take profit: 2084.986498214286 +2025-03-10 16:09:30,308 - INFO - CLOSED short at 2114.32 | PnL: 0.12% | $0.03 +2025-03-10 16:09:30,308 - INFO - OPENED LONG at 2114.32 | Stop loss: 2103.700832142857 | Take profit: 2146.1061517857147 +2025-03-10 16:09:30,334 - INFO - CLOSED long at 2114.57 | PnL: 0.01% | $-0.17 +2025-03-10 16:09:30,335 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.190417857143 | Take profit: 2082.7800982142858 +2025-03-10 16:09:30,414 - INFO - CLOSED short at 2114.5 | PnL: 0.00% | $-0.19 +2025-03-10 16:09:30,440 - INFO - OPENED SHORT at 2115.07 | Stop loss: 2125.692917857143 | Take profit: 2083.272598214286 +2025-03-10 16:09:30,683 - INFO - CLOSED short at 2102.83 | PnL: 0.58% | $0.93 +2025-03-10 16:09:30,684 - INFO - OPENED LONG at 2102.83 | Stop loss: 2092.268282142857 | Take profit: 2134.443801785714 +2025-03-10 16:09:30,705 - INFO - CLOSED long at 2103.41 | PnL: 0.03% | $-0.14 +2025-03-10 16:09:30,705 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9746178571427 | Take profit: 2071.7874982142857 +2025-03-10 16:09:30,771 - INFO - CLOSED short at 2105.26 | PnL: -0.09% | $-0.37 +2025-03-10 16:09:30,771 - INFO - OPENED LONG at 2105.26 | Stop loss: 2094.6861321428573 | Take profit: 2136.9102517857145 +2025-03-10 16:09:30,788 - INFO - CLOSED long at 2099.63 | PnL: -0.27% | $-0.71 +2025-03-10 16:09:30,795 - INFO - OPENED SHORT at 2099.63 | Stop loss: 2110.175717857143 | Take profit: 2068.0641982142856 +2025-03-10 16:09:30,892 - INFO - CLOSED short at 2098.66 | PnL: 0.05% | $-0.10 +2025-03-10 16:09:30,921 - INFO - OPENED SHORT at 2090.59 | Stop loss: 2101.090517857143 | Take profit: 2059.1597982142857 +2025-03-10 16:09:31,196 - INFO - TAKE PROFIT hit for short at 2059.1597982142857 | PnL: 1.50% | $2.70 +2025-03-10 16:09:31,226 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3025678571425 | Take profit: 2020.1636482142858 +2025-03-10 16:09:31,338 - INFO - CLOSED short at 2058.11 | PnL: -0.35% | $-0.88 +2025-03-10 16:09:31,338 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.7718821428573 | Take profit: 2089.0530017857145 +2025-03-10 16:09:31,358 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 57.1% in downtrends | Avg Win=$0.96, Avg Loss=$-0.36 +2025-03-10 16:09:31,359 - INFO - Episode 0: Reward=14.77, Balance=$100.21, Win Rate=28.6%, Trades=14, Episode PnL=$2.11, Total PnL=$397.00, Max Drawdown=1.6%, Pred Accuracy=99.6% +2025-03-10 16:09:31,504 - INFO - Model saved to checkpoints/trading_agent_episode_0.pt +2025-03-10 16:09:31,505 - INFO - Checkpoint saved at episode 0 +2025-03-10 16:09:32,552 - INFO - Visualization saved for episode 0 +2025-03-10 16:09:34,536 - INFO - Visualization saved for episode 0 +2025-03-10 16:09:34,551 - INFO - Refreshing data for episode 1 +2025-03-10 16:09:34,551 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:09:34,881 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:09:34,895 - INFO - Initialized environment with 100 candles +2025-03-10 16:09:34,991 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.8088035714286 | Take profit: 2094.165819642857 +2025-03-10 16:09:35,867 - INFO - TAKE PROFIT hit for short at 2094.165819642857 | PnL: 1.50% | $2.74 +2025-03-10 16:09:35,892 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5984035714287 | Take profit: 2068.477019642857 +2025-03-10 16:09:36,670 - INFO - TAKE PROFIT hit for short at 2068.477019642857 | PnL: 1.50% | $2.82 +2025-03-10 16:09:36,700 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.589653571429 | Take profit: 2017.5032696428573 +2025-03-10 16:09:36,846 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$0.00 +2025-03-10 16:09:36,847 - INFO - Episode 1: Reward=27.89, Balance=$105.56, Win Rate=100.0%, Trades=2, Episode PnL=$5.56, Total PnL=$402.56, Max Drawdown=0.0%, Pred Accuracy=99.6% +2025-03-10 16:09:36,847 - INFO - Refreshing data for episode 2 +2025-03-10 16:09:36,848 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:09:37,187 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:09:37,200 - INFO - Initialized environment with 100 candles +2025-03-10 16:09:37,221 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.8088035714286 | Take profit: 2094.165819642857 +2025-03-10 16:09:37,436 - INFO - CLOSED short at 2118.0 | PnL: 0.38% | $0.55 +2025-03-10 16:09:37,436 - INFO - OPENED LONG at 2118.0 | Stop loss: 2107.3618464285714 | Take profit: 2149.842230357143 +2025-03-10 16:09:37,469 - INFO - CLOSED long at 2121.8 | PnL: 0.18% | $0.16 +2025-03-10 16:09:37,470 - INFO - OPENED SHORT at 2121.8 | Stop loss: 2132.457153571429 | Take profit: 2089.9007696428575 +2025-03-10 16:09:37,560 - INFO - CLOSED short at 2119.02 | PnL: 0.13% | $0.06 +2025-03-10 16:09:37,561 - INFO - OPENED LONG at 2119.02 | Stop loss: 2108.3767464285716 | Take profit: 2150.877530357143 +2025-03-10 16:09:37,589 - INFO - CLOSED long at 2120.96 | PnL: 0.09% | $-0.02 +2025-03-10 16:09:37,590 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.612953571429 | Take profit: 2089.0733696428574 +2025-03-10 16:09:37,939 - INFO - CLOSED short at 2114.32 | PnL: 0.31% | $0.42 +2025-03-10 16:09:37,940 - INFO - OPENED LONG at 2114.32 | Stop loss: 2103.7002464285715 | Take profit: 2146.107030357143 +2025-03-10 16:09:37,963 - INFO - CLOSED long at 2114.57 | PnL: 0.01% | $-0.17 +2025-03-10 16:09:37,963 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.191003571429 | Take profit: 2082.7792196428572 +2025-03-10 16:09:38,688 - INFO - TAKE PROFIT hit for short at 2082.7792196428572 | PnL: 1.50% | $2.77 +2025-03-10 16:09:38,714 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2219035714284 | Take profit: 2053.4065196428573 +2025-03-10 16:09:38,919 - INFO - TAKE PROFIT hit for short at 2053.4065196428573 | PnL: 1.50% | $2.85 +2025-03-10 16:09:38,945 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3031535714285 | Take profit: 2020.1627696428573 +2025-03-10 16:09:39,052 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.13, Avg Loss=$-0.10 +2025-03-10 16:09:39,053 - INFO - Episode 2: Reward=29.22, Balance=$106.62, Win Rate=75.0%, Trades=8, Episode PnL=$6.65, Total PnL=$409.18, Max Drawdown=0.0%, Pred Accuracy=99.6% +2025-03-10 16:09:39,053 - INFO - Refreshing data for episode 3 +2025-03-10 16:09:39,053 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:09:39,379 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:09:39,389 - INFO - Initialized environment with 100 candles +2025-03-10 16:09:39,413 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.8088035714286 | Take profit: 2094.165819642857 +2025-03-10 16:09:39,841 - INFO - CLOSED short at 2114.78 | PnL: 0.53% | $0.85 +2025-03-10 16:09:39,859 - INFO - OPENED SHORT at 2115.52 | Stop loss: 2126.1457535714285 | Take profit: 2083.714969642857 +2025-03-10 16:09:40,060 - INFO - CLOSED short at 2114.57 | PnL: 0.04% | $-0.11 +2025-03-10 16:09:40,089 - INFO - OPENED LONG at 2112.57 | Stop loss: 2101.9589964285715 | Take profit: 2144.3307803571433 +2025-03-10 16:09:40,120 - INFO - CLOSED long at 2113.28 | PnL: 0.03% | $-0.13 +2025-03-10 16:09:40,120 - INFO - OPENED SHORT at 2113.28 | Stop loss: 2123.894553571429 | Take profit: 2081.5085696428573 +2025-03-10 16:09:40,727 - INFO - TAKE PROFIT hit for short at 2081.5085696428573 | PnL: 1.50% | $2.76 +2025-03-10 16:09:40,754 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2219035714284 | Take profit: 2053.4065196428573 +2025-03-10 16:09:40,945 - INFO - TAKE PROFIT hit for short at 2053.4065196428573 | PnL: 1.50% | $2.84 +2025-03-10 16:09:40,976 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3031535714285 | Take profit: 2020.1627696428573 +2025-03-10 16:09:41,013 - INFO - CLOSED short at 2052.89 | PnL: -0.09% | $-0.40 +2025-03-10 16:09:41,036 - INFO - OPENED SHORT at 2053.22 | Stop loss: 2063.534253571428 | Take profit: 2022.349469642857 +2025-03-10 16:09:41,080 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.15, Avg Loss=$-0.21 +2025-03-10 16:09:41,081 - INFO - Episode 3: Reward=24.80, Balance=$105.81, Win Rate=50.0%, Trades=6, Episode PnL=$5.94, Total PnL=$414.99, Max Drawdown=0.4%, Pred Accuracy=99.7% +2025-03-10 16:09:41,082 - INFO - Refreshing data for episode 4 +2025-03-10 16:09:41,082 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:09:41,378 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:09:41,388 - INFO - Initialized environment with 100 candles +2025-03-10 16:09:41,407 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.808910714286 | Take profit: 2094.1656589285717 +2025-03-10 16:09:42,127 - INFO - TAKE PROFIT hit for short at 2094.1656589285717 | PnL: 1.50% | $2.74 +2025-03-10 16:09:42,174 - INFO - OPENED SHORT at 2096.36 | Stop loss: 2106.890060714286 | Take profit: 2064.8422089285714 +2025-03-10 16:09:42,807 - INFO - TAKE PROFIT hit for short at 2064.8422089285714 | PnL: 1.50% | $2.82 +2025-03-10 16:09:42,830 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.303260714286 | Take profit: 2020.1626089285712 +2025-03-10 16:09:42,935 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$0.00 +2025-03-10 16:09:42,935 - INFO - Episode 4: Reward=27.69, Balance=$105.56, Win Rate=100.0%, Trades=2, Episode PnL=$5.56, Total PnL=$420.55, Max Drawdown=0.0%, Pred Accuracy=99.7% +2025-03-10 16:09:42,935 - INFO - Refreshing data for episode 5 +2025-03-10 16:09:42,936 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:09:43,267 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:09:43,277 - INFO - Initialized environment with 100 candles +2025-03-10 16:09:43,963 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.808975 | Take profit: 2094.1655625000003 +2025-03-10 16:09:44,370 - INFO - CLOSED short at 2120.26 | PnL: 0.28% | $0.34 +2025-03-10 16:09:44,391 - INFO - OPENED SHORT at 2116.81 | Stop loss: 2127.442375 | Take profit: 2084.9853625 +2025-03-10 16:09:45,183 - INFO - TAKE PROFIT hit for short at 2084.9853625 | PnL: 1.50% | $2.75 +2025-03-10 16:09:45,208 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0312249999997 | Take profit: 2049.2988124999997 +2025-03-10 16:09:45,414 - INFO - TAKE PROFIT hit for short at 2049.2988124999997 | PnL: 1.50% | $2.83 +2025-03-10 16:09:45,434 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3033250000003 | Take profit: 2020.1625125 +2025-03-10 16:09:45,540 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.98, Avg Loss=$0.00 +2025-03-10 16:09:45,541 - INFO - Episode 5: Reward=29.01, Balance=$105.93, Win Rate=100.0%, Trades=3, Episode PnL=$5.93, Total PnL=$426.48, Max Drawdown=0.0%, Pred Accuracy=99.8% +2025-03-10 16:09:45,542 - INFO - Refreshing data for episode 6 +2025-03-10 16:09:45,542 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:09:45,847 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:09:45,857 - INFO - Initialized environment with 100 candles +2025-03-10 16:09:45,880 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.808975 | Take profit: 2094.1655625000003 +2025-03-10 16:09:46,591 - INFO - CLOSED short at 2098.28 | PnL: 1.31% | $2.37 +2025-03-10 16:09:46,592 - INFO - OPENED LONG at 2098.28 | Stop loss: 2087.740275 | Take profit: 2129.8266875 +2025-03-10 16:09:46,612 - INFO - CLOSED long at 2091.36 | PnL: -0.33% | $-0.86 +2025-03-10 16:09:46,613 - INFO - OPENED SHORT at 2091.36 | Stop loss: 2101.8651250000003 | Take profit: 2059.9171125000003 +2025-03-10 16:09:46,769 - INFO - STOP LOSS hit for short at 2101.8651250000003 | PnL: -0.50% | $-1.20 +2025-03-10 16:09:46,792 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.975375 | Take profit: 2071.7863624999995 +2025-03-10 16:09:47,224 - INFO - TAKE PROFIT hit for short at 2071.7863624999995 | PnL: 1.50% | $2.75 +2025-03-10 16:09:47,247 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.589825 | Take profit: 2017.5030125000003 +2025-03-10 16:09:47,378 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.56, Avg Loss=$-1.03 +2025-03-10 16:09:47,379 - INFO - Episode 6: Reward=28.36, Balance=$103.06, Win Rate=50.0%, Trades=4, Episode PnL=$3.92, Total PnL=$429.54, Max Drawdown=0.0%, Pred Accuracy=99.7% +2025-03-10 16:09:47,379 - INFO - Refreshing data for episode 7 +2025-03-10 16:09:47,379 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:09:47,715 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:09:47,724 - INFO - Initialized environment with 100 candles +2025-03-10 16:09:47,752 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.8090392857143 | Take profit: 2094.165466071429 +2025-03-10 16:09:47,933 - INFO - CLOSED short at 2118.0 | PnL: 0.38% | $0.55 +2025-03-10 16:09:47,956 - INFO - OPENED SHORT at 2121.8 | Stop loss: 2132.4573892857147 | Take profit: 2089.9004160714285 +2025-03-10 16:09:48,577 - INFO - TAKE PROFIT hit for short at 2089.9004160714285 | PnL: 1.50% | $2.76 +2025-03-10 16:09:48,602 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3375892857143 | Take profit: 2058.4198160714286 +2025-03-10 16:09:48,678 - INFO - STOP LOSS hit for short at 2100.3375892857143 | PnL: -0.50% | $-1.22 +2025-03-10 16:09:48,702 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.975439285714 | Take profit: 2071.786266071428 +2025-03-10 16:09:49,188 - INFO - TAKE PROFIT hit for short at 2071.786266071428 | PnL: 1.50% | $2.80 +2025-03-10 16:09:49,219 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5898892857144 | Take profit: 2017.5029160714287 +2025-03-10 16:09:49,358 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.04, Avg Loss=$-1.22 +2025-03-10 16:09:49,360 - INFO - Episode 7: Reward=29.21, Balance=$104.90, Win Rate=75.0%, Trades=4, Episode PnL=$4.90, Total PnL=$434.44, Max Drawdown=1.2%, Pred Accuracy=99.7% +2025-03-10 16:09:49,360 - INFO - Refreshing data for episode 8 +2025-03-10 16:09:49,361 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:09:49,671 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:09:49,683 - INFO - Initialized environment with 100 candles +2025-03-10 16:09:49,708 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.8090392857143 | Take profit: 2094.165466071429 +2025-03-10 16:09:50,488 - INFO - TAKE PROFIT hit for short at 2094.165466071429 | PnL: 1.50% | $2.74 +2025-03-10 16:09:50,511 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5986392857144 | Take profit: 2068.4766660714286 +2025-03-10 16:09:51,050 - INFO - TAKE PROFIT hit for short at 2068.4766660714286 | PnL: 1.50% | $2.82 +2025-03-10 16:09:51,075 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5898892857144 | Take profit: 2017.5029160714287 +2025-03-10 16:09:51,203 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$0.00 +2025-03-10 16:09:51,204 - INFO - Episode 8: Reward=27.90, Balance=$105.56, Win Rate=100.0%, Trades=2, Episode PnL=$5.56, Total PnL=$440.00, Max Drawdown=0.0%, Pred Accuracy=99.6% +2025-03-10 16:09:51,204 - INFO - Refreshing data for episode 9 +2025-03-10 16:09:51,204 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:09:51,512 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:09:51,522 - INFO - Initialized environment with 100 candles +2025-03-10 16:09:51,548 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.809192857143 | Take profit: 2094.1652357142857 +2025-03-10 16:09:51,963 - INFO - CLOSED short at 2115.52 | PnL: 0.50% | $0.78 +2025-03-10 16:09:51,984 - INFO - OPENED SHORT at 2114.75 | Stop loss: 2125.372292857143 | Take profit: 2082.9559357142857 +2025-03-10 16:09:52,662 - INFO - TAKE PROFIT hit for short at 2082.9559357142857 | PnL: 1.50% | $2.77 +2025-03-10 16:09:52,689 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2222928571427 | Take profit: 2053.4059357142855 +2025-03-10 16:09:52,869 - INFO - TAKE PROFIT hit for short at 2053.4059357142855 | PnL: 1.50% | $2.84 +2025-03-10 16:09:52,913 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.776092857143 | Take profit: 2012.7845357142858 +2025-03-10 16:09:52,976 - INFO - STOP LOSS hit for short at 2053.776092857143 | PnL: -0.50% | $-1.25 +2025-03-10 16:09:52,998 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.13, Avg Loss=$-1.25 +2025-03-10 16:09:52,998 - INFO - Episode 9: Reward=29.06, Balance=$105.13, Win Rate=75.0%, Trades=4, Episode PnL=$5.13, Total PnL=$445.13, Max Drawdown=1.2%, Pred Accuracy=99.5% +2025-03-10 16:09:52,998 - INFO - Refreshing data for episode 10 +2025-03-10 16:09:52,999 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:09:53,299 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:09:53,309 - INFO - Initialized environment with 100 candles +2025-03-10 16:09:53,990 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.809228571429 | Take profit: 2094.1651821428572 +2025-03-10 16:09:54,712 - INFO - TAKE PROFIT hit for short at 2094.1651821428572 | PnL: 1.50% | $2.74 +2025-03-10 16:09:54,732 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.598828571429 | Take profit: 2068.4763821428573 +2025-03-10 16:09:55,348 - INFO - TAKE PROFIT hit for short at 2068.4763821428573 | PnL: 1.50% | $2.82 +2025-03-10 16:09:55,371 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.590078571429 | Take profit: 2017.5026321428572 +2025-03-10 16:09:55,503 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$0.00 +2025-03-10 16:09:55,504 - INFO - Episode 10: Reward=14.10, Balance=$105.56, Win Rate=100.0%, Trades=2, Episode PnL=$5.56, Total PnL=$450.70, Max Drawdown=0.0%, Pred Accuracy=99.4% +2025-03-10 16:09:55,518 - ERROR - Failed to save model: File checkpoints/trading_agent_episode_10.pt cannot be opened. +2025-03-10 16:09:55,523 - ERROR - Traceback: Traceback (most recent call last): + File "main.py", line 1601, in save + torch.save({ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\serialization.py", line 943, in save + with _open_zipfile_writer(f) as opened_zipfile: + ^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\serialization.py", line 810, in _open_zipfile_writer + return container(name_or_buffer) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "C:\Users\popov\miniforge3\Lib\site-packages\torch\serialization.py", line 781, in __init__ + super().__init__(torch._C.PyTorchFileWriter(self.name, _compute_crc32)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +RuntimeError: File checkpoints/trading_agent_episode_10.pt cannot be opened. + +2025-03-10 16:09:55,523 - INFO - Checkpoint saved at episode 10 +2025-03-10 16:09:56,399 - INFO - Visualization saved for episode 10 +2025-03-10 16:09:58,230 - INFO - Visualization saved for episode 10 +2025-03-10 16:09:58,243 - INFO - Refreshing data for episode 11 +2025-03-10 16:09:58,243 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:09:58,590 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:09:58,601 - INFO - Initialized environment with 100 candles +2025-03-10 16:09:58,673 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.809228571429 | Take profit: 2094.1651821428572 +2025-03-10 16:09:58,748 - INFO - CLOSED short at 2122.01 | PnL: 0.19% | $0.18 +2025-03-10 16:09:58,773 - INFO - OPENED SHORT at 2122.17 | Stop loss: 2132.8294285714287 | Take profit: 2090.2645821428573 +2025-03-10 16:09:59,092 - INFO - CLOSED short at 2116.81 | PnL: 0.25% | $0.30 +2025-03-10 16:09:59,117 - INFO - OPENED SHORT at 2114.78 | Stop loss: 2125.4024785714287 | Take profit: 2082.9854321428575 +2025-03-10 16:09:59,445 - INFO - CLOSED short at 2091.36 | PnL: 1.11% | $1.98 +2025-03-10 16:09:59,446 - INFO - OPENED LONG at 2091.36 | Stop loss: 2080.8546214285716 | Take profit: 2122.803267857143 +2025-03-10 16:09:59,468 - INFO - CLOSED long at 2100.05 | PnL: 0.42% | $0.63 +2025-03-10 16:09:59,468 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.598828571429 | Take profit: 2068.4763821428573 +2025-03-10 16:10:00,038 - INFO - TAKE PROFIT hit for short at 2068.4763821428573 | PnL: 1.50% | $2.83 +2025-03-10 16:10:00,059 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.590078571429 | Take profit: 2017.5026321428572 +2025-03-10 16:10:00,193 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.18, Avg Loss=$0.00 +2025-03-10 16:10:00,195 - INFO - Episode 11: Reward=19.51, Balance=$105.92, Win Rate=100.0%, Trades=5, Episode PnL=$5.29, Total PnL=$456.62, Max Drawdown=0.0%, Pred Accuracy=99.0% +2025-03-10 16:10:00,195 - INFO - Refreshing data for episode 12 +2025-03-10 16:10:00,196 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:10:00,517 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:10:00,527 - INFO - Initialized environment with 100 candles +2025-03-10 16:10:00,550 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.809228571429 | Take profit: 2094.1651821428572 +2025-03-10 16:10:01,289 - INFO - TAKE PROFIT hit for short at 2094.1651821428572 | PnL: 1.50% | $2.74 +2025-03-10 16:10:01,315 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.598828571429 | Take profit: 2068.4763821428573 +2025-03-10 16:10:01,918 - INFO - TAKE PROFIT hit for short at 2068.4763821428573 | PnL: 1.50% | $2.82 +2025-03-10 16:10:01,944 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.590078571429 | Take profit: 2017.5026321428572 +2025-03-10 16:10:02,076 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$0.00 +2025-03-10 16:10:02,076 - INFO - Episode 12: Reward=14.09, Balance=$105.56, Win Rate=100.0%, Trades=2, Episode PnL=$5.56, Total PnL=$462.18, Max Drawdown=0.0%, Pred Accuracy=98.3% +2025-03-10 16:10:02,076 - INFO - Refreshing data for episode 13 +2025-03-10 16:10:02,076 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:10:02,381 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:10:02,390 - INFO - Initialized environment with 100 candles +2025-03-10 16:10:02,415 - INFO - OPENED SHORT at 2126.13 | Stop loss: 2136.8094035714284 | Take profit: 2094.1649196428575 +2025-03-10 16:10:03,165 - INFO - TAKE PROFIT hit for short at 2094.1649196428575 | PnL: 1.50% | $2.74 +2025-03-10 16:10:03,197 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5990035714285 | Take profit: 2068.476119642857 +2025-03-10 16:10:03,729 - INFO - CLOSED short at 2083.07 | PnL: 0.81% | $1.42 +2025-03-10 16:10:03,730 - INFO - OPENED LONG at 2083.07 | Stop loss: 2072.6058964285717 | Take profit: 2114.3891803571432 +2025-03-10 16:10:03,754 - INFO - CLOSED long at 2075.07 | PnL: -0.38% | $-0.99 +2025-03-10 16:10:03,754 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.4941035714287 | Take profit: 2043.8708196428572 +2025-03-10 16:10:03,851 - INFO - TAKE PROFIT hit for short at 2043.8708196428572 | PnL: 1.50% | $2.83 +2025-03-10 16:10:03,875 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.2032035714283 | Take profit: 2022.0235196428569 +2025-03-10 16:10:03,945 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.33, Avg Loss=$-0.99 +2025-03-10 16:10:03,946 - INFO - Episode 13: Reward=-0.09, Balance=$106.01, Win Rate=75.0%, Trades=4, Episode PnL=$7.00, Total PnL=$468.19, Max Drawdown=0.0%, Pred Accuracy=97.4% +2025-03-10 16:10:03,947 - INFO - Refreshing data for episode 14 +2025-03-10 16:10:03,947 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:10:04,251 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:10:04,261 - INFO - Initialized environment with 100 candles +2025-03-10 16:10:04,286 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.9977857142862 | Take profit: 2094.3559214285715 +2025-03-10 16:10:04,310 - INFO - CLOSED short at 2126.7 | PnL: -0.02% | $-0.23 +2025-03-10 16:10:04,334 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.666235714286 | Take profit: 2090.1105714285713 +2025-03-10 16:10:04,680 - INFO - CLOSED short at 2114.78 | PnL: 0.34% | $0.47 +2025-03-10 16:10:04,681 - INFO - OPENED LONG at 2114.78 | Stop loss: 2104.1599142857144 | Take profit: 2146.570978571429 +2025-03-10 16:10:04,706 - INFO - CLOSED long at 2115.52 | PnL: 0.03% | $-0.13 +2025-03-10 16:10:04,706 - INFO - OPENED SHORT at 2115.52 | Stop loss: 2126.1437857142855 | Take profit: 2083.7179214285716 +2025-03-10 16:10:05,507 - INFO - TAKE PROFIT hit for short at 2083.7179214285716 | PnL: 1.50% | $2.75 +2025-03-10 16:10:05,531 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.219935714286 | Take profit: 2053.4094714285716 +2025-03-10 16:10:05,714 - INFO - CLOSED short at 2048.3 | PnL: 1.75% | $3.32 +2025-03-10 16:10:05,740 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.301185714286 | Take profit: 2020.1657214285715 +2025-03-10 16:10:05,872 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.18, Avg Loss=$-0.18 +2025-03-10 16:10:05,873 - INFO - Episode 14: Reward=1.54, Balance=$106.18, Win Rate=60.0%, Trades=5, Episode PnL=$6.31, Total PnL=$474.37, Max Drawdown=0.2%, Pred Accuracy=97.9% +2025-03-10 16:10:05,873 - INFO - Refreshing data for episode 15 +2025-03-10 16:10:05,873 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:10:06,178 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:10:06,188 - INFO - Initialized environment with 100 candles +2025-03-10 16:10:06,862 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.9980535714285 | Take profit: 2094.3555196428574 +2025-03-10 16:10:07,139 - INFO - CLOSED short at 2120.96 | PnL: 0.25% | $0.30 +2025-03-10 16:10:07,163 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.5709535714286 | Take profit: 2092.956819642857 +2025-03-10 16:10:07,621 - INFO - TAKE PROFIT hit for short at 2092.956819642857 | PnL: 1.50% | $2.75 +2025-03-10 16:10:07,644 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.596703571429 | Take profit: 2068.4795696428573 +2025-03-10 16:10:08,218 - INFO - TAKE PROFIT hit for short at 2068.4795696428573 | PnL: 1.50% | $2.83 +2025-03-10 16:10:08,244 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5879535714284 | Take profit: 2017.5058196428574 +2025-03-10 16:10:08,414 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.96, Avg Loss=$0.00 +2025-03-10 16:10:08,415 - INFO - Episode 15: Reward=15.18, Balance=$105.88, Win Rate=100.0%, Trades=3, Episode PnL=$5.88, Total PnL=$480.25, Max Drawdown=0.0%, Pred Accuracy=98.3% +2025-03-10 16:10:08,415 - INFO - Refreshing data for episode 16 +2025-03-10 16:10:08,416 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:10:08,743 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:10:08,753 - INFO - Initialized environment with 100 candles +2025-03-10 16:10:08,776 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.9981464285715 | Take profit: 2094.355380357143 +2025-03-10 16:10:09,462 - INFO - TAKE PROFIT hit for short at 2094.355380357143 | PnL: 1.50% | $2.75 +2025-03-10 16:10:09,486 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.596796428572 | Take profit: 2068.479430357143 +2025-03-10 16:10:09,922 - INFO - CLOSED short at 2084.75 | PnL: 0.73% | $1.26 +2025-03-10 16:10:09,923 - INFO - OPENED LONG at 2084.75 | Stop loss: 2074.2797035714284 | Take profit: 2116.0910696428573 +2025-03-10 16:10:09,943 - INFO - CLOSED long at 2081.0 | PnL: -0.18% | $-0.57 +2025-03-10 16:10:09,943 - INFO - OPENED SHORT at 2081.0 | Stop loss: 2091.4515464285714 | Take profit: 2049.715180357143 +2025-03-10 16:10:10,097 - INFO - TAKE PROFIT hit for short at 2049.715180357143 | PnL: 1.50% | $2.84 +2025-03-10 16:10:10,118 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3015464285713 | Take profit: 2020.1651803571428 +2025-03-10 16:10:10,245 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.28, Avg Loss=$-0.57 +2025-03-10 16:10:10,245 - INFO - Episode 16: Reward=14.02, Balance=$106.28, Win Rate=75.0%, Trades=4, Episode PnL=$6.85, Total PnL=$486.53, Max Drawdown=0.0%, Pred Accuracy=98.4% +2025-03-10 16:10:10,245 - INFO - Refreshing data for episode 17 +2025-03-10 16:10:10,246 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:10:10,557 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:10:10,566 - INFO - Initialized environment with 100 candles +2025-03-10 16:10:10,593 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.9981821428573 | Take profit: 2094.3553267857146 +2025-03-10 16:10:10,890 - INFO - CLOSED short at 2124.77 | PnL: 0.07% | $-0.05 +2025-03-10 16:10:10,890 - INFO - OPENED LONG at 2124.77 | Stop loss: 2114.099567857143 | Take profit: 2156.711423214286 +2025-03-10 16:10:10,920 - INFO - CLOSED long at 2120.26 | PnL: -0.21% | $-0.61 +2025-03-10 16:10:10,920 - INFO - OPENED SHORT at 2120.26 | Stop loss: 2130.9078821428575 | Take profit: 2088.386226785715 +2025-03-10 16:10:11,178 - INFO - CLOSED short at 2113.28 | PnL: 0.33% | $0.45 +2025-03-10 16:10:11,178 - INFO - OPENED LONG at 2113.28 | Stop loss: 2102.667017857143 | Take profit: 2145.0490732142857 +2025-03-10 16:10:11,200 - INFO - CLOSED long at 2114.5 | PnL: 0.06% | $-0.08 +2025-03-10 16:10:11,200 - INFO - OPENED SHORT at 2114.5 | Stop loss: 2125.119082142857 | Take profit: 2082.7126267857143 +2025-03-10 16:10:11,717 - INFO - TAKE PROFIT hit for short at 2082.7126267857143 | PnL: 1.50% | $2.74 +2025-03-10 16:10:11,739 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.220332142857 | Take profit: 2053.4088767857143 +2025-03-10 16:10:11,917 - INFO - TAKE PROFIT hit for short at 2053.4088767857143 | PnL: 1.50% | $2.81 +2025-03-10 16:10:11,944 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.301582142857 | Take profit: 2020.1651267857144 +2025-03-10 16:10:12,071 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$2.00, Avg Loss=$-0.25 +2025-03-10 16:10:12,072 - INFO - Episode 17: Reward=10.69, Balance=$105.25, Win Rate=50.0%, Trades=6, Episode PnL=$5.94, Total PnL=$491.78, Max Drawdown=0.0%, Pred Accuracy=98.4% +2025-03-10 16:10:12,073 - INFO - Refreshing data for episode 18 +2025-03-10 16:10:12,073 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:10:12,383 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:10:12,393 - INFO - Initialized environment with 100 candles +2025-03-10 16:10:12,417 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.998407142857 | Take profit: 2094.3549892857145 +2025-03-10 16:10:13,008 - INFO - CLOSED short at 2114.57 | PnL: 0.55% | $0.89 +2025-03-10 16:10:13,031 - INFO - OPENED SHORT at 2112.57 | Stop loss: 2123.179657142857 | Take profit: 2080.8112392857142 +2025-03-10 16:10:13,596 - INFO - TAKE PROFIT hit for short at 2080.8112392857142 | PnL: 1.50% | $2.77 +2025-03-10 16:10:13,623 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.220557142857 | Take profit: 2053.408539285714 +2025-03-10 16:10:13,806 - INFO - TAKE PROFIT hit for short at 2053.408539285714 | PnL: 1.50% | $2.85 +2025-03-10 16:10:13,830 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.301807142857 | Take profit: 2020.1647892857143 +2025-03-10 16:10:13,970 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.17, Avg Loss=$0.00 +2025-03-10 16:10:13,971 - INFO - Episode 18: Reward=15.52, Balance=$106.50, Win Rate=100.0%, Trades=3, Episode PnL=$6.50, Total PnL=$498.28, Max Drawdown=0.0%, Pred Accuracy=98.1% +2025-03-10 16:10:13,971 - INFO - Refreshing data for episode 19 +2025-03-10 16:10:13,971 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:10:14,306 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:10:14,317 - INFO - Initialized environment with 100 candles +2025-03-10 16:10:14,342 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.998407142857 | Take profit: 2094.3549892857145 +2025-03-10 16:10:14,992 - INFO - CLOSED short at 2114.5 | PnL: 0.56% | $0.89 +2025-03-10 16:10:14,992 - INFO - OPENED LONG at 2114.5 | Stop loss: 2103.880692857143 | Take profit: 2146.287710714286 +2025-03-10 16:10:15,013 - INFO - CLOSED long at 2115.07 | PnL: 0.03% | $-0.14 +2025-03-10 16:10:15,013 - INFO - OPENED SHORT at 2115.07 | Stop loss: 2125.6921571428575 | Take profit: 2083.2737392857143 +2025-03-10 16:10:15,522 - INFO - TAKE PROFIT hit for short at 2083.2737392857143 | PnL: 1.50% | $2.77 +2025-03-10 16:10:15,546 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.220557142857 | Take profit: 2053.408539285714 +2025-03-10 16:10:15,740 - INFO - TAKE PROFIT hit for short at 2053.408539285714 | PnL: 1.50% | $2.84 +2025-03-10 16:10:15,761 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.301807142857 | Take profit: 2020.1647892857143 +2025-03-10 16:10:15,884 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.17, Avg Loss=$-0.14 +2025-03-10 16:10:15,885 - INFO - Episode 19: Reward=0.37, Balance=$106.36, Win Rate=75.0%, Trades=4, Episode PnL=$6.50, Total PnL=$504.64, Max Drawdown=0.0%, Pred Accuracy=98.1% +2025-03-10 16:10:15,885 - INFO - Refreshing data for episode 20 +2025-03-10 16:10:15,885 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:10:16,182 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:10:16,193 - INFO - Initialized environment with 100 candles +2025-03-10 16:10:16,874 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.998417857143 | Take profit: 2094.354973214286 +2025-03-10 16:10:17,595 - INFO - TAKE PROFIT hit for short at 2094.354973214286 | PnL: 1.50% | $2.75 +2025-03-10 16:10:17,621 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5970678571434 | Take profit: 2068.479023214286 +2025-03-10 16:10:18,159 - INFO - CLOSED short at 2084.11 | PnL: 0.76% | $1.32 +2025-03-10 16:10:18,182 - INFO - OPENED SHORT at 2083.07 | Stop loss: 2093.532167857143 | Take profit: 2051.753723214286 +2025-03-10 16:10:18,251 - INFO - TAKE PROFIT hit for short at 2051.753723214286 | PnL: 1.50% | $2.86 +2025-03-10 16:10:18,274 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.301817857143 | Take profit: 2020.1647732142858 +2025-03-10 16:10:18,406 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.31, Avg Loss=$0.00 +2025-03-10 16:10:18,407 - INFO - Episode 20: Reward=1.98, Balance=$106.93, Win Rate=100.0%, Trades=3, Episode PnL=$6.93, Total PnL=$511.57, Max Drawdown=0.0%, Pred Accuracy=98.1% +2025-03-10 16:10:18,543 - INFO - Model saved to checkpoints/trading_agent_episode_20.pt +2025-03-10 16:10:18,544 - INFO - Checkpoint saved at episode 20 +2025-03-10 16:10:18,544 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:10:19,387 - INFO - Visualization saved for episode 20 +2025-03-10 16:10:21,432 - INFO - Visualization saved for episode 20 +2025-03-10 16:10:21,448 - INFO - Refreshing data for episode 21 +2025-03-10 16:10:21,448 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:10:21,791 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:10:21,802 - INFO - Initialized environment with 100 candles +2025-03-10 16:10:21,822 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.9990071428574 | Take profit: 2094.3540892857145 +2025-03-10 16:10:22,540 - INFO - TAKE PROFIT hit for short at 2094.3540892857145 | PnL: 1.50% | $2.75 +2025-03-10 16:10:22,565 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5976571428573 | Take profit: 2068.4781392857144 +2025-03-10 16:10:23,130 - INFO - TAKE PROFIT hit for short at 2068.4781392857144 | PnL: 1.50% | $2.82 +2025-03-10 16:10:23,154 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5889071428574 | Take profit: 2017.5043892857145 +2025-03-10 16:10:23,306 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$0.00 +2025-03-10 16:10:23,308 - INFO - Episode 21: Reward=0.29, Balance=$105.57, Win Rate=100.0%, Trades=2, Episode PnL=$5.57, Total PnL=$517.13, Max Drawdown=0.0%, Pred Accuracy=98.2% +2025-03-10 16:10:23,309 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:10:23,309 - INFO - Refreshing data for episode 22 +2025-03-10 16:10:23,309 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:10:23,606 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:10:23,616 - INFO - Initialized environment with 100 candles +2025-03-10 16:10:23,636 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.9990071428574 | Take profit: 2094.3540892857145 +2025-03-10 16:10:24,355 - INFO - TAKE PROFIT hit for short at 2094.3540892857145 | PnL: 1.50% | $2.75 +2025-03-10 16:10:24,379 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5976571428573 | Take profit: 2068.4781392857144 +2025-03-10 16:10:24,988 - INFO - TAKE PROFIT hit for short at 2068.4781392857144 | PnL: 1.50% | $2.82 +2025-03-10 16:10:25,009 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5889071428574 | Take profit: 2017.5043892857145 +2025-03-10 16:10:25,166 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$0.00 +2025-03-10 16:10:25,167 - INFO - Episode 22: Reward=14.10, Balance=$105.57, Win Rate=100.0%, Trades=2, Episode PnL=$5.57, Total PnL=$522.70, Max Drawdown=0.0%, Pred Accuracy=98.3% +2025-03-10 16:10:25,167 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:10:25,167 - INFO - Refreshing data for episode 23 +2025-03-10 16:10:25,168 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:10:25,471 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:10:25,482 - INFO - Initialized environment with 100 candles +2025-03-10 16:10:25,501 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.9990071428574 | Take profit: 2094.3540892857145 +2025-03-10 16:10:26,263 - INFO - TAKE PROFIT hit for short at 2094.3540892857145 | PnL: 1.50% | $2.75 +2025-03-10 16:10:26,290 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5976571428573 | Take profit: 2068.4781392857144 +2025-03-10 16:10:26,409 - INFO - CLOSED short at 2100.0 | PnL: 0.00% | $-0.20 +2025-03-10 16:10:26,435 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.391557142857 | Take profit: 2071.2164392857144 +2025-03-10 16:10:26,916 - INFO - TAKE PROFIT hit for short at 2071.2164392857144 | PnL: 1.50% | $2.81 +2025-03-10 16:10:26,938 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5889071428574 | Take profit: 2017.5043892857145 +2025-03-10 16:10:27,092 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$-0.20 +2025-03-10 16:10:27,093 - INFO - Episode 23: Reward=12.79, Balance=$105.36, Win Rate=66.7%, Trades=3, Episode PnL=$5.36, Total PnL=$528.06, Max Drawdown=0.2%, Pred Accuracy=98.3% +2025-03-10 16:10:27,094 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:10:27,094 - INFO - Refreshing data for episode 24 +2025-03-10 16:10:27,095 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:10:27,418 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:10:27,428 - INFO - Initialized environment with 100 candles +2025-03-10 16:10:27,450 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.9990071428574 | Take profit: 2094.3540892857145 +2025-03-10 16:10:28,228 - INFO - TAKE PROFIT hit for short at 2094.3540892857145 | PnL: 1.50% | $2.75 +2025-03-10 16:10:28,249 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5976571428573 | Take profit: 2068.4781392857144 +2025-03-10 16:10:28,271 - INFO - CLOSED short at 2096.36 | PnL: 0.18% | $0.15 +2025-03-10 16:10:28,271 - INFO - OPENED LONG at 2096.36 | Stop loss: 2085.830792857143 | Take profit: 2127.876510714286 +2025-03-10 16:10:28,297 - INFO - CLOSED long at 2089.04 | PnL: -0.35% | $-0.90 +2025-03-10 16:10:28,298 - INFO - OPENED SHORT at 2089.04 | Stop loss: 2099.532607142857 | Take profit: 2057.633289285714 +2025-03-10 16:10:28,371 - INFO - STOP LOSS hit for short at 2099.532607142857 | PnL: -0.50% | $-1.20 +2025-03-10 16:10:28,397 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.391557142857 | Take profit: 2071.2164392857144 +2025-03-10 16:10:28,860 - INFO - TAKE PROFIT hit for short at 2071.2164392857144 | PnL: 1.50% | $2.77 +2025-03-10 16:10:28,882 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5889071428574 | Take profit: 2017.5043892857145 +2025-03-10 16:10:29,030 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$1.89, Avg Loss=$-1.05 +2025-03-10 16:10:29,031 - INFO - Episode 24: Reward=12.96, Balance=$103.56, Win Rate=60.0%, Trades=5, Episode PnL=$4.46, Total PnL=$531.62, Max Drawdown=1.9%, Pred Accuracy=98.2% +2025-03-10 16:10:29,032 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:10:29,032 - INFO - Refreshing data for episode 25 +2025-03-10 16:10:29,032 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:10:29,347 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:10:29,356 - INFO - Initialized environment with 100 candles +2025-03-10 16:10:30,037 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.9990071428574 | Take profit: 2094.3540892857145 +2025-03-10 16:10:30,764 - INFO - TAKE PROFIT hit for short at 2094.3540892857145 | PnL: 1.50% | $2.75 +2025-03-10 16:10:30,789 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5976571428573 | Take profit: 2068.4781392857144 +2025-03-10 16:10:30,891 - INFO - CLOSED short at 2100.0 | PnL: 0.00% | $-0.20 +2025-03-10 16:10:30,915 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.391557142857 | Take profit: 2071.2164392857144 +2025-03-10 16:10:31,312 - INFO - CLOSED short at 2083.07 | PnL: 0.94% | $1.68 +2025-03-10 16:10:31,331 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.492757142857 | Take profit: 2043.8728392857145 +2025-03-10 16:10:31,422 - INFO - TAKE PROFIT hit for short at 2043.8728392857145 | PnL: 1.50% | $2.86 +2025-03-10 16:10:31,441 - INFO - OPENED LONG at 2052.89 | Stop loss: 2042.5781428571427 | Take profit: 2083.754460714286 +2025-03-10 16:10:31,463 - INFO - CLOSED long at 2053.22 | PnL: 0.02% | $-0.18 +2025-03-10 16:10:31,463 - INFO - OPENED SHORT at 2053.22 | Stop loss: 2063.5335071428567 | Take profit: 2022.350589285714 +2025-03-10 16:10:31,523 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.43, Avg Loss=$-0.19 +2025-03-10 16:10:31,524 - INFO - Episode 25: Reward=-0.96, Balance=$106.92, Win Rate=60.0%, Trades=5, Episode PnL=$7.09, Total PnL=$538.54, Max Drawdown=0.2%, Pred Accuracy=98.2% +2025-03-10 16:10:31,524 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:10:31,524 - INFO - Refreshing data for episode 26 +2025-03-10 16:10:31,525 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:10:31,827 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:10:31,837 - INFO - Initialized environment with 100 candles +2025-03-10 16:10:31,858 - INFO - OPENED LONG at 2126.32 | Stop loss: 2115.640992857143 | Take profit: 2158.285910714286 +2025-03-10 16:10:31,880 - INFO - CLOSED long at 2126.7 | PnL: 0.02% | $-0.16 +2025-03-10 16:10:31,880 - INFO - OPENED SHORT at 2126.7 | Stop loss: 2137.3809071428573 | Take profit: 2094.728389285714 +2025-03-10 16:10:32,561 - INFO - TAKE PROFIT hit for short at 2094.728389285714 | PnL: 1.50% | $2.74 +2025-03-10 16:10:32,580 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5976571428573 | Take profit: 2068.4781392857144 +2025-03-10 16:10:33,160 - INFO - TAKE PROFIT hit for short at 2068.4781392857144 | PnL: 1.50% | $2.82 +2025-03-10 16:10:33,186 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5889071428574 | Take profit: 2017.5043892857145 +2025-03-10 16:10:33,336 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$-0.16 +2025-03-10 16:10:33,336 - INFO - Episode 26: Reward=12.43, Balance=$105.40, Win Rate=66.7%, Trades=3, Episode PnL=$5.56, Total PnL=$543.94, Max Drawdown=0.0%, Pred Accuracy=98.3% +2025-03-10 16:10:33,337 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:10:33,337 - INFO - Refreshing data for episode 27 +2025-03-10 16:10:33,337 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:10:33,654 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:10:33,664 - INFO - Initialized environment with 100 candles +2025-03-10 16:10:33,687 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.9990071428574 | Take profit: 2094.3540892857145 +2025-03-10 16:10:33,946 - INFO - CLOSED short at 2120.96 | PnL: 0.25% | $0.30 +2025-03-10 16:10:33,970 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.571907142857 | Take profit: 2092.9553892857143 +2025-03-10 16:10:34,405 - INFO - CLOSED short at 2091.36 | PnL: 1.58% | $2.90 +2025-03-10 16:10:34,405 - INFO - OPENED LONG at 2091.36 | Stop loss: 2080.855792857143 | Take profit: 2122.801510714286 +2025-03-10 16:10:34,427 - INFO - CLOSED long at 2100.05 | PnL: 0.42% | $0.64 +2025-03-10 16:10:34,427 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5976571428573 | Take profit: 2068.4781392857144 +2025-03-10 16:10:35,053 - INFO - TAKE PROFIT hit for short at 2068.4781392857144 | PnL: 1.50% | $2.85 +2025-03-10 16:10:35,078 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5889071428574 | Take profit: 2017.5043892857145 +2025-03-10 16:10:35,106 - INFO - CLOSED short at 2051.0 | PnL: -0.13% | $-0.48 +2025-03-10 16:10:35,106 - INFO - OPENED LONG at 2051.0 | Stop loss: 2040.6975928571428 | Take profit: 2081.8361107142855 +2025-03-10 16:10:35,128 - INFO - CLOSED long at 2043.51 | PnL: -0.37% | $-0.97 +2025-03-10 16:10:35,128 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.774957142857 | Take profit: 2012.7862392857144 +2025-03-10 16:10:35,197 - INFO - STOP LOSS hit for short at 2053.774957142857 | PnL: -0.50% | $-1.24 +2025-03-10 16:10:35,221 - INFO - OPENED SHORT at 2054.03 | Stop loss: 2064.347557142857 | Take profit: 2023.1484392857146 +2025-03-10 16:10:35,242 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$1.67, Avg Loss=$-0.90 +2025-03-10 16:10:35,243 - INFO - Episode 27: Reward=15.28, Balance=$104.00, Win Rate=57.1%, Trades=7, Episode PnL=$4.33, Total PnL=$547.93, Max Drawdown=2.5%, Pred Accuracy=98.2% +2025-03-10 16:10:35,243 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:10:35,243 - INFO - Refreshing data for episode 28 +2025-03-10 16:10:35,244 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:10:35,552 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:10:35,562 - INFO - Initialized environment with 100 candles +2025-03-10 16:10:35,589 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.9990071428574 | Take profit: 2094.3540892857145 +2025-03-10 16:10:35,681 - INFO - CLOSED short at 2122.24 | PnL: 0.19% | $0.18 +2025-03-10 16:10:35,681 - INFO - OPENED LONG at 2122.24 | Stop loss: 2111.5813928571424 | Take profit: 2154.144710714286 +2025-03-10 16:10:35,707 - INFO - CLOSED long at 2120.48 | PnL: -0.08% | $-0.36 +2025-03-10 16:10:35,708 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.1298071428573 | Take profit: 2088.601689285714 +2025-03-10 16:10:36,747 - INFO - TAKE PROFIT hit for short at 2088.601689285714 | PnL: 1.50% | $2.74 +2025-03-10 16:10:36,768 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.030307142857 | Take profit: 2049.300189285714 +2025-03-10 16:10:36,965 - INFO - TAKE PROFIT hit for short at 2049.300189285714 | PnL: 1.50% | $2.81 +2025-03-10 16:10:36,989 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.302407142857 | Take profit: 2020.1638892857143 +2025-03-10 16:10:37,112 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.91, Avg Loss=$-0.36 +2025-03-10 16:10:37,112 - INFO - Episode 28: Reward=13.41, Balance=$105.38, Win Rate=75.0%, Trades=4, Episode PnL=$5.73, Total PnL=$553.31, Max Drawdown=0.0%, Pred Accuracy=98.3% +2025-03-10 16:10:37,112 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:10:37,113 - INFO - Refreshing data for episode 29 +2025-03-10 16:10:37,113 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:10:37,443 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:10:37,452 - INFO - Initialized environment with 100 candles +2025-03-10 16:10:37,478 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.9990071428574 | Take profit: 2094.3540892857145 +2025-03-10 16:10:38,233 - INFO - TAKE PROFIT hit for short at 2094.3540892857145 | PnL: 1.50% | $2.75 +2025-03-10 16:10:38,255 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5976571428573 | Take profit: 2068.4781392857144 +2025-03-10 16:10:38,571 - INFO - CLOSED short at 2098.66 | PnL: 0.07% | $-0.07 +2025-03-10 16:10:38,571 - INFO - OPENED LONG at 2098.66 | Stop loss: 2088.1192928571427 | Take profit: 2130.2110107142857 +2025-03-10 16:10:38,597 - INFO - CLOSED long at 2090.59 | PnL: -0.38% | $-0.97 +2025-03-10 16:10:38,598 - INFO - OPENED SHORT at 2090.59 | Stop loss: 2101.0903571428576 | Take profit: 2059.1600392857144 +2025-03-10 16:10:38,855 - INFO - TAKE PROFIT hit for short at 2059.1600392857144 | PnL: 1.50% | $2.79 +2025-03-10 16:10:38,876 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.302407142857 | Take profit: 2020.1638892857143 +2025-03-10 16:10:38,985 - INFO - CLOSED short at 2054.03 | PnL: -0.15% | $-0.51 +2025-03-10 16:10:39,007 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.77, Avg Loss=$-0.52 +2025-03-10 16:10:39,008 - INFO - Episode 29: Reward=8.81, Balance=$103.99, Win Rate=40.0%, Trades=5, Episode PnL=$4.96, Total PnL=$557.30, Max Drawdown=0.5%, Pred Accuracy=98.3% +2025-03-10 16:10:39,008 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:10:39,009 - INFO - Refreshing data for episode 30 +2025-03-10 16:10:39,009 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:10:39,315 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:10:39,324 - INFO - Initialized environment with 100 candles +2025-03-10 16:10:40,002 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.99905 | Take profit: 2094.354025 +2025-03-10 16:10:40,783 - INFO - TAKE PROFIT hit for short at 2094.354025 | PnL: 1.50% | $2.75 +2025-03-10 16:10:40,804 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5977 | Take profit: 2068.4780750000004 +2025-03-10 16:10:41,213 - INFO - CLOSED short at 2084.95 | PnL: 0.72% | $1.24 +2025-03-10 16:10:41,213 - INFO - OPENED LONG at 2084.95 | Stop loss: 2074.4778 | Take profit: 2116.295425 +2025-03-10 16:10:41,236 - INFO - CLOSED long at 2080.58 | PnL: -0.21% | $-0.63 +2025-03-10 16:10:41,237 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.03035 | Take profit: 2049.3001249999998 +2025-03-10 16:10:41,423 - INFO - TAKE PROFIT hit for short at 2049.3001249999998 | PnL: 1.50% | $2.84 +2025-03-10 16:10:41,448 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3024499999997 | Take profit: 2020.1638249999999 +2025-03-10 16:10:41,570 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.28, Avg Loss=$-0.63 +2025-03-10 16:10:41,570 - INFO - Episode 30: Reward=13.95, Balance=$106.20, Win Rate=75.0%, Trades=4, Episode PnL=$6.83, Total PnL=$563.50, Max Drawdown=0.0%, Pred Accuracy=98.3% +2025-03-10 16:10:41,715 - INFO - Model saved to checkpoints/trading_agent_episode_30.pt +2025-03-10 16:10:41,716 - INFO - Checkpoint saved at episode 30 +2025-03-10 16:10:41,716 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:10:42,601 - INFO - Visualization saved for episode 30 +2025-03-10 16:10:44,168 - INFO - Visualization saved for episode 30 +2025-03-10 16:10:44,181 - INFO - Refreshing data for episode 31 +2025-03-10 16:10:44,181 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:10:44,524 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:10:44,533 - INFO - Initialized environment with 100 candles +2025-03-10 16:10:44,620 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.9991821428575 | Take profit: 2094.3538267857143 +2025-03-10 16:10:44,815 - INFO - CLOSED short at 2121.8 | PnL: 0.21% | $0.22 +2025-03-10 16:10:44,815 - INFO - OPENED LONG at 2121.8 | Stop loss: 2111.143417857143 | Take profit: 2153.6983732142858 +2025-03-10 16:10:44,840 - INFO - CLOSED long at 2121.42 | PnL: -0.02% | $-0.23 +2025-03-10 16:10:44,842 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.074682142857 | Take profit: 2089.527326785714 +2025-03-10 16:10:45,412 - INFO - TAKE PROFIT hit for short at 2089.527326785714 | PnL: 1.50% | $2.74 +2025-03-10 16:10:45,434 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3367821428574 | Take profit: 2058.4210267857143 +2025-03-10 16:10:45,500 - INFO - STOP LOSS hit for short at 2100.3367821428574 | PnL: -0.50% | $-1.21 +2025-03-10 16:10:45,523 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.974632142857 | Take profit: 2071.7874767857143 +2025-03-10 16:10:45,803 - INFO - CLOSED short at 2081.0 | PnL: 1.07% | $1.92 +2025-03-10 16:10:45,803 - INFO - OPENED LONG at 2081.0 | Stop loss: 2070.547417857143 | Take profit: 2112.2863732142855 +2025-03-10 16:10:45,825 - INFO - CLOSED long at 2084.25 | PnL: 0.16% | $0.11 +2025-03-10 16:10:45,826 - INFO - OPENED SHORT at 2084.25 | Stop loss: 2094.7188321428575 | Take profit: 2052.914876785714 +2025-03-10 16:10:45,957 - INFO - TAKE PROFIT hit for short at 2052.914876785714 | PnL: 1.50% | $2.84 +2025-03-10 16:10:45,979 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3025821428573 | Take profit: 2020.1636267857143 +2025-03-10 16:10:46,106 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 80.0% in downtrends | Avg Win=$1.57, Avg Loss=$-0.72 +2025-03-10 16:10:46,107 - INFO - Episode 31: Reward=16.72, Balance=$106.40, Win Rate=71.4%, Trades=7, Episode PnL=$6.51, Total PnL=$569.89, Max Drawdown=1.2%, Pred Accuracy=98.4% +2025-03-10 16:10:46,107 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:10:46,107 - INFO - Refreshing data for episode 32 +2025-03-10 16:10:46,108 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:10:46,440 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:10:46,451 - INFO - Initialized environment with 100 candles +2025-03-10 16:10:46,470 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.9991821428575 | Take profit: 2094.3538267857143 +2025-03-10 16:10:46,905 - INFO - CLOSED short at 2114.75 | PnL: 0.54% | $0.87 +2025-03-10 16:10:46,926 - INFO - OPENED SHORT at 2116.06 | Stop loss: 2126.687882142857 | Take profit: 2084.2477267857143 +2025-03-10 16:10:47,641 - INFO - TAKE PROFIT hit for short at 2084.2477267857143 | PnL: 1.50% | $2.77 +2025-03-10 16:10:47,662 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.221332142857 | Take profit: 2053.4073767857144 +2025-03-10 16:10:47,728 - INFO - CLOSED short at 2085.37 | PnL: -0.03% | $-0.26 +2025-03-10 16:10:47,729 - INFO - OPENED LONG at 2085.37 | Stop loss: 2074.895567857143 | Take profit: 2116.7219232142857 +2025-03-10 16:10:47,751 - INFO - CLOSED long at 2084.11 | PnL: -0.06% | $-0.32 +2025-03-10 16:10:47,753 - INFO - OPENED SHORT at 2084.11 | Stop loss: 2094.5781321428576 | Take profit: 2052.7769767857144 +2025-03-10 16:10:47,841 - INFO - TAKE PROFIT hit for short at 2052.7769767857144 | PnL: 1.50% | $2.83 +2025-03-10 16:10:47,865 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3025821428573 | Take profit: 2020.1636267857143 +2025-03-10 16:10:47,988 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.16, Avg Loss=$-0.29 +2025-03-10 16:10:47,989 - INFO - Episode 32: Reward=12.42, Balance=$105.88, Win Rate=60.0%, Trades=5, Episode PnL=$6.20, Total PnL=$575.77, Max Drawdown=0.0%, Pred Accuracy=98.4% +2025-03-10 16:10:47,989 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:10:47,989 - INFO - Refreshing data for episode 33 +2025-03-10 16:10:47,989 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:10:48,309 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:10:48,318 - INFO - Initialized environment with 100 candles +2025-03-10 16:10:48,340 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.9991821428575 | Take profit: 2094.3538267857143 +2025-03-10 16:10:48,467 - INFO - CLOSED short at 2120.54 | PnL: 0.27% | $0.34 +2025-03-10 16:10:48,467 - INFO - OPENED LONG at 2120.54 | Stop loss: 2109.889717857143 | Take profit: 2152.419473214286 +2025-03-10 16:10:48,491 - INFO - CLOSED long at 2118.0 | PnL: -0.12% | $-0.43 +2025-03-10 16:10:48,492 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.637582142857 | Take profit: 2086.158626785714 +2025-03-10 16:10:48,606 - INFO - CLOSED short at 2120.96 | PnL: -0.14% | $-0.47 +2025-03-10 16:10:48,635 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.572082142857 | Take profit: 2092.955126785714 +2025-03-10 16:10:49,075 - INFO - TAKE PROFIT hit for short at 2092.955126785714 | PnL: 1.50% | $2.73 +2025-03-10 16:10:49,099 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5978321428574 | Take profit: 2068.4778767857147 +2025-03-10 16:10:49,695 - INFO - TAKE PROFIT hit for short at 2068.4778767857147 | PnL: 1.50% | $2.80 +2025-03-10 16:10:49,721 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5890821428575 | Take profit: 2017.5041267857143 +2025-03-10 16:10:49,914 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.96, Avg Loss=$-0.45 +2025-03-10 16:10:49,915 - INFO - Episode 33: Reward=11.89, Balance=$104.97, Win Rate=60.0%, Trades=5, Episode PnL=$5.40, Total PnL=$580.74, Max Drawdown=0.6%, Pred Accuracy=98.4% +2025-03-10 16:10:49,916 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:10:49,916 - INFO - Refreshing data for episode 34 +2025-03-10 16:10:49,917 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:10:50,298 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:10:50,308 - INFO - Initialized environment with 100 candles +2025-03-10 16:10:50,337 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.9991821428575 | Take profit: 2094.3538267857143 +2025-03-10 16:10:51,058 - INFO - TAKE PROFIT hit for short at 2094.3538267857143 | PnL: 1.50% | $2.75 +2025-03-10 16:10:51,080 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5978321428574 | Take profit: 2068.4778767857147 +2025-03-10 16:10:51,263 - INFO - CLOSED short at 2104.22 | PnL: -0.20% | $-0.60 +2025-03-10 16:10:51,263 - INFO - OPENED LONG at 2104.22 | Stop loss: 2093.6513178571427 | Take profit: 2135.8546732142854 +2025-03-10 16:10:51,285 - INFO - CLOSED long at 2104.67 | PnL: 0.02% | $-0.16 +2025-03-10 16:10:51,285 - INFO - OPENED SHORT at 2104.67 | Stop loss: 2115.240932142857 | Take profit: 2073.0285767857144 +2025-03-10 16:10:51,665 - INFO - TAKE PROFIT hit for short at 2073.0285767857144 | PnL: 1.50% | $2.80 +2025-03-10 16:10:51,692 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5890821428575 | Take profit: 2017.5041267857143 +2025-03-10 16:10:51,852 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.77, Avg Loss=$-0.38 +2025-03-10 16:10:51,853 - INFO - Episode 34: Reward=10.73, Balance=$104.79, Win Rate=50.0%, Trades=4, Episode PnL=$4.94, Total PnL=$585.53, Max Drawdown=0.0%, Pred Accuracy=98.5% +2025-03-10 16:10:51,853 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:10:51,853 - INFO - Refreshing data for episode 35 +2025-03-10 16:10:51,855 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:10:52,163 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:10:52,175 - INFO - Initialized environment with 100 candles +2025-03-10 16:10:53,139 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.9991821428575 | Take profit: 2094.3538267857143 +2025-03-10 16:10:53,321 - INFO - CLOSED short at 2121.8 | PnL: 0.21% | $0.22 +2025-03-10 16:10:53,352 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.074682142857 | Take profit: 2089.527326785714 +2025-03-10 16:10:53,965 - INFO - TAKE PROFIT hit for short at 2089.527326785714 | PnL: 1.50% | $2.75 +2025-03-10 16:10:53,985 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3367821428574 | Take profit: 2058.4210267857143 +2025-03-10 16:10:54,050 - INFO - STOP LOSS hit for short at 2100.3367821428574 | PnL: -0.50% | $-1.21 +2025-03-10 16:10:54,077 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.974632142857 | Take profit: 2071.7874767857143 +2025-03-10 16:10:54,179 - INFO - CLOSED short at 2099.22 | PnL: 0.20% | $0.20 +2025-03-10 16:10:54,180 - INFO - OPENED LONG at 2099.22 | Stop loss: 2088.6763178571427 | Take profit: 2130.7796732142856 +2025-03-10 16:10:54,208 - INFO - CLOSED long at 2094.16 | PnL: -0.24% | $-0.68 +2025-03-10 16:10:54,209 - INFO - OPENED SHORT at 2094.16 | Stop loss: 2104.678382142857 | Take profit: 2062.6762267857143 +2025-03-10 16:10:54,535 - INFO - TAKE PROFIT hit for short at 2062.6762267857143 | PnL: 1.50% | $2.78 +2025-03-10 16:10:54,556 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3025821428573 | Take profit: 2020.1636267857143 +2025-03-10 16:10:54,684 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$1.49, Avg Loss=$-0.95 +2025-03-10 16:10:54,690 - INFO - Episode 35: Reward=14.24, Balance=$104.06, Win Rate=66.7%, Trades=6, Episode PnL=$4.74, Total PnL=$589.58, Max Drawdown=1.2%, Pred Accuracy=98.4% +2025-03-10 16:10:54,690 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:10:54,690 - INFO - Refreshing data for episode 36 +2025-03-10 16:10:54,690 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:10:55,030 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:10:55,038 - INFO - Initialized environment with 100 candles +2025-03-10 16:10:55,060 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.9991821428575 | Take profit: 2094.3538267857143 +2025-03-10 16:10:55,102 - INFO - CLOSED short at 2122.01 | PnL: 0.20% | $0.20 +2025-03-10 16:10:55,102 - INFO - OPENED LONG at 2122.01 | Stop loss: 2111.3523678571432 | Take profit: 2153.911523214286 +2025-03-10 16:10:55,123 - INFO - CLOSED long at 2122.17 | PnL: 0.01% | $-0.18 +2025-03-10 16:10:55,123 - INFO - OPENED SHORT at 2122.17 | Stop loss: 2132.8284321428573 | Take profit: 2090.266076785714 +2025-03-10 16:10:55,817 - INFO - TAKE PROFIT hit for short at 2090.266076785714 | PnL: 1.50% | $2.75 +2025-03-10 16:10:55,842 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3367821428574 | Take profit: 2058.4210267857143 +2025-03-10 16:10:55,906 - INFO - STOP LOSS hit for short at 2100.3367821428574 | PnL: -0.50% | $-1.21 +2025-03-10 16:10:55,931 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.974632142857 | Take profit: 2071.7874767857143 +2025-03-10 16:10:56,343 - INFO - TAKE PROFIT hit for short at 2071.7874767857143 | PnL: 1.50% | $2.79 +2025-03-10 16:10:56,368 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5890821428575 | Take profit: 2017.5041267857143 +2025-03-10 16:10:56,512 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$1.91, Avg Loss=$-0.70 +2025-03-10 16:10:56,513 - INFO - Episode 36: Reward=13.70, Balance=$104.34, Win Rate=60.0%, Trades=5, Episode PnL=$4.52, Total PnL=$593.93, Max Drawdown=1.2%, Pred Accuracy=98.5% +2025-03-10 16:10:56,513 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:10:56,514 - INFO - Refreshing data for episode 37 +2025-03-10 16:10:56,514 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:10:56,816 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:10:56,826 - INFO - Initialized environment with 100 candles +2025-03-10 16:10:56,850 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.9991821428575 | Take profit: 2094.3538267857143 +2025-03-10 16:10:57,538 - INFO - TAKE PROFIT hit for short at 2094.3538267857143 | PnL: 1.50% | $2.75 +2025-03-10 16:10:57,562 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5978321428574 | Take profit: 2068.4778767857147 +2025-03-10 16:10:57,846 - INFO - CLOSED short at 2094.16 | PnL: 0.28% | $0.36 +2025-03-10 16:10:57,870 - INFO - OPENED SHORT at 2096.96 | Stop loss: 2107.492382142857 | Take profit: 2065.434226785714 +2025-03-10 16:10:58,085 - INFO - CLOSED short at 2084.11 | PnL: 0.61% | $1.03 +2025-03-10 16:10:58,109 - INFO - OPENED SHORT at 2083.07 | Stop loss: 2093.532932142857 | Take profit: 2051.7525767857146 +2025-03-10 16:10:58,177 - INFO - TAKE PROFIT hit for short at 2051.7525767857146 | PnL: 1.50% | $2.86 +2025-03-10 16:10:58,202 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3025821428573 | Take profit: 2020.1636267857143 +2025-03-10 16:10:58,336 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.75, Avg Loss=$0.00 +2025-03-10 16:10:58,337 - INFO - Episode 37: Reward=16.73, Balance=$107.00, Win Rate=100.0%, Trades=4, Episode PnL=$7.00, Total PnL=$600.93, Max Drawdown=0.0%, Pred Accuracy=98.5% +2025-03-10 16:10:58,337 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:10:58,337 - INFO - Refreshing data for episode 38 +2025-03-10 16:10:58,338 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:10:58,642 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:10:58,651 - INFO - Initialized environment with 100 candles +2025-03-10 16:10:58,674 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.9991821428575 | Take profit: 2094.3538267857143 +2025-03-10 16:10:59,415 - INFO - TAKE PROFIT hit for short at 2094.3538267857143 | PnL: 1.50% | $2.75 +2025-03-10 16:10:59,439 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5978321428574 | Take profit: 2068.4778767857147 +2025-03-10 16:10:59,886 - INFO - CLOSED short at 2080.58 | PnL: 0.93% | $1.66 +2025-03-10 16:10:59,913 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.221332142857 | Take profit: 2053.4073767857144 +2025-03-10 16:11:00,108 - INFO - TAKE PROFIT hit for short at 2053.4073767857144 | PnL: 1.50% | $2.87 +2025-03-10 16:11:00,131 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3025821428573 | Take profit: 2020.1636267857143 +2025-03-10 16:11:00,260 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.42, Avg Loss=$0.00 +2025-03-10 16:11:00,261 - INFO - Episode 38: Reward=16.00, Balance=$107.27, Win Rate=100.0%, Trades=3, Episode PnL=$7.27, Total PnL=$608.20, Max Drawdown=0.0%, Pred Accuracy=98.5% +2025-03-10 16:11:00,399 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 16:11:00,399 - INFO - New best PnL model saved: $7.27 +2025-03-10 16:11:00,399 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:11:00,400 - INFO - Refreshing data for episode 39 +2025-03-10 16:11:00,400 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:11:00,756 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:11:00,766 - INFO - Initialized environment with 100 candles +2025-03-10 16:11:00,791 - INFO - OPENED SHORT at 2126.32 | Stop loss: 2136.999342857143 | Take profit: 2094.353585714286 +2025-03-10 16:11:01,541 - INFO - TAKE PROFIT hit for short at 2094.353585714286 | PnL: 1.50% | $2.75 +2025-03-10 16:11:01,570 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.597992857143 | Take profit: 2068.477635714286 +2025-03-10 16:11:02,072 - INFO - CLOSED short at 2084.95 | PnL: 0.72% | $1.24 +2025-03-10 16:11:02,073 - INFO - OPENED LONG at 2084.95 | Stop loss: 2074.477507142857 | Take profit: 2116.2958642857143 +2025-03-10 16:11:02,099 - INFO - CLOSED long at 2080.58 | PnL: -0.21% | $-0.63 +2025-03-10 16:11:02,100 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0306428571425 | Take profit: 2049.2996857142857 +2025-03-10 16:11:02,310 - INFO - TAKE PROFIT hit for short at 2049.2996857142857 | PnL: 1.50% | $2.84 +2025-03-10 16:11:02,332 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3027428571427 | Take profit: 2020.1633857142856 +2025-03-10 16:11:02,382 - INFO - CLOSED short at 2052.89 | PnL: -0.09% | $-0.40 +2025-03-10 16:11:02,383 - INFO - OPENED LONG at 2052.89 | Stop loss: 2042.577807142857 | Take profit: 2083.754964285714 +2025-03-10 16:11:02,406 - INFO - CLOSED long at 2053.22 | PnL: 0.02% | $-0.17 +2025-03-10 16:11:02,406 - INFO - OPENED SHORT at 2053.22 | Stop loss: 2063.5338428571426 | Take profit: 2022.3500857142856 +2025-03-10 16:11:02,471 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$2.27, Avg Loss=$-0.40 +2025-03-10 16:11:02,472 - INFO - Episode 39: Reward=10.83, Balance=$105.62, Win Rate=50.0%, Trades=6, Episode PnL=$6.43, Total PnL=$613.82, Max Drawdown=0.0%, Pred Accuracy=98.6% +2025-03-10 16:11:02,472 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:11:02,472 - INFO - Refreshing data for episode 40 +2025-03-10 16:11:02,473 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:11:02,778 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:11:02,787 - INFO - Initialized environment with 100 candles +2025-03-10 16:11:03,471 - INFO - OPENED SHORT at 2126.7 | Stop loss: 2137.379857142857 | Take profit: 2094.7299642857142 +2025-03-10 16:11:03,535 - INFO - CLOSED short at 2122.24 | PnL: 0.21% | $0.21 +2025-03-10 16:11:03,536 - INFO - OPENED LONG at 2122.24 | Stop loss: 2111.5824428571427 | Take profit: 2154.1431357142856 +2025-03-10 16:11:03,567 - INFO - CLOSED long at 2120.48 | PnL: -0.08% | $-0.36 +2025-03-10 16:11:03,567 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.128757142857 | Take profit: 2088.6032642857144 +2025-03-10 16:11:04,622 - INFO - TAKE PROFIT hit for short at 2088.6032642857144 | PnL: 1.50% | $2.74 +2025-03-10 16:11:04,645 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.029257142857 | Take profit: 2049.3017642857144 +2025-03-10 16:11:04,860 - INFO - TAKE PROFIT hit for short at 2049.3017642857144 | PnL: 1.50% | $2.82 +2025-03-10 16:11:04,888 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.301357142857 | Take profit: 2020.1654642857143 +2025-03-10 16:11:05,061 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.92, Avg Loss=$-0.36 +2025-03-10 16:11:05,062 - INFO - Episode 40: Reward=13.43, Balance=$105.42, Win Rate=75.0%, Trades=4, Episode PnL=$5.77, Total PnL=$619.24, Max Drawdown=0.0%, Pred Accuracy=98.7% +2025-03-10 16:11:05,204 - INFO - Model saved to checkpoints/trading_agent_episode_40.pt +2025-03-10 16:11:05,204 - INFO - Checkpoint saved at episode 40 +2025-03-10 16:11:05,204 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:11:06,102 - INFO - Visualization saved for episode 40 +2025-03-10 16:11:07,793 - INFO - Visualization saved for episode 40 +2025-03-10 16:11:07,808 - INFO - Refreshing data for episode 41 +2025-03-10 16:11:07,808 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:11:08,122 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:11:08,133 - INFO - Initialized environment with 100 candles +2025-03-10 16:11:08,217 - INFO - OPENED SHORT at 2126.7 | Stop loss: 2137.3799249999997 | Take profit: 2094.7298625 +2025-03-10 16:11:08,488 - INFO - CLOSED short at 2116.52 | PnL: 0.48% | $0.74 +2025-03-10 16:11:08,489 - INFO - OPENED LONG at 2116.52 | Stop loss: 2105.890975 | Take profit: 2148.3374375 +2025-03-10 16:11:08,519 - INFO - CLOSED long at 2119.02 | PnL: 0.12% | $0.04 +2025-03-10 16:11:08,519 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.661525 | Take profit: 2087.1650625 +2025-03-10 16:11:08,876 - INFO - CLOSED short at 2115.11 | PnL: 0.18% | $0.17 +2025-03-10 16:11:08,876 - INFO - OPENED LONG at 2115.11 | Stop loss: 2104.488025 | Take profit: 2146.9062875000004 +2025-03-10 16:11:08,910 - INFO - CLOSED long at 2114.32 | PnL: -0.04% | $-0.27 +2025-03-10 16:11:08,910 - INFO - OPENED SHORT at 2114.32 | Stop loss: 2124.938025 | Take profit: 2082.5355625 +2025-03-10 16:11:09,644 - INFO - TAKE PROFIT hit for short at 2082.5355625 | PnL: 1.50% | $2.76 +2025-03-10 16:11:09,668 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.220175 | Take profit: 2053.4091125 +2025-03-10 16:11:09,865 - INFO - TAKE PROFIT hit for short at 2053.4091125 | PnL: 1.50% | $2.84 +2025-03-10 16:11:09,896 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.301425 | Take profit: 2020.1653625 +2025-03-10 16:11:10,092 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.31, Avg Loss=$-0.27 +2025-03-10 16:11:10,093 - INFO - Episode 41: Reward=15.63, Balance=$106.28, Win Rate=83.3%, Trades=6, Episode PnL=$6.51, Total PnL=$625.51, Max Drawdown=0.0%, Pred Accuracy=98.8% +2025-03-10 16:11:10,093 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:11:10,094 - INFO - Refreshing data for episode 42 +2025-03-10 16:11:10,094 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:11:10,406 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:11:10,416 - INFO - Initialized environment with 100 candles +2025-03-10 16:11:10,444 - INFO - OPENED SHORT at 2126.7 | Stop loss: 2137.3802035714284 | Take profit: 2094.729444642857 +2025-03-10 16:11:11,255 - INFO - TAKE PROFIT hit for short at 2094.729444642857 | PnL: 1.50% | $2.75 +2025-03-10 16:11:11,285 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.596953571429 | Take profit: 2068.4791946428572 +2025-03-10 16:11:11,749 - INFO - CLOSED short at 2090.99 | PnL: 0.43% | $0.67 +2025-03-10 16:11:11,782 - INFO - OPENED SHORT at 2084.95 | Stop loss: 2095.421453571428 | Take profit: 2053.605694642857 +2025-03-10 16:11:12,045 - INFO - TAKE PROFIT hit for short at 2053.605694642857 | PnL: 1.50% | $2.84 +2025-03-10 16:11:12,077 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3017035714283 | Take profit: 2020.164944642857 +2025-03-10 16:11:12,266 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.08, Avg Loss=$0.00 +2025-03-10 16:11:12,267 - INFO - Episode 42: Reward=15.39, Balance=$106.25, Win Rate=100.0%, Trades=3, Episode PnL=$6.25, Total PnL=$631.77, Max Drawdown=0.0%, Pred Accuracy=98.8% +2025-03-10 16:11:12,268 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:11:12,268 - INFO - Refreshing data for episode 43 +2025-03-10 16:11:12,268 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:11:12,616 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:11:12,626 - INFO - Initialized environment with 100 candles +2025-03-10 16:11:12,654 - INFO - OPENED SHORT at 2126.7 | Stop loss: 2137.3802035714284 | Take profit: 2094.729444642857 +2025-03-10 16:11:13,440 - INFO - TAKE PROFIT hit for short at 2094.729444642857 | PnL: 1.50% | $2.75 +2025-03-10 16:11:13,500 - INFO - OPENED SHORT at 2096.36 | Stop loss: 2106.8885035714284 | Take profit: 2064.8445446428573 +2025-03-10 16:11:14,254 - INFO - TAKE PROFIT hit for short at 2064.8445446428573 | PnL: 1.50% | $2.82 +2025-03-10 16:11:14,282 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3017035714283 | Take profit: 2020.164944642857 +2025-03-10 16:11:14,459 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$0.00 +2025-03-10 16:11:14,460 - INFO - Episode 43: Reward=13.88, Balance=$105.57, Win Rate=100.0%, Trades=2, Episode PnL=$5.57, Total PnL=$637.33, Max Drawdown=0.0%, Pred Accuracy=98.9% +2025-03-10 16:11:14,460 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:11:14,460 - INFO - Refreshing data for episode 44 +2025-03-10 16:11:14,460 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:11:14,769 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:11:14,782 - INFO - Initialized environment with 100 candles +2025-03-10 16:11:14,810 - INFO - OPENED SHORT at 2126.7 | Stop loss: 2137.3802035714284 | Take profit: 2094.729444642857 +2025-03-10 16:11:15,419 - INFO - CLOSED short at 2115.11 | PnL: 0.54% | $0.87 +2025-03-10 16:11:15,420 - INFO - OPENED LONG at 2115.11 | Stop loss: 2104.487746428572 | Take profit: 2146.906705357143 +2025-03-10 16:11:15,473 - INFO - CLOSED long at 2114.57 | PnL: -0.03% | $-0.25 +2025-03-10 16:11:15,474 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.189553571429 | Take profit: 2082.7813946428573 +2025-03-10 16:11:16,168 - INFO - TAKE PROFIT hit for short at 2082.7813946428573 | PnL: 1.50% | $2.76 +2025-03-10 16:11:16,191 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2204535714286 | Take profit: 2053.408694642857 +2025-03-10 16:11:16,372 - INFO - CLOSED short at 2067.71 | PnL: 0.82% | $1.45 +2025-03-10 16:11:16,393 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5882035714285 | Take profit: 2017.5054446428574 +2025-03-10 16:11:16,569 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.69, Avg Loss=$-0.25 +2025-03-10 16:11:16,569 - INFO - Episode 44: Reward=15.20, Balance=$104.84, Win Rate=75.0%, Trades=4, Episode PnL=$5.08, Total PnL=$642.17, Max Drawdown=0.0%, Pred Accuracy=98.9% +2025-03-10 16:11:16,570 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:11:16,570 - INFO - Refreshing data for episode 45 +2025-03-10 16:11:16,571 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:11:16,883 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:11:16,894 - INFO - Initialized environment with 100 candles +2025-03-10 16:11:17,727 - INFO - OPENED SHORT at 2126.7 | Stop loss: 2137.3809357142854 | Take profit: 2094.728346428571 +2025-03-10 16:11:18,320 - INFO - CLOSED short at 2115.21 | PnL: 0.54% | $0.86 +2025-03-10 16:11:18,351 - INFO - OPENED SHORT at 2114.1 | Stop loss: 2124.7179357142854 | Take profit: 2082.3173464285715 +2025-03-10 16:11:19,083 - INFO - TAKE PROFIT hit for short at 2082.3173464285715 | PnL: 1.50% | $2.77 +2025-03-10 16:11:19,109 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2211857142856 | Take profit: 2053.4075964285717 +2025-03-10 16:11:19,372 - INFO - TAKE PROFIT hit for short at 2053.4075964285717 | PnL: 1.50% | $2.84 +2025-03-10 16:11:19,398 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.302435714286 | Take profit: 2020.1638464285713 +2025-03-10 16:11:19,562 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.16, Avg Loss=$0.00 +2025-03-10 16:11:19,563 - INFO - Episode 45: Reward=15.51, Balance=$106.47, Win Rate=100.0%, Trades=3, Episode PnL=$6.47, Total PnL=$648.64, Max Drawdown=0.0%, Pred Accuracy=99.0% +2025-03-10 16:11:19,564 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:11:19,564 - INFO - Refreshing data for episode 46 +2025-03-10 16:11:19,564 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:11:19,876 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:11:19,888 - INFO - Initialized environment with 100 candles +2025-03-10 16:11:19,915 - INFO - OPENED SHORT at 2126.7 | Stop loss: 2137.3809357142854 | Take profit: 2094.728346428571 +2025-03-10 16:11:20,722 - INFO - TAKE PROFIT hit for short at 2094.728346428571 | PnL: 1.50% | $2.75 +2025-03-10 16:11:20,754 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.597685714286 | Take profit: 2068.4780964285715 +2025-03-10 16:11:21,204 - INFO - CLOSED short at 2084.95 | PnL: 0.72% | $1.24 +2025-03-10 16:11:21,233 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0303357142857 | Take profit: 2049.300146428571 +2025-03-10 16:11:21,357 - INFO - CLOSED short at 2084.11 | PnL: -0.17% | $-0.55 +2025-03-10 16:11:21,358 - INFO - OPENED LONG at 2084.11 | Stop loss: 2073.6420142857146 | Take profit: 2115.4428035714286 +2025-03-10 16:11:21,386 - INFO - CLOSED long at 2083.07 | PnL: -0.05% | $-0.30 +2025-03-10 16:11:21,386 - INFO - OPENED SHORT at 2083.07 | Stop loss: 2093.5327857142856 | Take profit: 2051.752796428572 +2025-03-10 16:11:21,461 - INFO - CLOSED short at 2048.3 | PnL: 1.67% | $3.16 +2025-03-10 16:11:21,462 - INFO - OPENED LONG at 2048.3 | Stop loss: 2038.0110642857144 | Take profit: 2079.095653571429 +2025-03-10 16:11:21,491 - INFO - CLOSED long at 2051.0 | PnL: 0.13% | $0.07 +2025-03-10 16:11:21,492 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.302435714286 | Take profit: 2020.1638464285713 +2025-03-10 16:11:21,654 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$1.81, Avg Loss=$-0.43 +2025-03-10 16:11:21,655 - INFO - Episode 46: Reward=16.16, Balance=$106.37, Win Rate=66.7%, Trades=6, Episode PnL=$6.61, Total PnL=$655.01, Max Drawdown=0.0%, Pred Accuracy=99.1% +2025-03-10 16:11:21,655 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:11:21,655 - INFO - Refreshing data for episode 47 +2025-03-10 16:11:21,656 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:11:21,957 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:11:21,969 - INFO - Initialized environment with 100 candles +2025-03-10 16:11:21,998 - INFO - OPENED SHORT at 2126.7 | Stop loss: 2137.3809357142854 | Take profit: 2094.728346428571 +2025-03-10 16:11:22,820 - INFO - TAKE PROFIT hit for short at 2094.728346428571 | PnL: 1.50% | $2.75 +2025-03-10 16:11:22,844 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.597685714286 | Take profit: 2068.4780964285715 +2025-03-10 16:11:23,040 - INFO - CLOSED short at 2104.22 | PnL: -0.20% | $-0.60 +2025-03-10 16:11:23,040 - INFO - OPENED LONG at 2104.22 | Stop loss: 2093.651464285714 | Take profit: 2135.854453571428 +2025-03-10 16:11:23,071 - INFO - CLOSED long at 2104.67 | PnL: 0.02% | $-0.16 +2025-03-10 16:11:23,071 - INFO - OPENED SHORT at 2104.67 | Stop loss: 2115.2407857142857 | Take profit: 2073.0287964285717 +2025-03-10 16:11:23,565 - INFO - TAKE PROFIT hit for short at 2073.0287964285717 | PnL: 1.50% | $2.80 +2025-03-10 16:11:23,593 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5889357142855 | Take profit: 2017.5043464285718 +2025-03-10 16:11:23,793 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.77, Avg Loss=$-0.38 +2025-03-10 16:11:23,793 - INFO - Episode 47: Reward=10.74, Balance=$104.79, Win Rate=50.0%, Trades=4, Episode PnL=$4.94, Total PnL=$659.80, Max Drawdown=0.0%, Pred Accuracy=99.1% +2025-03-10 16:11:23,794 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:11:23,794 - INFO - Refreshing data for episode 48 +2025-03-10 16:11:23,795 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:11:24,092 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:11:24,106 - INFO - Initialized environment with 100 candles +2025-03-10 16:11:24,133 - INFO - OPENED SHORT at 2126.7 | Stop loss: 2137.3809357142854 | Take profit: 2094.728346428571 +2025-03-10 16:11:24,842 - INFO - CLOSED short at 2114.57 | PnL: 0.57% | $0.92 +2025-03-10 16:11:24,870 - INFO - OPENED SHORT at 2112.57 | Stop loss: 2123.180285714286 | Take profit: 2080.8102964285717 +2025-03-10 16:11:25,608 - INFO - TAKE PROFIT hit for short at 2080.8102964285717 | PnL: 1.50% | $2.77 +2025-03-10 16:11:25,633 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2211857142856 | Take profit: 2053.4075964285717 +2025-03-10 16:11:25,853 - INFO - TAKE PROFIT hit for short at 2053.4075964285717 | PnL: 1.50% | $2.85 +2025-03-10 16:11:25,880 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.302435714286 | Take profit: 2020.1638464285713 +2025-03-10 16:11:26,057 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.18, Avg Loss=$0.00 +2025-03-10 16:11:26,058 - INFO - Episode 48: Reward=15.55, Balance=$106.54, Win Rate=100.0%, Trades=3, Episode PnL=$6.54, Total PnL=$666.34, Max Drawdown=0.0%, Pred Accuracy=99.2% +2025-03-10 16:11:26,058 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:11:26,058 - INFO - Refreshing data for episode 49 +2025-03-10 16:11:26,059 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:11:26,358 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:11:26,375 - INFO - Initialized environment with 100 candles +2025-03-10 16:11:26,404 - INFO - OPENED SHORT at 2126.7 | Stop loss: 2137.3809357142854 | Take profit: 2094.728346428571 +2025-03-10 16:11:27,224 - INFO - TAKE PROFIT hit for short at 2094.728346428571 | PnL: 1.50% | $2.75 +2025-03-10 16:11:27,250 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.597685714286 | Take profit: 2068.4780964285715 +2025-03-10 16:11:27,970 - INFO - TAKE PROFIT hit for short at 2068.4780964285715 | PnL: 1.50% | $2.82 +2025-03-10 16:11:27,995 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5889357142855 | Take profit: 2017.5043464285718 +2025-03-10 16:11:28,196 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$0.00 +2025-03-10 16:11:28,197 - INFO - Episode 49: Reward=14.09, Balance=$105.57, Win Rate=100.0%, Trades=2, Episode PnL=$5.57, Total PnL=$671.90, Max Drawdown=0.0%, Pred Accuracy=99.2% +2025-03-10 16:11:28,198 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:11:28,198 - INFO - Early stopping triggered after 50 episodes without improvement +2025-03-10 16:11:28,347 - INFO - Model saved to models/trading_agent_final.pt +2025-03-10 16:11:29,390 - INFO - Training results saved to training_results.png +2025-03-10 16:11:29,530 - INFO - Model saved to models/trading_agent_continuous_100.pt +2025-03-10 16:11:34,534 - INFO - Starting training batch 4 +2025-03-10 16:11:34,535 - INFO - Refreshing data for new training batch +2025-03-10 16:11:34,535 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:11:34,866 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 16:11:34,878 - INFO - Initialized environment with 500 candles +2025-03-10 16:11:34,878 - INFO - Updated environment with fresh candles +2025-03-10 16:11:34,879 - INFO - Starting training on device: cuda +2025-03-10 16:11:34,879 - INFO - Loading best model from models/trading_agent_best_pnl.pt to resume training +2025-03-10 16:11:34,879 - INFO - Loading model from models/trading_agent_best_pnl.pt +2025-03-10 16:11:35,163 - INFO - Model loaded successfully with weights_only=True +2025-03-10 16:11:35,168 - INFO - Resumed with best metrics - Reward: 202.74, PnL: $7.27, Win Rate: 66.7% +2025-03-10 16:11:35,177 - INFO - Refreshing data for episode 0 +2025-03-10 16:11:35,177 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:11:35,476 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:11:35,488 - INFO - Initialized environment with 100 candles +2025-03-10 16:11:36,691 - INFO - OPENED SHORT at 2126.7 | Stop loss: 2137.3811357142854 | Take profit: 2094.7280464285714 +2025-03-10 16:11:37,653 - INFO - TAKE PROFIT hit for short at 2094.7280464285714 | PnL: 1.50% | $2.75 +2025-03-10 16:11:37,683 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.597885714286 | Take profit: 2068.4777964285718 +2025-03-10 16:11:38,301 - INFO - CLOSED short at 2084.11 | PnL: 0.76% | $1.32 +2025-03-10 16:11:38,354 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.492985714286 | Take profit: 2043.8724964285716 +2025-03-10 16:11:38,475 - INFO - TAKE PROFIT hit for short at 2043.8724964285716 | PnL: 1.50% | $2.86 +2025-03-10 16:11:38,500 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.2020857142857 | Take profit: 2022.0251964285712 +2025-03-10 16:11:38,608 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.31, Avg Loss=$0.00 +2025-03-10 16:11:38,609 - INFO - Episode 0: Reward=29.38, Balance=$106.92, Win Rate=100.0%, Trades=3, Episode PnL=$6.92, Total PnL=$678.83, Max Drawdown=0.0%, Pred Accuracy=99.7% +2025-03-10 16:12:01,487 - INFO - Using GPU: NVIDIA GeForce RTX 4060 Laptop GPU +2025-03-10 16:12:01,517 - INFO - Exchange initialized with standard CCXT: mexc +2025-03-10 16:12:01,517 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:12:01,518 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:12:05,377 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 16:12:05,399 - INFO - Initialized environment with 500 candles +2025-03-10 16:12:08,202 - INFO - Starting continuous training mode. Press Ctrl+C to stop. +2025-03-10 16:12:08,202 - INFO - Starting training batch 1 +2025-03-10 16:12:08,202 - INFO - Refreshing data for new training batch +2025-03-10 16:12:08,203 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:12:08,535 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 16:12:08,554 - INFO - Initialized environment with 500 candles +2025-03-10 16:12:08,554 - INFO - Updated environment with fresh candles +2025-03-10 16:12:08,555 - INFO - Starting training on device: cuda +2025-03-10 16:12:08,555 - INFO - Loading best model from models/trading_agent_best_pnl.pt to resume training +2025-03-10 16:12:08,556 - INFO - Loading model from models/trading_agent_best_pnl.pt +2025-03-10 16:12:08,719 - INFO - Model loaded successfully with weights_only=True +2025-03-10 16:12:08,720 - INFO - Resumed with best metrics - Reward: 202.74, PnL: $7.27, Win Rate: 66.7% +2025-03-10 16:12:08,722 - INFO - Refreshing data for episode 0 +2025-03-10 16:12:08,723 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:12:09,048 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:12:09,057 - INFO - Initialized environment with 100 candles +2025-03-10 16:12:10,183 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.6686892857147 | Take profit: 2090.106891071429 +2025-03-10 16:12:10,268 - INFO - CLOSED short at 2098.28 | PnL: 1.12% | $1.99 +2025-03-10 16:12:10,268 - INFO - OPENED LONG at 2098.28 | Stop loss: 2087.739960714286 | Take profit: 2129.8271589285714 +2025-03-10 16:12:10,276 - INFO - CLOSED long at 2091.36 | PnL: -0.33% | $-0.86 +2025-03-10 16:12:10,276 - INFO - OPENED SHORT at 2091.36 | Stop loss: 2101.8654392857143 | Take profit: 2059.916641071429 +2025-03-10 16:12:10,293 - INFO - STOP LOSS hit for short at 2101.8654392857143 | PnL: -0.50% | $-1.19 +2025-03-10 16:12:10,304 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9756892857145 | Take profit: 2071.7858910714285 +2025-03-10 16:12:10,305 - INFO - CLOSED short at 2104.22 | PnL: -0.04% | $-0.27 +2025-03-10 16:12:10,310 - INFO - OPENED SHORT at 2104.67 | Stop loss: 2115.2419892857147 | Take profit: 2073.0269910714287 +2025-03-10 16:12:10,372 - INFO - TAKE PROFIT hit for short at 2073.0269910714287 | PnL: 1.50% | $2.73 +2025-03-10 16:12:10,376 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5901392857145 | Take profit: 2017.5025410714286 +2025-03-10 16:12:10,604 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.36, Avg Loss=$-0.77 +2025-03-10 16:12:10,606 - INFO - Episode 0: Reward=12.93, Balance=$102.41, Win Rate=40.0%, Trades=5, Episode PnL=$3.26, Total PnL=$2.41, Max Drawdown=0.3%, Pred Accuracy=99.7% +2025-03-10 16:12:10,751 - INFO - Model saved to checkpoints/trading_agent_episode_0.pt +2025-03-10 16:12:10,752 - INFO - Checkpoint saved at episode 0 +2025-03-10 16:12:11,867 - INFO - Visualization saved for episode 0 +2025-03-10 16:12:13,677 - INFO - Visualization saved for episode 0 +2025-03-10 16:12:13,690 - INFO - Refreshing data for episode 1 +2025-03-10 16:12:13,690 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:12:14,013 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:12:14,023 - INFO - Initialized environment with 100 candles +2025-03-10 16:12:14,078 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.6690964285717 | Take profit: 2090.106280357143 +2025-03-10 16:12:14,375 - INFO - CLOSED short at 2120.96 | PnL: 0.05% | $-0.10 +2025-03-10 16:12:14,400 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.5735464285717 | Take profit: 2092.952930357143 +2025-03-10 16:12:14,961 - INFO - TAKE PROFIT hit for short at 2092.952930357143 | PnL: 1.50% | $2.74 +2025-03-10 16:12:14,987 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5992964285715 | Take profit: 2068.475680357143 +2025-03-10 16:12:15,443 - INFO - CLOSED short at 2090.59 | PnL: 0.45% | $0.70 +2025-03-10 16:12:15,443 - INFO - OPENED LONG at 2090.59 | Stop loss: 2080.0880035714285 | Take profit: 2122.0224196428576 +2025-03-10 16:12:15,471 - INFO - CLOSED long at 2090.99 | PnL: 0.02% | $-0.16 +2025-03-10 16:12:15,472 - INFO - OPENED SHORT at 2090.99 | Stop loss: 2101.4939964285713 | Take profit: 2059.5515803571425 +2025-03-10 16:12:15,704 - INFO - TAKE PROFIT hit for short at 2059.5515803571425 | PnL: 1.50% | $2.83 +2025-03-10 16:12:15,733 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3040464285714 | Take profit: 2020.1614303571428 +2025-03-10 16:12:15,949 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.09, Avg Loss=$-0.13 +2025-03-10 16:12:15,949 - INFO - Episode 1: Reward=12.81, Balance=$106.01, Win Rate=60.0%, Trades=5, Episode PnL=$6.18, Total PnL=$8.42, Max Drawdown=0.1%, Pred Accuracy=99.7% +2025-03-10 16:12:15,949 - INFO - Refreshing data for episode 2 +2025-03-10 16:12:15,949 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:12:16,274 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:12:16,287 - INFO - Initialized environment with 100 candles +2025-03-10 16:12:16,319 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.6690964285717 | Take profit: 2090.106280357143 +2025-03-10 16:12:16,607 - INFO - CLOSED short at 2120.96 | PnL: 0.05% | $-0.10 +2025-03-10 16:12:16,630 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.5735464285717 | Take profit: 2092.952930357143 +2025-03-10 16:12:17,140 - INFO - TAKE PROFIT hit for short at 2092.952930357143 | PnL: 1.50% | $2.74 +2025-03-10 16:12:17,165 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5992964285715 | Take profit: 2068.475680357143 +2025-03-10 16:12:17,499 - INFO - CLOSED short at 2096.96 | PnL: 0.15% | $0.09 +2025-03-10 16:12:17,524 - INFO - OPENED SHORT at 2098.66 | Stop loss: 2109.202346428571 | Take profit: 2067.1065303571427 +2025-03-10 16:12:17,817 - INFO - TAKE PROFIT hit for short at 2067.1065303571427 | PnL: 1.50% | $2.82 +2025-03-10 16:12:17,846 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3040464285714 | Take profit: 2020.1614303571428 +2025-03-10 16:12:18,035 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.88, Avg Loss=$-0.10 +2025-03-10 16:12:18,035 - INFO - Episode 2: Reward=27.66, Balance=$105.55, Win Rate=75.0%, Trades=4, Episode PnL=$5.55, Total PnL=$13.97, Max Drawdown=0.1%, Pred Accuracy=99.7% +2025-03-10 16:12:18,035 - INFO - Refreshing data for episode 3 +2025-03-10 16:12:18,035 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:12:18,339 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:12:18,349 - INFO - Initialized environment with 100 candles +2025-03-10 16:12:18,377 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.6690964285717 | Take profit: 2090.106280357143 +2025-03-10 16:12:19,076 - INFO - CLOSED short at 2100.05 | PnL: 1.03% | $1.83 +2025-03-10 16:12:19,076 - INFO - OPENED LONG at 2100.05 | Stop loss: 2089.500703571429 | Take profit: 2131.6243196428572 +2025-03-10 16:12:19,101 - INFO - CLOSED long at 2096.36 | PnL: -0.18% | $-0.55 +2025-03-10 16:12:19,127 - INFO - OPENED SHORT at 2089.04 | Stop loss: 2099.5342464285714 | Take profit: 2057.6308303571427 +2025-03-10 16:12:19,206 - INFO - STOP LOSS hit for short at 2099.5342464285714 | PnL: -0.50% | $-1.19 +2025-03-10 16:12:19,232 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.3931964285716 | Take profit: 2071.2139803571426 +2025-03-10 16:12:19,727 - INFO - TAKE PROFIT hit for short at 2071.2139803571426 | PnL: 1.50% | $2.75 +2025-03-10 16:12:19,757 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5905464285715 | Take profit: 2017.501930357143 +2025-03-10 16:12:19,784 - INFO - CLOSED short at 2051.0 | PnL: -0.13% | $-0.47 +2025-03-10 16:12:19,784 - INFO - OPENED LONG at 2051.0 | Stop loss: 2040.6959535714286 | Take profit: 2081.8385696428572 +2025-03-10 16:12:19,814 - INFO - CLOSED long at 2043.51 | PnL: -0.37% | $-0.93 +2025-03-10 16:12:19,814 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.7765964285713 | Take profit: 2012.7837803571429 +2025-03-10 16:12:19,893 - INFO - STOP LOSS hit for short at 2053.7765964285713 | PnL: -0.50% | $-1.19 +2025-03-10 16:12:19,922 - INFO - OPENED SHORT at 2054.03 | Stop loss: 2064.3491964285718 | Take profit: 2023.1459803571431 +2025-03-10 16:12:20,003 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 40.0% in downtrends | Avg Win=$2.29, Avg Loss=$-0.87 +2025-03-10 16:12:20,003 - INFO - Episode 3: Reward=24.32, Balance=$100.24, Win Rate=28.6%, Trades=7, Episode PnL=$1.17, Total PnL=$14.22, Max Drawdown=2.5%, Pred Accuracy=99.7% +2025-03-10 16:12:20,004 - INFO - Refreshing data for episode 4 +2025-03-10 16:12:20,005 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:12:20,432 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:12:20,442 - INFO - Initialized environment with 100 candles +2025-03-10 16:12:20,467 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.6690964285717 | Take profit: 2090.106280357143 +2025-03-10 16:12:20,812 - INFO - CLOSED short at 2120.26 | PnL: 0.08% | $-0.03 +2025-03-10 16:12:20,812 - INFO - OPENED LONG at 2120.26 | Stop loss: 2109.6096535714287 | Take profit: 2152.1374696428575 +2025-03-10 16:12:20,844 - INFO - CLOSED long at 2116.81 | PnL: -0.16% | $-0.51 +2025-03-10 16:12:20,845 - INFO - OPENED SHORT at 2116.81 | Stop loss: 2127.443096428571 | Take profit: 2084.984280357143 +2025-03-10 16:12:21,121 - INFO - CLOSED short at 2113.28 | PnL: 0.17% | $0.13 +2025-03-10 16:12:21,122 - INFO - OPENED LONG at 2113.28 | Stop loss: 2102.6645535714288 | Take profit: 2145.052769642857 +2025-03-10 16:12:21,143 - INFO - CLOSED long at 2114.5 | PnL: 0.06% | $-0.08 +2025-03-10 16:12:21,144 - INFO - OPENED SHORT at 2114.5 | Stop loss: 2125.121546428571 | Take profit: 2082.708930357143 +2025-03-10 16:12:21,197 - INFO - CLOSED short at 2098.24 | PnL: 0.77% | $1.30 +2025-03-10 16:12:21,197 - INFO - OPENED LONG at 2098.24 | Stop loss: 2087.699753571428 | Take profit: 2129.787169642857 +2025-03-10 16:12:21,224 - INFO - CLOSED long at 2098.28 | PnL: 0.00% | $-0.19 +2025-03-10 16:12:21,224 - INFO - OPENED SHORT at 2098.28 | Stop loss: 2108.8204464285714 | Take profit: 2066.732230357143 +2025-03-10 16:12:21,276 - INFO - CLOSED short at 2100.05 | PnL: -0.08% | $-0.36 +2025-03-10 16:12:21,277 - INFO - OPENED LONG at 2100.05 | Stop loss: 2089.500703571429 | Take profit: 2131.6243196428572 +2025-03-10 16:12:21,298 - INFO - CLOSED long at 2096.36 | PnL: -0.18% | $-0.54 +2025-03-10 16:12:21,298 - INFO - OPENED SHORT at 2096.36 | Stop loss: 2106.8908464285714 | Take profit: 2064.8410303571427 +2025-03-10 16:12:21,553 - INFO - CLOSED short at 2099.22 | PnL: -0.14% | $-0.46 +2025-03-10 16:12:21,553 - INFO - OPENED LONG at 2099.22 | Stop loss: 2088.6748535714282 | Take profit: 2130.781869642857 +2025-03-10 16:12:21,625 - INFO - CLOSED long at 2098.66 | PnL: -0.03% | $-0.25 +2025-03-10 16:12:21,626 - INFO - OPENED SHORT at 2098.66 | Stop loss: 2109.202346428571 | Take profit: 2067.1065303571427 +2025-03-10 16:12:21,648 - INFO - CLOSED short at 2090.59 | PnL: 0.38% | $0.55 +2025-03-10 16:12:21,648 - INFO - OPENED LONG at 2090.59 | Stop loss: 2080.0880035714285 | Take profit: 2122.0224196428576 +2025-03-10 16:12:21,670 - INFO - CLOSED long at 2090.99 | PnL: 0.02% | $-0.16 +2025-03-10 16:12:21,671 - INFO - OPENED SHORT at 2090.99 | Stop loss: 2101.4939964285713 | Take profit: 2059.5515803571425 +2025-03-10 16:12:21,714 - INFO - CLOSED short at 2080.58 | PnL: 0.50% | $0.77 +2025-03-10 16:12:21,714 - INFO - OPENED LONG at 2080.58 | Stop loss: 2070.1280535714286 | Take profit: 2111.8622696428574 +2025-03-10 16:12:21,736 - INFO - CLOSED long at 2084.75 | PnL: 0.20% | $0.20 +2025-03-10 16:12:21,737 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2227964285717 | Take profit: 2053.405180357143 +2025-03-10 16:12:21,834 - INFO - CLOSED short at 2084.11 | PnL: 0.03% | $-0.14 +2025-03-10 16:12:21,834 - INFO - OPENED LONG at 2084.11 | Stop loss: 2073.6404035714286 | Take profit: 2115.445219642857 +2025-03-10 16:12:21,858 - INFO - CLOSED long at 2083.07 | PnL: -0.05% | $-0.29 +2025-03-10 16:12:21,859 - INFO - OPENED SHORT at 2083.07 | Stop loss: 2093.5343964285717 | Take profit: 2051.750380357143 +2025-03-10 16:12:21,913 - INFO - CLOSED short at 2067.71 | PnL: 0.74% | $1.24 +2025-03-10 16:12:21,914 - INFO - OPENED LONG at 2067.71 | Stop loss: 2057.322403571429 | Take profit: 2098.799219642857 +2025-03-10 16:12:21,942 - INFO - CLOSED long at 2048.3 | PnL: -0.94% | $-2.05 +2025-03-10 16:12:21,943 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5905464285715 | Take profit: 2017.501930357143 +2025-03-10 16:12:22,067 - INFO - CLOSED short at 2053.22 | PnL: -0.24% | $-0.66 +2025-03-10 16:12:22,067 - INFO - OPENED LONG at 2053.22 | Stop loss: 2042.9048535714282 | Take profit: 2084.0918696428566 +2025-03-10 16:12:22,101 - INFO - CLOSED long at 2058.11 | PnL: 0.24% | $0.27 +2025-03-10 16:12:22,101 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.4495964285716 | Take profit: 2027.164780357143 +2025-03-10 16:12:22,191 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$0.64, Avg Loss=$-0.44 +2025-03-10 16:12:22,193 - INFO - Episode 4: Reward=13.23, Balance=$98.73, Win Rate=35.0%, Trades=20, Episode PnL=$2.35, Total PnL=$12.95, Max Drawdown=0.0%, Pred Accuracy=99.7% +2025-03-10 16:12:22,193 - INFO - Refreshing data for episode 5 +2025-03-10 16:12:22,193 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:12:22,502 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:12:22,511 - INFO - Initialized environment with 100 candles +2025-03-10 16:12:23,275 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.6690964285717 | Take profit: 2090.106280357143 +2025-03-10 16:12:23,387 - INFO - CLOSED short at 2120.54 | PnL: 0.07% | $-0.06 +2025-03-10 16:12:23,401 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.6390464285714 | Take profit: 2086.1564303571427 +2025-03-10 16:12:23,538 - INFO - CLOSED short at 2119.02 | PnL: -0.05% | $-0.29 +2025-03-10 16:12:23,538 - INFO - OPENED LONG at 2119.02 | Stop loss: 2108.3758535714287 | Take profit: 2150.8788696428574 +2025-03-10 16:12:23,570 - INFO - CLOSED long at 2120.96 | PnL: 0.09% | $-0.02 +2025-03-10 16:12:23,571 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.6138464285714 | Take profit: 2089.072030357143 +2025-03-10 16:12:23,704 - INFO - CLOSED short at 2114.78 | PnL: 0.29% | $0.37 +2025-03-10 16:12:23,705 - INFO - OPENED LONG at 2114.78 | Stop loss: 2104.1570535714286 | Take profit: 2146.575269642857 +2025-03-10 16:12:23,728 - INFO - CLOSED long at 2115.52 | PnL: 0.03% | $-0.13 +2025-03-10 16:12:23,729 - INFO - OPENED SHORT at 2115.52 | Stop loss: 2126.1466464285713 | Take profit: 2083.713630357143 +2025-03-10 16:12:23,866 - INFO - CLOSED short at 2115.11 | PnL: 0.02% | $-0.16 +2025-03-10 16:12:23,867 - INFO - OPENED LONG at 2115.11 | Stop loss: 2104.4854035714284 | Take profit: 2146.910219642857 +2025-03-10 16:12:23,958 - INFO - CLOSED long at 2112.57 | PnL: -0.12% | $-0.43 +2025-03-10 16:12:23,959 - INFO - OPENED SHORT at 2112.57 | Stop loss: 2123.1818964285717 | Take profit: 2080.807880357143 +2025-03-10 16:12:24,203 - INFO - CLOSED short at 2089.04 | PnL: 1.11% | $1.97 +2025-03-10 16:12:24,204 - INFO - OPENED LONG at 2089.04 | Stop loss: 2078.5457535714286 | Take profit: 2120.4491696428568 +2025-03-10 16:12:24,230 - INFO - CLOSED long at 2089.84 | PnL: 0.04% | $-0.12 +2025-03-10 16:12:24,231 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3382464285714 | Take profit: 2058.418830357143 +2025-03-10 16:12:24,302 - INFO - CLOSED short at 2102.83 | PnL: -0.62% | $-1.43 +2025-03-10 16:12:24,303 - INFO - OPENED LONG at 2102.83 | Stop loss: 2092.266803571428 | Take profit: 2134.4460196428568 +2025-03-10 16:12:24,334 - INFO - CLOSED long at 2103.41 | PnL: 0.03% | $-0.14 +2025-03-10 16:12:24,335 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9760964285715 | Take profit: 2071.7852803571427 +2025-03-10 16:12:24,390 - INFO - CLOSED short at 2104.67 | PnL: -0.06% | $-0.31 +2025-03-10 16:12:24,390 - INFO - OPENED LONG at 2104.67 | Stop loss: 2094.0976035714284 | Take profit: 2136.3136196428572 +2025-03-10 16:12:24,414 - INFO - CLOSED long at 2105.26 | PnL: 0.03% | $-0.14 +2025-03-10 16:12:24,415 - INFO - OPENED SHORT at 2105.26 | Stop loss: 2115.835346428572 | Take profit: 2073.607530357143 +2025-03-10 16:12:24,464 - INFO - CLOSED short at 2099.22 | PnL: 0.29% | $0.36 +2025-03-10 16:12:24,464 - INFO - OPENED LONG at 2099.22 | Stop loss: 2088.6748535714282 | Take profit: 2130.781869642857 +2025-03-10 16:12:24,488 - INFO - CLOSED long at 2094.16 | PnL: -0.24% | $-0.66 +2025-03-10 16:12:24,489 - INFO - OPENED SHORT at 2094.16 | Stop loss: 2104.679846428571 | Take profit: 2062.674030357143 +2025-03-10 16:12:24,520 - INFO - CLOSED short at 2096.96 | PnL: -0.13% | $-0.45 +2025-03-10 16:12:24,521 - INFO - OPENED LONG at 2096.96 | Stop loss: 2086.4261535714286 | Take profit: 2128.487969642857 +2025-03-10 16:12:24,555 - INFO - CLOSED long at 2098.66 | PnL: 0.08% | $-0.04 +2025-03-10 16:12:24,555 - INFO - OPENED SHORT at 2098.66 | Stop loss: 2109.202346428571 | Take profit: 2067.1065303571427 +2025-03-10 16:12:24,955 - INFO - CLOSED short at 2048.3 | PnL: 2.40% | $4.42 +2025-03-10 16:12:24,955 - INFO - OPENED LONG at 2048.3 | Stop loss: 2038.0094535714286 | Take profit: 2079.0980696428574 +2025-03-10 16:12:24,989 - INFO - CLOSED long at 2051.0 | PnL: 0.13% | $0.06 +2025-03-10 16:12:24,989 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3040464285714 | Take profit: 2020.1614303571428 +2025-03-10 16:12:25,044 - INFO - CLOSED short at 2052.89 | PnL: -0.09% | $-0.39 +2025-03-10 16:12:25,044 - INFO - OPENED LONG at 2052.89 | Stop loss: 2042.5765035714285 | Take profit: 2083.756919642857 +2025-03-10 16:12:25,074 - INFO - CLOSED long at 2053.22 | PnL: 0.02% | $-0.17 +2025-03-10 16:12:25,075 - INFO - OPENED SHORT at 2053.22 | Stop loss: 2063.535146428571 | Take profit: 2022.3481303571425 +2025-03-10 16:12:25,180 - INFO - CLOSED short at 2046.76 | PnL: 0.31% | $0.43 +2025-03-10 16:12:25,180 - INFO - OPENED LONG at 2046.76 | Stop loss: 2036.4771535714285 | Take profit: 2077.534969642857 +2025-03-10 16:12:25,204 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 45.5% in downtrends | Avg Win=$1.27, Avg Loss=$-0.31 +2025-03-10 16:12:25,205 - INFO - Episode 5: Reward=11.68, Balance=$102.69, Win Rate=27.3%, Trades=22, Episode PnL=$4.47, Total PnL=$15.64, Max Drawdown=0.1%, Pred Accuracy=99.7% +2025-03-10 16:12:25,206 - INFO - Refreshing data for episode 6 +2025-03-10 16:12:25,206 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:12:25,500 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:12:25,510 - INFO - Initialized environment with 100 candles +2025-03-10 16:12:25,536 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.6690964285717 | Take profit: 2090.106280357143 +2025-03-10 16:12:25,580 - INFO - CLOSED short at 2122.24 | PnL: -0.01% | $-0.22 +2025-03-10 16:12:25,580 - INFO - OPENED LONG at 2122.24 | Stop loss: 2111.5797535714282 | Take profit: 2154.1471696428566 +2025-03-10 16:12:25,604 - INFO - CLOSED long at 2120.48 | PnL: -0.08% | $-0.36 +2025-03-10 16:12:25,605 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.131446428571 | Take profit: 2088.599230357143 +2025-03-10 16:12:25,754 - INFO - CLOSED short at 2119.02 | PnL: 0.07% | $-0.06 +2025-03-10 16:12:25,755 - INFO - OPENED LONG at 2119.02 | Stop loss: 2108.3758535714287 | Take profit: 2150.8788696428574 +2025-03-10 16:12:25,787 - INFO - CLOSED long at 2120.96 | PnL: 0.09% | $-0.02 +2025-03-10 16:12:25,788 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.6138464285714 | Take profit: 2089.072030357143 +2025-03-10 16:12:26,358 - INFO - TAKE PROFIT hit for short at 2089.072030357143 | PnL: 1.50% | $2.73 +2025-03-10 16:12:26,383 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3382464285714 | Take profit: 2058.418830357143 +2025-03-10 16:12:26,464 - INFO - STOP LOSS hit for short at 2100.3382464285714 | PnL: -0.50% | $-1.20 +2025-03-10 16:12:26,489 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9760964285715 | Take profit: 2071.7852803571427 +2025-03-10 16:12:26,988 - INFO - TAKE PROFIT hit for short at 2071.7852803571427 | PnL: 1.50% | $2.77 +2025-03-10 16:12:27,013 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5905464285715 | Take profit: 2017.501930357143 +2025-03-10 16:12:27,248 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 40.0% in downtrends | Avg Win=$2.75, Avg Loss=$-0.37 +2025-03-10 16:12:27,249 - INFO - Episode 6: Reward=22.30, Balance=$103.64, Win Rate=28.6%, Trades=7, Episode PnL=$4.01, Total PnL=$19.28, Max Drawdown=1.2%, Pred Accuracy=99.7% +2025-03-10 16:12:27,249 - INFO - Refreshing data for episode 7 +2025-03-10 16:12:27,250 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:12:27,551 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:12:27,561 - INFO - Initialized environment with 100 candles +2025-03-10 16:12:27,586 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.6690964285717 | Take profit: 2090.106280357143 +2025-03-10 16:12:28,400 - INFO - TAKE PROFIT hit for short at 2090.106280357143 | PnL: 1.50% | $2.74 +2025-03-10 16:12:28,427 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3382464285714 | Take profit: 2058.418830357143 +2025-03-10 16:12:28,510 - INFO - STOP LOSS hit for short at 2100.3382464285714 | PnL: -0.50% | $-1.21 +2025-03-10 16:12:28,532 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9760964285715 | Take profit: 2071.7852803571427 +2025-03-10 16:12:29,110 - INFO - TAKE PROFIT hit for short at 2071.7852803571427 | PnL: 1.50% | $2.79 +2025-03-10 16:12:29,143 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5905464285715 | Take profit: 2017.501930357143 +2025-03-10 16:12:29,384 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.76, Avg Loss=$-1.21 +2025-03-10 16:12:29,385 - INFO - Episode 7: Reward=28.00, Balance=$104.32, Win Rate=66.7%, Trades=3, Episode PnL=$4.32, Total PnL=$23.60, Max Drawdown=1.2%, Pred Accuracy=99.6% +2025-03-10 16:12:29,386 - INFO - Refreshing data for episode 8 +2025-03-10 16:12:29,386 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:12:29,809 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:12:29,822 - INFO - Initialized environment with 100 candles +2025-03-10 16:12:29,855 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.6692642857147 | Take profit: 2090.106028571429 +2025-03-10 16:12:30,273 - INFO - CLOSED short at 2114.75 | PnL: 0.34% | $0.47 +2025-03-10 16:12:30,303 - INFO - OPENED SHORT at 2116.06 | Stop loss: 2126.689514285714 | Take profit: 2084.2452785714286 +2025-03-10 16:12:31,129 - INFO - TAKE PROFIT hit for short at 2084.2452785714286 | PnL: 1.50% | $2.76 +2025-03-10 16:12:31,155 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.222964285714 | Take profit: 2053.4049285714286 +2025-03-10 16:12:31,345 - INFO - TAKE PROFIT hit for short at 2053.4049285714286 | PnL: 1.50% | $2.83 +2025-03-10 16:12:31,370 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3042142857144 | Take profit: 2020.1611785714288 +2025-03-10 16:12:31,552 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.02, Avg Loss=$0.00 +2025-03-10 16:12:31,553 - INFO - Episode 8: Reward=29.05, Balance=$106.06, Win Rate=100.0%, Trades=3, Episode PnL=$6.06, Total PnL=$29.66, Max Drawdown=0.0%, Pred Accuracy=99.6% +2025-03-10 16:12:31,553 - INFO - Refreshing data for episode 9 +2025-03-10 16:12:31,553 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:12:31,875 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:12:31,887 - INFO - Initialized environment with 100 candles +2025-03-10 16:12:31,913 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.669367857143 | Take profit: 2090.105873214286 +2025-03-10 16:12:32,750 - INFO - CLOSED short at 2096.36 | PnL: 1.21% | $2.17 +2025-03-10 16:12:32,750 - INFO - OPENED LONG at 2096.36 | Stop loss: 2085.8288821428573 | Take profit: 2127.8793767857146 +2025-03-10 16:12:32,783 - INFO - CLOSED long at 2089.04 | PnL: -0.35% | $-0.90 +2025-03-10 16:12:32,783 - INFO - OPENED SHORT at 2089.04 | Stop loss: 2099.534517857143 | Take profit: 2057.6304232142857 +2025-03-10 16:12:32,860 - INFO - STOP LOSS hit for short at 2099.534517857143 | PnL: -0.50% | $-1.19 +2025-03-10 16:12:32,891 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.3934678571427 | Take profit: 2071.2135732142856 +2025-03-10 16:12:33,331 - INFO - TAKE PROFIT hit for short at 2071.2135732142856 | PnL: 1.50% | $2.74 +2025-03-10 16:12:33,350 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.590817857143 | Take profit: 2017.501523214286 +2025-03-10 16:12:33,546 - INFO - CLOSED short at 2046.76 | PnL: 0.08% | $-0.05 +2025-03-10 16:12:33,547 - INFO - OPENED LONG at 2046.76 | Stop loss: 2036.4768821428572 | Take profit: 2077.5353767857146 +2025-03-10 16:12:33,573 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$2.46, Avg Loss=$-0.71 +2025-03-10 16:12:33,573 - INFO - Episode 9: Reward=26.60, Balance=$102.77, Win Rate=40.0%, Trades=5, Episode PnL=$3.67, Total PnL=$32.43, Max Drawdown=0.0%, Pred Accuracy=99.5% +2025-03-10 16:12:33,574 - INFO - Refreshing data for episode 10 +2025-03-10 16:12:33,574 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:12:33,865 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:12:33,877 - INFO - Initialized environment with 100 candles +2025-03-10 16:12:34,690 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.669367857143 | Take profit: 2090.105873214286 +2025-03-10 16:12:35,402 - INFO - CLOSED short at 2098.24 | PnL: 1.12% | $1.99 +2025-03-10 16:12:35,430 - INFO - OPENED SHORT at 2098.28 | Stop loss: 2108.820717857143 | Take profit: 2066.7318232142857 +2025-03-10 16:12:35,725 - INFO - CLOSED short at 2104.67 | PnL: -0.30% | $-0.81 +2025-03-10 16:12:35,748 - INFO - OPENED SHORT at 2105.26 | Stop loss: 2115.835617857143 | Take profit: 2073.607123214286 +2025-03-10 16:12:36,136 - INFO - TAKE PROFIT hit for short at 2073.607123214286 | PnL: 1.50% | $2.78 +2025-03-10 16:12:36,163 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.590817857143 | Take profit: 2017.501523214286 +2025-03-10 16:12:36,320 - INFO - CLOSED short at 2050.18 | PnL: -0.09% | $-0.39 +2025-03-10 16:12:36,320 - INFO - OPENED LONG at 2050.18 | Stop loss: 2039.879782142857 | Take profit: 2081.0066767857143 +2025-03-10 16:12:36,346 - INFO - CLOSED long at 2046.76 | PnL: -0.17% | $-0.54 +2025-03-10 16:12:36,347 - INFO - OPENED SHORT at 2046.76 | Stop loss: 2057.043117857143 | Take profit: 2015.9846232142859 +2025-03-10 16:12:36,372 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$2.38, Avg Loss=$-0.58 +2025-03-10 16:12:36,373 - INFO - Episode 10: Reward=10.71, Balance=$103.03, Win Rate=40.0%, Trades=5, Episode PnL=$3.57, Total PnL=$35.46, Max Drawdown=0.8%, Pred Accuracy=99.3% +2025-03-10 16:12:36,537 - INFO - Model saved to checkpoints/trading_agent_episode_10.pt +2025-03-10 16:12:36,538 - INFO - Checkpoint saved at episode 10 +2025-03-10 16:12:37,880 - INFO - Visualization saved for episode 10 +2025-03-10 16:12:39,839 - INFO - Visualization saved for episode 10 +2025-03-10 16:12:39,855 - INFO - Refreshing data for episode 11 +2025-03-10 16:12:39,855 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:12:40,160 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:12:40,171 - INFO - Initialized environment with 100 candles +2025-03-10 16:12:40,252 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.669367857143 | Take profit: 2090.105873214286 +2025-03-10 16:12:41,039 - INFO - TAKE PROFIT hit for short at 2090.105873214286 | PnL: 1.50% | $2.74 +2025-03-10 16:12:41,064 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3385178571434 | Take profit: 2058.418423214286 +2025-03-10 16:12:41,133 - INFO - STOP LOSS hit for short at 2100.3385178571434 | PnL: -0.50% | $-1.21 +2025-03-10 16:12:41,156 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9763678571426 | Take profit: 2071.7848732142857 +2025-03-10 16:12:41,247 - INFO - CLOSED short at 2099.63 | PnL: 0.18% | $0.16 +2025-03-10 16:12:41,271 - INFO - OPENED SHORT at 2099.22 | Stop loss: 2109.765417857143 | Take profit: 2067.6577232142854 +2025-03-10 16:12:41,424 - INFO - CLOSED short at 2080.58 | PnL: 0.89% | $1.57 +2025-03-10 16:12:41,448 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2230678571427 | Take profit: 2053.404773214286 +2025-03-10 16:12:41,666 - INFO - TAKE PROFIT hit for short at 2053.404773214286 | PnL: 1.50% | $2.83 +2025-03-10 16:12:41,696 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3043178571425 | Take profit: 2020.1610232142857 +2025-03-10 16:12:41,876 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$1.82, Avg Loss=$-1.21 +2025-03-10 16:12:41,876 - INFO - Episode 11: Reward=17.01, Balance=$106.09, Win Rate=80.0%, Trades=5, Episode PnL=$6.09, Total PnL=$41.55, Max Drawdown=1.2%, Pred Accuracy=98.8% +2025-03-10 16:12:41,877 - INFO - Refreshing data for episode 12 +2025-03-10 16:12:41,877 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:12:42,205 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:12:42,216 - INFO - Initialized environment with 100 candles +2025-03-10 16:12:42,233 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.669367857143 | Take profit: 2090.105873214286 +2025-03-10 16:12:42,754 - INFO - CLOSED short at 2114.32 | PnL: 0.36% | $0.51 +2025-03-10 16:12:42,776 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.192167857143 | Take profit: 2082.7774732142857 +2025-03-10 16:12:42,952 - INFO - CLOSED short at 2100.05 | PnL: 0.69% | $1.15 +2025-03-10 16:12:42,974 - INFO - OPENED SHORT at 2096.36 | Stop loss: 2106.891117857143 | Take profit: 2064.8406232142856 +2025-03-10 16:12:43,048 - INFO - CLOSED short at 2096.19 | PnL: 0.01% | $-0.18 +2025-03-10 16:12:43,048 - INFO - OPENED LONG at 2096.19 | Stop loss: 2085.659732142857 | Take profit: 2127.7068267857144 +2025-03-10 16:12:43,076 - INFO - CLOSED long at 2100.0 | PnL: 0.18% | $0.16 +2025-03-10 16:12:43,076 - INFO - OPENED SHORT at 2100.0 | Stop loss: 2110.549317857143 | Take profit: 2068.426023214286 +2025-03-10 16:12:43,625 - INFO - TAKE PROFIT hit for short at 2068.426023214286 | PnL: 1.50% | $2.79 +2025-03-10 16:12:43,650 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.590817857143 | Take profit: 2017.501523214286 +2025-03-10 16:12:43,870 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$1.15, Avg Loss=$-0.18 +2025-03-10 16:12:43,871 - INFO - Episode 12: Reward=2.40, Balance=$104.43, Win Rate=80.0%, Trades=5, Episode PnL=$4.27, Total PnL=$45.99, Max Drawdown=0.0%, Pred Accuracy=98.0% +2025-03-10 16:12:43,871 - INFO - Refreshing data for episode 13 +2025-03-10 16:12:43,872 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:12:44,176 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:12:44,185 - INFO - Initialized environment with 100 candles +2025-03-10 16:12:44,209 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.669367857143 | Take profit: 2090.105873214286 +2025-03-10 16:12:44,996 - INFO - TAKE PROFIT hit for short at 2090.105873214286 | PnL: 1.50% | $2.74 +2025-03-10 16:12:45,022 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3385178571434 | Take profit: 2058.418423214286 +2025-03-10 16:12:45,091 - INFO - STOP LOSS hit for short at 2100.3385178571434 | PnL: -0.50% | $-1.21 +2025-03-10 16:12:45,115 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9763678571426 | Take profit: 2071.7848732142857 +2025-03-10 16:12:45,435 - INFO - CLOSED short at 2084.25 | PnL: 0.91% | $1.61 +2025-03-10 16:12:45,456 - INFO - OPENED SHORT at 2085.37 | Stop loss: 2095.846167857143 | Take profit: 2054.0154732142855 +2025-03-10 16:12:45,578 - INFO - TAKE PROFIT hit for short at 2054.0154732142855 | PnL: 1.50% | $2.83 +2025-03-10 16:12:45,605 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3043178571425 | Take profit: 2020.1610232142857 +2025-03-10 16:12:45,798 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.39, Avg Loss=$-1.21 +2025-03-10 16:12:45,799 - INFO - Episode 13: Reward=2.26, Balance=$105.97, Win Rate=75.0%, Trades=4, Episode PnL=$5.97, Total PnL=$51.96, Max Drawdown=1.2%, Pred Accuracy=97.6% +2025-03-10 16:12:45,799 - INFO - Refreshing data for episode 14 +2025-03-10 16:12:45,800 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:12:46,125 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:12:46,137 - INFO - Initialized environment with 100 candles +2025-03-10 16:12:46,167 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.669367857143 | Take profit: 2090.105873214286 +2025-03-10 16:12:47,001 - INFO - TAKE PROFIT hit for short at 2090.105873214286 | PnL: 1.50% | $2.74 +2025-03-10 16:12:47,028 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3385178571434 | Take profit: 2058.418423214286 +2025-03-10 16:12:47,096 - INFO - STOP LOSS hit for short at 2100.3385178571434 | PnL: -0.50% | $-1.21 +2025-03-10 16:12:47,119 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9763678571426 | Take profit: 2071.7848732142857 +2025-03-10 16:12:47,581 - INFO - TAKE PROFIT hit for short at 2071.7848732142857 | PnL: 1.50% | $2.78 +2025-03-10 16:12:47,608 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.590817857143 | Take profit: 2017.501523214286 +2025-03-10 16:12:47,809 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.76, Avg Loss=$-1.21 +2025-03-10 16:12:47,810 - INFO - Episode 14: Reward=0.39, Balance=$104.32, Win Rate=66.7%, Trades=3, Episode PnL=$4.32, Total PnL=$56.28, Max Drawdown=1.2%, Pred Accuracy=98.1% +2025-03-10 16:12:47,810 - INFO - Refreshing data for episode 15 +2025-03-10 16:12:47,810 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:12:48,106 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:12:48,115 - INFO - Initialized environment with 100 candles +2025-03-10 16:12:48,880 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.669367857143 | Take profit: 2090.105873214286 +2025-03-10 16:12:49,763 - INFO - TAKE PROFIT hit for short at 2090.105873214286 | PnL: 1.50% | $2.74 +2025-03-10 16:12:49,791 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3385178571434 | Take profit: 2058.418423214286 +2025-03-10 16:12:49,864 - INFO - STOP LOSS hit for short at 2100.3385178571434 | PnL: -0.50% | $-1.21 +2025-03-10 16:12:49,888 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9763678571426 | Take profit: 2071.7848732142857 +2025-03-10 16:12:50,398 - INFO - TAKE PROFIT hit for short at 2071.7848732142857 | PnL: 1.50% | $2.78 +2025-03-10 16:12:50,424 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.590817857143 | Take profit: 2017.501523214286 +2025-03-10 16:12:50,561 - INFO - CLOSED short at 2058.11 | PnL: -0.48% | $-1.18 +2025-03-10 16:12:50,562 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.7701321428572 | Take profit: 2089.055626785714 +2025-03-10 16:12:50,592 - INFO - CLOSED long at 2054.03 | PnL: -0.20% | $-0.60 +2025-03-10 16:12:50,593 - INFO - OPENED SHORT at 2054.03 | Stop loss: 2064.3494678571433 | Take profit: 2023.145573214286 +2025-03-10 16:12:50,670 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$2.76, Avg Loss=$-1.00 +2025-03-10 16:12:50,671 - INFO - Episode 15: Reward=9.67, Balance=$102.54, Win Rate=40.0%, Trades=5, Episode PnL=$3.14, Total PnL=$58.82, Max Drawdown=1.2%, Pred Accuracy=98.4% +2025-03-10 16:12:50,671 - INFO - Refreshing data for episode 16 +2025-03-10 16:12:50,672 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:12:51,021 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:12:51,036 - INFO - Initialized environment with 100 candles +2025-03-10 16:12:51,068 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.669725 | Take profit: 2090.1053375 +2025-03-10 16:12:52,015 - INFO - TAKE PROFIT hit for short at 2090.1053375 | PnL: 1.50% | $2.74 +2025-03-10 16:12:52,044 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.338875 | Take profit: 2058.4178875000002 +2025-03-10 16:12:52,128 - INFO - STOP LOSS hit for short at 2100.338875 | PnL: -0.50% | $-1.21 +2025-03-10 16:12:52,176 - INFO - OPENED SHORT at 2104.22 | Stop loss: 2114.790775 | Take profit: 2072.5821874999997 +2025-03-10 16:12:52,651 - INFO - TAKE PROFIT hit for short at 2072.5821874999997 | PnL: 1.50% | $2.78 +2025-03-10 16:12:52,675 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.591175 | Take profit: 2017.5009875 +2025-03-10 16:12:52,874 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.76, Avg Loss=$-1.21 +2025-03-10 16:12:52,875 - INFO - Episode 16: Reward=14.00, Balance=$104.32, Win Rate=66.7%, Trades=3, Episode PnL=$4.32, Total PnL=$63.13, Max Drawdown=1.2%, Pred Accuracy=98.4% +2025-03-10 16:12:52,875 - INFO - Refreshing data for episode 17 +2025-03-10 16:12:52,876 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:12:53,179 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:12:53,189 - INFO - Initialized environment with 100 candles +2025-03-10 16:12:53,215 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.6700285714287 | Take profit: 2090.1048821428576 +2025-03-10 16:12:53,402 - INFO - CLOSED short at 2116.52 | PnL: 0.26% | $0.31 +2025-03-10 16:12:53,403 - INFO - OPENED LONG at 2116.52 | Stop loss: 2105.8874214285715 | Take profit: 2148.342767857143 +2025-03-10 16:12:53,426 - INFO - CLOSED long at 2119.02 | PnL: 0.12% | $0.04 +2025-03-10 16:12:53,426 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.6650785714287 | Take profit: 2087.159732142857 +2025-03-10 16:12:53,562 - INFO - CLOSED short at 2116.81 | PnL: 0.10% | $0.01 +2025-03-10 16:12:53,562 - INFO - OPENED LONG at 2116.81 | Stop loss: 2106.1759714285713 | Take profit: 2148.6371178571426 +2025-03-10 16:12:53,589 - INFO - CLOSED long at 2114.78 | PnL: -0.10% | $-0.38 +2025-03-10 16:12:53,589 - INFO - OPENED SHORT at 2114.78 | Stop loss: 2125.403878571429 | Take profit: 2082.9833321428573 +2025-03-10 16:12:53,813 - INFO - CLOSED short at 2113.28 | PnL: 0.07% | $-0.06 +2025-03-10 16:12:53,841 - INFO - OPENED SHORT at 2114.5 | Stop loss: 2125.1224785714285 | Take profit: 2082.707532142857 +2025-03-10 16:12:54,416 - INFO - TAKE PROFIT hit for short at 2082.707532142857 | PnL: 1.50% | $2.74 +2025-03-10 16:12:54,446 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2237285714286 | Take profit: 2053.4037821428574 +2025-03-10 16:12:54,531 - INFO - CLOSED short at 2085.37 | PnL: -0.03% | $-0.26 +2025-03-10 16:12:54,562 - INFO - OPENED SHORT at 2084.11 | Stop loss: 2094.5805285714287 | Take profit: 2052.7733821428574 +2025-03-10 16:12:54,648 - INFO - TAKE PROFIT hit for short at 2052.7733821428574 | PnL: 1.50% | $2.81 +2025-03-10 16:12:54,669 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3049785714284 | Take profit: 2020.160032142857 +2025-03-10 16:12:54,835 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.18, Avg Loss=$-0.23 +2025-03-10 16:12:54,836 - INFO - Episode 17: Reward=-1.25, Balance=$105.20, Win Rate=62.5%, Trades=8, Episode PnL=$5.55, Total PnL=$68.33, Max Drawdown=0.3%, Pred Accuracy=98.3% +2025-03-10 16:12:54,836 - INFO - Refreshing data for episode 18 +2025-03-10 16:12:54,836 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:12:55,161 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:12:55,173 - INFO - Initialized environment with 100 candles +2025-03-10 16:12:55,200 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.6700285714287 | Take profit: 2090.1048821428576 +2025-03-10 16:12:55,917 - INFO - CLOSED short at 2098.28 | PnL: 1.12% | $1.99 +2025-03-10 16:12:55,918 - INFO - OPENED LONG at 2098.28 | Stop loss: 2087.7386214285716 | Take profit: 2129.829167857143 +2025-03-10 16:12:55,946 - INFO - CLOSED long at 2091.36 | PnL: -0.33% | $-0.86 +2025-03-10 16:12:55,946 - INFO - OPENED SHORT at 2091.36 | Stop loss: 2101.8667785714288 | Take profit: 2059.9146321428575 +2025-03-10 16:12:56,115 - INFO - STOP LOSS hit for short at 2101.8667785714288 | PnL: -0.50% | $-1.19 +2025-03-10 16:12:56,138 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9770285714285 | Take profit: 2071.7838821428572 +2025-03-10 16:12:56,607 - INFO - TAKE PROFIT hit for short at 2071.7838821428572 | PnL: 1.50% | $2.74 +2025-03-10 16:12:56,634 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5914785714285 | Take profit: 2017.5005321428573 +2025-03-10 16:12:56,860 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.37, Avg Loss=$-1.02 +2025-03-10 16:12:56,861 - INFO - Episode 18: Reward=0.49, Balance=$102.68, Win Rate=50.0%, Trades=4, Episode PnL=$3.54, Total PnL=$71.02, Max Drawdown=0.1%, Pred Accuracy=98.1% +2025-03-10 16:12:56,862 - INFO - Refreshing data for episode 19 +2025-03-10 16:12:56,862 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:12:57,186 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:12:57,198 - INFO - Initialized environment with 100 candles +2025-03-10 16:12:57,229 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.6701000000003 | Take profit: 2090.1047750000002 +2025-03-10 16:12:58,001 - INFO - TAKE PROFIT hit for short at 2090.1047750000002 | PnL: 1.50% | $2.74 +2025-03-10 16:12:58,027 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.33925 | Take profit: 2058.417325 +2025-03-10 16:12:58,099 - INFO - STOP LOSS hit for short at 2100.33925 | PnL: -0.50% | $-1.21 +2025-03-10 16:12:58,122 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9770999999996 | Take profit: 2071.783775 +2025-03-10 16:12:58,298 - INFO - CLOSED short at 2096.96 | PnL: 0.31% | $0.41 +2025-03-10 16:12:58,298 - INFO - OPENED LONG at 2096.96 | Stop loss: 2086.42515 | Take profit: 2128.489475 +2025-03-10 16:12:58,325 - INFO - CLOSED long at 2098.66 | PnL: 0.08% | $-0.04 +2025-03-10 16:12:58,326 - INFO - OPENED SHORT at 2098.66 | Stop loss: 2109.20335 | Take profit: 2067.105025 +2025-03-10 16:12:58,633 - INFO - TAKE PROFIT hit for short at 2067.105025 | PnL: 1.50% | $2.79 +2025-03-10 16:12:58,655 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.30505 | Take profit: 2020.159925 +2025-03-10 16:12:58,699 - INFO - CLOSED short at 2052.89 | PnL: -0.09% | $-0.39 +2025-03-10 16:12:58,699 - INFO - OPENED LONG at 2052.89 | Stop loss: 2042.5755 | Take profit: 2083.758425 +2025-03-10 16:12:58,729 - INFO - CLOSED long at 2053.22 | PnL: 0.02% | $-0.17 +2025-03-10 16:12:58,730 - INFO - OPENED SHORT at 2053.22 | Stop loss: 2063.53615 | Take profit: 2022.3466249999997 +2025-03-10 16:12:58,854 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 60.0% in downtrends | Avg Win=$1.98, Avg Loss=$-0.45 +2025-03-10 16:12:58,854 - INFO - Episode 19: Reward=-2.89, Balance=$104.14, Win Rate=42.9%, Trades=7, Episode PnL=$4.34, Total PnL=$75.15, Max Drawdown=1.2%, Pred Accuracy=98.1% +2025-03-10 16:12:58,855 - INFO - Refreshing data for episode 20 +2025-03-10 16:12:58,855 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:12:59,180 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:12:59,193 - INFO - Initialized environment with 100 candles +2025-03-10 16:12:59,959 - INFO - OPENED SHORT at 2122.01 | Stop loss: 2132.6701000000003 | Take profit: 2090.1047750000002 +2025-03-10 16:13:00,824 - INFO - TAKE PROFIT hit for short at 2090.1047750000002 | PnL: 1.50% | $2.74 +2025-03-10 16:13:00,856 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.33925 | Take profit: 2058.417325 +2025-03-10 16:13:00,937 - INFO - STOP LOSS hit for short at 2100.33925 | PnL: -0.50% | $-1.21 +2025-03-10 16:13:00,962 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9770999999996 | Take profit: 2071.783775 +2025-03-10 16:13:01,482 - INFO - TAKE PROFIT hit for short at 2071.783775 | PnL: 1.50% | $2.78 +2025-03-10 16:13:01,510 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5915500000006 | Take profit: 2017.5004250000002 +2025-03-10 16:13:01,740 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.76, Avg Loss=$-1.21 +2025-03-10 16:13:01,741 - INFO - Episode 20: Reward=0.40, Balance=$104.32, Win Rate=66.7%, Trades=3, Episode PnL=$4.32, Total PnL=$79.47, Max Drawdown=1.2%, Pred Accuracy=98.2% +2025-03-10 16:13:01,887 - INFO - Model saved to checkpoints/trading_agent_episode_20.pt +2025-03-10 16:13:01,888 - INFO - Checkpoint saved at episode 20 +2025-03-10 16:13:01,888 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:13:02,896 - INFO - Visualization saved for episode 20 +2025-03-10 16:13:05,106 - INFO - Visualization saved for episode 20 +2025-03-10 16:13:05,125 - INFO - Refreshing data for episode 21 +2025-03-10 16:13:05,125 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:13:05,441 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:13:05,453 - INFO - Initialized environment with 100 candles +2025-03-10 16:13:05,535 - INFO - OPENED SHORT at 2122.17 | Stop loss: 2132.8299107142857 | Take profit: 2090.2638589285716 +2025-03-10 16:13:06,367 - INFO - TAKE PROFIT hit for short at 2090.2638589285716 | PnL: 1.50% | $2.74 +2025-03-10 16:13:06,397 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3382607142858 | Take profit: 2058.4188089285717 +2025-03-10 16:13:06,483 - INFO - STOP LOSS hit for short at 2100.3382607142858 | PnL: -0.50% | $-1.21 +2025-03-10 16:13:06,512 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9761107142854 | Take profit: 2071.7852589285712 +2025-03-10 16:13:06,697 - INFO - CLOSED short at 2096.96 | PnL: 0.31% | $0.41 +2025-03-10 16:13:06,697 - INFO - OPENED LONG at 2096.96 | Stop loss: 2086.4261392857143 | Take profit: 2128.4879910714285 +2025-03-10 16:13:06,721 - INFO - CLOSED long at 2098.66 | PnL: 0.08% | $-0.04 +2025-03-10 16:13:06,722 - INFO - OPENED SHORT at 2098.66 | Stop loss: 2109.2023607142855 | Take profit: 2067.106508928571 +2025-03-10 16:13:07,025 - INFO - TAKE PROFIT hit for short at 2067.106508928571 | PnL: 1.50% | $2.80 +2025-03-10 16:13:07,052 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3040607142857 | Take profit: 2020.1614089285713 +2025-03-10 16:13:07,099 - INFO - CLOSED short at 2052.89 | PnL: -0.09% | $-0.39 +2025-03-10 16:13:07,100 - INFO - OPENED LONG at 2052.89 | Stop loss: 2042.5764892857142 | Take profit: 2083.7569410714286 +2025-03-10 16:13:07,123 - INFO - CLOSED long at 2053.22 | PnL: 0.02% | $-0.17 +2025-03-10 16:13:07,124 - INFO - OPENED SHORT at 2053.22 | Stop loss: 2063.535160714285 | Take profit: 2022.3481089285713 +2025-03-10 16:13:07,256 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 60.0% in downtrends | Avg Win=$1.98, Avg Loss=$-0.45 +2025-03-10 16:13:07,257 - INFO - Episode 21: Reward=-2.91, Balance=$104.14, Win Rate=42.9%, Trades=7, Episode PnL=$4.35, Total PnL=$83.61, Max Drawdown=1.2%, Pred Accuracy=98.2% +2025-03-10 16:13:07,258 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:13:07,258 - INFO - Refreshing data for episode 22 +2025-03-10 16:13:07,258 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:13:07,577 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:13:07,588 - INFO - Initialized environment with 100 candles +2025-03-10 16:13:07,609 - INFO - OPENED SHORT at 2122.17 | Stop loss: 2132.8299107142857 | Take profit: 2090.2638589285716 +2025-03-10 16:13:08,383 - INFO - TAKE PROFIT hit for short at 2090.2638589285716 | PnL: 1.50% | $2.74 +2025-03-10 16:13:08,410 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3382607142858 | Take profit: 2058.4188089285717 +2025-03-10 16:13:08,488 - INFO - STOP LOSS hit for short at 2100.3382607142858 | PnL: -0.50% | $-1.21 +2025-03-10 16:13:08,514 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9761107142854 | Take profit: 2071.7852589285712 +2025-03-10 16:13:09,009 - INFO - TAKE PROFIT hit for short at 2071.7852589285712 | PnL: 1.50% | $2.79 +2025-03-10 16:13:09,040 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.590560714286 | Take profit: 2017.5019089285715 +2025-03-10 16:13:09,145 - INFO - CLOSED short at 2053.22 | PnL: -0.24% | $-0.69 +2025-03-10 16:13:09,146 - INFO - OPENED LONG at 2053.22 | Stop loss: 2042.9048392857142 | Take profit: 2084.0918910714286 +2025-03-10 16:13:09,173 - INFO - CLOSED long at 2058.11 | PnL: 0.24% | $0.28 +2025-03-10 16:13:09,173 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.449610714286 | Take profit: 2027.1647589285715 +2025-03-10 16:13:09,197 - INFO - CLOSED short at 2054.03 | PnL: 0.20% | $0.20 +2025-03-10 16:13:09,198 - INFO - OPENED LONG at 2054.03 | Stop loss: 2043.7107892857143 | Take profit: 2084.914041071429 +2025-03-10 16:13:09,227 - INFO - CLOSED long at 2050.18 | PnL: -0.19% | $-0.58 +2025-03-10 16:13:09,228 - INFO - OPENED SHORT at 2050.18 | Stop loss: 2060.479960714286 | Take profit: 2019.3537089285712 +2025-03-10 16:13:09,315 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 60.0% in downtrends | Avg Win=$1.50, Avg Loss=$-0.83 +2025-03-10 16:13:09,316 - INFO - Episode 22: Reward=12.16, Balance=$103.52, Win Rate=57.1%, Trades=7, Episode PnL=$3.83, Total PnL=$87.13, Max Drawdown=1.2%, Pred Accuracy=98.2% +2025-03-10 16:13:09,316 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:13:09,317 - INFO - Refreshing data for episode 23 +2025-03-10 16:13:09,317 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:13:09,661 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:13:09,673 - INFO - Initialized environment with 100 candles +2025-03-10 16:13:09,699 - INFO - OPENED SHORT at 2122.17 | Stop loss: 2132.8299107142857 | Take profit: 2090.2638589285716 +2025-03-10 16:13:10,547 - INFO - TAKE PROFIT hit for short at 2090.2638589285716 | PnL: 1.50% | $2.74 +2025-03-10 16:13:10,576 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3382607142858 | Take profit: 2058.4188089285717 +2025-03-10 16:13:10,667 - INFO - STOP LOSS hit for short at 2100.3382607142858 | PnL: -0.50% | $-1.21 +2025-03-10 16:13:10,703 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9761107142854 | Take profit: 2071.7852589285712 +2025-03-10 16:13:11,250 - INFO - TAKE PROFIT hit for short at 2071.7852589285712 | PnL: 1.50% | $2.79 +2025-03-10 16:13:11,279 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.590560714286 | Take profit: 2017.5019089285715 +2025-03-10 16:13:11,544 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.76, Avg Loss=$-1.21 +2025-03-10 16:13:11,545 - INFO - Episode 23: Reward=14.20, Balance=$104.32, Win Rate=66.7%, Trades=3, Episode PnL=$4.32, Total PnL=$91.45, Max Drawdown=1.2%, Pred Accuracy=98.2% +2025-03-10 16:13:11,546 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:13:11,546 - INFO - Refreshing data for episode 24 +2025-03-10 16:13:11,547 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:13:11,857 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:13:11,871 - INFO - Initialized environment with 100 candles +2025-03-10 16:13:11,902 - INFO - OPENED SHORT at 2122.17 | Stop loss: 2132.8301714285712 | Take profit: 2090.263467857143 +2025-03-10 16:13:12,463 - INFO - CLOSED short at 2115.11 | PnL: 0.33% | $0.45 +2025-03-10 16:13:12,485 - INFO - OPENED SHORT at 2114.32 | Stop loss: 2124.9409214285715 | Take profit: 2082.531217857143 +2025-03-10 16:13:13,182 - INFO - TAKE PROFIT hit for short at 2082.531217857143 | PnL: 1.50% | $2.76 +2025-03-10 16:13:13,209 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2230714285715 | Take profit: 2053.404767857143 +2025-03-10 16:13:13,432 - INFO - TAKE PROFIT hit for short at 2053.404767857143 | PnL: 1.50% | $2.83 +2025-03-10 16:13:13,462 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3043214285713 | Take profit: 2020.1610178571427 +2025-03-10 16:13:13,647 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.01, Avg Loss=$0.00 +2025-03-10 16:13:13,648 - INFO - Episode 24: Reward=15.27, Balance=$106.04, Win Rate=100.0%, Trades=3, Episode PnL=$6.04, Total PnL=$97.49, Max Drawdown=0.0%, Pred Accuracy=98.2% +2025-03-10 16:13:13,648 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:13:13,649 - INFO - Refreshing data for episode 25 +2025-03-10 16:13:13,649 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:13:13,976 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:13:13,990 - INFO - Initialized environment with 100 candles +2025-03-10 16:13:14,803 - INFO - OPENED SHORT at 2122.17 | Stop loss: 2132.8301714285712 | Take profit: 2090.263467857143 +2025-03-10 16:13:15,639 - INFO - TAKE PROFIT hit for short at 2090.263467857143 | PnL: 1.50% | $2.74 +2025-03-10 16:13:15,668 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3385214285718 | Take profit: 2058.418417857143 +2025-03-10 16:13:15,737 - INFO - STOP LOSS hit for short at 2100.3385214285718 | PnL: -0.50% | $-1.21 +2025-03-10 16:13:15,765 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9763714285714 | Take profit: 2071.7848678571427 +2025-03-10 16:13:16,244 - INFO - CLOSED short at 2083.07 | PnL: 0.97% | $1.72 +2025-03-10 16:13:16,265 - INFO - OPENED LONG at 2075.07 | Stop loss: 2064.6453285714288 | Take profit: 2106.2700321428574 +2025-03-10 16:13:16,289 - INFO - CLOSED long at 2067.71 | PnL: -0.35% | $-0.92 +2025-03-10 16:13:16,290 - INFO - OPENED SHORT at 2067.71 | Stop loss: 2078.0978714285716 | Take profit: 2036.620367857143 +2025-03-10 16:13:16,582 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$2.23, Avg Loss=$-1.06 +2025-03-10 16:13:16,583 - INFO - Episode 25: Reward=13.76, Balance=$102.34, Win Rate=50.0%, Trades=4, Episode PnL=$3.25, Total PnL=$99.83, Max Drawdown=1.2%, Pred Accuracy=98.2% +2025-03-10 16:13:16,583 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:13:16,583 - INFO - Refreshing data for episode 26 +2025-03-10 16:13:16,584 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:13:16,919 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:13:16,933 - INFO - Initialized environment with 100 candles +2025-03-10 16:13:16,959 - INFO - OPENED SHORT at 2122.17 | Stop loss: 2132.8302785714286 | Take profit: 2090.2633071428572 +2025-03-10 16:13:17,712 - INFO - CLOSED short at 2098.28 | PnL: 1.13% | $2.00 +2025-03-10 16:13:17,713 - INFO - OPENED LONG at 2098.28 | Stop loss: 2087.739171428572 | Take profit: 2129.828342857143 +2025-03-10 16:13:17,738 - INFO - CLOSED long at 2091.36 | PnL: -0.33% | $-0.86 +2025-03-10 16:13:17,738 - INFO - OPENED SHORT at 2091.36 | Stop loss: 2101.8662285714286 | Take profit: 2059.9154571428576 +2025-03-10 16:13:17,938 - INFO - STOP LOSS hit for short at 2101.8662285714286 | PnL: -0.50% | $-1.19 +2025-03-10 16:13:17,963 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9764785714283 | Take profit: 2071.784707142857 +2025-03-10 16:13:18,463 - INFO - TAKE PROFIT hit for short at 2071.784707142857 | PnL: 1.50% | $2.74 +2025-03-10 16:13:18,501 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.590928571429 | Take profit: 2017.5013571428574 +2025-03-10 16:13:18,744 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.37, Avg Loss=$-1.02 +2025-03-10 16:13:18,745 - INFO - Episode 26: Reward=14.28, Balance=$102.70, Win Rate=50.0%, Trades=4, Episode PnL=$3.56, Total PnL=$102.53, Max Drawdown=0.0%, Pred Accuracy=98.3% +2025-03-10 16:13:18,745 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:13:18,746 - INFO - Refreshing data for episode 27 +2025-03-10 16:13:18,746 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:13:19,068 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:13:19,083 - INFO - Initialized environment with 100 candles +2025-03-10 16:13:19,111 - INFO - OPENED SHORT at 2122.17 | Stop loss: 2132.8302785714286 | Take profit: 2090.2633071428572 +2025-03-10 16:13:19,862 - INFO - TAKE PROFIT hit for short at 2090.2633071428572 | PnL: 1.50% | $2.74 +2025-03-10 16:13:19,881 - INFO - OPENED LONG at 2089.84 | Stop loss: 2079.3413714285716 | Take profit: 2121.261742857143 +2025-03-10 16:13:19,906 - INFO - CLOSED long at 2096.19 | PnL: 0.30% | $0.41 +2025-03-10 16:13:19,906 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.7203785714287 | Take profit: 2064.673007142857 +2025-03-10 16:13:20,536 - INFO - TAKE PROFIT hit for short at 2064.673007142857 | PnL: 1.50% | $2.83 +2025-03-10 16:13:20,560 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.304428571428 | Take profit: 2020.1608571428571 +2025-03-10 16:13:20,773 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.99, Avg Loss=$0.00 +2025-03-10 16:13:20,775 - INFO - Episode 27: Reward=14.98, Balance=$105.98, Win Rate=100.0%, Trades=3, Episode PnL=$5.57, Total PnL=$108.51, Max Drawdown=0.0%, Pred Accuracy=98.3% +2025-03-10 16:13:20,775 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:13:20,776 - INFO - Refreshing data for episode 28 +2025-03-10 16:13:20,776 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:13:21,087 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:13:21,101 - INFO - Initialized environment with 100 candles +2025-03-10 16:13:21,126 - INFO - OPENED SHORT at 2122.17 | Stop loss: 2132.8302821428574 | Take profit: 2090.2633017857142 +2025-03-10 16:13:21,149 - INFO - CLOSED short at 2122.24 | PnL: -0.00% | $-0.20 +2025-03-10 16:13:21,174 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.131832142857 | Take profit: 2088.5986517857145 +2025-03-10 16:13:22,324 - INFO - TAKE PROFIT hit for short at 2088.5986517857145 | PnL: 1.50% | $2.74 +2025-03-10 16:13:22,357 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0323321428573 | Take profit: 2049.2971517857145 +2025-03-10 16:13:22,587 - INFO - TAKE PROFIT hit for short at 2049.2971517857145 | PnL: 1.50% | $2.81 +2025-03-10 16:13:22,616 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.304432142857 | Take profit: 2020.1608517857144 +2025-03-10 16:13:22,838 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.77, Avg Loss=$-0.20 +2025-03-10 16:13:22,839 - INFO - Episode 28: Reward=12.80, Balance=$105.35, Win Rate=66.7%, Trades=3, Episode PnL=$5.35, Total PnL=$113.85, Max Drawdown=0.2%, Pred Accuracy=98.3% +2025-03-10 16:13:22,839 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:13:22,840 - INFO - Refreshing data for episode 29 +2025-03-10 16:13:22,840 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:13:23,179 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:13:23,191 - INFO - Initialized environment with 100 candles +2025-03-10 16:13:23,217 - INFO - OPENED SHORT at 2122.17 | Stop loss: 2132.8304749999998 | Take profit: 2090.2630125 +2025-03-10 16:13:23,579 - INFO - CLOSED short at 2115.52 | PnL: 0.31% | $0.42 +2025-03-10 16:13:23,611 - INFO - OPENED SHORT at 2114.75 | Stop loss: 2125.3733749999997 | Take profit: 2082.9543125 +2025-03-10 16:13:23,895 - INFO - CLOSED short at 2098.24 | PnL: 0.78% | $1.34 +2025-03-10 16:13:23,895 - INFO - OPENED LONG at 2098.24 | Stop loss: 2087.6991749999997 | Take profit: 2129.7880375 +2025-03-10 16:13:23,920 - INFO - CLOSED long at 2098.28 | PnL: 0.00% | $-0.20 +2025-03-10 16:13:23,920 - INFO - OPENED SHORT at 2098.28 | Stop loss: 2108.821025 | Take profit: 2066.7313625 +2025-03-10 16:13:24,144 - INFO - CLOSED short at 2104.22 | PnL: -0.28% | $-0.76 +2025-03-10 16:13:24,145 - INFO - OPENED LONG at 2104.22 | Stop loss: 2093.6492749999998 | Take profit: 2135.8577375 +2025-03-10 16:13:24,172 - INFO - CLOSED long at 2104.67 | PnL: 0.02% | $-0.15 +2025-03-10 16:13:24,173 - INFO - OPENED SHORT at 2104.67 | Stop loss: 2115.242975 | Take profit: 2073.0255125000003 +2025-03-10 16:13:24,245 - INFO - CLOSED short at 2099.22 | PnL: 0.26% | $0.31 +2025-03-10 16:13:24,272 - INFO - OPENED SHORT at 2094.16 | Stop loss: 2104.6804249999996 | Take profit: 2062.6731624999998 +2025-03-10 16:13:24,650 - INFO - TAKE PROFIT hit for short at 2062.6731624999998 | PnL: 1.50% | $2.77 +2025-03-10 16:13:24,675 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.304625 | Take profit: 2020.1605625 +2025-03-10 16:13:24,906 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$1.21, Avg Loss=$-0.37 +2025-03-10 16:13:24,906 - INFO - Episode 29: Reward=13.04, Balance=$103.72, Win Rate=57.1%, Trades=7, Episode PnL=$4.07, Total PnL=$117.58, Max Drawdown=0.0%, Pred Accuracy=98.4% +2025-03-10 16:13:24,907 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:13:24,907 - INFO - Refreshing data for episode 30 +2025-03-10 16:13:24,908 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:13:25,216 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:13:25,226 - INFO - Initialized environment with 100 candles +2025-03-10 16:13:26,075 - INFO - OPENED SHORT at 2122.17 | Stop loss: 2132.830753571429 | Take profit: 2090.262594642857 +2025-03-10 16:13:26,684 - INFO - CLOSED short at 2114.57 | PnL: 0.36% | $0.50 +2025-03-10 16:13:26,710 - INFO - OPENED SHORT at 2112.57 | Stop loss: 2123.1827535714287 | Take profit: 2080.8065946428574 +2025-03-10 16:13:26,739 - INFO - CLOSED short at 2113.28 | PnL: -0.03% | $-0.26 +2025-03-10 16:13:26,765 - INFO - OPENED SHORT at 2114.5 | Stop loss: 2125.1224035714285 | Take profit: 2082.7076446428573 +2025-03-10 16:13:27,276 - INFO - CLOSED short at 2098.66 | PnL: 0.75% | $1.27 +2025-03-10 16:13:27,277 - INFO - OPENED LONG at 2098.66 | Stop loss: 2088.1167964285714 | Take profit: 2130.214755357143 +2025-03-10 16:13:27,302 - INFO - CLOSED long at 2090.59 | PnL: -0.38% | $-0.96 +2025-03-10 16:13:27,303 - INFO - OPENED SHORT at 2090.59 | Stop loss: 2101.092853571429 | Take profit: 2059.156294642857 +2025-03-10 16:13:27,603 - INFO - TAKE PROFIT hit for short at 2059.156294642857 | PnL: 1.50% | $2.76 +2025-03-10 16:13:27,629 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.304903571429 | Take profit: 2020.1601446428572 +2025-03-10 16:13:27,874 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.51, Avg Loss=$-0.61 +2025-03-10 16:13:27,875 - INFO - Episode 30: Reward=13.37, Balance=$103.31, Win Rate=60.0%, Trades=5, Episode PnL=$4.27, Total PnL=$120.89, Max Drawdown=0.3%, Pred Accuracy=98.4% +2025-03-10 16:13:28,020 - INFO - Model saved to checkpoints/trading_agent_episode_30.pt +2025-03-10 16:13:28,021 - INFO - Checkpoint saved at episode 30 +2025-03-10 16:13:28,021 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:13:29,039 - INFO - Visualization saved for episode 30 +2025-03-10 16:13:31,082 - INFO - Visualization saved for episode 30 +2025-03-10 16:13:31,103 - INFO - Refreshing data for episode 31 +2025-03-10 16:13:31,104 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:13:31,417 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:13:31,428 - INFO - Initialized environment with 100 candles +2025-03-10 16:13:31,569 - INFO - OPENED SHORT at 2122.24 | Stop loss: 2132.901382142857 | Take profit: 2090.331126785714 +2025-03-10 16:13:32,333 - INFO - TAKE PROFIT hit for short at 2090.331126785714 | PnL: 1.50% | $2.74 +2025-03-10 16:13:32,359 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.339382142857 | Take profit: 2058.4171267857146 +2025-03-10 16:13:32,435 - INFO - STOP LOSS hit for short at 2100.339382142857 | PnL: -0.50% | $-1.21 +2025-03-10 16:13:32,460 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9772321428572 | Take profit: 2071.783576785714 +2025-03-10 16:13:32,908 - INFO - TAKE PROFIT hit for short at 2071.783576785714 | PnL: 1.50% | $2.78 +2025-03-10 16:13:32,932 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5916821428573 | Take profit: 2017.5002267857146 +2025-03-10 16:13:33,160 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.76, Avg Loss=$-1.21 +2025-03-10 16:13:33,162 - INFO - Episode 31: Reward=13.98, Balance=$104.32, Win Rate=66.7%, Trades=3, Episode PnL=$4.32, Total PnL=$125.20, Max Drawdown=1.2%, Pred Accuracy=98.5% +2025-03-10 16:13:33,162 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:13:33,163 - INFO - Refreshing data for episode 32 +2025-03-10 16:13:33,163 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:13:33,466 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:13:33,476 - INFO - Initialized environment with 100 candles +2025-03-10 16:13:33,494 - INFO - OPENED SHORT at 2122.17 | Stop loss: 2132.831032142857 | Take profit: 2090.2621767857145 +2025-03-10 16:13:33,586 - INFO - CLOSED short at 2118.0 | PnL: 0.20% | $0.19 +2025-03-10 16:13:33,586 - INFO - OPENED LONG at 2118.0 | Stop loss: 2107.359817857143 | Take profit: 2149.845273214286 +2025-03-10 16:13:33,628 - INFO - CLOSED long at 2121.42 | PnL: 0.16% | $0.12 +2025-03-10 16:13:33,628 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.0772821428573 | Take profit: 2089.5234267857145 +2025-03-10 16:13:33,830 - INFO - CLOSED short at 2116.81 | PnL: 0.22% | $0.23 +2025-03-10 16:13:33,830 - INFO - OPENED LONG at 2116.81 | Stop loss: 2106.175767857143 | Take profit: 2148.6374232142857 +2025-03-10 16:13:33,859 - INFO - CLOSED long at 2114.78 | PnL: -0.10% | $-0.38 +2025-03-10 16:13:33,859 - INFO - OPENED SHORT at 2114.78 | Stop loss: 2125.404082142857 | Take profit: 2082.9830267857146 +2025-03-10 16:13:34,016 - INFO - CLOSED short at 2114.32 | PnL: 0.02% | $-0.15 +2025-03-10 16:13:34,043 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.193032142857 | Take profit: 2082.7761767857146 +2025-03-10 16:13:34,175 - INFO - CLOSED short at 2098.24 | PnL: 0.77% | $1.31 +2025-03-10 16:13:34,203 - INFO - OPENED SHORT at 2098.28 | Stop loss: 2108.821582142857 | Take profit: 2066.7305267857146 +2025-03-10 16:13:34,958 - INFO - TAKE PROFIT hit for short at 2066.7305267857146 | PnL: 1.50% | $2.78 +2025-03-10 16:13:34,985 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305182142857 | Take profit: 2020.1597267857144 +2025-03-10 16:13:35,233 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$0.93, Avg Loss=$-0.27 +2025-03-10 16:13:35,234 - INFO - Episode 32: Reward=15.04, Balance=$104.09, Win Rate=71.4%, Trades=7, Episode PnL=$4.36, Total PnL=$129.30, Max Drawdown=0.0%, Pred Accuracy=98.5% +2025-03-10 16:13:35,235 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:13:35,235 - INFO - Refreshing data for episode 33 +2025-03-10 16:13:35,235 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:13:35,539 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:13:35,552 - INFO - Initialized environment with 100 candles +2025-03-10 16:13:35,577 - INFO - OPENED SHORT at 2122.17 | Stop loss: 2132.831032142857 | Take profit: 2090.2621767857145 +2025-03-10 16:13:36,400 - INFO - TAKE PROFIT hit for short at 2090.2621767857145 | PnL: 1.50% | $2.74 +2025-03-10 16:13:36,426 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.339382142857 | Take profit: 2058.4171267857146 +2025-03-10 16:13:36,501 - INFO - STOP LOSS hit for short at 2100.339382142857 | PnL: -0.50% | $-1.21 +2025-03-10 16:13:36,530 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9772321428572 | Take profit: 2071.783576785714 +2025-03-10 16:13:37,008 - INFO - TAKE PROFIT hit for short at 2071.783576785714 | PnL: 1.50% | $2.78 +2025-03-10 16:13:37,032 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5916821428573 | Take profit: 2017.5002267857146 +2025-03-10 16:13:37,278 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.76, Avg Loss=$-1.21 +2025-03-10 16:13:37,279 - INFO - Episode 33: Reward=14.16, Balance=$104.32, Win Rate=66.7%, Trades=3, Episode PnL=$4.32, Total PnL=$133.61, Max Drawdown=1.2%, Pred Accuracy=98.6% +2025-03-10 16:13:37,279 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:13:37,280 - INFO - Refreshing data for episode 34 +2025-03-10 16:13:37,280 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:13:37,706 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:13:37,717 - INFO - Initialized environment with 100 candles +2025-03-10 16:13:37,747 - INFO - OPENED SHORT at 2122.17 | Stop loss: 2132.831032142857 | Take profit: 2090.2621767857145 +2025-03-10 16:13:38,567 - INFO - TAKE PROFIT hit for short at 2090.2621767857145 | PnL: 1.50% | $2.74 +2025-03-10 16:13:38,594 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.339382142857 | Take profit: 2058.4171267857146 +2025-03-10 16:13:38,675 - INFO - STOP LOSS hit for short at 2100.339382142857 | PnL: -0.50% | $-1.21 +2025-03-10 16:13:38,701 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9772321428572 | Take profit: 2071.783576785714 +2025-03-10 16:13:38,724 - INFO - CLOSED short at 2104.22 | PnL: -0.04% | $-0.27 +2025-03-10 16:13:38,725 - INFO - OPENED LONG at 2104.22 | Stop loss: 2093.6487178571424 | Take profit: 2135.8585732142856 +2025-03-10 16:13:38,751 - INFO - CLOSED long at 2104.67 | PnL: 0.02% | $-0.16 +2025-03-10 16:13:38,752 - INFO - OPENED SHORT at 2104.67 | Stop loss: 2115.2435321428575 | Take profit: 2073.0246767857143 +2025-03-10 16:13:39,210 - INFO - TAKE PROFIT hit for short at 2073.0246767857143 | PnL: 1.50% | $2.77 +2025-03-10 16:13:39,266 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305182142857 | Take profit: 2020.1597267857144 +2025-03-10 16:13:39,486 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$2.76, Avg Loss=$-0.55 +2025-03-10 16:13:39,487 - INFO - Episode 34: Reward=10.92, Balance=$103.88, Win Rate=40.0%, Trades=5, Episode PnL=$4.03, Total PnL=$137.49, Max Drawdown=1.2%, Pred Accuracy=98.6% +2025-03-10 16:13:39,487 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:13:39,488 - INFO - Refreshing data for episode 35 +2025-03-10 16:13:39,489 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:13:39,807 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:13:39,823 - INFO - Initialized environment with 100 candles +2025-03-10 16:13:40,727 - INFO - OPENED SHORT at 2122.17 | Stop loss: 2132.831032142857 | Take profit: 2090.2621767857145 +2025-03-10 16:13:41,649 - INFO - TAKE PROFIT hit for short at 2090.2621767857145 | PnL: 1.50% | $2.74 +2025-03-10 16:13:41,682 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.339382142857 | Take profit: 2058.4171267857146 +2025-03-10 16:13:41,766 - INFO - STOP LOSS hit for short at 2100.339382142857 | PnL: -0.50% | $-1.21 +2025-03-10 16:13:41,814 - INFO - OPENED SHORT at 2104.22 | Stop loss: 2114.7912821428567 | Take profit: 2072.581426785714 +2025-03-10 16:13:42,322 - INFO - TAKE PROFIT hit for short at 2072.581426785714 | PnL: 1.50% | $2.78 +2025-03-10 16:13:42,381 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305182142857 | Take profit: 2020.1597267857144 +2025-03-10 16:13:42,625 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.76, Avg Loss=$-1.21 +2025-03-10 16:13:42,626 - INFO - Episode 35: Reward=13.64, Balance=$104.32, Win Rate=66.7%, Trades=3, Episode PnL=$4.32, Total PnL=$141.81, Max Drawdown=1.2%, Pred Accuracy=98.7% +2025-03-10 16:13:42,626 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:13:42,627 - INFO - Refreshing data for episode 36 +2025-03-10 16:13:42,627 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:13:42,958 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:13:42,971 - INFO - Initialized environment with 100 candles +2025-03-10 16:13:43,002 - INFO - OPENED SHORT at 2122.17 | Stop loss: 2132.831032142857 | Take profit: 2090.2621767857145 +2025-03-10 16:13:43,480 - INFO - CLOSED short at 2116.06 | PnL: 0.29% | $0.37 +2025-03-10 16:13:43,507 - INFO - OPENED SHORT at 2115.21 | Stop loss: 2125.836232142857 | Take profit: 2083.406576785714 +2025-03-10 16:13:44,263 - INFO - TAKE PROFIT hit for short at 2083.406576785714 | PnL: 1.50% | $2.75 +2025-03-10 16:13:44,289 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2239321428574 | Take profit: 2053.4034767857142 +2025-03-10 16:13:44,498 - INFO - TAKE PROFIT hit for short at 2053.4034767857142 | PnL: 1.50% | $2.83 +2025-03-10 16:13:44,543 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.777732142857 | Take profit: 2012.7820767857143 +2025-03-10 16:13:44,613 - INFO - STOP LOSS hit for short at 2053.777732142857 | PnL: -0.50% | $-1.25 +2025-03-10 16:13:44,636 - INFO - OPENED SHORT at 2054.03 | Stop loss: 2064.350332142857 | Take profit: 2023.1442767857145 +2025-03-10 16:13:44,732 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$1.98, Avg Loss=$-1.25 +2025-03-10 16:13:44,733 - INFO - Episode 36: Reward=14.96, Balance=$104.70, Win Rate=75.0%, Trades=4, Episode PnL=$4.70, Total PnL=$146.51, Max Drawdown=1.2%, Pred Accuracy=98.7% +2025-03-10 16:13:44,734 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:13:44,734 - INFO - Refreshing data for episode 37 +2025-03-10 16:13:44,734 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:13:45,047 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:13:45,058 - INFO - Initialized environment with 100 candles +2025-03-10 16:13:45,190 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.6401821428567 | Take profit: 2086.154726785714 +2025-03-10 16:13:45,462 - INFO - CLOSED short at 2116.81 | PnL: 0.06% | $-0.09 +2025-03-10 16:13:45,462 - INFO - OPENED LONG at 2116.81 | Stop loss: 2106.175767857143 | Take profit: 2148.6374232142857 +2025-03-10 16:13:45,518 - INFO - CLOSED long at 2115.52 | PnL: -0.06% | $-0.31 +2025-03-10 16:13:45,519 - INFO - OPENED SHORT at 2115.52 | Stop loss: 2126.147782142857 | Take profit: 2083.7119267857142 +2025-03-10 16:13:46,529 - INFO - TAKE PROFIT hit for short at 2083.7119267857142 | PnL: 1.50% | $2.73 +2025-03-10 16:13:46,558 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2239321428574 | Take profit: 2053.4034767857142 +2025-03-10 16:13:46,733 - INFO - TAKE PROFIT hit for short at 2053.4034767857142 | PnL: 1.50% | $2.81 +2025-03-10 16:13:46,780 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.777732142857 | Take profit: 2012.7820767857143 +2025-03-10 16:13:46,859 - INFO - CLOSED short at 2058.11 | PnL: -0.71% | $-1.67 +2025-03-10 16:13:46,860 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.769267857143 | Take profit: 2089.0569232142857 +2025-03-10 16:13:46,936 - INFO - STOP LOSS hit for long at 2047.769267857143 | PnL: -0.50% | $-1.22 +2025-03-10 16:13:46,978 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 40.0% in downtrends | Avg Win=$2.77, Avg Loss=$-0.82 +2025-03-10 16:13:46,979 - INFO - Episode 37: Reward=3.97, Balance=$102.25, Win Rate=33.3%, Trades=6, Episode PnL=$2.56, Total PnL=$148.75, Max Drawdown=2.7%, Pred Accuracy=98.8% +2025-03-10 16:13:46,979 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:13:46,980 - INFO - Refreshing data for episode 38 +2025-03-10 16:13:46,980 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:13:47,303 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:13:47,317 - INFO - Initialized environment with 100 candles +2025-03-10 16:13:47,505 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.0772821428573 | Take profit: 2089.5234267857145 +2025-03-10 16:13:48,151 - INFO - TAKE PROFIT hit for short at 2089.5234267857145 | PnL: 1.50% | $2.74 +2025-03-10 16:13:48,176 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.339382142857 | Take profit: 2058.4171267857146 +2025-03-10 16:13:48,251 - INFO - STOP LOSS hit for short at 2100.339382142857 | PnL: -0.50% | $-1.21 +2025-03-10 16:13:48,294 - INFO - OPENED SHORT at 2104.22 | Stop loss: 2114.7912821428567 | Take profit: 2072.581426785714 +2025-03-10 16:13:48,580 - INFO - CLOSED short at 2084.75 | PnL: 0.93% | $1.64 +2025-03-10 16:13:48,581 - INFO - OPENED LONG at 2084.75 | Stop loss: 2074.2760678571426 | Take profit: 2116.0965232142858 +2025-03-10 16:13:48,628 - INFO - CLOSED long at 2084.25 | PnL: -0.02% | $-0.25 +2025-03-10 16:13:48,628 - INFO - OPENED SHORT at 2084.25 | Stop loss: 2094.721432142857 | Take profit: 2052.9109767857144 +2025-03-10 16:13:48,768 - INFO - TAKE PROFIT hit for short at 2052.9109767857144 | PnL: 1.50% | $2.82 +2025-03-10 16:13:48,790 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305182142857 | Take profit: 2020.1597267857144 +2025-03-10 16:13:48,995 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$2.40, Avg Loss=$-0.73 +2025-03-10 16:13:48,996 - INFO - Episode 38: Reward=12.45, Balance=$105.74, Win Rate=60.0%, Trades=5, Episode PnL=$5.99, Total PnL=$154.50, Max Drawdown=1.2%, Pred Accuracy=98.9% +2025-03-10 16:13:48,996 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:13:48,997 - INFO - Refreshing data for episode 39 +2025-03-10 16:13:48,997 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:13:49,320 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:13:49,331 - INFO - Initialized environment with 100 candles +2025-03-10 16:13:49,356 - INFO - OPENED SHORT at 2122.17 | Stop loss: 2132.831032142857 | Take profit: 2090.2621767857145 +2025-03-10 16:13:49,549 - INFO - CLOSED short at 2116.52 | PnL: 0.27% | $0.32 +2025-03-10 16:13:49,550 - INFO - OPENED LONG at 2116.52 | Stop loss: 2105.887217857143 | Take profit: 2148.3430732142856 +2025-03-10 16:13:49,636 - INFO - CLOSED long at 2124.9 | PnL: 0.40% | $0.58 +2025-03-10 16:13:49,636 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.574682142857 | Take profit: 2092.9512267857144 +2025-03-10 16:13:50,070 - INFO - TAKE PROFIT hit for short at 2092.9512267857144 | PnL: 1.50% | $2.77 +2025-03-10 16:13:50,096 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.6004321428577 | Take profit: 2068.4739767857145 +2025-03-10 16:13:50,696 - INFO - CLOSED short at 2084.11 | PnL: 0.76% | $1.33 +2025-03-10 16:13:50,742 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.495532142857 | Take profit: 2043.8686767857146 +2025-03-10 16:13:50,843 - INFO - TAKE PROFIT hit for short at 2043.8686767857146 | PnL: 1.50% | $2.88 +2025-03-10 16:13:50,870 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.204632142857 | Take profit: 2022.0213767857142 +2025-03-10 16:13:51,048 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.58, Avg Loss=$0.00 +2025-03-10 16:13:51,048 - INFO - Episode 39: Reward=16.65, Balance=$107.88, Win Rate=100.0%, Trades=5, Episode PnL=$7.30, Total PnL=$162.38, Max Drawdown=0.0%, Pred Accuracy=98.9% +2025-03-10 16:13:51,215 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 16:13:51,216 - INFO - New best PnL model saved: $7.30 +2025-03-10 16:13:51,216 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:13:51,216 - INFO - Refreshing data for episode 40 +2025-03-10 16:13:51,217 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:13:51,529 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:13:51,544 - INFO - Initialized environment with 100 candles +2025-03-10 16:13:52,384 - INFO - OPENED SHORT at 2122.17 | Stop loss: 2132.831032142857 | Take profit: 2090.2621767857145 +2025-03-10 16:13:53,084 - INFO - TAKE PROFIT hit for short at 2090.2621767857145 | PnL: 1.50% | $2.74 +2025-03-10 16:13:53,100 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.339382142857 | Take profit: 2058.4171267857146 +2025-03-10 16:13:53,190 - INFO - STOP LOSS hit for short at 2100.339382142857 | PnL: -0.50% | $-1.21 +2025-03-10 16:13:53,217 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9772321428572 | Take profit: 2071.783576785714 +2025-03-10 16:13:53,490 - INFO - CLOSED short at 2090.99 | PnL: 0.59% | $0.97 +2025-03-10 16:13:53,490 - INFO - OPENED LONG at 2090.99 | Stop loss: 2080.4848678571425 | Take profit: 2122.4301232142857 +2025-03-10 16:13:53,516 - INFO - CLOSED long at 2084.95 | PnL: -0.29% | $-0.78 +2025-03-10 16:13:53,516 - INFO - OPENED SHORT at 2084.95 | Stop loss: 2095.424932142857 | Take profit: 2053.6004767857144 +2025-03-10 16:13:53,757 - INFO - TAKE PROFIT hit for short at 2053.6004767857144 | PnL: 1.50% | $2.79 +2025-03-10 16:13:53,784 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305182142857 | Take profit: 2020.1597267857144 +2025-03-10 16:13:53,981 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$2.17, Avg Loss=$-0.99 +2025-03-10 16:13:53,982 - INFO - Episode 40: Reward=13.59, Balance=$104.52, Win Rate=60.0%, Trades=5, Episode PnL=$5.29, Total PnL=$166.90, Max Drawdown=1.2%, Pred Accuracy=99.0% +2025-03-10 16:13:54,120 - INFO - Model saved to checkpoints/trading_agent_episode_40.pt +2025-03-10 16:13:54,121 - INFO - Checkpoint saved at episode 40 +2025-03-10 16:13:54,121 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:13:55,131 - INFO - Visualization saved for episode 40 +2025-03-10 16:13:57,136 - INFO - Visualization saved for episode 40 +2025-03-10 16:13:57,149 - INFO - Refreshing data for episode 41 +2025-03-10 16:13:57,150 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:13:57,502 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:13:57,513 - INFO - Initialized environment with 100 candles +2025-03-10 16:13:57,591 - INFO - OPENED SHORT at 2122.17 | Stop loss: 2132.831032142857 | Take profit: 2090.2621767857145 +2025-03-10 16:13:57,915 - INFO - CLOSED short at 2124.77 | PnL: -0.12% | $-0.43 +2025-03-10 16:13:57,939 - INFO - OPENED SHORT at 2120.26 | Stop loss: 2130.9114821428575 | Take profit: 2088.3808267857144 +2025-03-10 16:13:58,198 - INFO - CLOSED short at 2113.28 | PnL: 0.33% | $0.45 +2025-03-10 16:13:58,198 - INFO - OPENED LONG at 2113.28 | Stop loss: 2102.663417857143 | Take profit: 2145.054473214286 +2025-03-10 16:13:58,242 - INFO - CLOSED long at 2115.07 | PnL: 0.08% | $-0.03 +2025-03-10 16:13:58,243 - INFO - OPENED SHORT at 2115.07 | Stop loss: 2125.6955321428572 | Take profit: 2083.2686767857144 +2025-03-10 16:13:58,528 - INFO - CLOSED short at 2104.67 | PnL: 0.49% | $0.77 +2025-03-10 16:13:58,550 - INFO - OPENED SHORT at 2105.26 | Stop loss: 2115.836482142857 | Take profit: 2073.6058267857143 +2025-03-10 16:13:58,979 - INFO - TAKE PROFIT hit for short at 2073.6058267857143 | PnL: 1.50% | $2.76 +2025-03-10 16:13:59,007 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5916821428573 | Take profit: 2017.5002267857146 +2025-03-10 16:13:59,055 - INFO - CLOSED short at 2043.51 | PnL: 0.23% | $0.27 +2025-03-10 16:13:59,056 - INFO - OPENED LONG at 2043.51 | Stop loss: 2033.2422678571427 | Take profit: 2074.2379232142857 +2025-03-10 16:13:59,082 - INFO - CLOSED long at 2052.89 | PnL: 0.46% | $0.73 +2025-03-10 16:13:59,082 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.204632142857 | Take profit: 2022.0213767857142 +2025-03-10 16:13:59,236 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$0.99, Avg Loss=$-0.23 +2025-03-10 16:13:59,237 - INFO - Episode 41: Reward=15.29, Balance=$104.51, Win Rate=71.4%, Trades=7, Episode PnL=$3.81, Total PnL=$171.40, Max Drawdown=0.4%, Pred Accuracy=99.1% +2025-03-10 16:13:59,238 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:13:59,238 - INFO - Refreshing data for episode 42 +2025-03-10 16:13:59,238 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:13:59,542 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:13:59,552 - INFO - Initialized environment with 100 candles +2025-03-10 16:13:59,579 - INFO - OPENED SHORT at 2122.17 | Stop loss: 2132.831032142857 | Take profit: 2090.2621767857145 +2025-03-10 16:13:59,885 - INFO - CLOSED short at 2124.77 | PnL: -0.12% | $-0.43 +2025-03-10 16:13:59,914 - INFO - OPENED SHORT at 2120.26 | Stop loss: 2130.9114821428575 | Take profit: 2088.3808267857144 +2025-03-10 16:14:00,290 - INFO - CLOSED short at 2115.07 | PnL: 0.24% | $0.28 +2025-03-10 16:14:00,290 - INFO - OPENED LONG at 2115.07 | Stop loss: 2104.444467857143 | Take profit: 2146.871323214286 +2025-03-10 16:14:00,323 - INFO - CLOSED long at 2098.24 | PnL: -0.80% | $-1.75 +2025-03-10 16:14:00,324 - INFO - OPENED SHORT at 2098.24 | Stop loss: 2108.7813821428567 | Take profit: 2066.691126785714 +2025-03-10 16:14:01,128 - INFO - TAKE PROFIT hit for short at 2066.691126785714 | PnL: 1.50% | $2.69 +2025-03-10 16:14:01,156 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305182142857 | Take profit: 2020.1597267857144 +2025-03-10 16:14:01,371 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.49, Avg Loss=$-1.09 +2025-03-10 16:14:01,372 - INFO - Episode 42: Reward=10.44, Balance=$100.79, Win Rate=50.0%, Trades=4, Episode PnL=$2.54, Total PnL=$172.19, Max Drawdown=0.4%, Pred Accuracy=99.2% +2025-03-10 16:14:01,372 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:14:01,372 - INFO - Refreshing data for episode 43 +2025-03-10 16:14:01,373 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:14:01,686 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:14:01,698 - INFO - Initialized environment with 100 candles +2025-03-10 16:14:01,731 - INFO - OPENED SHORT at 2122.17 | Stop loss: 2132.831032142857 | Take profit: 2090.2621767857145 +2025-03-10 16:14:02,583 - INFO - TAKE PROFIT hit for short at 2090.2621767857145 | PnL: 1.50% | $2.74 +2025-03-10 16:14:02,633 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.721132142857 | Take profit: 2064.671876785714 +2025-03-10 16:14:03,180 - INFO - CLOSED short at 2067.71 | PnL: 1.36% | $2.53 +2025-03-10 16:14:03,181 - INFO - OPENED LONG at 2067.71 | Stop loss: 2057.321267857143 | Take profit: 2098.8009232142854 +2025-03-10 16:14:03,208 - INFO - CLOSED long at 2048.3 | PnL: -0.94% | $-2.14 +2025-03-10 16:14:03,209 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5916821428573 | Take profit: 2017.5002267857146 +2025-03-10 16:14:03,428 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.63, Avg Loss=$-2.14 +2025-03-10 16:14:03,429 - INFO - Episode 43: Reward=13.00, Balance=$103.13, Win Rate=66.7%, Trades=3, Episode PnL=$5.27, Total PnL=$175.33, Max Drawdown=0.0%, Pred Accuracy=99.2% +2025-03-10 16:14:03,430 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:14:03,430 - INFO - Refreshing data for episode 44 +2025-03-10 16:14:03,430 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:14:03,747 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:14:03,756 - INFO - Initialized environment with 100 candles +2025-03-10 16:14:03,808 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.1313964285714 | Take profit: 2088.599305357143 +2025-03-10 16:14:04,093 - INFO - CLOSED short at 2128.33 | PnL: -0.37% | $-0.92 +2025-03-10 16:14:04,152 - INFO - OPENED SHORT at 2120.26 | Stop loss: 2130.9102964285717 | Take profit: 2088.382605357143 +2025-03-10 16:14:04,871 - INFO - CLOSED short at 2099.22 | PnL: 0.99% | $1.73 +2025-03-10 16:14:04,896 - INFO - OPENED SHORT at 2094.16 | Stop loss: 2104.679796428571 | Take profit: 2062.6741053571427 +2025-03-10 16:14:05,290 - INFO - TAKE PROFIT hit for short at 2062.6741053571427 | PnL: 1.50% | $2.77 +2025-03-10 16:14:05,339 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.7765464285717 | Take profit: 2012.7838553571428 +2025-03-10 16:14:05,423 - INFO - STOP LOSS hit for short at 2053.7765464285717 | PnL: -0.50% | $-1.22 +2025-03-10 16:14:05,452 - INFO - OPENED SHORT at 2054.03 | Stop loss: 2064.3491464285717 | Take profit: 2023.146055357143 +2025-03-10 16:14:05,566 - INFO - CLOSED short at 2044.1 | PnL: 0.48% | $0.77 +2025-03-10 16:14:05,593 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$1.75, Avg Loss=$-1.07 +2025-03-10 16:14:05,595 - INFO - Episode 44: Reward=14.40, Balance=$103.12, Win Rate=60.0%, Trades=5, Episode PnL=$3.12, Total PnL=$178.45, Max Drawdown=1.2%, Pred Accuracy=99.3% +2025-03-10 16:14:05,595 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:14:05,595 - INFO - Refreshing data for episode 45 +2025-03-10 16:14:05,596 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:14:05,899 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:14:05,910 - INFO - Initialized environment with 100 candles +2025-03-10 16:14:06,756 - INFO - OPENED SHORT at 2122.24 | Stop loss: 2132.9001964285712 | Take profit: 2090.3329053571424 +2025-03-10 16:14:07,665 - INFO - TAKE PROFIT hit for short at 2090.3329053571424 | PnL: 1.50% | $2.74 +2025-03-10 16:14:07,711 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.7199464285713 | Take profit: 2064.6736553571427 +2025-03-10 16:14:07,914 - INFO - CLOSED short at 2099.22 | PnL: -0.14% | $-0.49 +2025-03-10 16:14:07,915 - INFO - OPENED LONG at 2099.22 | Stop loss: 2088.6749035714283 | Take profit: 2130.7817946428568 +2025-03-10 16:14:07,941 - INFO - CLOSED long at 2094.16 | PnL: -0.24% | $-0.68 +2025-03-10 16:14:07,941 - INFO - OPENED SHORT at 2094.16 | Stop loss: 2104.679796428571 | Take profit: 2062.6741053571427 +2025-03-10 16:14:08,324 - INFO - TAKE PROFIT hit for short at 2062.6741053571427 | PnL: 1.50% | $2.79 +2025-03-10 16:14:08,347 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3039964285713 | Take profit: 2020.161505357143 +2025-03-10 16:14:08,617 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.76, Avg Loss=$-0.59 +2025-03-10 16:14:08,619 - INFO - Episode 45: Reward=9.97, Balance=$104.36, Win Rate=50.0%, Trades=4, Episode PnL=$5.04, Total PnL=$182.80, Max Drawdown=0.0%, Pred Accuracy=99.4% +2025-03-10 16:14:08,619 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:14:08,620 - INFO - Refreshing data for episode 46 +2025-03-10 16:14:08,620 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:14:08,928 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:14:08,938 - INFO - Initialized environment with 100 candles +2025-03-10 16:14:08,969 - INFO - OPENED SHORT at 2122.24 | Stop loss: 2132.900532142857 | Take profit: 2090.332401785714 +2025-03-10 16:14:09,860 - INFO - TAKE PROFIT hit for short at 2090.332401785714 | PnL: 1.50% | $2.74 +2025-03-10 16:14:09,915 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.7202821428573 | Take profit: 2064.6731517857143 +2025-03-10 16:14:09,970 - INFO - CLOSED short at 2102.83 | PnL: -0.32% | $-0.84 +2025-03-10 16:14:09,971 - INFO - OPENED LONG at 2102.83 | Stop loss: 2092.266517857143 | Take profit: 2134.4464482142857 +2025-03-10 16:14:10,004 - INFO - CLOSED long at 2103.41 | PnL: 0.03% | $-0.14 +2025-03-10 16:14:10,005 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.976382142857 | Take profit: 2071.784851785714 +2025-03-10 16:14:10,027 - INFO - CLOSED short at 2104.22 | PnL: -0.04% | $-0.28 +2025-03-10 16:14:10,027 - INFO - OPENED LONG at 2104.22 | Stop loss: 2093.6495678571428 | Take profit: 2135.8572982142855 +2025-03-10 16:14:10,055 - INFO - CLOSED long at 2104.67 | PnL: 0.02% | $-0.16 +2025-03-10 16:14:10,056 - INFO - OPENED SHORT at 2104.67 | Stop loss: 2115.242682142857 | Take profit: 2073.0259517857144 +2025-03-10 16:14:10,328 - INFO - CLOSED short at 2084.75 | PnL: 0.95% | $1.68 +2025-03-10 16:14:10,359 - INFO - OPENED SHORT at 2081.0 | Stop loss: 2091.454332142857 | Take profit: 2049.7110017857144 +2025-03-10 16:14:10,548 - INFO - TAKE PROFIT hit for short at 2049.7110017857144 | PnL: 1.50% | $2.82 +2025-03-10 16:14:10,575 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.304332142857 | Take profit: 2020.1610017857142 +2025-03-10 16:14:10,785 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$2.41, Avg Loss=$-0.35 +2025-03-10 16:14:10,785 - INFO - Episode 46: Reward=23.01, Balance=$105.83, Win Rate=42.9%, Trades=7, Episode PnL=$6.13, Total PnL=$188.64, Max Drawdown=0.0%, Pred Accuracy=99.4% +2025-03-10 16:14:10,785 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:14:10,785 - INFO - Refreshing data for episode 47 +2025-03-10 16:14:10,785 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:14:11,100 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:14:11,111 - INFO - Initialized environment with 100 candles +2025-03-10 16:14:11,139 - INFO - OPENED SHORT at 2122.24 | Stop loss: 2132.900532142857 | Take profit: 2090.332401785714 +2025-03-10 16:14:11,617 - INFO - CLOSED short at 2114.32 | PnL: 0.37% | $0.53 +2025-03-10 16:14:11,642 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.1921821428573 | Take profit: 2082.777451785714 +2025-03-10 16:14:12,261 - INFO - TAKE PROFIT hit for short at 2082.777451785714 | PnL: 1.50% | $2.76 +2025-03-10 16:14:12,295 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.223082142857 | Take profit: 2053.4047517857143 +2025-03-10 16:14:12,474 - INFO - TAKE PROFIT hit for short at 2053.4047517857143 | PnL: 1.50% | $2.83 +2025-03-10 16:14:12,504 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.304332142857 | Take profit: 2020.1610017857142 +2025-03-10 16:14:12,554 - INFO - CLOSED short at 2052.89 | PnL: -0.09% | $-0.40 +2025-03-10 16:14:12,554 - INFO - OPENED LONG at 2052.89 | Stop loss: 2042.5762178571426 | Take profit: 2083.7573482142857 +2025-03-10 16:14:12,582 - INFO - CLOSED long at 2053.22 | PnL: 0.02% | $-0.17 +2025-03-10 16:14:12,582 - INFO - OPENED SHORT at 2053.22 | Stop loss: 2063.5354321428567 | Take profit: 2022.3477017857142 +2025-03-10 16:14:12,677 - INFO - CLOSED short at 2046.76 | PnL: 0.31% | $0.44 +2025-03-10 16:14:12,678 - INFO - OPENED LONG at 2046.76 | Stop loss: 2036.476867857143 | Take profit: 2077.535398214286 +2025-03-10 16:14:12,700 - INFO - CLOSED long at 2043.95 | PnL: -0.14% | $-0.49 +2025-03-10 16:14:12,700 - INFO - OPENED SHORT at 2043.95 | Stop loss: 2054.219082142857 | Take profit: 2013.2167517857145 +2025-03-10 16:14:12,744 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$1.64, Avg Loss=$-0.35 +2025-03-10 16:14:12,745 - INFO - Episode 47: Reward=25.38, Balance=$105.50, Win Rate=57.1%, Trades=7, Episode PnL=$6.17, Total PnL=$194.14, Max Drawdown=0.0%, Pred Accuracy=99.4% +2025-03-10 16:14:12,746 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:14:12,746 - INFO - Refreshing data for episode 48 +2025-03-10 16:14:12,747 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:14:13,062 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:14:13,071 - INFO - Initialized environment with 100 candles +2025-03-10 16:14:13,100 - INFO - OPENED SHORT at 2122.24 | Stop loss: 2132.900532142857 | Take profit: 2090.332401785714 +2025-03-10 16:14:13,243 - INFO - CLOSED short at 2116.52 | PnL: 0.27% | $0.33 +2025-03-10 16:14:13,267 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.664432142857 | Take profit: 2087.1607017857145 +2025-03-10 16:14:13,379 - INFO - CLOSED short at 2120.26 | PnL: -0.06% | $-0.31 +2025-03-10 16:14:13,401 - INFO - OPENED SHORT at 2116.81 | Stop loss: 2127.443382142857 | Take profit: 2084.9838517857143 +2025-03-10 16:14:14,128 - INFO - CLOSED short at 2096.96 | PnL: 0.94% | $1.64 +2025-03-10 16:14:14,131 - INFO - OPENED LONG at 2096.96 | Stop loss: 2086.4258678571427 | Take profit: 2128.4883982142856 +2025-03-10 16:14:14,163 - INFO - CLOSED long at 2098.66 | PnL: 0.08% | $-0.04 +2025-03-10 16:14:14,164 - INFO - OPENED SHORT at 2098.66 | Stop loss: 2109.202632142857 | Take profit: 2067.106101785714 +2025-03-10 16:14:14,283 - INFO - CLOSED short at 2084.75 | PnL: 0.66% | $1.12 +2025-03-10 16:14:14,283 - INFO - OPENED LONG at 2084.75 | Stop loss: 2074.276917857143 | Take profit: 2116.0952482142857 +2025-03-10 16:14:14,312 - INFO - CLOSED long at 2081.0 | PnL: -0.18% | $-0.56 +2025-03-10 16:14:14,312 - INFO - OPENED SHORT at 2081.0 | Stop loss: 2091.454332142857 | Take profit: 2049.7110017857144 +2025-03-10 16:14:14,482 - INFO - TAKE PROFIT hit for short at 2049.7110017857144 | PnL: 1.50% | $2.80 +2025-03-10 16:14:14,509 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.304332142857 | Take profit: 2020.1610017857142 +2025-03-10 16:14:14,596 - INFO - CLOSED short at 2058.11 | PnL: -0.35% | $-0.92 +2025-03-10 16:14:14,621 - INFO - OPENED SHORT at 2054.03 | Stop loss: 2064.349482142857 | Take profit: 2023.1455517857146 +2025-03-10 16:14:14,734 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.47, Avg Loss=$-0.46 +2025-03-10 16:14:14,735 - INFO - Episode 48: Reward=26.05, Balance=$104.06, Win Rate=50.0%, Trades=8, Episode PnL=$4.66, Total PnL=$198.20, Max Drawdown=0.9%, Pred Accuracy=99.4% +2025-03-10 16:14:14,736 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:14:14,736 - INFO - Refreshing data for episode 49 +2025-03-10 16:14:14,738 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:14:15,063 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:14:15,079 - INFO - Initialized environment with 100 candles +2025-03-10 16:14:15,109 - INFO - OPENED SHORT at 2122.24 | Stop loss: 2132.900532142857 | Take profit: 2090.332401785714 +2025-03-10 16:14:15,787 - INFO - CLOSED short at 2091.36 | PnL: 1.46% | $2.65 +2025-03-10 16:14:15,811 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5995821428573 | Take profit: 2068.4752517857146 +2025-03-10 16:14:16,450 - INFO - TAKE PROFIT hit for short at 2068.4752517857146 | PnL: 1.50% | $2.82 +2025-03-10 16:14:16,481 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.590832142857 | Take profit: 2017.5015017857145 +2025-03-10 16:14:16,617 - INFO - CLOSED short at 2058.11 | PnL: -0.48% | $-1.19 +2025-03-10 16:14:16,647 - INFO - OPENED SHORT at 2054.03 | Stop loss: 2064.349482142857 | Take profit: 2023.1455517857146 +2025-03-10 16:14:16,753 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.73, Avg Loss=$-1.19 +2025-03-10 16:14:16,755 - INFO - Episode 49: Reward=27.99, Balance=$104.27, Win Rate=66.7%, Trades=3, Episode PnL=$4.27, Total PnL=$202.47, Max Drawdown=1.1%, Pred Accuracy=99.4% +2025-03-10 16:14:16,755 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:14:16,755 - INFO - Early stopping triggered after 50 episodes without improvement +2025-03-10 16:14:16,904 - INFO - Model saved to models/trading_agent_final.pt +2025-03-10 16:14:17,918 - INFO - Training results saved to training_results.png +2025-03-10 16:14:18,061 - INFO - Model saved to models/trading_agent_continuous_0.pt +2025-03-10 16:14:23,065 - INFO - Starting training batch 2 +2025-03-10 16:14:23,065 - INFO - Refreshing data for new training batch +2025-03-10 16:14:23,066 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:14:23,395 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 16:14:23,406 - INFO - Initialized environment with 500 candles +2025-03-10 16:14:23,406 - INFO - Updated environment with fresh candles +2025-03-10 16:14:23,406 - INFO - Starting training on device: cuda +2025-03-10 16:14:23,408 - INFO - Loading best model from models/trading_agent_best_pnl.pt to resume training +2025-03-10 16:14:23,408 - INFO - Loading model from models/trading_agent_best_pnl.pt +2025-03-10 16:14:23,640 - INFO - Model loaded successfully with weights_only=True +2025-03-10 16:14:23,649 - INFO - Resumed with best metrics - Reward: 202.74, PnL: $7.30, Win Rate: 66.7% +2025-03-10 16:14:23,653 - INFO - Refreshing data for episode 0 +2025-03-10 16:14:23,654 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:14:23,982 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:14:23,993 - INFO - Initialized environment with 100 candles +2025-03-10 16:14:24,878 - INFO - OPENED SHORT at 2122.24 | Stop loss: 2132.900532142857 | Take profit: 2090.332401785714 +2025-03-10 16:14:25,442 - INFO - CLOSED short at 2115.11 | PnL: 0.34% | $0.46 +2025-03-10 16:14:25,476 - INFO - OPENED SHORT at 2114.32 | Stop loss: 2124.940932142857 | Take profit: 2082.5312017857145 +2025-03-10 16:14:26,215 - INFO - TAKE PROFIT hit for short at 2082.5312017857145 | PnL: 1.50% | $2.76 +2025-03-10 16:14:26,240 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.223082142857 | Take profit: 2053.4047517857143 +2025-03-10 16:14:26,449 - INFO - TAKE PROFIT hit for short at 2053.4047517857143 | PnL: 1.50% | $2.83 +2025-03-10 16:14:26,473 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.304332142857 | Take profit: 2020.1610017857142 +2025-03-10 16:14:26,698 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.02, Avg Loss=$0.00 +2025-03-10 16:14:26,699 - INFO - Episode 0: Reward=29.02, Balance=$106.05, Win Rate=100.0%, Trades=3, Episode PnL=$6.05, Total PnL=$208.52, Max Drawdown=0.0%, Pred Accuracy=99.8% +2025-03-10 16:14:26,852 - INFO - Model saved to checkpoints/trading_agent_episode_0.pt +2025-03-10 16:14:26,853 - INFO - Checkpoint saved at episode 0 +2025-03-10 16:14:27,772 - INFO - Visualization saved for episode 0 +2025-03-10 16:14:29,664 - INFO - Visualization saved for episode 0 +2025-03-10 16:14:29,675 - INFO - Refreshing data for episode 1 +2025-03-10 16:14:29,675 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:14:30,005 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:14:30,015 - INFO - Initialized environment with 100 candles +2025-03-10 16:14:30,110 - INFO - OPENED SHORT at 2122.24 | Stop loss: 2132.9013678571428 | Take profit: 2090.3311482142853 +2025-03-10 16:14:30,274 - INFO - CLOSED short at 2121.42 | PnL: 0.04% | $-0.12 +2025-03-10 16:14:30,301 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.152767857143 | Take profit: 2084.696948214286 +2025-03-10 16:14:30,394 - INFO - STOP LOSS hit for short at 2127.152767857143 | PnL: -0.50% | $-1.18 +2025-03-10 16:14:30,416 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.4440178571426 | Take profit: 2092.8231982142856 +2025-03-10 16:14:30,527 - INFO - CLOSED short at 2114.75 | PnL: 0.47% | $0.72 +2025-03-10 16:14:30,527 - INFO - OPENED LONG at 2114.75 | Stop loss: 2104.1260821428573 | Take profit: 2146.546501785714 +2025-03-10 16:14:30,549 - INFO - CLOSED long at 2116.06 | PnL: 0.06% | $-0.07 +2025-03-10 16:14:30,550 - INFO - OPENED SHORT at 2116.06 | Stop loss: 2126.6904678571427 | Take profit: 2084.2438482142857 +2025-03-10 16:14:31,241 - INFO - TAKE PROFIT hit for short at 2084.2438482142857 | PnL: 1.50% | $2.72 +2025-03-10 16:14:31,263 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2239178571426 | Take profit: 2053.4034982142857 +2025-03-10 16:14:31,456 - INFO - TAKE PROFIT hit for short at 2053.4034982142857 | PnL: 1.50% | $2.80 +2025-03-10 16:14:31,479 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305167857143 | Take profit: 2020.1597482142859 +2025-03-10 16:14:31,501 - INFO - CLOSED short at 2043.51 | PnL: 0.37% | $0.54 +2025-03-10 16:14:31,501 - INFO - OPENED LONG at 2043.51 | Stop loss: 2033.2422821428572 | Take profit: 2074.2379017857143 +2025-03-10 16:14:31,528 - INFO - CLOSED long at 2052.89 | PnL: 0.46% | $0.74 +2025-03-10 16:14:31,529 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.2046178571427 | Take profit: 2022.0213982142857 +2025-03-10 16:14:31,553 - INFO - CLOSED short at 2053.22 | PnL: -0.02% | $-0.24 +2025-03-10 16:14:31,553 - INFO - OPENED LONG at 2053.22 | Stop loss: 2042.903732142857 | Take profit: 2084.093551785714 +2025-03-10 16:14:31,580 - INFO - CLOSED long at 2058.11 | PnL: 0.24% | $0.29 +2025-03-10 16:14:31,581 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.450717857143 | Take profit: 2027.1630982142858 +2025-03-10 16:14:31,733 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$1.30, Avg Loss=$-0.40 +2025-03-10 16:14:31,734 - INFO - Episode 1: Reward=28.62, Balance=$106.20, Win Rate=60.0%, Trades=10, Episode PnL=$5.25, Total PnL=$214.72, Max Drawdown=1.3%, Pred Accuracy=99.8% +2025-03-10 16:14:31,735 - INFO - Refreshing data for episode 2 +2025-03-10 16:14:31,735 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:14:32,050 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:14:32,059 - INFO - Initialized environment with 100 candles +2025-03-10 16:14:32,080 - INFO - OPENED SHORT at 2122.24 | Stop loss: 2132.9013678571428 | Take profit: 2090.3311482142853 +2025-03-10 16:14:32,392 - INFO - CLOSED short at 2114.78 | PnL: 0.35% | $0.49 +2025-03-10 16:14:32,413 - INFO - OPENED SHORT at 2115.52 | Stop loss: 2126.147767857143 | Take profit: 2083.7119482142857 +2025-03-10 16:14:33,211 - INFO - TAKE PROFIT hit for short at 2083.7119482142857 | PnL: 1.50% | $2.76 +2025-03-10 16:14:33,235 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2239178571426 | Take profit: 2053.4034982142857 +2025-03-10 16:14:33,434 - INFO - TAKE PROFIT hit for short at 2053.4034982142857 | PnL: 1.50% | $2.83 +2025-03-10 16:14:33,460 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305167857143 | Take profit: 2020.1597482142859 +2025-03-10 16:14:33,683 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.03, Avg Loss=$0.00 +2025-03-10 16:14:33,684 - INFO - Episode 2: Reward=29.09, Balance=$106.08, Win Rate=100.0%, Trades=3, Episode PnL=$6.08, Total PnL=$220.79, Max Drawdown=0.0%, Pred Accuracy=99.9% +2025-03-10 16:14:33,684 - INFO - Refreshing data for episode 3 +2025-03-10 16:14:33,685 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:14:34,005 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:14:34,016 - INFO - Initialized environment with 100 candles +2025-03-10 16:14:34,041 - INFO - OPENED SHORT at 2122.24 | Stop loss: 2132.9013678571428 | Take profit: 2090.3311482142853 +2025-03-10 16:14:34,333 - INFO - CLOSED short at 2116.81 | PnL: 0.26% | $0.30 +2025-03-10 16:14:34,359 - INFO - OPENED SHORT at 2114.78 | Stop loss: 2125.4040678571428 | Take profit: 2082.983048214286 +2025-03-10 16:14:34,850 - INFO - CLOSED short at 2100.0 | PnL: 0.70% | $1.17 +2025-03-10 16:14:34,878 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.394317857143 | Take profit: 2071.2122982142855 +2025-03-10 16:14:35,366 - INFO - TAKE PROFIT hit for short at 2071.2122982142855 | PnL: 1.50% | $2.78 +2025-03-10 16:14:35,388 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.591667857143 | Take profit: 2017.5002482142859 +2025-03-10 16:14:35,624 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.42, Avg Loss=$0.00 +2025-03-10 16:14:35,625 - INFO - Episode 3: Reward=30.47, Balance=$104.26, Win Rate=100.0%, Trades=3, Episode PnL=$4.26, Total PnL=$225.05, Max Drawdown=0.0%, Pred Accuracy=99.9% +2025-03-10 16:14:35,625 - INFO - Refreshing data for episode 4 +2025-03-10 16:14:35,626 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:14:35,932 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:14:35,941 - INFO - Initialized environment with 100 candles +2025-03-10 16:14:36,017 - INFO - OPENED SHORT at 2120.54 | Stop loss: 2131.192867857143 | Take profit: 2088.6566482142857 +2025-03-10 16:14:36,610 - INFO - CLOSED short at 2098.28 | PnL: 1.05% | $1.86 +2025-03-10 16:14:36,636 - INFO - OPENED SHORT at 2091.36 | Stop loss: 2101.866967857143 | Take profit: 2059.914348214286 +2025-03-10 16:14:36,793 - INFO - STOP LOSS hit for short at 2101.866967857143 | PnL: -0.50% | $-1.20 +2025-03-10 16:14:36,817 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9772178571425 | Take profit: 2071.7835982142856 +2025-03-10 16:14:37,307 - INFO - TAKE PROFIT hit for short at 2071.7835982142856 | PnL: 1.50% | $2.76 +2025-03-10 16:14:37,330 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.591667857143 | Take profit: 2017.5002482142859 +2025-03-10 16:14:37,634 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$2.31, Avg Loss=$-1.20 +2025-03-10 16:14:37,635 - INFO - Episode 4: Reward=29.46, Balance=$103.42, Win Rate=66.7%, Trades=3, Episode PnL=$3.42, Total PnL=$228.47, Max Drawdown=1.2%, Pred Accuracy=99.9% +2025-03-10 16:14:37,635 - INFO - Refreshing data for episode 5 +2025-03-10 16:14:37,636 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:14:37,978 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:14:37,988 - INFO - Initialized environment with 100 candles +2025-03-10 16:14:39,067 - INFO - OPENED SHORT at 2122.24 | Stop loss: 2132.9013678571428 | Take profit: 2090.3311482142853 +2025-03-10 16:14:39,328 - INFO - CLOSED short at 2128.33 | PnL: -0.29% | $-0.76 +2025-03-10 16:14:39,355 - INFO - OPENED LONG at 2124.77 | Stop loss: 2114.095982142857 | Take profit: 2156.7168017857143 +2025-03-10 16:14:39,385 - INFO - CLOSED long at 2120.26 | PnL: -0.21% | $-0.61 +2025-03-10 16:14:39,386 - INFO - OPENED SHORT at 2120.26 | Stop loss: 2130.911467857143 | Take profit: 2088.380848214286 +2025-03-10 16:14:40,272 - INFO - TAKE PROFIT hit for short at 2088.380848214286 | PnL: 1.50% | $2.70 +2025-03-10 16:14:40,295 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0330678571427 | Take profit: 2049.2960482142857 +2025-03-10 16:14:40,535 - INFO - TAKE PROFIT hit for short at 2049.2960482142857 | PnL: 1.50% | $2.78 +2025-03-10 16:14:40,561 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305167857143 | Take profit: 2020.1597482142859 +2025-03-10 16:14:40,668 - INFO - CLOSED short at 2058.11 | PnL: -0.35% | $-0.91 +2025-03-10 16:14:40,668 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.7692821428573 | Take profit: 2089.056901785714 +2025-03-10 16:14:40,688 - INFO - CLOSED long at 2054.03 | PnL: -0.20% | $-0.60 +2025-03-10 16:14:40,688 - INFO - OPENED SHORT at 2054.03 | Stop loss: 2064.350317857143 | Take profit: 2023.144298214286 +2025-03-10 16:14:40,817 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.74, Avg Loss=$-0.72 +2025-03-10 16:14:40,817 - INFO - Episode 5: Reward=19.89, Balance=$102.61, Win Rate=33.3%, Trades=6, Episode PnL=$3.82, Total PnL=$231.08, Max Drawdown=0.8%, Pred Accuracy=99.9% +2025-03-10 16:14:40,818 - INFO - Refreshing data for episode 6 +2025-03-10 16:14:40,819 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:14:41,371 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:14:41,381 - INFO - Initialized environment with 100 candles +2025-03-10 16:14:41,412 - INFO - OPENED SHORT at 2122.24 | Stop loss: 2132.9013678571428 | Take profit: 2090.3311482142853 +2025-03-10 16:14:41,996 - INFO - CLOSED short at 2112.57 | PnL: 0.46% | $0.69 +2025-03-10 16:14:41,996 - INFO - OPENED LONG at 2112.57 | Stop loss: 2101.956982142857 | Take profit: 2144.3338017857145 +2025-03-10 16:14:42,026 - INFO - CLOSED long at 2113.28 | PnL: 0.03% | $-0.13 +2025-03-10 16:14:42,026 - INFO - OPENED SHORT at 2113.28 | Stop loss: 2123.896567857143 | Take profit: 2081.5055482142857 +2025-03-10 16:14:42,614 - INFO - CLOSED short at 2084.95 | PnL: 1.34% | $2.44 +2025-03-10 16:14:42,614 - INFO - OPENED LONG at 2084.95 | Stop loss: 2074.475082142857 | Take profit: 2116.2995017857143 +2025-03-10 16:14:42,641 - INFO - CLOSED long at 2080.58 | PnL: -0.21% | $-0.62 +2025-03-10 16:14:42,641 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0330678571427 | Take profit: 2049.2960482142857 +2025-03-10 16:14:42,829 - INFO - TAKE PROFIT hit for short at 2049.2960482142857 | PnL: 1.50% | $2.81 +2025-03-10 16:14:42,852 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305167857143 | Take profit: 2020.1597482142859 +2025-03-10 16:14:43,081 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.98, Avg Loss=$-0.38 +2025-03-10 16:14:43,083 - INFO - Episode 6: Reward=28.51, Balance=$105.19, Win Rate=60.0%, Trades=5, Episode PnL=$5.94, Total PnL=$236.27, Max Drawdown=0.0%, Pred Accuracy=99.9% +2025-03-10 16:14:43,083 - INFO - Refreshing data for episode 7 +2025-03-10 16:14:43,084 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:14:43,409 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:14:43,419 - INFO - Initialized environment with 100 candles +2025-03-10 16:14:43,442 - INFO - OPENED SHORT at 2122.24 | Stop loss: 2132.9013678571428 | Take profit: 2090.3311482142853 +2025-03-10 16:14:43,629 - INFO - CLOSED short at 2119.02 | PnL: 0.15% | $0.10 +2025-03-10 16:14:43,629 - INFO - OPENED LONG at 2119.02 | Stop loss: 2108.3747321428573 | Take profit: 2150.8805517857145 +2025-03-10 16:14:43,655 - INFO - CLOSED long at 2120.96 | PnL: 0.09% | $-0.02 +2025-03-10 16:14:43,655 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.614967857143 | Take profit: 2089.070348214286 +2025-03-10 16:14:44,199 - INFO - TAKE PROFIT hit for short at 2089.070348214286 | PnL: 1.50% | $2.74 +2025-03-10 16:14:44,228 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.339367857143 | Take profit: 2058.4171482142856 +2025-03-10 16:14:44,296 - INFO - STOP LOSS hit for short at 2100.339367857143 | PnL: -0.50% | $-1.21 +2025-03-10 16:14:44,318 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9772178571425 | Take profit: 2071.7835982142856 +2025-03-10 16:14:44,806 - INFO - TAKE PROFIT hit for short at 2071.7835982142856 | PnL: 1.50% | $2.79 +2025-03-10 16:14:44,833 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.591667857143 | Take profit: 2017.5002482142859 +2025-03-10 16:14:45,086 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$1.88, Avg Loss=$-0.61 +2025-03-10 16:14:45,086 - INFO - Episode 7: Reward=27.60, Balance=$104.41, Win Rate=60.0%, Trades=5, Episode PnL=$4.42, Total PnL=$240.67, Max Drawdown=1.2%, Pred Accuracy=99.9% +2025-03-10 16:14:45,086 - INFO - Refreshing data for episode 8 +2025-03-10 16:14:45,094 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:14:45,426 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:14:45,436 - INFO - Initialized environment with 100 candles +2025-03-10 16:14:45,462 - INFO - OPENED SHORT at 2122.24 | Stop loss: 2132.90145 | Take profit: 2090.3310249999995 +2025-03-10 16:14:45,825 - INFO - CLOSED short at 2114.75 | PnL: 0.35% | $0.49 +2025-03-10 16:14:45,826 - INFO - OPENED LONG at 2114.75 | Stop loss: 2104.126 | Take profit: 2146.546625 +2025-03-10 16:14:45,852 - INFO - CLOSED long at 2116.06 | PnL: 0.06% | $-0.07 +2025-03-10 16:14:45,852 - INFO - OPENED SHORT at 2116.06 | Stop loss: 2126.69055 | Take profit: 2084.243725 +2025-03-10 16:14:45,873 - INFO - CLOSED short at 2115.21 | PnL: 0.04% | $-0.12 +2025-03-10 16:14:45,873 - INFO - OPENED LONG at 2115.21 | Stop loss: 2104.5837 | Take profit: 2147.013525 +2025-03-10 16:14:45,903 - INFO - CLOSED long at 2114.1 | PnL: -0.05% | $-0.30 +2025-03-10 16:14:45,903 - INFO - OPENED SHORT at 2114.1 | Stop loss: 2124.72075 | Take profit: 2082.313125 +2025-03-10 16:14:46,164 - INFO - CLOSED short at 2098.28 | PnL: 0.75% | $1.27 +2025-03-10 16:14:46,164 - INFO - OPENED LONG at 2098.28 | Stop loss: 2087.73835 | Take profit: 2129.829575 +2025-03-10 16:14:46,188 - INFO - CLOSED long at 2091.36 | PnL: -0.33% | $-0.85 +2025-03-10 16:14:46,188 - INFO - OPENED SHORT at 2091.36 | Stop loss: 2101.86705 | Take profit: 2059.914225 +2025-03-10 16:14:46,361 - INFO - STOP LOSS hit for short at 2101.86705 | PnL: -0.50% | $-1.18 +2025-03-10 16:14:46,391 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9773 | Take profit: 2071.7834749999997 +2025-03-10 16:14:46,851 - INFO - TAKE PROFIT hit for short at 2071.7834749999997 | PnL: 1.50% | $2.72 +2025-03-10 16:14:46,871 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5917500000005 | Take profit: 2017.500125 +2025-03-10 16:14:47,125 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 60.0% in downtrends | Avg Win=$1.49, Avg Loss=$-0.50 +2025-03-10 16:14:47,126 - INFO - Episode 8: Reward=24.47, Balance=$101.96, Win Rate=37.5%, Trades=8, Episode PnL=$3.18, Total PnL=$242.63, Max Drawdown=0.8%, Pred Accuracy=99.8% +2025-03-10 16:14:47,127 - INFO - Refreshing data for episode 9 +2025-03-10 16:14:47,127 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:14:47,598 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:14:47,608 - INFO - Initialized environment with 100 candles +2025-03-10 16:14:47,658 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.13265 | Take profit: 2088.597425 +2025-03-10 16:14:47,912 - INFO - CLOSED short at 2116.81 | PnL: 0.17% | $0.14 +2025-03-10 16:14:47,941 - INFO - OPENED SHORT at 2114.78 | Stop loss: 2125.4041500000003 | Take profit: 2082.9829250000003 +2025-03-10 16:14:48,371 - INFO - CLOSED short at 2096.19 | PnL: 0.88% | $1.52 +2025-03-10 16:14:48,402 - INFO - OPENED SHORT at 2100.0 | Stop loss: 2110.5502500000002 | Take profit: 2068.424625 +2025-03-10 16:14:48,658 - INFO - CLOSED short at 2098.66 | PnL: 0.06% | $-0.07 +2025-03-10 16:14:48,682 - INFO - OPENED SHORT at 2090.59 | Stop loss: 2101.0932000000003 | Take profit: 2059.155775 +2025-03-10 16:14:48,823 - INFO - CLOSED short at 2084.25 | PnL: 0.30% | $0.40 +2025-03-10 16:14:48,846 - INFO - OPENED SHORT at 2085.37 | Stop loss: 2095.8471 | Take profit: 2054.014075 +2025-03-10 16:14:48,956 - INFO - TAKE PROFIT hit for short at 2054.014075 | PnL: 1.50% | $2.80 +2025-03-10 16:14:48,977 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.30525 | Take profit: 2020.159625 +2025-03-10 16:14:49,066 - INFO - CLOSED short at 2058.11 | PnL: -0.35% | $-0.91 +2025-03-10 16:14:49,067 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.7692000000002 | Take profit: 2089.057025 +2025-03-10 16:14:49,088 - INFO - CLOSED long at 2054.03 | PnL: -0.20% | $-0.60 +2025-03-10 16:14:49,088 - INFO - OPENED SHORT at 2054.03 | Stop loss: 2064.3504000000003 | Take profit: 2023.1441750000001 +2025-03-10 16:14:49,193 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$1.22, Avg Loss=$-0.53 +2025-03-10 16:14:49,194 - INFO - Episode 9: Reward=12.37, Balance=$103.28, Win Rate=57.1%, Trades=7, Episode PnL=$3.88, Total PnL=$245.91, Max Drawdown=0.1%, Pred Accuracy=99.7% +2025-03-10 16:14:49,194 - INFO - Refreshing data for episode 10 +2025-03-10 16:14:49,195 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:14:49,521 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:14:49,531 - INFO - Initialized environment with 100 candles +2025-03-10 16:14:50,313 - INFO - OPENED SHORT at 2122.24 | Stop loss: 2132.90145 | Take profit: 2090.3310249999995 +2025-03-10 16:14:50,479 - INFO - CLOSED short at 2119.02 | PnL: 0.15% | $0.10 +2025-03-10 16:14:50,479 - INFO - OPENED LONG at 2119.02 | Stop loss: 2108.37465 | Take profit: 2150.8806750000003 +2025-03-10 16:14:50,501 - INFO - CLOSED long at 2120.96 | PnL: 0.09% | $-0.02 +2025-03-10 16:14:50,501 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.61505 | Take profit: 2089.070225 +2025-03-10 16:14:51,157 - INFO - TAKE PROFIT hit for short at 2089.070225 | PnL: 1.50% | $2.74 +2025-03-10 16:14:51,192 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.33945 | Take profit: 2058.417025 +2025-03-10 16:14:51,275 - INFO - STOP LOSS hit for short at 2100.33945 | PnL: -0.50% | $-1.21 +2025-03-10 16:14:51,305 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9773 | Take profit: 2071.7834749999997 +2025-03-10 16:14:51,794 - INFO - CLOSED short at 2084.11 | PnL: 0.92% | $1.62 +2025-03-10 16:14:51,819 - INFO - OPENED SHORT at 2083.07 | Stop loss: 2093.5356 | Take profit: 2051.748575 +2025-03-10 16:14:51,908 - INFO - TAKE PROFIT hit for short at 2051.748575 | PnL: 1.50% | $2.83 +2025-03-10 16:14:51,945 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.30525 | Take profit: 2020.159625 +2025-03-10 16:14:52,267 - INFO - CLOSED short at 2044.1 | PnL: 0.34% | $0.49 +2025-03-10 16:14:52,298 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$1.56, Avg Loss=$-0.61 +2025-03-10 16:14:52,299 - INFO - Episode 10: Reward=16.76, Balance=$106.56, Win Rate=71.4%, Trades=7, Episode PnL=$6.58, Total PnL=$252.47, Max Drawdown=1.2%, Pred Accuracy=99.5% +2025-03-10 16:14:52,484 - INFO - Model saved to checkpoints/trading_agent_episode_10.pt +2025-03-10 16:14:52,485 - INFO - Checkpoint saved at episode 10 +2025-03-10 16:14:53,495 - INFO - Visualization saved for episode 10 +2025-03-10 16:14:55,358 - INFO - Visualization saved for episode 10 +2025-03-10 16:14:55,374 - INFO - Refreshing data for episode 11 +2025-03-10 16:14:55,375 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:14:55,688 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:14:55,697 - INFO - Initialized environment with 100 candles +2025-03-10 16:14:55,787 - INFO - OPENED SHORT at 2122.24 | Stop loss: 2132.901621428571 | Take profit: 2090.3307678571427 +2025-03-10 16:14:56,413 - INFO - CLOSED short at 2113.28 | PnL: 0.42% | $0.63 +2025-03-10 16:14:56,413 - INFO - OPENED LONG at 2113.28 | Stop loss: 2102.663178571429 | Take profit: 2145.0548321428573 +2025-03-10 16:14:56,442 - INFO - CLOSED long at 2114.5 | PnL: 0.06% | $-0.08 +2025-03-10 16:14:56,442 - INFO - OPENED SHORT at 2114.5 | Stop loss: 2125.1229214285718 | Take profit: 2082.7068678571427 +2025-03-10 16:14:57,027 - INFO - TAKE PROFIT hit for short at 2082.7068678571427 | PnL: 1.50% | $2.76 +2025-03-10 16:14:57,052 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2241714285715 | Take profit: 2053.403117857143 +2025-03-10 16:14:57,244 - INFO - TAKE PROFIT hit for short at 2053.403117857143 | PnL: 1.50% | $2.83 +2025-03-10 16:14:57,273 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305421428571 | Take profit: 2020.159367857143 +2025-03-10 16:14:57,477 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.07, Avg Loss=$-0.08 +2025-03-10 16:14:57,478 - INFO - Episode 11: Reward=14.01, Balance=$106.13, Win Rate=75.0%, Trades=4, Episode PnL=$6.22, Total PnL=$258.61, Max Drawdown=0.0%, Pred Accuracy=99.2% +2025-03-10 16:14:57,479 - INFO - Refreshing data for episode 12 +2025-03-10 16:14:57,479 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:14:57,817 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:14:57,826 - INFO - Initialized environment with 100 candles +2025-03-10 16:14:57,852 - INFO - OPENED SHORT at 2122.24 | Stop loss: 2132.901621428571 | Take profit: 2090.3307678571427 +2025-03-10 16:14:57,952 - INFO - CLOSED short at 2121.8 | PnL: 0.02% | $-0.15 +2025-03-10 16:14:57,985 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.0775214285713 | Take profit: 2089.523067857143 +2025-03-10 16:14:58,381 - INFO - CLOSED short at 2112.57 | PnL: 0.42% | $0.62 +2025-03-10 16:14:58,402 - INFO - OPENED SHORT at 2113.28 | Stop loss: 2123.8968214285715 | Take profit: 2081.505167857143 +2025-03-10 16:14:58,926 - INFO - CLOSED short at 2090.99 | PnL: 1.05% | $1.87 +2025-03-10 16:14:58,926 - INFO - OPENED LONG at 2090.99 | Stop loss: 2080.4846285714284 | Take profit: 2122.430482142857 +2025-03-10 16:14:58,950 - INFO - CLOSED long at 2084.95 | PnL: -0.29% | $-0.78 +2025-03-10 16:14:58,950 - INFO - OPENED SHORT at 2084.95 | Stop loss: 2095.425171428571 | Take profit: 2053.600117857143 +2025-03-10 16:14:59,197 - INFO - TAKE PROFIT hit for short at 2053.600117857143 | PnL: 1.50% | $2.78 +2025-03-10 16:14:59,232 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305421428571 | Take profit: 2020.159367857143 +2025-03-10 16:14:59,259 - INFO - CLOSED short at 2043.51 | PnL: 0.37% | $0.54 +2025-03-10 16:14:59,259 - INFO - OPENED LONG at 2043.51 | Stop loss: 2033.2420285714286 | Take profit: 2074.2382821428573 +2025-03-10 16:14:59,292 - INFO - CLOSED long at 2052.89 | PnL: 0.46% | $0.73 +2025-03-10 16:14:59,292 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.204871428571 | Take profit: 2022.0210178571426 +2025-03-10 16:14:59,341 - INFO - CLOSED short at 2058.11 | PnL: -0.25% | $-0.73 +2025-03-10 16:14:59,373 - INFO - OPENED SHORT at 2054.03 | Stop loss: 2064.3505714285716 | Take profit: 2023.1439178571432 +2025-03-10 16:14:59,507 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.31, Avg Loss=$-0.55 +2025-03-10 16:14:59,508 - INFO - Episode 12: Reward=14.76, Balance=$104.89, Win Rate=62.5%, Trades=8, Episode PnL=$4.93, Total PnL=$263.49, Max Drawdown=0.2%, Pred Accuracy=98.8% +2025-03-10 16:14:59,508 - INFO - Refreshing data for episode 13 +2025-03-10 16:14:59,509 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:14:59,848 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:14:59,858 - INFO - Initialized environment with 100 candles +2025-03-10 16:14:59,883 - INFO - OPENED SHORT at 2122.24 | Stop loss: 2132.901621428571 | Take profit: 2090.3307678571427 +2025-03-10 16:14:59,976 - INFO - CLOSED short at 2121.8 | PnL: 0.02% | $-0.15 +2025-03-10 16:14:59,976 - INFO - OPENED LONG at 2121.8 | Stop loss: 2111.1405785714287 | Take profit: 2153.7026321428575 +2025-03-10 16:15:00,001 - INFO - CLOSED long at 2121.42 | PnL: -0.02% | $-0.23 +2025-03-10 16:15:00,001 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.0775214285713 | Take profit: 2089.523067857143 +2025-03-10 16:15:00,529 - INFO - CLOSED short at 2098.28 | PnL: 1.09% | $1.93 +2025-03-10 16:15:00,530 - INFO - OPENED LONG at 2098.28 | Stop loss: 2087.7381785714288 | Take profit: 2129.829832142857 +2025-03-10 16:15:00,554 - INFO - CLOSED long at 2091.36 | PnL: -0.33% | $-0.85 +2025-03-10 16:15:00,554 - INFO - OPENED SHORT at 2091.36 | Stop loss: 2101.8672214285716 | Take profit: 2059.9139678571432 +2025-03-10 16:15:00,741 - INFO - STOP LOSS hit for short at 2101.8672214285716 | PnL: -0.50% | $-1.18 +2025-03-10 16:15:00,770 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9774714285713 | Take profit: 2071.783217857143 +2025-03-10 16:15:00,931 - INFO - CLOSED short at 2094.16 | PnL: 0.44% | $0.66 +2025-03-10 16:15:00,931 - INFO - OPENED LONG at 2094.16 | Stop loss: 2083.6387785714282 | Take profit: 2125.648032142857 +2025-03-10 16:15:00,956 - INFO - CLOSED long at 2096.96 | PnL: 0.13% | $0.07 +2025-03-10 16:15:00,957 - INFO - OPENED SHORT at 2096.96 | Stop loss: 2107.4952214285713 | Take profit: 2065.429967857143 +2025-03-10 16:15:01,274 - INFO - TAKE PROFIT hit for short at 2065.429967857143 | PnL: 1.50% | $2.75 +2025-03-10 16:15:01,298 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305421428571 | Take profit: 2020.159367857143 +2025-03-10 16:15:01,546 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 60.0% in downtrends | Avg Win=$1.35, Avg Loss=$-0.61 +2025-03-10 16:15:01,547 - INFO - Episode 13: Reward=-0.35, Balance=$102.98, Win Rate=50.0%, Trades=8, Episode PnL=$4.00, Total PnL=$266.47, Max Drawdown=0.5%, Pred Accuracy=97.9% +2025-03-10 16:15:01,548 - INFO - Refreshing data for episode 14 +2025-03-10 16:15:01,548 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:15:01,870 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:15:01,880 - INFO - Initialized environment with 100 candles +2025-03-10 16:15:01,903 - INFO - OPENED SHORT at 2122.24 | Stop loss: 2132.901621428571 | Take profit: 2090.3307678571427 +2025-03-10 16:15:02,232 - INFO - CLOSED short at 2114.78 | PnL: 0.35% | $0.49 +2025-03-10 16:15:02,257 - INFO - OPENED SHORT at 2115.52 | Stop loss: 2126.1480214285716 | Take profit: 2083.7115678571427 +2025-03-10 16:15:03,084 - INFO - TAKE PROFIT hit for short at 2083.7115678571427 | PnL: 1.50% | $2.76 +2025-03-10 16:15:03,122 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2241714285715 | Take profit: 2053.403117857143 +2025-03-10 16:15:03,311 - INFO - TAKE PROFIT hit for short at 2053.403117857143 | PnL: 1.50% | $2.83 +2025-03-10 16:15:03,336 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305421428571 | Take profit: 2020.159367857143 +2025-03-10 16:15:03,615 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.03, Avg Loss=$0.00 +2025-03-10 16:15:03,616 - INFO - Episode 14: Reward=1.49, Balance=$106.08, Win Rate=100.0%, Trades=3, Episode PnL=$6.08, Total PnL=$272.55, Max Drawdown=0.0%, Pred Accuracy=97.7% +2025-03-10 16:15:03,616 - INFO - Refreshing data for episode 15 +2025-03-10 16:15:03,617 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:15:04,029 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:15:04,039 - INFO - Initialized environment with 100 candles +2025-03-10 16:15:05,061 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.12925 | Take profit: 2088.602525 +2025-03-10 16:15:05,863 - INFO - CLOSED short at 2089.04 | PnL: 1.48% | $2.71 +2025-03-10 16:15:05,863 - INFO - OPENED LONG at 2089.04 | Stop loss: 2078.54795 | Take profit: 2120.445875 +2025-03-10 16:15:05,890 - INFO - CLOSED long at 2089.84 | PnL: 0.04% | $-0.12 +2025-03-10 16:15:05,890 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.33605 | Take profit: 2058.422125 +2025-03-10 16:15:05,987 - INFO - STOP LOSS hit for short at 2100.33605 | PnL: -0.50% | $-1.21 +2025-03-10 16:15:06,019 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9739 | Take profit: 2071.788575 +2025-03-10 16:15:06,103 - INFO - CLOSED short at 2105.26 | PnL: -0.09% | $-0.37 +2025-03-10 16:15:06,104 - INFO - OPENED LONG at 2105.26 | Stop loss: 2094.68685 | Take profit: 2136.9091750000002 +2025-03-10 16:15:06,130 - INFO - CLOSED long at 2099.63 | PnL: -0.27% | $-0.73 +2025-03-10 16:15:06,130 - INFO - OPENED SHORT at 2099.63 | Stop loss: 2110.175 | Take profit: 2068.065275 +2025-03-10 16:15:06,532 - INFO - TAKE PROFIT hit for short at 2068.065275 | PnL: 1.50% | $2.75 +2025-03-10 16:15:06,559 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.58835 | Take profit: 2017.505225 +2025-03-10 16:15:06,859 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$2.73, Avg Loss=$-0.61 +2025-03-10 16:15:06,860 - INFO - Episode 15: Reward=-1.89, Balance=$103.03, Win Rate=33.3%, Trades=6, Episode PnL=$3.88, Total PnL=$275.58, Max Drawdown=0.0%, Pred Accuracy=98.1% +2025-03-10 16:15:06,860 - INFO - Refreshing data for episode 16 +2025-03-10 16:15:06,861 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:15:07,212 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:15:07,223 - INFO - Initialized environment with 100 candles +2025-03-10 16:15:07,252 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.130003571429 | Take profit: 2088.601394642857 +2025-03-10 16:15:08,293 - INFO - CLOSED short at 2098.66 | PnL: 1.03% | $1.82 +2025-03-10 16:15:08,320 - INFO - OPENED SHORT at 2090.59 | Stop loss: 2101.0905535714287 | Take profit: 2059.1597446428573 +2025-03-10 16:15:08,599 - INFO - TAKE PROFIT hit for short at 2059.1597446428573 | PnL: 1.50% | $2.79 +2025-03-10 16:15:08,626 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.302603571429 | Take profit: 2020.1635946428573 +2025-03-10 16:15:08,920 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.31, Avg Loss=$0.00 +2025-03-10 16:15:08,920 - INFO - Episode 16: Reward=2.18, Balance=$104.61, Win Rate=100.0%, Trades=2, Episode PnL=$4.61, Total PnL=$280.19, Max Drawdown=0.0%, Pred Accuracy=98.3% +2025-03-10 16:15:08,921 - INFO - Refreshing data for episode 17 +2025-03-10 16:15:08,921 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:15:09,339 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:15:09,350 - INFO - Initialized environment with 100 candles +2025-03-10 16:15:09,383 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.130182142857 | Take profit: 2088.6011267857143 +2025-03-10 16:15:10,288 - INFO - CLOSED short at 2104.22 | PnL: 0.77% | $1.30 +2025-03-10 16:15:10,289 - INFO - OPENED LONG at 2104.22 | Stop loss: 2093.6511178571427 | Take profit: 2135.8549732142856 +2025-03-10 16:15:10,332 - INFO - CLOSED long at 2104.67 | PnL: 0.02% | $-0.16 +2025-03-10 16:15:10,333 - INFO - OPENED SHORT at 2104.67 | Stop loss: 2115.241132142857 | Take profit: 2073.0282767857143 +2025-03-10 16:15:10,460 - INFO - CLOSED short at 2094.16 | PnL: 0.50% | $0.79 +2025-03-10 16:15:10,488 - INFO - OPENED SHORT at 2096.96 | Stop loss: 2107.492582142857 | Take profit: 2065.4339267857144 +2025-03-10 16:15:10,787 - INFO - CLOSED short at 2067.71 | PnL: 1.39% | $2.58 +2025-03-10 16:15:10,813 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5892821428574 | Take profit: 2017.5038267857144 +2025-03-10 16:15:11,031 - INFO - CLOSED short at 2043.95 | PnL: 0.21% | $0.23 +2025-03-10 16:15:11,056 - INFO - OPENED SHORT at 2044.1 | Stop loss: 2054.368282142857 | Take profit: 2013.366826785714 +2025-03-10 16:15:11,101 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.23, Avg Loss=$-0.16 +2025-03-10 16:15:11,102 - INFO - Episode 17: Reward=5.32, Balance=$104.75, Win Rate=80.0%, Trades=5, Episode PnL=$4.90, Total PnL=$284.94, Max Drawdown=0.0%, Pred Accuracy=98.3% +2025-03-10 16:15:11,103 - INFO - Refreshing data for episode 18 +2025-03-10 16:15:11,103 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:15:11,400 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:15:11,409 - INFO - Initialized environment with 100 candles +2025-03-10 16:15:11,435 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.130182142857 | Take profit: 2088.6011267857143 +2025-03-10 16:15:11,817 - INFO - CLOSED short at 2116.06 | PnL: 0.21% | $0.21 +2025-03-10 16:15:11,843 - INFO - OPENED SHORT at 2115.21 | Stop loss: 2125.8338321428573 | Take profit: 2083.410176785714 +2025-03-10 16:15:12,051 - INFO - CLOSED short at 2098.28 | PnL: 0.80% | $1.37 +2025-03-10 16:15:12,082 - INFO - OPENED SHORT at 2091.36 | Stop loss: 2101.864582142857 | Take profit: 2059.9179267857144 +2025-03-10 16:15:12,104 - INFO - CLOSED short at 2100.05 | PnL: -0.42% | $-1.02 +2025-03-10 16:15:12,150 - INFO - OPENED SHORT at 2089.04 | Stop loss: 2099.5329821428572 | Take profit: 2057.6327267857146 +2025-03-10 16:15:12,196 - INFO - CLOSED short at 2096.19 | PnL: -0.34% | $-0.87 +2025-03-10 16:15:12,404 - INFO - OPENED SHORT at 2099.22 | Stop loss: 2109.763882142857 | Take profit: 2067.6600267857143 +2025-03-10 16:15:12,434 - INFO - CLOSED short at 2094.16 | PnL: 0.24% | $0.27 +2025-03-10 16:15:12,530 - INFO - OPENED SHORT at 2090.99 | Stop loss: 2101.492732142857 | Take profit: 2059.553476785714 +2025-03-10 16:15:12,556 - INFO - CLOSED short at 2084.95 | PnL: 0.29% | $0.37 +2025-03-10 16:15:12,618 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2215321428575 | Take profit: 2053.4070767857143 +2025-03-10 16:15:12,638 - INFO - CLOSED short at 2081.0 | PnL: 0.18% | $0.16 +2025-03-10 16:15:12,939 - INFO - OPENED SHORT at 2054.03 | Stop loss: 2064.347932142857 | Take profit: 2023.1478767857145 +2025-03-10 16:15:12,965 - INFO - CLOSED short at 2050.18 | PnL: 0.19% | $0.17 +2025-03-10 16:15:12,988 - INFO - OPENED SHORT at 2046.76 | Stop loss: 2057.0415821428574 | Take profit: 2015.9869267857143 +2025-03-10 16:15:13,016 - INFO - CLOSED short at 2043.95 | PnL: 0.14% | $0.07 +2025-03-10 16:15:13,085 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.38, Avg Loss=$-0.95 +2025-03-10 16:15:13,086 - INFO - Episode 18: Reward=-1.49, Balance=$100.74, Win Rate=77.8%, Trades=9, Episode PnL=$0.74, Total PnL=$285.68, Max Drawdown=1.9%, Pred Accuracy=98.1% +2025-03-10 16:15:13,086 - INFO - Refreshing data for episode 19 +2025-03-10 16:15:13,087 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:15:13,394 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:15:13,405 - INFO - Initialized environment with 100 candles +2025-03-10 16:15:13,540 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.1503821428573 | Take profit: 2084.7005267857144 +2025-03-10 16:15:13,591 - INFO - CLOSED short at 2120.96 | PnL: -0.21% | $-0.61 +2025-03-10 16:15:13,618 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.5722821428576 | Take profit: 2092.9548267857144 +2025-03-10 16:15:13,642 - INFO - CLOSED short at 2128.33 | PnL: -0.16% | $-0.51 +2025-03-10 16:15:13,672 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.441632142857 | Take profit: 2092.826776785714 +2025-03-10 16:15:13,722 - INFO - CLOSED short at 2116.81 | PnL: 0.37% | $0.53 +2025-03-10 16:15:13,793 - INFO - OPENED SHORT at 2114.75 | Stop loss: 2125.371532142857 | Take profit: 2082.9570767857144 +2025-03-10 16:15:13,865 - INFO - CLOSED short at 2114.1 | PnL: 0.03% | $-0.13 +2025-03-10 16:15:13,911 - INFO - OPENED SHORT at 2114.32 | Stop loss: 2124.9393821428575 | Take profit: 2082.5335267857145 +2025-03-10 16:15:14,060 - INFO - CLOSED short at 2098.28 | PnL: 0.76% | $1.28 +2025-03-10 16:15:14,245 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.391932142857 | Take profit: 2071.2158767857145 +2025-03-10 16:15:14,271 - INFO - CLOSED short at 2103.41 | PnL: -0.03% | $-0.25 +2025-03-10 16:15:14,271 - INFO - OPENED LONG at 2103.41 | Stop loss: 2092.8451678571428 | Take profit: 2135.0328232142856 +2025-03-10 16:15:14,328 - INFO - CLOSED long at 2104.67 | PnL: 0.06% | $-0.08 +2025-03-10 16:15:14,455 - INFO - OPENED LONG at 2096.96 | Stop loss: 2086.4274178571427 | Take profit: 2128.4860732142856 +2025-03-10 16:15:14,541 - INFO - CLOSED long at 2090.99 | PnL: -0.28% | $-0.75 +2025-03-10 16:15:14,654 - INFO - OPENED SHORT at 2081.0 | Stop loss: 2091.452782142857 | Take profit: 2049.7133267857143 +2025-03-10 16:15:14,681 - INFO - CLOSED short at 2084.25 | PnL: -0.16% | $-0.50 +2025-03-10 16:15:14,902 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.2022321428567 | Take profit: 2022.0249767857142 +2025-03-10 16:15:14,973 - INFO - CLOSED short at 2054.03 | PnL: -0.06% | $-0.30 +2025-03-10 16:15:15,044 - INFO - OPENED SHORT at 2043.95 | Stop loss: 2054.217532142857 | Take profit: 2013.2190767857142 +2025-03-10 16:15:15,067 - INFO - CLOSED short at 2044.1 | PnL: -0.01% | $-0.21 +2025-03-10 16:15:15,119 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.91, Avg Loss=$-0.37 +2025-03-10 16:15:15,120 - INFO - Episode 19: Reward=-19.42, Balance=$98.47, Win Rate=18.2%, Trades=11, Episode PnL=$-1.53, Total PnL=$284.15, Max Drawdown=2.1%, Pred Accuracy=98.0% +2025-03-10 16:15:15,120 - INFO - Refreshing data for episode 20 +2025-03-10 16:15:15,121 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:15:15,448 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:15:15,460 - INFO - Initialized environment with 100 candles +2025-03-10 16:15:16,699 - INFO - OPENED SHORT at 2115.52 | Stop loss: 2126.145382142857 | Take profit: 2083.7155267857142 +2025-03-10 16:15:16,726 - INFO - CLOSED short at 2114.75 | PnL: 0.04% | $-0.12 +2025-03-10 16:15:16,938 - INFO - OPENED LONG at 2113.28 | Stop loss: 2102.665817857143 | Take profit: 2145.050873214286 +2025-03-10 16:15:17,022 - INFO - CLOSED long at 2098.24 | PnL: -0.71% | $-1.59 +2025-03-10 16:15:17,141 - INFO - OPENED LONG at 2089.04 | Stop loss: 2078.5470178571427 | Take profit: 2120.4472732142854 +2025-03-10 16:15:17,170 - INFO - CLOSED long at 2089.84 | PnL: 0.04% | $-0.12 +2025-03-10 16:15:17,272 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.974832142857 | Take profit: 2071.787176785714 +2025-03-10 16:15:17,305 - INFO - CLOSED short at 2104.22 | PnL: -0.04% | $-0.27 +2025-03-10 16:15:17,568 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0306821428567 | Take profit: 2049.2996267857143 +2025-03-10 16:15:17,675 - INFO - CLOSED short at 2085.37 | PnL: -0.23% | $-0.63 +2025-03-10 16:15:17,722 - INFO - OPENED LONG at 2083.07 | Stop loss: 2072.6068678571432 | Take profit: 2114.387723214286 +2025-03-10 16:15:17,745 - INFO - CLOSED long at 2075.07 | PnL: -0.38% | $-0.92 +2025-03-10 16:15:17,745 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.4931321428576 | Take profit: 2043.8722767857143 +2025-03-10 16:15:17,860 - INFO - TAKE PROFIT hit for short at 2043.8722767857143 | PnL: 1.50% | $2.64 +2025-03-10 16:15:17,980 - INFO - OPENED SHORT at 2050.18 | Stop loss: 2060.478682142857 | Take profit: 2019.355626785714 +2025-03-10 16:15:18,004 - INFO - CLOSED short at 2046.76 | PnL: 0.17% | $0.13 +2025-03-10 16:15:18,030 - INFO - OPENED SHORT at 2043.95 | Stop loss: 2054.217532142857 | Take profit: 2013.2190767857142 +2025-03-10 16:15:18,107 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.39, Avg Loss=$-0.61 +2025-03-10 16:15:18,108 - INFO - Episode 20: Reward=-19.78, Balance=$99.13, Win Rate=25.0%, Trades=8, Episode PnL=$0.05, Total PnL=$283.27, Max Drawdown=2.7%, Pred Accuracy=98.1% +2025-03-10 16:15:18,257 - INFO - Model saved to checkpoints/trading_agent_episode_20.pt +2025-03-10 16:15:18,259 - INFO - Checkpoint saved at episode 20 +2025-03-10 16:15:18,260 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:15:19,241 - INFO - Visualization saved for episode 20 +2025-03-10 16:15:21,209 - INFO - Visualization saved for episode 20 +2025-03-10 16:15:21,230 - INFO - Refreshing data for episode 21 +2025-03-10 16:15:21,230 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:15:21,552 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:15:21,562 - INFO - Initialized environment with 100 candles +2025-03-10 16:15:21,724 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.6383250000003 | Take profit: 2086.1575125 +2025-03-10 16:15:21,868 - INFO - CLOSED short at 2120.96 | PnL: -0.14% | $-0.47 +2025-03-10 16:15:21,868 - INFO - OPENED LONG at 2120.96 | Stop loss: 2110.306875 | Take profit: 2152.8468875 +2025-03-10 16:15:21,895 - INFO - CLOSED long at 2124.9 | PnL: 0.19% | $0.17 +2025-03-10 16:15:21,895 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.572825 | Take profit: 2092.9540125000003 +2025-03-10 16:15:21,992 - INFO - CLOSED short at 2116.81 | PnL: 0.38% | $0.55 +2025-03-10 16:15:22,079 - INFO - OPENED LONG at 2114.75 | Stop loss: 2104.1279250000002 | Take profit: 2146.5437374999997 +2025-03-10 16:15:22,106 - INFO - CLOSED long at 2116.06 | PnL: 0.06% | $-0.07 +2025-03-10 16:15:22,107 - INFO - OPENED SHORT at 2116.06 | Stop loss: 2126.688625 | Take profit: 2084.2466125 +2025-03-10 16:15:22,139 - INFO - CLOSED short at 2115.21 | PnL: 0.04% | $-0.12 +2025-03-10 16:15:22,191 - INFO - OPENED SHORT at 2115.11 | Stop loss: 2125.733875 | Take profit: 2083.3108625 +2025-03-10 16:15:22,217 - INFO - CLOSED short at 2114.32 | PnL: 0.04% | $-0.12 +2025-03-10 16:15:22,241 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.191175 | Take profit: 2082.7789625 +2025-03-10 16:15:22,287 - INFO - CLOSED short at 2113.28 | PnL: 0.06% | $-0.08 +2025-03-10 16:15:22,316 - INFO - OPENED SHORT at 2114.5 | Stop loss: 2125.120825 | Take profit: 2082.7100125 +2025-03-10 16:15:22,733 - INFO - CLOSED short at 2096.96 | PnL: 0.83% | $1.42 +2025-03-10 16:15:22,764 - INFO - OPENED SHORT at 2098.66 | Stop loss: 2109.2016249999997 | Take profit: 2067.1076125 +2025-03-10 16:15:23,103 - INFO - TAKE PROFIT hit for short at 2067.1076125 | PnL: 1.50% | $2.78 +2025-03-10 16:15:23,139 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3033250000003 | Take profit: 2020.1625125 +2025-03-10 16:15:23,325 - INFO - CLOSED short at 2046.76 | PnL: 0.21% | $0.22 +2025-03-10 16:15:23,355 - INFO - OPENED SHORT at 2043.95 | Stop loss: 2054.218075 | Take profit: 2013.2182625 +2025-03-10 16:15:23,429 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$1.03, Avg Loss=$-0.17 +2025-03-10 16:15:23,429 - INFO - Episode 21: Reward=11.01, Balance=$104.28, Win Rate=50.0%, Trades=10, Episode PnL=$4.18, Total PnL=$287.55, Max Drawdown=0.4%, Pred Accuracy=98.2% +2025-03-10 16:15:23,430 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:15:23,430 - INFO - Refreshing data for episode 22 +2025-03-10 16:15:23,430 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:15:23,757 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:15:23,768 - INFO - Initialized environment with 100 candles +2025-03-10 16:15:23,793 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.130725 | Take profit: 2088.6003125 +2025-03-10 16:15:24,741 - INFO - CLOSED short at 2104.22 | PnL: 0.77% | $1.30 +2025-03-10 16:15:24,741 - INFO - OPENED LONG at 2104.22 | Stop loss: 2093.650575 | Take profit: 2135.8557874999997 +2025-03-10 16:15:24,776 - INFO - CLOSED long at 2104.67 | PnL: 0.02% | $-0.16 +2025-03-10 16:15:24,776 - INFO - OPENED SHORT at 2104.67 | Stop loss: 2115.241675 | Take profit: 2073.0274625 +2025-03-10 16:15:25,226 - INFO - TAKE PROFIT hit for short at 2073.0274625 | PnL: 1.50% | $2.78 +2025-03-10 16:15:25,258 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.589825 | Take profit: 2017.5030125000003 +2025-03-10 16:15:25,606 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.04, Avg Loss=$-0.16 +2025-03-10 16:15:25,608 - INFO - Episode 22: Reward=14.37, Balance=$103.92, Win Rate=66.7%, Trades=3, Episode PnL=$4.08, Total PnL=$291.47, Max Drawdown=0.0%, Pred Accuracy=98.3% +2025-03-10 16:15:25,608 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:15:25,608 - INFO - Refreshing data for episode 23 +2025-03-10 16:15:25,609 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:15:25,948 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:15:25,958 - INFO - Initialized environment with 100 candles +2025-03-10 16:15:25,983 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.1317642857143 | Take profit: 2088.5987535714285 +2025-03-10 16:15:26,035 - INFO - CLOSED short at 2118.0 | PnL: 0.12% | $0.03 +2025-03-10 16:15:26,063 - INFO - OPENED SHORT at 2121.8 | Stop loss: 2132.4583642857147 | Take profit: 2089.8989535714286 +2025-03-10 16:15:26,767 - INFO - TAKE PROFIT hit for short at 2089.8989535714286 | PnL: 1.50% | $2.74 +2025-03-10 16:15:26,792 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3385642857143 | Take profit: 2058.4183535714287 +2025-03-10 16:15:26,870 - INFO - STOP LOSS hit for short at 2100.3385642857143 | PnL: -0.50% | $-1.21 +2025-03-10 16:15:26,897 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9764142857143 | Take profit: 2071.7848035714283 +2025-03-10 16:15:27,356 - INFO - TAKE PROFIT hit for short at 2071.7848035714283 | PnL: 1.50% | $2.79 +2025-03-10 16:15:27,378 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5908642857144 | Take profit: 2017.5014535714288 +2025-03-10 16:15:27,678 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$1.85, Avg Loss=$-1.21 +2025-03-10 16:15:27,686 - INFO - Episode 23: Reward=15.12, Balance=$104.35, Win Rate=75.0%, Trades=4, Episode PnL=$4.35, Total PnL=$295.83, Max Drawdown=1.2%, Pred Accuracy=98.3% +2025-03-10 16:15:27,686 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:15:27,686 - INFO - Refreshing data for episode 24 +2025-03-10 16:15:27,686 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:15:28,039 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:15:28,050 - INFO - Initialized environment with 100 candles +2025-03-10 16:15:28,078 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.1317642857143 | Take profit: 2088.5987535714285 +2025-03-10 16:15:28,657 - INFO - CLOSED short at 2115.07 | PnL: 0.26% | $0.30 +2025-03-10 16:15:28,681 - INFO - OPENED SHORT at 2098.24 | Stop loss: 2108.7805642857143 | Take profit: 2066.692353571428 +2025-03-10 16:15:28,826 - INFO - CLOSED short at 2089.84 | PnL: 0.40% | $0.59 +2025-03-10 16:15:28,849 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.7203142857143 | Take profit: 2064.6731035714283 +2025-03-10 16:15:29,286 - INFO - CLOSED short at 2084.11 | PnL: 0.58% | $0.94 +2025-03-10 16:15:29,316 - INFO - OPENED SHORT at 2083.07 | Stop loss: 2093.5347142857145 | Take profit: 2051.7499035714286 +2025-03-10 16:15:29,395 - INFO - TAKE PROFIT hit for short at 2051.7499035714286 | PnL: 1.50% | $2.79 +2025-03-10 16:15:29,417 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3043642857147 | Take profit: 2020.1609535714285 +2025-03-10 16:15:29,653 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.16, Avg Loss=$0.00 +2025-03-10 16:15:29,653 - INFO - Episode 24: Reward=17.80, Balance=$104.62, Win Rate=100.0%, Trades=4, Episode PnL=$4.62, Total PnL=$300.45, Max Drawdown=0.0%, Pred Accuracy=98.4% +2025-03-10 16:15:29,655 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:15:29,655 - INFO - Refreshing data for episode 25 +2025-03-10 16:15:29,655 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:15:30,013 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:15:30,028 - INFO - Initialized environment with 100 candles +2025-03-10 16:15:30,888 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.1319392857145 | Take profit: 2088.5984910714287 +2025-03-10 16:15:31,662 - INFO - CLOSED short at 2100.05 | PnL: 0.96% | $1.69 +2025-03-10 16:15:31,693 - INFO - OPENED SHORT at 2096.36 | Stop loss: 2106.8913392857144 | Take profit: 2064.8402910714285 +2025-03-10 16:15:32,405 - INFO - TAKE PROFIT hit for short at 2064.8402910714285 | PnL: 1.50% | $2.79 +2025-03-10 16:15:32,436 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3045392857143 | Take profit: 2020.1606910714286 +2025-03-10 16:15:32,732 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.24, Avg Loss=$0.00 +2025-03-10 16:15:32,733 - INFO - Episode 25: Reward=15.88, Balance=$104.48, Win Rate=100.0%, Trades=2, Episode PnL=$4.48, Total PnL=$304.92, Max Drawdown=0.0%, Pred Accuracy=98.3% +2025-03-10 16:15:32,734 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:15:32,734 - INFO - Refreshing data for episode 26 +2025-03-10 16:15:32,735 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:15:33,039 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:15:33,051 - INFO - Initialized environment with 100 candles +2025-03-10 16:15:33,080 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.1323964285716 | Take profit: 2088.597805357143 +2025-03-10 16:15:33,364 - INFO - CLOSED short at 2124.77 | PnL: -0.20% | $-0.59 +2025-03-10 16:15:33,364 - INFO - OPENED LONG at 2124.77 | Stop loss: 2114.0961535714287 | Take profit: 2156.716544642857 +2025-03-10 16:15:33,391 - INFO - CLOSED long at 2120.26 | PnL: -0.21% | $-0.61 +2025-03-10 16:15:33,391 - INFO - OPENED SHORT at 2120.26 | Stop loss: 2130.9112964285714 | Take profit: 2088.381105357143 +2025-03-10 16:15:34,384 - INFO - TAKE PROFIT hit for short at 2088.381105357143 | PnL: 1.50% | $2.71 +2025-03-10 16:15:34,418 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0328964285713 | Take profit: 2049.296305357143 +2025-03-10 16:15:34,667 - INFO - TAKE PROFIT hit for short at 2049.296305357143 | PnL: 1.50% | $2.78 +2025-03-10 16:15:34,692 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3049964285715 | Take profit: 2020.1600053571428 +2025-03-10 16:15:34,975 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.75, Avg Loss=$-0.60 +2025-03-10 16:15:34,976 - INFO - Episode 26: Reward=10.29, Balance=$104.30, Win Rate=50.0%, Trades=4, Episode PnL=$4.90, Total PnL=$309.22, Max Drawdown=0.0%, Pred Accuracy=98.4% +2025-03-10 16:15:34,977 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:15:34,977 - INFO - Refreshing data for episode 27 +2025-03-10 16:15:34,978 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:15:35,303 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:15:35,314 - INFO - Initialized environment with 100 candles +2025-03-10 16:15:35,339 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.1323964285716 | Take profit: 2088.597805357143 +2025-03-10 16:15:36,475 - INFO - TAKE PROFIT hit for short at 2088.597805357143 | PnL: 1.50% | $2.74 +2025-03-10 16:15:36,502 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0328964285713 | Take profit: 2049.296305357143 +2025-03-10 16:15:36,741 - INFO - TAKE PROFIT hit for short at 2049.296305357143 | PnL: 1.50% | $2.82 +2025-03-10 16:15:36,766 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3049964285715 | Take profit: 2020.1600053571428 +2025-03-10 16:15:36,833 - INFO - CLOSED short at 2052.89 | PnL: -0.09% | $-0.40 +2025-03-10 16:15:36,860 - INFO - OPENED SHORT at 2053.22 | Stop loss: 2063.5360964285715 | Take profit: 2022.3467053571426 +2025-03-10 16:15:37,063 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$-0.40 +2025-03-10 16:15:37,064 - INFO - Episode 27: Reward=12.57, Balance=$105.16, Win Rate=66.7%, Trades=3, Episode PnL=$5.16, Total PnL=$314.38, Max Drawdown=0.4%, Pred Accuracy=98.4% +2025-03-10 16:15:37,065 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:15:37,065 - INFO - Refreshing data for episode 28 +2025-03-10 16:15:37,066 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:15:37,379 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:15:37,389 - INFO - Initialized environment with 100 candles +2025-03-10 16:15:37,418 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.1323964285716 | Take profit: 2088.597805357143 +2025-03-10 16:15:38,497 - INFO - CLOSED short at 2090.59 | PnL: 1.41% | $2.56 +2025-03-10 16:15:38,530 - INFO - OPENED SHORT at 2090.99 | Stop loss: 2101.494946428571 | Take profit: 2059.5501553571426 +2025-03-10 16:15:38,763 - INFO - TAKE PROFIT hit for short at 2059.5501553571426 | PnL: 1.50% | $2.81 +2025-03-10 16:15:38,791 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3049964285715 | Take profit: 2020.1600053571428 +2025-03-10 16:15:39,006 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.69, Avg Loss=$0.00 +2025-03-10 16:15:39,007 - INFO - Episode 28: Reward=16.42, Balance=$105.37, Win Rate=100.0%, Trades=2, Episode PnL=$5.37, Total PnL=$319.75, Max Drawdown=0.0%, Pred Accuracy=98.5% +2025-03-10 16:15:39,007 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:15:39,008 - INFO - Refreshing data for episode 29 +2025-03-10 16:15:39,008 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:15:39,317 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:15:39,326 - INFO - Initialized environment with 100 candles +2025-03-10 16:15:39,352 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.1323964285716 | Take profit: 2088.597805357143 +2025-03-10 16:15:40,436 - INFO - TAKE PROFIT hit for short at 2088.597805357143 | PnL: 1.50% | $2.74 +2025-03-10 16:15:40,471 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0328964285713 | Take profit: 2049.296305357143 +2025-03-10 16:15:40,692 - INFO - TAKE PROFIT hit for short at 2049.296305357143 | PnL: 1.50% | $2.82 +2025-03-10 16:15:40,718 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3049964285715 | Take profit: 2020.1600053571428 +2025-03-10 16:15:40,843 - INFO - CLOSED short at 2058.11 | PnL: -0.35% | $-0.92 +2025-03-10 16:15:40,844 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.7694535714288 | Take profit: 2089.056644642857 +2025-03-10 16:15:40,867 - INFO - CLOSED long at 2054.03 | PnL: -0.20% | $-0.61 +2025-03-10 16:15:40,868 - INFO - OPENED SHORT at 2054.03 | Stop loss: 2064.350146428572 | Take profit: 2023.144555357143 +2025-03-10 16:15:41,025 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.78, Avg Loss=$-0.76 +2025-03-10 16:15:41,026 - INFO - Episode 29: Reward=9.90, Balance=$104.03, Win Rate=50.0%, Trades=4, Episode PnL=$4.64, Total PnL=$323.78, Max Drawdown=0.0%, Pred Accuracy=98.4% +2025-03-10 16:15:41,026 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:15:41,026 - INFO - Refreshing data for episode 30 +2025-03-10 16:15:41,027 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:15:41,502 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:15:41,512 - INFO - Initialized environment with 100 candles +2025-03-10 16:15:42,547 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.1323964285716 | Take profit: 2088.597805357143 +2025-03-10 16:15:42,964 - INFO - CLOSED short at 2116.06 | PnL: 0.21% | $0.21 +2025-03-10 16:15:42,988 - INFO - OPENED SHORT at 2115.21 | Stop loss: 2125.8360464285715 | Take profit: 2083.406855357143 +2025-03-10 16:15:43,553 - INFO - CLOSED short at 2104.22 | PnL: 0.52% | $0.82 +2025-03-10 16:15:43,580 - INFO - OPENED SHORT at 2104.67 | Stop loss: 2115.2433464285714 | Take profit: 2073.024955357143 +2025-03-10 16:15:44,008 - INFO - TAKE PROFIT hit for short at 2073.024955357143 | PnL: 1.50% | $2.77 +2025-03-10 16:15:44,032 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.591496428571 | Take profit: 2017.500505357143 +2025-03-10 16:15:44,330 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.27, Avg Loss=$0.00 +2025-03-10 16:15:44,330 - INFO - Episode 30: Reward=16.40, Balance=$103.80, Win Rate=100.0%, Trades=3, Episode PnL=$3.80, Total PnL=$327.59, Max Drawdown=0.0%, Pred Accuracy=98.6% +2025-03-10 16:15:44,476 - INFO - Model saved to checkpoints/trading_agent_episode_30.pt +2025-03-10 16:15:44,477 - INFO - Checkpoint saved at episode 30 +2025-03-10 16:15:44,477 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:15:45,503 - INFO - Visualization saved for episode 30 +2025-03-10 16:15:47,275 - INFO - Visualization saved for episode 30 +2025-03-10 16:15:47,296 - INFO - Refreshing data for episode 31 +2025-03-10 16:15:47,296 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:15:47,605 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:15:47,616 - INFO - Initialized environment with 100 candles +2025-03-10 16:15:47,721 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.1323964285716 | Take profit: 2088.597805357143 +2025-03-10 16:15:48,879 - INFO - TAKE PROFIT hit for short at 2088.597805357143 | PnL: 1.50% | $2.74 +2025-03-10 16:15:48,915 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0328964285713 | Take profit: 2049.296305357143 +2025-03-10 16:15:49,180 - INFO - TAKE PROFIT hit for short at 2049.296305357143 | PnL: 1.50% | $2.82 +2025-03-10 16:15:49,204 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3049964285715 | Take profit: 2020.1600053571428 +2025-03-10 16:15:49,460 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$0.00 +2025-03-10 16:15:49,460 - INFO - Episode 31: Reward=14.10, Balance=$105.56, Win Rate=100.0%, Trades=2, Episode PnL=$5.56, Total PnL=$333.14, Max Drawdown=0.0%, Pred Accuracy=98.6% +2025-03-10 16:15:49,465 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:15:49,465 - INFO - Refreshing data for episode 32 +2025-03-10 16:15:49,466 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:15:49,789 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:15:49,798 - INFO - Initialized environment with 100 candles +2025-03-10 16:15:49,817 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.1323964285716 | Take profit: 2088.597805357143 +2025-03-10 16:15:49,935 - INFO - CLOSED short at 2116.52 | PnL: 0.19% | $0.17 +2025-03-10 16:15:49,935 - INFO - OPENED LONG at 2116.52 | Stop loss: 2105.8874035714284 | Take profit: 2148.342794642857 +2025-03-10 16:15:49,968 - INFO - CLOSED long at 2119.02 | PnL: 0.12% | $0.04 +2025-03-10 16:15:49,968 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.6650964285714 | Take profit: 2087.1597053571427 +2025-03-10 16:15:50,473 - INFO - CLOSED short at 2115.07 | PnL: 0.19% | $0.17 +2025-03-10 16:15:50,497 - INFO - OPENED SHORT at 2098.24 | Stop loss: 2108.781196428571 | Take profit: 2066.6914053571427 +2025-03-10 16:15:50,874 - INFO - CLOSED short at 2098.66 | PnL: -0.02% | $-0.24 +2025-03-10 16:15:50,896 - INFO - OPENED SHORT at 2090.59 | Stop loss: 2101.0929464285714 | Take profit: 2059.1561553571432 +2025-03-10 16:15:51,010 - INFO - CLOSED short at 2084.75 | PnL: 0.28% | $0.35 +2025-03-10 16:15:51,011 - INFO - OPENED LONG at 2084.75 | Stop loss: 2074.2762535714287 | Take profit: 2116.096244642857 +2025-03-10 16:15:51,041 - INFO - CLOSED long at 2081.0 | PnL: -0.18% | $-0.55 +2025-03-10 16:15:51,041 - INFO - OPENED SHORT at 2081.0 | Stop loss: 2091.4549964285716 | Take profit: 2049.710005357143 +2025-03-10 16:15:51,203 - INFO - TAKE PROFIT hit for short at 2049.710005357143 | PnL: 1.50% | $2.74 +2025-03-10 16:15:51,229 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3049964285715 | Take profit: 2020.1600053571428 +2025-03-10 16:15:51,491 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$0.69, Avg Loss=$-0.39 +2025-03-10 16:15:51,492 - INFO - Episode 32: Reward=14.61, Balance=$102.68, Win Rate=71.4%, Trades=7, Episode PnL=$3.19, Total PnL=$335.82, Max Drawdown=0.2%, Pred Accuracy=98.6% +2025-03-10 16:15:51,492 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:15:51,492 - INFO - Refreshing data for episode 33 +2025-03-10 16:15:51,494 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:15:51,843 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:15:51,852 - INFO - Initialized environment with 100 candles +2025-03-10 16:15:51,880 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.1323964285716 | Take profit: 2088.597805357143 +2025-03-10 16:15:52,532 - INFO - CLOSED short at 2114.5 | PnL: 0.28% | $0.36 +2025-03-10 16:15:52,532 - INFO - OPENED LONG at 2114.5 | Stop loss: 2103.8775035714284 | Take profit: 2146.292494642857 +2025-03-10 16:15:52,560 - INFO - CLOSED long at 2115.07 | PnL: 0.03% | $-0.14 +2025-03-10 16:15:52,561 - INFO - OPENED SHORT at 2115.07 | Stop loss: 2125.6953464285716 | Take profit: 2083.268955357143 +2025-03-10 16:15:53,167 - INFO - CLOSED short at 2098.66 | PnL: 0.78% | $1.32 +2025-03-10 16:15:53,191 - INFO - OPENED SHORT at 2090.59 | Stop loss: 2101.0929464285714 | Take profit: 2059.1561553571432 +2025-03-10 16:15:53,303 - INFO - CLOSED short at 2084.75 | PnL: 0.28% | $0.36 +2025-03-10 16:15:53,330 - INFO - OPENED SHORT at 2081.0 | Stop loss: 2091.4549964285716 | Take profit: 2049.710005357143 +2025-03-10 16:15:53,515 - INFO - TAKE PROFIT hit for short at 2049.710005357143 | PnL: 1.50% | $2.79 +2025-03-10 16:15:53,540 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3049964285715 | Take profit: 2020.1600053571428 +2025-03-10 16:15:53,815 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.21, Avg Loss=$-0.14 +2025-03-10 16:15:53,815 - INFO - Episode 33: Reward=16.47, Balance=$104.68, Win Rate=80.0%, Trades=5, Episode PnL=$4.83, Total PnL=$340.51, Max Drawdown=0.0%, Pred Accuracy=98.7% +2025-03-10 16:15:53,815 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:15:53,824 - INFO - Refreshing data for episode 34 +2025-03-10 16:15:53,824 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:15:54,165 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:15:54,177 - INFO - Initialized environment with 100 candles +2025-03-10 16:15:54,206 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.1323964285716 | Take profit: 2088.597805357143 +2025-03-10 16:15:55,222 - INFO - CLOSED short at 2098.66 | PnL: 1.03% | $1.82 +2025-03-10 16:15:55,252 - INFO - OPENED SHORT at 2090.59 | Stop loss: 2101.0929464285714 | Take profit: 2059.1561553571432 +2025-03-10 16:15:55,547 - INFO - TAKE PROFIT hit for short at 2059.1561553571432 | PnL: 1.50% | $2.79 +2025-03-10 16:15:55,569 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3049964285715 | Take profit: 2020.1600053571428 +2025-03-10 16:15:55,825 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.30, Avg Loss=$0.00 +2025-03-10 16:15:55,826 - INFO - Episode 34: Reward=15.99, Balance=$104.61, Win Rate=100.0%, Trades=2, Episode PnL=$4.61, Total PnL=$345.12, Max Drawdown=0.0%, Pred Accuracy=98.7% +2025-03-10 16:15:55,826 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:15:55,826 - INFO - Refreshing data for episode 35 +2025-03-10 16:15:55,826 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:15:56,136 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:15:56,147 - INFO - Initialized environment with 100 candles +2025-03-10 16:15:56,895 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.1323964285716 | Take profit: 2088.597805357143 +2025-03-10 16:15:56,918 - INFO - CLOSED short at 2120.54 | PnL: -0.00% | $-0.20 +2025-03-10 16:15:56,939 - INFO - OPENED LONG at 2118.0 | Stop loss: 2107.3600035714285 | Take profit: 2149.8449946428573 +2025-03-10 16:15:56,965 - INFO - CLOSED long at 2121.8 | PnL: 0.18% | $0.15 +2025-03-10 16:15:56,965 - INFO - OPENED SHORT at 2121.8 | Stop loss: 2132.458996428572 | Take profit: 2089.898005357143 +2025-03-10 16:15:57,153 - INFO - CLOSED short at 2120.26 | PnL: 0.07% | $-0.05 +2025-03-10 16:15:57,153 - INFO - OPENED LONG at 2120.26 | Stop loss: 2109.6087035714286 | Take profit: 2152.1388946428574 +2025-03-10 16:15:57,183 - INFO - CLOSED long at 2116.81 | PnL: -0.16% | $-0.51 +2025-03-10 16:15:57,184 - INFO - OPENED SHORT at 2116.81 | Stop loss: 2127.4440464285713 | Take profit: 2084.982855357143 +2025-03-10 16:15:58,026 - INFO - TAKE PROFIT hit for short at 2084.982855357143 | PnL: 1.50% | $2.73 +2025-03-10 16:15:58,049 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0328964285713 | Take profit: 2049.296305357143 +2025-03-10 16:15:58,247 - INFO - CLOSED short at 2048.3 | PnL: 1.55% | $2.89 +2025-03-10 16:15:58,269 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3049964285715 | Take profit: 2020.1600053571428 +2025-03-10 16:15:58,512 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$1.93, Avg Loss=$-0.26 +2025-03-10 16:15:58,512 - INFO - Episode 35: Reward=12.97, Balance=$105.01, Win Rate=50.0%, Trades=6, Episode PnL=$5.37, Total PnL=$350.12, Max Drawdown=0.2%, Pred Accuracy=98.8% +2025-03-10 16:15:58,513 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:15:58,513 - INFO - Refreshing data for episode 36 +2025-03-10 16:15:58,514 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:15:58,832 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:15:58,842 - INFO - Initialized environment with 100 candles +2025-03-10 16:15:58,868 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.1323964285716 | Take profit: 2088.597805357143 +2025-03-10 16:15:59,760 - INFO - CLOSED short at 2099.63 | PnL: 0.98% | $1.73 +2025-03-10 16:15:59,781 - INFO - OPENED SHORT at 2099.22 | Stop loss: 2109.766096428571 | Take profit: 2067.6567053571425 +2025-03-10 16:16:00,093 - INFO - CLOSED short at 2075.07 | PnL: 1.15% | $2.09 +2025-03-10 16:16:00,094 - INFO - OPENED LONG at 2075.07 | Stop loss: 2064.644653571429 | Take profit: 2106.2710446428573 +2025-03-10 16:16:00,120 - INFO - CLOSED long at 2067.71 | PnL: -0.35% | $-0.92 +2025-03-10 16:16:00,121 - INFO - OPENED SHORT at 2067.71 | Stop loss: 2078.0985464285714 | Take profit: 2036.619355357143 +2025-03-10 16:16:00,425 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.91, Avg Loss=$-0.92 +2025-03-10 16:16:00,426 - INFO - Episode 36: Reward=16.02, Balance=$102.89, Win Rate=66.7%, Trades=3, Episode PnL=$3.81, Total PnL=$353.02, Max Drawdown=0.0%, Pred Accuracy=98.9% +2025-03-10 16:16:00,426 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:16:00,427 - INFO - Refreshing data for episode 37 +2025-03-10 16:16:00,427 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:16:00,779 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:16:00,791 - INFO - Initialized environment with 100 candles +2025-03-10 16:16:00,817 - INFO - OPENED SHORT at 2120.48 | Stop loss: 2131.1323964285716 | Take profit: 2088.597805357143 +2025-03-10 16:16:01,174 - INFO - CLOSED short at 2115.52 | PnL: 0.23% | $0.26 +2025-03-10 16:16:01,212 - INFO - OPENED SHORT at 2114.75 | Stop loss: 2125.3737464285714 | Take profit: 2082.9537553571427 +2025-03-10 16:16:01,300 - INFO - CLOSED short at 2115.11 | PnL: -0.02% | $-0.23 +2025-03-10 16:16:01,328 - INFO - OPENED SHORT at 2114.32 | Stop loss: 2124.9415964285713 | Take profit: 2082.530205357143 +2025-03-10 16:16:01,947 - INFO - TAKE PROFIT hit for short at 2082.530205357143 | PnL: 1.50% | $2.74 +2025-03-10 16:16:01,976 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2237464285713 | Take profit: 2053.403755357143 +2025-03-10 16:16:02,088 - INFO - CLOSED short at 2084.11 | PnL: 0.03% | $-0.14 +2025-03-10 16:16:02,114 - INFO - OPENED SHORT at 2083.07 | Stop loss: 2093.5353464285718 | Take profit: 2051.748955357143 +2025-03-10 16:16:02,190 - INFO - TAKE PROFIT hit for short at 2051.748955357143 | PnL: 1.50% | $2.81 +2025-03-10 16:16:02,215 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3049964285715 | Take profit: 2020.1600053571428 +2025-03-10 16:16:02,259 - INFO - CLOSED short at 2052.89 | PnL: -0.09% | $-0.40 +2025-03-10 16:16:02,290 - INFO - OPENED SHORT at 2053.22 | Stop loss: 2063.5360964285715 | Take profit: 2022.3467053571426 +2025-03-10 16:16:02,476 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.94, Avg Loss=$-0.25 +2025-03-10 16:16:02,478 - INFO - Episode 37: Reward=11.09, Balance=$105.05, Win Rate=50.0%, Trades=6, Episode PnL=$5.05, Total PnL=$358.07, Max Drawdown=0.4%, Pred Accuracy=99.0% +2025-03-10 16:16:02,478 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:16:02,479 - INFO - Refreshing data for episode 38 +2025-03-10 16:16:02,479 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:16:02,796 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:16:02,807 - INFO - Initialized environment with 100 candles +2025-03-10 16:16:02,837 - INFO - OPENED SHORT at 2120.54 | Stop loss: 2131.1892857142857 | Take profit: 2088.6620214285713 +2025-03-10 16:16:03,926 - INFO - TAKE PROFIT hit for short at 2088.6620214285713 | PnL: 1.50% | $2.75 +2025-03-10 16:16:03,958 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.029485714286 | Take profit: 2049.3014214285713 +2025-03-10 16:16:04,159 - INFO - TAKE PROFIT hit for short at 2049.3014214285713 | PnL: 1.50% | $2.82 +2025-03-10 16:16:04,183 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3015857142855 | Take profit: 2020.1651214285714 +2025-03-10 16:16:04,511 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$0.00 +2025-03-10 16:16:04,512 - INFO - Episode 38: Reward=14.09, Balance=$105.57, Win Rate=100.0%, Trades=2, Episode PnL=$5.57, Total PnL=$363.64, Max Drawdown=0.0%, Pred Accuracy=98.9% +2025-03-10 16:16:04,512 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:16:04,514 - INFO - Refreshing data for episode 39 +2025-03-10 16:16:04,514 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:16:04,825 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:16:04,830 - INFO - Initialized environment with 100 candles +2025-03-10 16:16:04,865 - INFO - OPENED SHORT at 2120.54 | Stop loss: 2131.1892892857145 | Take profit: 2088.6620160714283 +2025-03-10 16:16:05,962 - INFO - TAKE PROFIT hit for short at 2088.6620160714283 | PnL: 1.50% | $2.75 +2025-03-10 16:16:05,984 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.029489285714 | Take profit: 2049.3014160714283 +2025-03-10 16:16:06,198 - INFO - TAKE PROFIT hit for short at 2049.3014160714283 | PnL: 1.50% | $2.82 +2025-03-10 16:16:06,225 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3015892857143 | Take profit: 2020.1651160714287 +2025-03-10 16:16:06,250 - INFO - CLOSED short at 2043.51 | PnL: 0.37% | $0.55 +2025-03-10 16:16:06,250 - INFO - OPENED LONG at 2043.51 | Stop loss: 2033.2458607142858 | Take profit: 2074.2325339285717 +2025-03-10 16:16:06,277 - INFO - CLOSED long at 2052.89 | PnL: 0.46% | $0.74 +2025-03-10 16:16:06,277 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.201039285714 | Take profit: 2022.0267660714285 +2025-03-10 16:16:06,508 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.71, Avg Loss=$0.00 +2025-03-10 16:16:06,509 - INFO - Episode 39: Reward=16.50, Balance=$106.86, Win Rate=100.0%, Trades=4, Episode PnL=$6.11, Total PnL=$370.50, Max Drawdown=0.0%, Pred Accuracy=99.1% +2025-03-10 16:16:06,509 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:16:06,509 - INFO - Refreshing data for episode 40 +2025-03-10 16:16:06,511 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:16:06,835 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:16:06,847 - INFO - Initialized environment with 100 candles +2025-03-10 16:16:07,619 - INFO - OPENED SHORT at 2120.54 | Stop loss: 2131.189292857143 | Take profit: 2088.6620107142858 +2025-03-10 16:16:08,747 - INFO - TAKE PROFIT hit for short at 2088.6620107142858 | PnL: 1.50% | $2.75 +2025-03-10 16:16:08,771 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.029492857143 | Take profit: 2049.301410714286 +2025-03-10 16:16:08,978 - INFO - TAKE PROFIT hit for short at 2049.301410714286 | PnL: 1.50% | $2.82 +2025-03-10 16:16:09,003 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3015928571426 | Take profit: 2020.1651107142857 +2025-03-10 16:16:09,310 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$0.00 +2025-03-10 16:16:09,312 - INFO - Episode 40: Reward=14.07, Balance=$105.57, Win Rate=100.0%, Trades=2, Episode PnL=$5.57, Total PnL=$376.06, Max Drawdown=0.0%, Pred Accuracy=99.1% +2025-03-10 16:16:09,463 - INFO - Model saved to checkpoints/trading_agent_episode_40.pt +2025-03-10 16:16:09,463 - INFO - Checkpoint saved at episode 40 +2025-03-10 16:16:09,463 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:16:10,745 - INFO - Visualization saved for episode 40 +2025-03-10 16:16:12,580 - INFO - Visualization saved for episode 40 +2025-03-10 16:16:12,598 - INFO - Refreshing data for episode 41 +2025-03-10 16:16:12,598 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:16:12,895 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:16:12,904 - INFO - Initialized environment with 100 candles +2025-03-10 16:16:12,994 - INFO - OPENED SHORT at 2120.54 | Stop loss: 2131.190178571429 | Take profit: 2088.6606821428572 +2025-03-10 16:16:13,630 - INFO - CLOSED short at 2115.07 | PnL: 0.26% | $0.31 +2025-03-10 16:16:13,631 - INFO - OPENED LONG at 2115.07 | Stop loss: 2104.4471714285714 | Take profit: 2146.867267857143 +2025-03-10 16:16:13,664 - INFO - CLOSED long at 2098.24 | PnL: -0.80% | $-1.76 +2025-03-10 16:16:13,665 - INFO - OPENED SHORT at 2098.24 | Stop loss: 2108.7786785714284 | Take profit: 2066.695182142857 +2025-03-10 16:16:14,138 - INFO - CLOSED short at 2090.99 | PnL: 0.35% | $0.47 +2025-03-10 16:16:14,138 - INFO - OPENED LONG at 2090.99 | Stop loss: 2080.4875714285713 | Take profit: 2122.4260678571427 +2025-03-10 16:16:14,161 - INFO - CLOSED long at 2084.95 | PnL: -0.29% | $-0.75 +2025-03-10 16:16:14,161 - INFO - OPENED SHORT at 2084.95 | Stop loss: 2095.422228571428 | Take profit: 2053.604532142857 +2025-03-10 16:16:14,405 - INFO - TAKE PROFIT hit for short at 2053.604532142857 | PnL: 1.50% | $2.70 +2025-03-10 16:16:14,436 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3024785714288 | Take profit: 2020.1637821428571 +2025-03-10 16:16:14,723 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.16, Avg Loss=$-1.26 +2025-03-10 16:16:14,724 - INFO - Episode 41: Reward=11.14, Balance=$100.97, Win Rate=60.0%, Trades=5, Episode PnL=$3.48, Total PnL=$377.03, Max Drawdown=0.0%, Pred Accuracy=99.2% +2025-03-10 16:16:14,724 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:16:14,724 - INFO - Refreshing data for episode 42 +2025-03-10 16:16:14,725 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:16:15,053 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:16:15,064 - INFO - Initialized environment with 100 candles +2025-03-10 16:16:15,102 - INFO - OPENED SHORT at 2120.54 | Stop loss: 2131.190178571429 | Take profit: 2088.6606821428572 +2025-03-10 16:16:15,177 - INFO - CLOSED short at 2121.42 | PnL: -0.04% | $-0.28 +2025-03-10 16:16:15,200 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.1500785714284 | Take profit: 2084.700982142857 +2025-03-10 16:16:15,319 - INFO - STOP LOSS hit for short at 2127.1500785714284 | PnL: -0.50% | $-1.17 +2025-03-10 16:16:15,348 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.4413285714286 | Take profit: 2092.827232142857 +2025-03-10 16:16:15,932 - INFO - TAKE PROFIT hit for short at 2092.827232142857 | PnL: 1.50% | $2.71 +2025-03-10 16:16:16,021 - INFO - OPENED SHORT at 2096.36 | Stop loss: 2106.8892785714283 | Take profit: 2064.8433821428575 +2025-03-10 16:16:16,912 - INFO - TAKE PROFIT hit for short at 2064.8433821428575 | PnL: 1.50% | $2.78 +2025-03-10 16:16:16,945 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3024785714288 | Take profit: 2020.1637821428571 +2025-03-10 16:16:17,313 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.74, Avg Loss=$-0.73 +2025-03-10 16:16:17,313 - INFO - Episode 42: Reward=12.60, Balance=$104.03, Win Rate=50.0%, Trades=4, Episode PnL=$4.03, Total PnL=$381.06, Max Drawdown=1.5%, Pred Accuracy=99.2% +2025-03-10 16:16:17,313 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:16:17,313 - INFO - Refreshing data for episode 43 +2025-03-10 16:16:17,313 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:16:17,639 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:16:17,648 - INFO - Initialized environment with 100 candles +2025-03-10 16:16:17,686 - INFO - OPENED SHORT at 2120.54 | Stop loss: 2131.190178571429 | Take profit: 2088.6606821428572 +2025-03-10 16:16:18,962 - INFO - TAKE PROFIT hit for short at 2088.6606821428572 | PnL: 1.50% | $2.75 +2025-03-10 16:16:18,988 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0303785714286 | Take profit: 2049.3000821428573 +2025-03-10 16:16:19,207 - INFO - CLOSED short at 2084.11 | PnL: -0.17% | $-0.54 +2025-03-10 16:16:19,207 - INFO - OPENED LONG at 2084.11 | Stop loss: 2073.6419714285717 | Take profit: 2115.442867857143 +2025-03-10 16:16:19,239 - INFO - CLOSED long at 2083.07 | PnL: -0.05% | $-0.30 +2025-03-10 16:16:19,239 - INFO - OPENED SHORT at 2083.07 | Stop loss: 2093.5328285714286 | Take profit: 2051.7527321428574 +2025-03-10 16:16:19,311 - INFO - TAKE PROFIT hit for short at 2051.7527321428574 | PnL: 1.50% | $2.80 +2025-03-10 16:16:19,339 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3024785714288 | Take profit: 2020.1637821428571 +2025-03-10 16:16:19,710 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.77, Avg Loss=$-0.42 +2025-03-10 16:16:19,711 - INFO - Episode 43: Reward=10.64, Balance=$104.70, Win Rate=50.0%, Trades=4, Episode PnL=$5.00, Total PnL=$385.76, Max Drawdown=0.0%, Pred Accuracy=99.3% +2025-03-10 16:16:19,711 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:16:19,711 - INFO - Refreshing data for episode 44 +2025-03-10 16:16:19,712 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:16:20,025 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:16:20,035 - INFO - Initialized environment with 100 candles +2025-03-10 16:16:20,071 - INFO - OPENED SHORT at 2120.54 | Stop loss: 2131.190178571429 | Take profit: 2088.6606821428572 +2025-03-10 16:16:20,416 - INFO - CLOSED short at 2116.81 | PnL: 0.18% | $0.15 +2025-03-10 16:16:20,440 - INFO - OPENED SHORT at 2114.78 | Stop loss: 2125.4013785714287 | Take profit: 2082.987082142857 +2025-03-10 16:16:21,386 - INFO - TAKE PROFIT hit for short at 2082.987082142857 | PnL: 1.50% | $2.75 +2025-03-10 16:16:21,408 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2212285714286 | Take profit: 2053.4075321428572 +2025-03-10 16:16:21,688 - INFO - TAKE PROFIT hit for short at 2053.4075321428572 | PnL: 1.50% | $2.82 +2025-03-10 16:16:21,711 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3024785714288 | Take profit: 2020.1637821428571 +2025-03-10 16:16:22,060 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.91, Avg Loss=$0.00 +2025-03-10 16:16:22,061 - INFO - Episode 44: Reward=14.97, Balance=$105.72, Win Rate=100.0%, Trades=3, Episode PnL=$5.72, Total PnL=$391.49, Max Drawdown=0.0%, Pred Accuracy=99.3% +2025-03-10 16:16:22,061 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:16:22,062 - INFO - Refreshing data for episode 45 +2025-03-10 16:16:22,062 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:16:22,378 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:16:22,388 - INFO - Initialized environment with 100 candles +2025-03-10 16:16:23,158 - INFO - OPENED SHORT at 2120.54 | Stop loss: 2131.190178571429 | Take profit: 2088.6606821428572 +2025-03-10 16:16:24,475 - INFO - TAKE PROFIT hit for short at 2088.6606821428572 | PnL: 1.50% | $2.75 +2025-03-10 16:16:24,495 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0303785714286 | Take profit: 2049.3000821428573 +2025-03-10 16:16:24,570 - INFO - CLOSED short at 2084.25 | PnL: -0.18% | $-0.56 +2025-03-10 16:16:24,594 - INFO - OPENED SHORT at 2085.37 | Stop loss: 2095.8443285714284 | Take profit: 2054.018232142857 +2025-03-10 16:16:24,782 - INFO - TAKE PROFIT hit for short at 2054.018232142857 | PnL: 1.50% | $2.80 +2025-03-10 16:16:24,817 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3024785714288 | Take profit: 2020.1637821428571 +2025-03-10 16:16:25,064 - INFO - CLOSED short at 2044.1 | PnL: 0.34% | $0.49 +2025-03-10 16:16:25,114 - INFO - OPENED SHORT at 2043.59 | Stop loss: 2053.8554285714285 | Take profit: 2012.864932142857 +2025-03-10 16:16:25,210 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.01, Avg Loss=$-0.56 +2025-03-10 16:16:25,211 - INFO - Episode 45: Reward=13.55, Balance=$105.48, Win Rate=75.0%, Trades=4, Episode PnL=$5.48, Total PnL=$396.97, Max Drawdown=0.5%, Pred Accuracy=99.3% +2025-03-10 16:16:25,211 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:16:25,212 - INFO - Refreshing data for episode 46 +2025-03-10 16:16:25,212 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:16:25,530 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:16:25,539 - INFO - Initialized environment with 100 candles +2025-03-10 16:16:25,577 - INFO - OPENED SHORT at 2120.54 | Stop loss: 2131.190178571429 | Take profit: 2088.6606821428572 +2025-03-10 16:16:26,943 - INFO - TAKE PROFIT hit for short at 2088.6606821428572 | PnL: 1.50% | $2.75 +2025-03-10 16:16:26,971 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0303785714286 | Take profit: 2049.3000821428573 +2025-03-10 16:16:27,293 - INFO - TAKE PROFIT hit for short at 2049.3000821428573 | PnL: 1.50% | $2.82 +2025-03-10 16:16:27,318 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3024785714288 | Take profit: 2020.1637821428571 +2025-03-10 16:16:27,363 - INFO - CLOSED short at 2052.89 | PnL: -0.09% | $-0.40 +2025-03-10 16:16:27,389 - INFO - OPENED SHORT at 2053.22 | Stop loss: 2063.5335785714287 | Take profit: 2022.3504821428571 +2025-03-10 16:16:27,686 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$-0.40 +2025-03-10 16:16:27,686 - INFO - Episode 46: Reward=12.60, Balance=$105.17, Win Rate=66.7%, Trades=3, Episode PnL=$5.17, Total PnL=$402.13, Max Drawdown=0.4%, Pred Accuracy=99.4% +2025-03-10 16:16:27,687 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:16:27,687 - INFO - Refreshing data for episode 47 +2025-03-10 16:16:27,687 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:16:27,991 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:16:28,001 - INFO - Initialized environment with 100 candles +2025-03-10 16:16:28,039 - INFO - OPENED SHORT at 2120.54 | Stop loss: 2131.1912464285715 | Take profit: 2088.659080357143 +2025-03-10 16:16:29,360 - INFO - TAKE PROFIT hit for short at 2088.659080357143 | PnL: 1.50% | $2.74 +2025-03-10 16:16:29,378 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0314464285716 | Take profit: 2049.2984803571426 +2025-03-10 16:16:29,700 - INFO - TAKE PROFIT hit for short at 2049.2984803571426 | PnL: 1.50% | $2.82 +2025-03-10 16:16:29,726 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3035464285713 | Take profit: 2020.162180357143 +2025-03-10 16:16:30,095 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$0.00 +2025-03-10 16:16:30,096 - INFO - Episode 47: Reward=14.07, Balance=$105.56, Win Rate=100.0%, Trades=2, Episode PnL=$5.56, Total PnL=$407.70, Max Drawdown=0.0%, Pred Accuracy=99.3% +2025-03-10 16:16:30,096 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:16:30,097 - INFO - Refreshing data for episode 48 +2025-03-10 16:16:30,097 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:16:30,435 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:16:30,446 - INFO - Initialized environment with 100 candles +2025-03-10 16:16:30,487 - INFO - OPENED SHORT at 2120.54 | Stop loss: 2131.191603571429 | Take profit: 2088.658544642857 +2025-03-10 16:16:31,127 - INFO - CLOSED short at 2115.07 | PnL: 0.26% | $0.31 +2025-03-10 16:16:31,127 - INFO - OPENED LONG at 2115.07 | Stop loss: 2104.4457464285715 | Take profit: 2146.869405357143 +2025-03-10 16:16:31,152 - INFO - CLOSED long at 2098.24 | PnL: -0.80% | $-1.76 +2025-03-10 16:16:31,152 - INFO - OPENED SHORT at 2098.24 | Stop loss: 2108.7801035714283 | Take profit: 2066.693044642857 +2025-03-10 16:16:31,395 - INFO - CLOSED short at 2096.19 | PnL: 0.10% | $-0.00 +2025-03-10 16:16:31,424 - INFO - OPENED SHORT at 2100.0 | Stop loss: 2110.5489035714286 | Take profit: 2068.426644642857 +2025-03-10 16:16:32,037 - INFO - TAKE PROFIT hit for short at 2068.426644642857 | PnL: 1.50% | $2.70 +2025-03-10 16:16:32,086 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.590403571429 | Take profit: 2017.5021446428575 +2025-03-10 16:16:32,453 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.51, Avg Loss=$-0.88 +2025-03-10 16:16:32,454 - INFO - Episode 48: Reward=10.90, Balance=$101.25, Win Rate=50.0%, Trades=4, Episode PnL=$3.01, Total PnL=$408.95, Max Drawdown=1.5%, Pred Accuracy=99.4% +2025-03-10 16:16:32,454 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:16:32,455 - INFO - Refreshing data for episode 49 +2025-03-10 16:16:32,455 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:16:32,788 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:16:32,800 - INFO - Initialized environment with 100 candles +2025-03-10 16:16:32,948 - INFO - OPENED SHORT at 2120.54 | Stop loss: 2131.191603571429 | Take profit: 2088.658544642857 +2025-03-10 16:16:34,363 - INFO - TAKE PROFIT hit for short at 2088.658544642857 | PnL: 1.50% | $2.74 +2025-03-10 16:16:34,386 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0318035714286 | Take profit: 2049.297944642857 +2025-03-10 16:16:34,697 - INFO - CLOSED short at 2048.3 | PnL: 1.55% | $2.91 +2025-03-10 16:16:34,727 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3039035714287 | Take profit: 2020.1616446428573 +2025-03-10 16:16:35,141 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.83, Avg Loss=$0.00 +2025-03-10 16:16:35,142 - INFO - Episode 49: Reward=16.65, Balance=$105.66, Win Rate=100.0%, Trades=2, Episode PnL=$5.66, Total PnL=$414.61, Max Drawdown=0.0%, Pred Accuracy=99.4% +2025-03-10 16:16:35,142 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:16:35,143 - INFO - Early stopping triggered after 50 episodes without improvement +2025-03-10 16:16:35,291 - INFO - Model saved to models/trading_agent_final.pt +2025-03-10 16:16:36,316 - INFO - Training results saved to training_results.png +2025-03-10 16:16:36,470 - INFO - Model saved to models/trading_agent_continuous_50.pt +2025-03-10 16:16:41,485 - INFO - Starting training batch 3 +2025-03-10 16:16:41,486 - INFO - Refreshing data for new training batch +2025-03-10 16:16:41,486 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:16:41,849 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 16:16:41,854 - INFO - Initialized environment with 500 candles +2025-03-10 16:16:41,854 - INFO - Updated environment with fresh candles +2025-03-10 16:16:41,860 - INFO - Starting training on device: cuda +2025-03-10 16:16:41,860 - INFO - Loading best model from models/trading_agent_best_pnl.pt to resume training +2025-03-10 16:16:41,860 - INFO - Loading model from models/trading_agent_best_pnl.pt +2025-03-10 16:16:42,055 - INFO - Model loaded successfully with weights_only=True +2025-03-10 16:16:42,062 - INFO - Resumed with best metrics - Reward: 202.74, PnL: $7.30, Win Rate: 66.7% +2025-03-10 16:16:42,067 - INFO - Refreshing data for episode 0 +2025-03-10 16:16:42,067 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:16:42,374 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:16:42,384 - INFO - Initialized environment with 100 candles +2025-03-10 16:16:43,194 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.639667857143 | Take profit: 2086.1554982142857 +2025-03-10 16:16:43,759 - INFO - CLOSED short at 2115.07 | PnL: 0.14% | $0.07 +2025-03-10 16:16:43,787 - INFO - OPENED SHORT at 2098.24 | Stop loss: 2108.7808678571423 | Take profit: 2066.6918982142856 +2025-03-10 16:16:44,396 - INFO - CLOSED short at 2085.37 | PnL: 0.61% | $1.00 +2025-03-10 16:16:44,420 - INFO - OPENED SHORT at 2084.11 | Stop loss: 2094.580217857143 | Take profit: 2052.773848214286 +2025-03-10 16:16:44,523 - INFO - TAKE PROFIT hit for short at 2052.773848214286 | PnL: 1.50% | $2.77 +2025-03-10 16:16:44,552 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3046678571427 | Take profit: 2020.1604982142856 +2025-03-10 16:16:44,834 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.28, Avg Loss=$0.00 +2025-03-10 16:16:44,834 - INFO - Episode 0: Reward=29.97, Balance=$103.85, Win Rate=100.0%, Trades=3, Episode PnL=$3.85, Total PnL=$418.46, Max Drawdown=0.0%, Pred Accuracy=99.7% +2025-03-10 16:16:44,974 - INFO - Model saved to checkpoints/trading_agent_episode_0.pt +2025-03-10 16:16:44,976 - INFO - Checkpoint saved at episode 0 +2025-03-10 16:16:46,370 - INFO - Visualization saved for episode 0 +2025-03-10 16:16:48,207 - INFO - Visualization saved for episode 0 +2025-03-10 16:16:48,226 - INFO - Refreshing data for episode 1 +2025-03-10 16:16:48,227 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:16:48,542 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:16:48,554 - INFO - Initialized environment with 100 candles +2025-03-10 16:16:48,853 - INFO - OPENED SHORT at 2120.54 | Stop loss: 2131.193389285714 | Take profit: 2088.6558660714286 +2025-03-10 16:16:48,970 - INFO - CLOSED short at 2119.02 | PnL: 0.07% | $-0.06 +2025-03-10 16:16:49,001 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.6154892857144 | Take profit: 2089.0695660714287 +2025-03-10 16:16:49,846 - INFO - TAKE PROFIT hit for short at 2089.0695660714287 | PnL: 1.50% | $2.74 +2025-03-10 16:16:49,875 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3398892857144 | Take profit: 2058.4163660714285 +2025-03-10 16:16:49,951 - INFO - STOP LOSS hit for short at 2100.3398892857144 | PnL: -0.50% | $-1.21 +2025-03-10 16:16:49,974 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.977739285714 | Take profit: 2071.7828160714284 +2025-03-10 16:16:50,588 - INFO - CLOSED short at 2083.07 | PnL: 0.97% | $1.72 +2025-03-10 16:16:50,588 - INFO - OPENED LONG at 2083.07 | Stop loss: 2072.6039607142857 | Take profit: 2114.3920839285715 +2025-03-10 16:16:50,625 - INFO - CLOSED long at 2075.07 | PnL: -0.38% | $-0.98 +2025-03-10 16:16:50,625 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.4960392857142 | Take profit: 2043.8679160714287 +2025-03-10 16:16:50,721 - INFO - TAKE PROFIT hit for short at 2043.8679160714287 | PnL: 1.50% | $2.80 +2025-03-10 16:16:50,747 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.2051392857143 | Take profit: 2022.0206160714283 +2025-03-10 16:16:51,084 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$2.42, Avg Loss=$-0.75 +2025-03-10 16:16:51,085 - INFO - Episode 1: Reward=12.89, Balance=$105.02, Win Rate=50.0%, Trades=6, Episode PnL=$6.00, Total PnL=$423.48, Max Drawdown=1.2%, Pred Accuracy=99.7% +2025-03-10 16:16:51,086 - INFO - Refreshing data for episode 2 +2025-03-10 16:16:51,086 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:16:51,380 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:16:51,390 - INFO - Initialized environment with 100 candles +2025-03-10 16:16:51,424 - INFO - OPENED SHORT at 2120.54 | Stop loss: 2131.193389285714 | Take profit: 2088.6558660714286 +2025-03-10 16:16:52,258 - INFO - CLOSED short at 2098.24 | PnL: 1.05% | $1.86 +2025-03-10 16:16:52,259 - INFO - OPENED LONG at 2098.24 | Stop loss: 2087.6981107142856 | Take profit: 2129.789633928571 +2025-03-10 16:16:52,287 - INFO - CLOSED long at 2098.28 | PnL: 0.00% | $-0.20 +2025-03-10 16:16:52,287 - INFO - OPENED SHORT at 2098.28 | Stop loss: 2108.8220892857144 | Take profit: 2066.729766071429 +2025-03-10 16:16:53,118 - INFO - CLOSED short at 2084.25 | PnL: 0.67% | $1.13 +2025-03-10 16:16:53,119 - INFO - OPENED LONG at 2084.25 | Stop loss: 2073.778060714286 | Take profit: 2115.5897839285717 +2025-03-10 16:16:53,152 - INFO - CLOSED long at 2085.37 | PnL: 0.05% | $-0.09 +2025-03-10 16:16:53,152 - INFO - OPENED SHORT at 2085.37 | Stop loss: 2095.8475392857144 | Take profit: 2054.0134160714283 +2025-03-10 16:16:53,408 - INFO - TAKE PROFIT hit for short at 2054.0134160714283 | PnL: 1.50% | $2.81 +2025-03-10 16:16:53,443 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305689285714 | Take profit: 2020.1589660714285 +2025-03-10 16:16:53,865 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.93, Avg Loss=$-0.14 +2025-03-10 16:16:53,865 - INFO - Episode 2: Reward=15.07, Balance=$105.51, Win Rate=60.0%, Trades=5, Episode PnL=$5.80, Total PnL=$428.99, Max Drawdown=0.0%, Pred Accuracy=99.8% +2025-03-10 16:16:53,866 - INFO - Refreshing data for episode 3 +2025-03-10 16:16:53,866 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:16:54,174 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:16:54,187 - INFO - Initialized environment with 100 candles +2025-03-10 16:16:54,227 - INFO - OPENED SHORT at 2120.54 | Stop loss: 2131.193389285714 | Take profit: 2088.6558660714286 +2025-03-10 16:16:54,389 - INFO - CLOSED short at 2120.96 | PnL: -0.02% | $-0.23 +2025-03-10 16:16:54,445 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.5751892857147 | Take profit: 2092.9504660714288 +2025-03-10 16:16:55,053 - INFO - CLOSED short at 2115.07 | PnL: 0.46% | $0.71 +2025-03-10 16:16:55,053 - INFO - OPENED LONG at 2115.07 | Stop loss: 2104.443960714286 | Take profit: 2146.872083928572 +2025-03-10 16:16:55,080 - INFO - CLOSED long at 2098.24 | PnL: -0.80% | $-1.76 +2025-03-10 16:16:55,080 - INFO - OPENED SHORT at 2098.24 | Stop loss: 2108.781889285714 | Take profit: 2066.6903660714283 +2025-03-10 16:16:55,105 - INFO - CLOSED short at 2098.28 | PnL: -0.00% | $-0.20 +2025-03-10 16:16:55,105 - INFO - OPENED LONG at 2098.28 | Stop loss: 2087.737910714286 | Take profit: 2129.8302339285715 +2025-03-10 16:16:55,133 - INFO - CLOSED long at 2091.36 | PnL: -0.33% | $-0.83 +2025-03-10 16:16:55,133 - INFO - OPENED SHORT at 2091.36 | Stop loss: 2101.8674892857143 | Take profit: 2059.9135660714287 +2025-03-10 16:16:55,229 - INFO - CLOSED short at 2089.04 | PnL: 0.11% | $0.02 +2025-03-10 16:16:55,283 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3398892857144 | Take profit: 2058.4163660714285 +2025-03-10 16:16:55,435 - INFO - STOP LOSS hit for short at 2100.3398892857144 | PnL: -0.50% | $-1.15 +2025-03-10 16:16:55,467 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.977739285714 | Take profit: 2071.7828160714284 +2025-03-10 16:16:55,821 - INFO - CLOSED short at 2084.95 | PnL: 0.88% | $1.47 +2025-03-10 16:16:55,849 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0335892857142 | Take profit: 2049.2952660714286 +2025-03-10 16:16:56,116 - INFO - TAKE PROFIT hit for short at 2049.2952660714286 | PnL: 1.50% | $2.69 +2025-03-10 16:16:56,148 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305689285714 | Take profit: 2020.1589660714285 +2025-03-10 16:16:56,484 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$1.22, Avg Loss=$-0.83 +2025-03-10 16:16:56,486 - INFO - Episode 3: Reward=10.26, Balance=$100.72, Win Rate=44.4%, Trades=9, Episode PnL=$3.30, Total PnL=$429.71, Max Drawdown=3.4%, Pred Accuracy=99.8% +2025-03-10 16:16:56,486 - INFO - Refreshing data for episode 4 +2025-03-10 16:16:56,486 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:16:56,781 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:16:56,795 - INFO - Initialized environment with 100 candles +2025-03-10 16:16:56,831 - INFO - OPENED SHORT at 2120.54 | Stop loss: 2131.193389285714 | Take profit: 2088.6558660714286 +2025-03-10 16:16:56,935 - INFO - CLOSED short at 2116.52 | PnL: 0.19% | $0.17 +2025-03-10 16:16:56,961 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.6657892857143 | Take profit: 2087.158666071429 +2025-03-10 16:16:57,244 - INFO - CLOSED short at 2114.1 | PnL: 0.23% | $0.26 +2025-03-10 16:16:57,245 - INFO - OPENED LONG at 2114.1 | Stop loss: 2103.478810714286 | Take profit: 2145.8875339285714 +2025-03-10 16:16:57,269 - INFO - CLOSED long at 2115.11 | PnL: 0.05% | $-0.10 +2025-03-10 16:16:57,269 - INFO - OPENED SHORT at 2115.11 | Stop loss: 2125.7362392857144 | Take profit: 2083.307316071429 +2025-03-10 16:16:57,469 - INFO - CLOSED short at 2098.28 | PnL: 0.80% | $1.36 +2025-03-10 16:16:57,470 - INFO - OPENED LONG at 2098.28 | Stop loss: 2087.737910714286 | Take profit: 2129.8302339285715 +2025-03-10 16:16:57,502 - INFO - CLOSED long at 2091.36 | PnL: -0.33% | $-0.85 +2025-03-10 16:16:57,503 - INFO - OPENED SHORT at 2091.36 | Stop loss: 2101.8674892857143 | Take profit: 2059.9135660714287 +2025-03-10 16:16:57,668 - INFO - STOP LOSS hit for short at 2101.8674892857143 | PnL: -0.50% | $-1.19 +2025-03-10 16:16:57,695 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.977739285714 | Take profit: 2071.7828160714284 +2025-03-10 16:16:58,074 - INFO - CLOSED short at 2084.25 | PnL: 0.91% | $1.58 +2025-03-10 16:16:58,074 - INFO - OPENED LONG at 2084.25 | Stop loss: 2073.778060714286 | Take profit: 2115.5897839285717 +2025-03-10 16:16:58,097 - INFO - CLOSED long at 2085.37 | PnL: 0.05% | $-0.09 +2025-03-10 16:16:58,098 - INFO - OPENED SHORT at 2085.37 | Stop loss: 2095.8475392857144 | Take profit: 2054.0134160714283 +2025-03-10 16:16:58,225 - INFO - TAKE PROFIT hit for short at 2054.0134160714283 | PnL: 1.50% | $2.77 +2025-03-10 16:16:58,248 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305689285714 | Take profit: 2020.1589660714285 +2025-03-10 16:16:58,545 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 80.0% in downtrends | Avg Win=$1.23, Avg Loss=$-0.56 +2025-03-10 16:16:58,546 - INFO - Episode 4: Reward=28.92, Balance=$103.91, Win Rate=55.6%, Trades=9, Episode PnL=$4.96, Total PnL=$433.62, Max Drawdown=0.5%, Pred Accuracy=99.8% +2025-03-10 16:16:58,547 - INFO - Refreshing data for episode 5 +2025-03-10 16:16:58,547 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:16:58,864 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:16:58,878 - INFO - Initialized environment with 100 candles +2025-03-10 16:16:59,640 - INFO - OPENED SHORT at 2120.54 | Stop loss: 2131.193389285714 | Take profit: 2088.6558660714286 +2025-03-10 16:17:00,211 - INFO - CLOSED short at 2116.06 | PnL: 0.21% | $0.22 +2025-03-10 16:17:00,255 - INFO - OPENED SHORT at 2115.21 | Stop loss: 2125.8367392857144 | Take profit: 2083.4058160714285 +2025-03-10 16:17:00,674 - INFO - CLOSED short at 2089.04 | PnL: 1.24% | $2.23 +2025-03-10 16:17:00,731 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3398892857144 | Take profit: 2058.4163660714285 +2025-03-10 16:17:00,835 - INFO - STOP LOSS hit for short at 2100.3398892857144 | PnL: -0.50% | $-1.21 +2025-03-10 16:17:00,862 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.977739285714 | Take profit: 2071.7828160714284 +2025-03-10 16:17:01,369 - INFO - TAKE PROFIT hit for short at 2071.7828160714284 | PnL: 1.50% | $2.78 +2025-03-10 16:17:01,396 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5921892857145 | Take profit: 2017.4994660714287 +2025-03-10 16:17:01,761 - INFO - CLOSED short at 2042.0 | PnL: 0.31% | $0.42 +2025-03-10 16:17:01,782 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$1.41, Avg Loss=$-1.21 +2025-03-10 16:17:01,782 - INFO - Episode 5: Reward=18.40, Balance=$104.43, Win Rate=80.0%, Trades=5, Episode PnL=$4.43, Total PnL=$438.06, Max Drawdown=1.2%, Pred Accuracy=99.8% +2025-03-10 16:17:01,783 - INFO - Refreshing data for episode 6 +2025-03-10 16:17:01,783 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:17:02,116 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:17:02,127 - INFO - Initialized environment with 100 candles +2025-03-10 16:17:02,263 - INFO - OPENED SHORT at 2120.54 | Stop loss: 2131.193389285714 | Take profit: 2088.6558660714286 +2025-03-10 16:17:03,423 - INFO - CLOSED short at 2105.26 | PnL: 0.72% | $1.21 +2025-03-10 16:17:03,424 - INFO - OPENED LONG at 2105.26 | Stop loss: 2094.683010714286 | Take profit: 2136.914933928572 +2025-03-10 16:17:03,479 - INFO - CLOSED long at 2099.63 | PnL: -0.27% | $-0.73 +2025-03-10 16:17:03,479 - INFO - OPENED SHORT at 2099.63 | Stop loss: 2110.1788392857143 | Take profit: 2068.059516071429 +2025-03-10 16:17:03,981 - INFO - TAKE PROFIT hit for short at 2068.059516071429 | PnL: 1.50% | $2.75 +2025-03-10 16:17:04,036 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305689285714 | Take profit: 2020.1589660714285 +2025-03-10 16:17:04,100 - INFO - CLOSED short at 2053.22 | PnL: -0.11% | $-0.42 +2025-03-10 16:17:04,100 - INFO - OPENED LONG at 2053.22 | Stop loss: 2042.9032107142857 | Take profit: 2084.0943339285714 +2025-03-10 16:17:04,121 - INFO - CLOSED long at 2058.11 | PnL: 0.24% | $0.28 +2025-03-10 16:17:04,122 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.4512392857146 | Take profit: 2027.162316071429 +2025-03-10 16:17:04,344 - INFO - CLOSED short at 2042.0 | PnL: 0.78% | $1.37 +2025-03-10 16:17:04,385 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$1.40, Avg Loss=$-0.57 +2025-03-10 16:17:04,386 - INFO - Episode 6: Reward=28.09, Balance=$104.47, Win Rate=66.7%, Trades=6, Episode PnL=$4.92, Total PnL=$442.53, Max Drawdown=0.0%, Pred Accuracy=99.9% +2025-03-10 16:17:04,387 - INFO - Refreshing data for episode 7 +2025-03-10 16:17:04,387 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:17:04,712 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:17:04,724 - INFO - Initialized environment with 100 candles +2025-03-10 16:17:04,760 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.6301357142856 | Take profit: 2086.1697964285713 +2025-03-10 16:17:06,156 - INFO - TAKE PROFIT hit for short at 2086.1697964285713 | PnL: 1.50% | $2.75 +2025-03-10 16:17:06,179 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0230357142855 | Take profit: 2049.311096428571 +2025-03-10 16:17:06,500 - INFO - TAKE PROFIT hit for short at 2049.311096428571 | PnL: 1.50% | $2.83 +2025-03-10 16:17:06,524 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.2951357142856 | Take profit: 2020.1747964285714 +2025-03-10 16:17:06,857 - INFO - CLOSED short at 2043.59 | PnL: 0.36% | $0.54 +2025-03-10 16:17:06,880 - INFO - OPENED SHORT at 2042.0 | Stop loss: 2052.2501357142855 | Take profit: 2011.3097964285714 +2025-03-10 16:17:06,923 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.04, Avg Loss=$0.00 +2025-03-10 16:17:06,924 - INFO - Episode 7: Reward=15.31, Balance=$106.12, Win Rate=100.0%, Trades=3, Episode PnL=$6.12, Total PnL=$448.65, Max Drawdown=0.0%, Pred Accuracy=99.8% +2025-03-10 16:17:06,924 - INFO - Refreshing data for episode 8 +2025-03-10 16:17:06,924 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:17:07,243 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:17:07,254 - INFO - Initialized environment with 100 candles +2025-03-10 16:17:07,525 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.6308214285714 | Take profit: 2086.168767857143 +2025-03-10 16:17:08,197 - INFO - CLOSED short at 2089.84 | PnL: 1.33% | $2.41 +2025-03-10 16:17:08,224 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.7117714285714 | Take profit: 2064.685917857143 +2025-03-10 16:17:08,748 - INFO - TAKE PROFIT hit for short at 2064.685917857143 | PnL: 1.50% | $2.82 +2025-03-10 16:17:08,772 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.2958214285713 | Take profit: 2020.173767857143 +2025-03-10 16:17:09,081 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.62, Avg Loss=$0.00 +2025-03-10 16:17:09,082 - INFO - Episode 8: Reward=16.33, Balance=$105.23, Win Rate=100.0%, Trades=2, Episode PnL=$5.23, Total PnL=$453.88, Max Drawdown=0.0%, Pred Accuracy=99.8% +2025-03-10 16:17:09,082 - INFO - Refreshing data for episode 9 +2025-03-10 16:17:09,082 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:17:09,404 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:17:09,414 - INFO - Initialized environment with 100 candles +2025-03-10 16:17:09,456 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.6308214285714 | Take profit: 2086.168767857143 +2025-03-10 16:17:09,914 - INFO - CLOSED short at 2114.57 | PnL: 0.16% | $0.12 +2025-03-10 16:17:09,943 - INFO - OPENED SHORT at 2112.57 | Stop loss: 2123.1736714285717 | Take profit: 2080.820217857143 +2025-03-10 16:17:10,603 - INFO - TAKE PROFIT hit for short at 2080.820217857143 | PnL: 1.50% | $2.76 +2025-03-10 16:17:10,675 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.214571428571 | Take profit: 2053.4175178571427 +2025-03-10 16:17:10,942 - INFO - TAKE PROFIT hit for short at 2053.4175178571427 | PnL: 1.50% | $2.83 +2025-03-10 16:17:10,969 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.2958214285713 | Take profit: 2020.173767857143 +2025-03-10 16:17:11,356 - INFO - CLOSED short at 2042.0 | PnL: 0.44% | $0.70 +2025-03-10 16:17:11,357 - INFO - OPENED LONG at 2042.0 | Stop loss: 2031.7491785714285 | Take profit: 2072.691232142857 +2025-03-10 16:17:11,407 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.60, Avg Loss=$0.00 +2025-03-10 16:17:11,408 - INFO - Episode 9: Reward=15.55, Balance=$106.41, Win Rate=100.0%, Trades=4, Episode PnL=$6.41, Total PnL=$460.29, Max Drawdown=0.0%, Pred Accuracy=99.7% +2025-03-10 16:17:11,410 - INFO - Refreshing data for episode 10 +2025-03-10 16:17:11,410 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:17:11,728 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:17:11,737 - INFO - Initialized environment with 100 candles +2025-03-10 16:17:12,671 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.630839285714 | Take profit: 2086.1687410714285 +2025-03-10 16:17:13,909 - INFO - CLOSED short at 2096.19 | PnL: 1.03% | $1.82 +2025-03-10 16:17:13,937 - INFO - OPENED SHORT at 2100.0 | Stop loss: 2110.5408392857144 | Take profit: 2068.4387410714285 +2025-03-10 16:17:14,679 - INFO - TAKE PROFIT hit for short at 2068.4387410714285 | PnL: 1.50% | $2.80 +2025-03-10 16:17:14,711 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.582339285714 | Take profit: 2017.5142410714288 +2025-03-10 16:17:15,154 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.31, Avg Loss=$0.00 +2025-03-10 16:17:15,154 - INFO - Episode 10: Reward=15.93, Balance=$104.63, Win Rate=100.0%, Trades=2, Episode PnL=$4.63, Total PnL=$464.92, Max Drawdown=0.0%, Pred Accuracy=99.6% +2025-03-10 16:17:15,312 - INFO - Model saved to checkpoints/trading_agent_episode_10.pt +2025-03-10 16:17:15,313 - INFO - Checkpoint saved at episode 10 +2025-03-10 16:17:16,340 - INFO - Visualization saved for episode 10 +2025-03-10 16:17:18,538 - INFO - Visualization saved for episode 10 +2025-03-10 16:17:18,554 - INFO - Refreshing data for episode 11 +2025-03-10 16:17:18,555 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:17:18,878 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:17:18,889 - INFO - Initialized environment with 100 candles +2025-03-10 16:17:19,231 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.630839285714 | Take profit: 2086.1687410714285 +2025-03-10 16:17:20,565 - INFO - TAKE PROFIT hit for short at 2086.1687410714285 | PnL: 1.50% | $2.75 +2025-03-10 16:17:20,592 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0237392857143 | Take profit: 2049.3100410714283 +2025-03-10 16:17:20,920 - INFO - TAKE PROFIT hit for short at 2049.3100410714283 | PnL: 1.50% | $2.83 +2025-03-10 16:17:20,946 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.2958392857145 | Take profit: 2020.1737410714286 +2025-03-10 16:17:21,361 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.79, Avg Loss=$0.00 +2025-03-10 16:17:21,362 - INFO - Episode 11: Reward=14.09, Balance=$105.58, Win Rate=100.0%, Trades=2, Episode PnL=$5.58, Total PnL=$470.50, Max Drawdown=0.0%, Pred Accuracy=99.3% +2025-03-10 16:17:21,363 - INFO - Refreshing data for episode 12 +2025-03-10 16:17:21,363 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:17:21,701 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:17:21,712 - INFO - Initialized environment with 100 candles +2025-03-10 16:17:21,992 - INFO - OPENED SHORT at 2121.8 | Stop loss: 2132.449932142857 | Take profit: 2089.9116017857145 +2025-03-10 16:17:22,901 - INFO - TAKE PROFIT hit for short at 2089.9116017857145 | PnL: 1.50% | $2.75 +2025-03-10 16:17:22,926 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3301321428576 | Take profit: 2058.4310017857147 +2025-03-10 16:17:22,997 - INFO - STOP LOSS hit for short at 2100.3301321428576 | PnL: -0.50% | $-1.21 +2025-03-10 16:17:23,039 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9679821428567 | Take profit: 2071.797451785714 +2025-03-10 16:17:23,706 - INFO - TAKE PROFIT hit for short at 2071.797451785714 | PnL: 1.50% | $2.79 +2025-03-10 16:17:23,728 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.582432142857 | Take profit: 2017.5141017857145 +2025-03-10 16:17:24,159 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.77, Avg Loss=$-1.21 +2025-03-10 16:17:24,161 - INFO - Episode 12: Reward=13.92, Balance=$104.33, Win Rate=66.7%, Trades=3, Episode PnL=$4.33, Total PnL=$474.83, Max Drawdown=1.2%, Pred Accuracy=98.8% +2025-03-10 16:17:24,161 - INFO - Refreshing data for episode 13 +2025-03-10 16:17:24,162 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:17:24,509 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:17:24,519 - INFO - Initialized environment with 100 candles +2025-03-10 16:17:24,725 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.630932142857 | Take profit: 2086.1686017857146 +2025-03-10 16:17:25,699 - INFO - CLOSED short at 2103.41 | PnL: 0.69% | $1.16 +2025-03-10 16:17:25,699 - INFO - OPENED LONG at 2103.41 | Stop loss: 2092.8520178571425 | Take profit: 2135.022548214286 +2025-03-10 16:17:25,723 - INFO - CLOSED long at 2104.22 | PnL: 0.04% | $-0.12 +2025-03-10 16:17:25,723 - INFO - OPENED SHORT at 2104.22 | Stop loss: 2114.782032142857 | Take profit: 2072.595301785714 +2025-03-10 16:17:26,073 - INFO - CLOSED short at 2080.58 | PnL: 1.12% | $2.03 +2025-03-10 16:17:26,102 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.214682142857 | Take profit: 2053.4173517857143 +2025-03-10 16:17:26,374 - INFO - TAKE PROFIT hit for short at 2053.4173517857143 | PnL: 1.50% | $2.84 +2025-03-10 16:17:26,417 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.295932142857 | Take profit: 2020.1736017857143 +2025-03-10 16:17:26,822 - INFO - CLOSED short at 2036.71 | PnL: 0.70% | $1.24 +2025-03-10 16:17:26,822 - INFO - OPENED LONG at 2036.71 | Stop loss: 2026.485517857143 | Take profit: 2067.322048214286 +2025-03-10 16:17:26,845 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.81, Avg Loss=$-0.12 +2025-03-10 16:17:26,845 - INFO - Episode 13: Reward=4.01, Balance=$107.14, Win Rate=80.0%, Trades=5, Episode PnL=$7.26, Total PnL=$481.97, Max Drawdown=0.0%, Pred Accuracy=98.0% +2025-03-10 16:17:26,846 - INFO - Refreshing data for episode 14 +2025-03-10 16:17:26,846 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:17:27,163 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:17:27,174 - INFO - Initialized environment with 100 candles +2025-03-10 16:17:27,214 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.630932142857 | Take profit: 2086.1686017857146 +2025-03-10 16:17:27,241 - INFO - CLOSED short at 2121.8 | PnL: -0.18% | $-0.55 +2025-03-10 16:17:27,242 - INFO - OPENED LONG at 2121.8 | Stop loss: 2111.150067857143 | Take profit: 2153.688398214286 +2025-03-10 16:17:27,342 - INFO - CLOSED long at 2119.02 | PnL: -0.13% | $-0.45 +2025-03-10 16:17:27,343 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.656032142857 | Take profit: 2087.173301785714 +2025-03-10 16:17:27,730 - INFO - CLOSED short at 2114.1 | PnL: 0.23% | $0.26 +2025-03-10 16:17:27,759 - INFO - OPENED SHORT at 2115.11 | Stop loss: 2125.726482142857 | Take profit: 2083.3219517857146 +2025-03-10 16:17:28,726 - INFO - TAKE PROFIT hit for short at 2083.3219517857146 | PnL: 1.50% | $2.73 +2025-03-10 16:17:28,780 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.214682142857 | Take profit: 2053.4173517857143 +2025-03-10 16:17:29,024 - INFO - TAKE PROFIT hit for short at 2053.4173517857143 | PnL: 1.50% | $2.81 +2025-03-10 16:17:29,105 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.295932142857 | Take profit: 2020.1736017857143 +2025-03-10 16:17:29,609 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$1.93, Avg Loss=$-0.50 +2025-03-10 16:17:29,609 - INFO - Episode 14: Reward=-3.27, Balance=$104.80, Win Rate=60.0%, Trades=5, Episode PnL=$5.25, Total PnL=$486.77, Max Drawdown=0.7%, Pred Accuracy=97.5% +2025-03-10 16:17:29,609 - INFO - Refreshing data for episode 15 +2025-03-10 16:17:29,611 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:17:29,962 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:17:29,972 - INFO - Initialized environment with 100 candles +2025-03-10 16:17:30,807 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.632482142857 | Take profit: 2086.166276785714 +2025-03-10 16:17:31,331 - INFO - CLOSED short at 2113.28 | PnL: 0.22% | $0.24 +2025-03-10 16:17:31,331 - INFO - OPENED LONG at 2113.28 | Stop loss: 2102.671117857143 | Take profit: 2145.042923214286 +2025-03-10 16:17:31,398 - INFO - CLOSED long at 2115.07 | PnL: 0.08% | $-0.03 +2025-03-10 16:17:31,399 - INFO - OPENED SHORT at 2115.07 | Stop loss: 2125.687832142857 | Take profit: 2083.2802267857146 +2025-03-10 16:17:32,129 - INFO - TAKE PROFIT hit for short at 2083.2802267857146 | PnL: 1.50% | $2.76 +2025-03-10 16:17:32,155 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.216232142857 | Take profit: 2053.4150267857144 +2025-03-10 16:17:32,410 - INFO - CLOSED short at 2075.07 | PnL: 0.46% | $0.74 +2025-03-10 16:17:32,457 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.583982142857 | Take profit: 2017.5117767857146 +2025-03-10 16:17:32,835 - INFO - CLOSED short at 2043.59 | PnL: 0.23% | $0.26 +2025-03-10 16:17:32,862 - INFO - OPENED SHORT at 2042.0 | Stop loss: 2052.252482142857 | Take profit: 2011.3062767857143 +2025-03-10 16:17:32,908 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.00, Avg Loss=$-0.03 +2025-03-10 16:17:32,909 - INFO - Episode 15: Reward=1.51, Balance=$103.97, Win Rate=80.0%, Trades=5, Episode PnL=$4.00, Total PnL=$490.73, Max Drawdown=0.0%, Pred Accuracy=98.0% +2025-03-10 16:17:32,909 - INFO - Refreshing data for episode 16 +2025-03-10 16:17:32,910 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:17:33,232 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:17:33,245 - INFO - Initialized environment with 100 candles +2025-03-10 16:17:33,282 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.6331464285713 | Take profit: 2086.165280357143 +2025-03-10 16:17:34,200 - INFO - CLOSED short at 2089.84 | PnL: 1.33% | $2.41 +2025-03-10 16:17:34,235 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.7140964285713 | Take profit: 2064.682430357143 +2025-03-10 16:17:35,016 - INFO - TAKE PROFIT hit for short at 2064.682430357143 | PnL: 1.50% | $2.82 +2025-03-10 16:17:35,048 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.2981464285713 | Take profit: 2020.170280357143 +2025-03-10 16:17:35,479 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.61, Avg Loss=$0.00 +2025-03-10 16:17:35,480 - INFO - Episode 16: Reward=2.48, Balance=$105.23, Win Rate=100.0%, Trades=2, Episode PnL=$5.23, Total PnL=$495.96, Max Drawdown=0.0%, Pred Accuracy=98.3% +2025-03-10 16:17:35,481 - INFO - Refreshing data for episode 17 +2025-03-10 16:17:35,481 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:17:35,813 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:17:35,827 - INFO - Initialized environment with 100 candles +2025-03-10 16:17:35,864 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.6331464285713 | Take profit: 2086.165280357143 +2025-03-10 16:17:36,354 - INFO - CLOSED short at 2114.32 | PnL: 0.17% | $0.14 +2025-03-10 16:17:36,354 - INFO - OPENED LONG at 2114.32 | Stop loss: 2103.705253571429 | Take profit: 2146.099519642857 +2025-03-10 16:17:36,379 - INFO - CLOSED long at 2114.57 | PnL: 0.01% | $-0.17 +2025-03-10 16:17:36,379 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.185996428572 | Take profit: 2082.786730357143 +2025-03-10 16:17:37,362 - INFO - TAKE PROFIT hit for short at 2082.786730357143 | PnL: 1.50% | $2.75 +2025-03-10 16:17:37,401 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.216896428571 | Take profit: 2053.4140303571426 +2025-03-10 16:17:37,681 - INFO - TAKE PROFIT hit for short at 2053.4140303571426 | PnL: 1.50% | $2.82 +2025-03-10 16:17:37,742 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.2981464285713 | Take profit: 2020.170280357143 +2025-03-10 16:17:37,935 - INFO - CLOSED short at 2046.76 | PnL: 0.21% | $0.22 +2025-03-10 16:17:37,935 - INFO - OPENED LONG at 2046.76 | Stop loss: 2036.4830535714284 | Take profit: 2077.5261196428573 +2025-03-10 16:17:37,983 - INFO - CLOSED long at 2044.1 | PnL: -0.13% | $-0.48 +2025-03-10 16:17:37,984 - INFO - OPENED SHORT at 2044.1 | Stop loss: 2054.363646428571 | Take profit: 2013.3737803571428 +2025-03-10 16:17:38,130 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.48, Avg Loss=$-0.32 +2025-03-10 16:17:38,130 - INFO - Episode 17: Reward=-1.52, Balance=$105.29, Win Rate=66.7%, Trades=6, Episode PnL=$5.94, Total PnL=$501.25, Max Drawdown=0.0%, Pred Accuracy=98.3% +2025-03-10 16:17:38,130 - INFO - Refreshing data for episode 18 +2025-03-10 16:17:38,130 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:17:38,485 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:17:38,499 - INFO - Initialized environment with 100 candles +2025-03-10 16:17:38,789 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.633575 | Take profit: 2086.1646375 +2025-03-10 16:17:38,947 - INFO - CLOSED short at 2128.33 | PnL: -0.49% | $-1.15 +2025-03-10 16:17:38,948 - INFO - OPENED LONG at 2128.33 | Stop loss: 2117.6447749999998 | Take profit: 2160.3203124999995 +2025-03-10 16:17:38,969 - INFO - CLOSED long at 2124.77 | PnL: -0.17% | $-0.52 +2025-03-10 16:17:38,970 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.437425 | Take profit: 2092.8330875 +2025-03-10 16:17:39,579 - INFO - TAKE PROFIT hit for short at 2092.8330875 | PnL: 1.50% | $2.70 +2025-03-10 16:17:39,613 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5938250000004 | Take profit: 2068.4838875 +2025-03-10 16:17:40,043 - INFO - CLOSED short at 2098.66 | PnL: 0.07% | $-0.07 +2025-03-10 16:17:40,044 - INFO - OPENED LONG at 2098.66 | Stop loss: 2088.1231249999996 | Take profit: 2130.2052624999997 +2025-03-10 16:17:40,074 - INFO - CLOSED long at 2090.59 | PnL: -0.38% | $-0.96 +2025-03-10 16:17:40,074 - INFO - OPENED SHORT at 2090.59 | Stop loss: 2101.0865249999997 | Take profit: 2059.1657875 +2025-03-10 16:17:40,484 - INFO - TAKE PROFIT hit for short at 2059.1657875 | PnL: 1.50% | $2.75 +2025-03-10 16:17:40,504 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.298575 | Take profit: 2020.1696375 +2025-03-10 16:17:40,716 - INFO - CLOSED short at 2050.18 | PnL: 0.04% | $-0.12 +2025-03-10 16:17:40,716 - INFO - OPENED LONG at 2050.18 | Stop loss: 2039.8855249999997 | Take profit: 2080.9980625 +2025-03-10 16:17:40,774 - INFO - CLOSED long at 2046.76 | PnL: -0.17% | $-0.54 +2025-03-10 16:17:40,774 - INFO - OPENED SHORT at 2046.76 | Stop loss: 2057.037375 | Take profit: 2015.9932375 +2025-03-10 16:17:40,831 - INFO - CLOSED short at 2044.1 | PnL: 0.13% | $0.06 +2025-03-10 16:17:40,832 - INFO - OPENED LONG at 2044.1 | Stop loss: 2033.8359249999999 | Take profit: 2074.8268625 +2025-03-10 16:17:40,858 - INFO - CLOSED long at 2043.59 | PnL: -0.02% | $-0.25 +2025-03-10 16:17:40,858 - INFO - OPENED SHORT at 2043.59 | Stop loss: 2053.8515249999996 | Take profit: 2012.8707875 +2025-03-10 16:17:40,934 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$1.84, Avg Loss=$-0.51 +2025-03-10 16:17:40,934 - INFO - Episode 18: Reward=-11.55, Balance=$101.91, Win Rate=30.0%, Trades=10, Episode PnL=$4.17, Total PnL=$503.16, Max Drawdown=0.0%, Pred Accuracy=98.1% +2025-03-10 16:17:40,935 - INFO - Refreshing data for episode 19 +2025-03-10 16:17:40,935 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:17:41,247 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:17:41,259 - INFO - Initialized environment with 100 candles +2025-03-10 16:17:41,594 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.6342178571426 | Take profit: 2086.1636732142856 +2025-03-10 16:17:41,933 - INFO - CLOSED short at 2114.75 | PnL: 0.15% | $0.10 +2025-03-10 16:17:41,976 - INFO - OPENED SHORT at 2116.06 | Stop loss: 2126.684517857143 | Take profit: 2084.2527732142858 +2025-03-10 16:17:42,188 - INFO - CLOSED short at 2115.07 | PnL: 0.05% | $-0.10 +2025-03-10 16:17:42,189 - INFO - OPENED LONG at 2115.07 | Stop loss: 2104.450432142857 | Take profit: 2146.8623767857143 +2025-03-10 16:17:42,227 - INFO - CLOSED long at 2098.24 | PnL: -0.80% | $-1.75 +2025-03-10 16:17:42,228 - INFO - OPENED SHORT at 2098.24 | Stop loss: 2108.7754178571427 | Take profit: 2066.7000732142856 +2025-03-10 16:17:42,843 - INFO - CLOSED short at 2098.66 | PnL: -0.02% | $-0.23 +2025-03-10 16:17:42,844 - INFO - OPENED LONG at 2098.66 | Stop loss: 2088.122482142857 | Take profit: 2130.2062267857145 +2025-03-10 16:17:42,874 - INFO - CLOSED long at 2090.59 | PnL: -0.38% | $-0.93 +2025-03-10 16:17:42,876 - INFO - OPENED SHORT at 2090.59 | Stop loss: 2101.087167857143 | Take profit: 2059.164823214286 +2025-03-10 16:17:42,950 - INFO - CLOSED short at 2080.58 | PnL: 0.48% | $0.72 +2025-03-10 16:17:42,950 - INFO - OPENED LONG at 2080.58 | Stop loss: 2070.132882142857 | Take profit: 2111.855026785714 +2025-03-10 16:17:42,974 - INFO - CLOSED long at 2084.75 | PnL: 0.20% | $0.19 +2025-03-10 16:17:42,974 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.217967857143 | Take profit: 2053.412423214286 +2025-03-10 16:17:43,073 - INFO - CLOSED short at 2085.37 | PnL: -0.03% | $-0.25 +2025-03-10 16:17:43,073 - INFO - OPENED LONG at 2085.37 | Stop loss: 2074.898932142857 | Take profit: 2116.7168767857142 +2025-03-10 16:17:43,110 - INFO - CLOSED long at 2084.11 | PnL: -0.06% | $-0.31 +2025-03-10 16:17:43,112 - INFO - OPENED SHORT at 2084.11 | Stop loss: 2094.574767857143 | Take profit: 2052.782023214286 +2025-03-10 16:17:43,200 - INFO - CLOSED short at 2075.07 | PnL: 0.43% | $0.64 +2025-03-10 16:17:43,200 - INFO - OPENED LONG at 2075.07 | Stop loss: 2064.6504321428574 | Take profit: 2106.2623767857144 +2025-03-10 16:17:43,231 - INFO - CLOSED long at 2067.71 | PnL: -0.35% | $-0.87 +2025-03-10 16:17:43,231 - INFO - OPENED SHORT at 2067.71 | Stop loss: 2078.092767857143 | Take profit: 2036.6280232142858 +2025-03-10 16:17:43,669 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 40.0% in downtrends | Avg Win=$0.41, Avg Loss=$-0.64 +2025-03-10 16:17:43,670 - INFO - Episode 19: Reward=-8.70, Balance=$97.20, Win Rate=36.4%, Trades=11, Episode PnL=$0.88, Total PnL=$500.36, Max Drawdown=0.0%, Pred Accuracy=97.9% +2025-03-10 16:17:43,670 - INFO - Refreshing data for episode 20 +2025-03-10 16:17:43,671 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:17:44,011 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:17:44,024 - INFO - Initialized environment with 100 candles +2025-03-10 16:17:44,837 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.6345928571427 | Take profit: 2086.1631107142857 +2025-03-10 16:17:44,890 - INFO - CLOSED short at 2121.42 | PnL: -0.16% | $-0.51 +2025-03-10 16:17:44,891 - INFO - OPENED LONG at 2121.42 | Stop loss: 2110.7683071428573 | Take profit: 2153.3081892857144 +2025-03-10 16:17:44,917 - INFO - CLOSED long at 2116.52 | PnL: -0.23% | $-0.65 +2025-03-10 16:17:44,943 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.659692857143 | Take profit: 2087.1678107142857 +2025-03-10 16:17:45,135 - INFO - CLOSED short at 2114.78 | PnL: 0.20% | $0.19 +2025-03-10 16:17:45,135 - INFO - OPENED LONG at 2114.78 | Stop loss: 2104.1615071428573 | Take profit: 2146.5685892857146 +2025-03-10 16:17:45,159 - INFO - CLOSED long at 2115.52 | PnL: 0.03% | $-0.13 +2025-03-10 16:17:45,159 - INFO - OPENED SHORT at 2115.52 | Stop loss: 2126.1421928571426 | Take profit: 2083.720310714286 +2025-03-10 16:17:45,502 - INFO - CLOSED short at 2114.5 | PnL: 0.05% | $-0.10 +2025-03-10 16:17:45,503 - INFO - OPENED LONG at 2114.5 | Stop loss: 2103.882907142857 | Take profit: 2146.284389285714 +2025-03-10 16:17:45,530 - INFO - CLOSED long at 2115.07 | PnL: 0.03% | $-0.14 +2025-03-10 16:17:45,530 - INFO - OPENED SHORT at 2115.07 | Stop loss: 2125.689942857143 | Take profit: 2083.2770607142857 +2025-03-10 16:17:45,582 - INFO - CLOSED short at 2098.28 | PnL: 0.79% | $1.34 +2025-03-10 16:17:45,583 - INFO - OPENED LONG at 2098.28 | Stop loss: 2087.7440071428573 | Take profit: 2129.8210892857146 +2025-03-10 16:17:45,625 - INFO - CLOSED long at 2091.36 | PnL: -0.33% | $-0.84 +2025-03-10 16:17:45,626 - INFO - OPENED SHORT at 2091.36 | Stop loss: 2101.861392857143 | Take profit: 2059.9227107142856 +2025-03-10 16:17:45,800 - INFO - CLOSED short at 2089.84 | PnL: 0.07% | $-0.05 +2025-03-10 16:17:45,800 - INFO - OPENED LONG at 2089.84 | Stop loss: 2079.346207142857 | Take profit: 2121.2544892857145 +2025-03-10 16:17:45,834 - INFO - CLOSED long at 2096.19 | PnL: 0.30% | $0.40 +2025-03-10 16:17:45,835 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.715542857143 | Take profit: 2064.680260714286 +2025-03-10 16:17:45,889 - INFO - CLOSED short at 2102.83 | PnL: -0.32% | $-0.81 +2025-03-10 16:17:45,889 - INFO - OPENED LONG at 2102.83 | Stop loss: 2092.271257142857 | Take profit: 2134.439339285714 +2025-03-10 16:17:45,912 - INFO - CLOSED long at 2103.41 | PnL: 0.03% | $-0.14 +2025-03-10 16:17:45,913 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.971642857143 | Take profit: 2071.791960714286 +2025-03-10 16:17:45,936 - INFO - CLOSED short at 2104.22 | PnL: -0.04% | $-0.27 +2025-03-10 16:17:45,937 - INFO - OPENED LONG at 2104.22 | Stop loss: 2093.654307142857 | Take profit: 2135.850189285714 +2025-03-10 16:17:45,966 - INFO - CLOSED long at 2104.67 | PnL: 0.02% | $-0.15 +2025-03-10 16:17:45,967 - INFO - OPENED SHORT at 2104.67 | Stop loss: 2115.2379428571426 | Take profit: 2073.0330607142855 +2025-03-10 16:17:46,067 - INFO - CLOSED short at 2099.63 | PnL: 0.24% | $0.27 +2025-03-10 16:17:46,068 - INFO - OPENED LONG at 2099.63 | Stop loss: 2089.087257142857 | Take profit: 2131.1913392857145 +2025-03-10 16:17:46,124 - INFO - CLOSED long at 2099.22 | PnL: -0.02% | $-0.23 +2025-03-10 16:17:46,124 - INFO - OPENED SHORT at 2099.22 | Stop loss: 2109.7606928571427 | Take profit: 2067.6648107142855 +2025-03-10 16:17:46,201 - INFO - CLOSED short at 2096.96 | PnL: 0.11% | $0.01 +2025-03-10 16:17:46,202 - INFO - OPENED LONG at 2096.96 | Stop loss: 2086.4306071428573 | Take profit: 2128.4812892857144 +2025-03-10 16:17:46,233 - INFO - CLOSED long at 2098.66 | PnL: 0.08% | $-0.04 +2025-03-10 16:17:46,233 - INFO - OPENED SHORT at 2098.66 | Stop loss: 2109.197892857143 | Take profit: 2067.1132107142857 +2025-03-10 16:17:46,444 - INFO - CLOSED short at 2081.0 | PnL: 0.84% | $1.43 +2025-03-10 16:17:46,444 - INFO - OPENED LONG at 2081.0 | Stop loss: 2070.5504071428572 | Take profit: 2112.2818892857144 +2025-03-10 16:17:46,497 - INFO - CLOSED long at 2084.25 | PnL: 0.16% | $0.11 +2025-03-10 16:17:46,497 - INFO - OPENED SHORT at 2084.25 | Stop loss: 2094.715842857143 | Take profit: 2052.9193607142856 +2025-03-10 16:17:46,597 - INFO - CLOSED short at 2084.11 | PnL: 0.01% | $-0.18 +2025-03-10 16:17:46,597 - INFO - OPENED LONG at 2084.11 | Stop loss: 2073.6448571428573 | Take profit: 2115.438539285715 +2025-03-10 16:17:46,623 - INFO - CLOSED long at 2083.07 | PnL: -0.05% | $-0.29 +2025-03-10 16:17:46,623 - INFO - OPENED SHORT at 2083.07 | Stop loss: 2093.529942857143 | Take profit: 2051.7570607142857 +2025-03-10 16:17:46,675 - INFO - CLOSED short at 2067.71 | PnL: 0.74% | $1.24 +2025-03-10 16:17:46,676 - INFO - OPENED LONG at 2067.71 | Stop loss: 2057.326857142857 | Take profit: 2098.792539285714 +2025-03-10 16:17:46,699 - INFO - CLOSED long at 2048.3 | PnL: -0.94% | $-2.04 +2025-03-10 16:17:46,699 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.586092857143 | Take profit: 2017.5086107142859 +2025-03-10 16:17:46,725 - INFO - CLOSED short at 2051.0 | PnL: -0.13% | $-0.45 +2025-03-10 16:17:46,725 - INFO - OPENED LONG at 2051.0 | Stop loss: 2040.700407142857 | Take profit: 2081.831889285714 +2025-03-10 16:17:46,807 - INFO - CLOSED long at 2053.22 | PnL: 0.11% | $0.02 +2025-03-10 16:17:46,808 - INFO - OPENED SHORT at 2053.22 | Stop loss: 2063.5306928571426 | Take profit: 2022.3548107142856 +2025-03-10 16:17:46,858 - INFO - CLOSED short at 2058.11 | PnL: -0.24% | $-0.65 +2025-03-10 16:17:46,858 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.7748571428572 | Take profit: 2089.0485392857145 +2025-03-10 16:17:46,947 - INFO - CLOSED long at 2050.18 | PnL: -0.39% | $-0.92 +2025-03-10 16:17:46,948 - INFO - OPENED SHORT at 2050.18 | Stop loss: 2060.4754928571424 | Take profit: 2019.3604107142858 +2025-03-10 16:17:47,017 - INFO - CLOSED short at 2043.95 | PnL: 0.30% | $0.38 +2025-03-10 16:17:47,018 - INFO - OPENED LONG at 2043.95 | Stop loss: 2033.6856571428573 | Take profit: 2074.6761392857143 +2025-03-10 16:17:47,044 - INFO - CLOSED long at 2044.1 | PnL: 0.01% | $-0.18 +2025-03-10 16:17:47,045 - INFO - OPENED SHORT at 2044.1 | Stop loss: 2054.365092857143 | Take profit: 2013.3716107142857 +2025-03-10 16:17:47,149 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 46.7% in downtrends | Avg Win=$0.54, Avg Loss=$-0.44 +2025-03-10 16:17:47,150 - INFO - Episode 20: Reward=-23.94, Balance=$96.62, Win Rate=33.3%, Trades=30, Episode PnL=$1.20, Total PnL=$496.98, Max Drawdown=1.2%, Pred Accuracy=97.9% +2025-03-10 16:17:47,317 - INFO - Model saved to checkpoints/trading_agent_episode_20.pt +2025-03-10 16:17:47,318 - INFO - Checkpoint saved at episode 20 +2025-03-10 16:17:47,318 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:17:48,422 - INFO - Visualization saved for episode 20 +2025-03-10 16:17:50,704 - INFO - Visualization saved for episode 20 +2025-03-10 16:17:50,720 - INFO - Refreshing data for episode 21 +2025-03-10 16:17:50,720 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:17:51,107 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:17:51,119 - INFO - Initialized environment with 100 candles +2025-03-10 16:17:51,419 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.6345928571427 | Take profit: 2086.1631107142857 +2025-03-10 16:17:51,493 - INFO - CLOSED short at 2116.52 | PnL: 0.07% | $-0.06 +2025-03-10 16:17:51,493 - INFO - OPENED LONG at 2116.52 | Stop loss: 2105.8928071428572 | Take profit: 2148.3346892857144 +2025-03-10 16:17:51,518 - INFO - CLOSED long at 2119.02 | PnL: 0.12% | $0.04 +2025-03-10 16:17:51,518 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.659692857143 | Take profit: 2087.1678107142857 +2025-03-10 16:17:51,953 - INFO - CLOSED short at 2115.21 | PnL: 0.18% | $0.16 +2025-03-10 16:17:51,954 - INFO - OPENED LONG at 2115.21 | Stop loss: 2104.5893571428574 | Take profit: 2147.0050392857142 +2025-03-10 16:17:52,004 - INFO - CLOSED long at 2114.1 | PnL: -0.05% | $-0.30 +2025-03-10 16:17:52,004 - INFO - OPENED SHORT at 2114.1 | Stop loss: 2124.7150928571427 | Take profit: 2082.3216107142857 +2025-03-10 16:17:52,032 - INFO - CLOSED short at 2115.11 | PnL: -0.05% | $-0.29 +2025-03-10 16:17:52,033 - INFO - OPENED LONG at 2115.11 | Stop loss: 2104.489857142857 | Take profit: 2146.9035392857145 +2025-03-10 16:17:52,062 - INFO - CLOSED long at 2114.32 | PnL: -0.04% | $-0.27 +2025-03-10 16:17:52,062 - INFO - OPENED SHORT at 2114.32 | Stop loss: 2124.936192857143 | Take profit: 2082.5383107142857 +2025-03-10 16:17:52,889 - INFO - TAKE PROFIT hit for short at 2082.5383107142857 | PnL: 1.50% | $2.73 +2025-03-10 16:17:52,919 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.218342857143 | Take profit: 2053.411860714286 +2025-03-10 16:17:52,948 - INFO - CLOSED short at 2081.0 | PnL: 0.18% | $0.16 +2025-03-10 16:17:52,948 - INFO - OPENED LONG at 2081.0 | Stop loss: 2070.5504071428572 | Take profit: 2112.2818892857144 +2025-03-10 16:17:53,023 - INFO - CLOSED long at 2085.37 | PnL: 0.21% | $0.22 +2025-03-10 16:17:53,024 - INFO - OPENED SHORT at 2085.37 | Stop loss: 2095.8414428571427 | Take profit: 2054.0225607142856 +2025-03-10 16:17:53,220 - INFO - TAKE PROFIT hit for short at 2054.0225607142856 | PnL: 1.50% | $2.81 +2025-03-10 16:17:53,277 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.772142857143 | Take profit: 2012.7904607142857 +2025-03-10 16:17:53,354 - INFO - CLOSED short at 2053.22 | PnL: -0.48% | $-1.18 +2025-03-10 16:17:53,355 - INFO - OPENED LONG at 2053.22 | Stop loss: 2042.909307142857 | Take profit: 2084.085189285714 +2025-03-10 16:17:53,444 - INFO - CLOSED long at 2054.03 | PnL: 0.04% | $-0.12 +2025-03-10 16:17:53,446 - INFO - OPENED SHORT at 2054.03 | Stop loss: 2064.344742857143 | Take profit: 2023.152660714286 +2025-03-10 16:17:53,687 - INFO - CLOSED short at 2042.0 | PnL: 0.59% | $0.99 +2025-03-10 16:17:53,687 - INFO - OPENED LONG at 2042.0 | Stop loss: 2031.745407142857 | Take profit: 2072.6968892857144 +2025-03-10 16:17:53,747 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 62.5% in downtrends | Avg Win=$1.01, Avg Loss=$-0.37 +2025-03-10 16:17:53,748 - INFO - Episode 21: Reward=-6.70, Balance=$104.88, Win Rate=53.8%, Trades=13, Episode PnL=$5.31, Total PnL=$501.86, Max Drawdown=0.0%, Pred Accuracy=98.1% +2025-03-10 16:17:53,749 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:17:53,749 - INFO - Refreshing data for episode 22 +2025-03-10 16:17:53,750 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:17:54,064 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:17:54,079 - INFO - Initialized environment with 100 candles +2025-03-10 16:17:54,119 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.6345928571427 | Take profit: 2086.1631107142857 +2025-03-10 16:17:54,153 - INFO - CLOSED short at 2121.8 | PnL: -0.18% | $-0.55 +2025-03-10 16:17:54,154 - INFO - OPENED LONG at 2121.8 | Stop loss: 2111.1464071428572 | Take profit: 2153.6938892857142 +2025-03-10 16:17:54,185 - INFO - CLOSED long at 2121.42 | PnL: -0.02% | $-0.23 +2025-03-10 16:17:54,185 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.0716928571433 | Take profit: 2089.5318107142857 +2025-03-10 16:17:54,326 - INFO - CLOSED short at 2124.9 | PnL: -0.16% | $-0.51 +2025-03-10 16:17:54,360 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.016242857143 | Take profit: 2096.3381607142856 +2025-03-10 16:17:54,570 - INFO - CLOSED short at 2115.21 | PnL: 0.62% | $1.00 +2025-03-10 16:17:54,571 - INFO - OPENED LONG at 2115.21 | Stop loss: 2104.5893571428574 | Take profit: 2147.0050392857142 +2025-03-10 16:17:54,632 - INFO - CLOSED long at 2114.1 | PnL: -0.05% | $-0.30 +2025-03-10 16:17:54,632 - INFO - OPENED SHORT at 2114.1 | Stop loss: 2124.7150928571427 | Take profit: 2082.3216107142857 +2025-03-10 16:17:54,768 - INFO - CLOSED short at 2114.57 | PnL: -0.02% | $-0.24 +2025-03-10 16:17:54,769 - INFO - OPENED LONG at 2114.57 | Stop loss: 2103.952557142857 | Take profit: 2146.3554392857145 +2025-03-10 16:17:54,795 - INFO - CLOSED long at 2112.57 | PnL: -0.09% | $-0.38 +2025-03-10 16:17:54,795 - INFO - OPENED SHORT at 2112.57 | Stop loss: 2123.177442857143 | Take profit: 2080.814560714286 +2025-03-10 16:17:54,844 - INFO - CLOSED short at 2114.5 | PnL: -0.09% | $-0.37 +2025-03-10 16:17:54,845 - INFO - OPENED LONG at 2114.5 | Stop loss: 2103.882907142857 | Take profit: 2146.284389285714 +2025-03-10 16:17:54,867 - INFO - CLOSED long at 2115.07 | PnL: 0.03% | $-0.14 +2025-03-10 16:17:54,867 - INFO - OPENED SHORT at 2115.07 | Stop loss: 2125.689942857143 | Take profit: 2083.2770607142857 +2025-03-10 16:17:54,918 - INFO - CLOSED short at 2098.28 | PnL: 0.79% | $1.34 +2025-03-10 16:17:54,919 - INFO - OPENED LONG at 2098.28 | Stop loss: 2087.7440071428573 | Take profit: 2129.8210892857146 +2025-03-10 16:17:54,943 - INFO - CLOSED long at 2091.36 | PnL: -0.33% | $-0.84 +2025-03-10 16:17:54,943 - INFO - OPENED SHORT at 2091.36 | Stop loss: 2101.861392857143 | Take profit: 2059.9227107142856 +2025-03-10 16:17:55,050 - INFO - CLOSED short at 2089.04 | PnL: 0.11% | $0.02 +2025-03-10 16:17:55,051 - INFO - OPENED LONG at 2089.04 | Stop loss: 2078.5502071428573 | Take profit: 2120.442489285714 +2025-03-10 16:17:55,137 - INFO - CLOSED long at 2096.19 | PnL: 0.34% | $0.47 +2025-03-10 16:17:55,138 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.715542857143 | Take profit: 2064.680260714286 +2025-03-10 16:17:55,340 - INFO - CLOSED short at 2099.22 | PnL: -0.14% | $-0.48 +2025-03-10 16:17:55,340 - INFO - OPENED LONG at 2099.22 | Stop loss: 2088.679307142857 | Take profit: 2130.775189285714 +2025-03-10 16:17:55,366 - INFO - CLOSED long at 2094.16 | PnL: -0.24% | $-0.66 +2025-03-10 16:17:55,366 - INFO - OPENED SHORT at 2094.16 | Stop loss: 2104.6753928571425 | Take profit: 2062.680710714286 +2025-03-10 16:17:55,534 - INFO - CLOSED short at 2090.99 | PnL: 0.15% | $0.10 +2025-03-10 16:17:55,534 - INFO - OPENED LONG at 2090.99 | Stop loss: 2080.490457142857 | Take profit: 2122.421739285714 +2025-03-10 16:17:55,631 - INFO - CLOSED long at 2084.75 | PnL: -0.30% | $-0.77 +2025-03-10 16:17:55,632 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.218342857143 | Take profit: 2053.411860714286 +2025-03-10 16:17:55,747 - INFO - CLOSED short at 2083.07 | PnL: 0.08% | $-0.04 +2025-03-10 16:17:55,819 - INFO - OPENED SHORT at 2067.71 | Stop loss: 2078.093142857143 | Take profit: 2036.6274607142857 +2025-03-10 16:17:56,260 - INFO - CLOSED short at 2036.71 | PnL: 1.50% | $2.67 +2025-03-10 16:17:56,261 - INFO - OPENED LONG at 2036.71 | Stop loss: 2026.4818571428573 | Take profit: 2067.3275392857145 +2025-03-10 16:17:56,301 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 55.6% in downtrends | Avg Win=$0.93, Avg Loss=$-0.42 +2025-03-10 16:17:56,302 - INFO - Episode 22: Reward=-14.67, Balance=$100.10, Win Rate=31.6%, Trades=19, Episode PnL=$2.94, Total PnL=$501.96, Max Drawdown=2.6%, Pred Accuracy=98.1% +2025-03-10 16:17:56,302 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:17:56,303 - INFO - Refreshing data for episode 23 +2025-03-10 16:17:56,303 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:17:56,624 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:17:56,634 - INFO - Initialized environment with 100 candles +2025-03-10 16:17:56,723 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.6345928571427 | Take profit: 2086.1631107142857 +2025-03-10 16:17:56,796 - INFO - CLOSED short at 2116.52 | PnL: 0.07% | $-0.06 +2025-03-10 16:17:56,796 - INFO - OPENED LONG at 2116.52 | Stop loss: 2105.8928071428572 | Take profit: 2148.3346892857144 +2025-03-10 16:17:56,820 - INFO - CLOSED long at 2119.02 | PnL: 0.12% | $0.04 +2025-03-10 16:17:56,820 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.659692857143 | Take profit: 2087.1678107142857 +2025-03-10 16:17:56,955 - INFO - CLOSED short at 2116.81 | PnL: 0.10% | $0.01 +2025-03-10 16:17:56,956 - INFO - OPENED LONG at 2116.81 | Stop loss: 2106.181357142857 | Take profit: 2148.6290392857145 +2025-03-10 16:17:57,002 - INFO - CLOSED long at 2115.52 | PnL: -0.06% | $-0.32 +2025-03-10 16:17:57,003 - INFO - OPENED SHORT at 2115.52 | Stop loss: 2126.1421928571426 | Take profit: 2083.720310714286 +2025-03-10 16:17:57,168 - INFO - CLOSED short at 2114.57 | PnL: 0.04% | $-0.11 +2025-03-10 16:17:57,168 - INFO - OPENED LONG at 2114.57 | Stop loss: 2103.952557142857 | Take profit: 2146.3554392857145 +2025-03-10 16:17:57,202 - INFO - CLOSED long at 2112.57 | PnL: -0.09% | $-0.38 +2025-03-10 16:17:57,203 - INFO - OPENED SHORT at 2112.57 | Stop loss: 2123.177442857143 | Take profit: 2080.814560714286 +2025-03-10 16:17:57,316 - INFO - CLOSED short at 2098.28 | PnL: 0.68% | $1.12 +2025-03-10 16:17:57,317 - INFO - OPENED LONG at 2098.28 | Stop loss: 2087.7440071428573 | Take profit: 2129.8210892857146 +2025-03-10 16:17:57,343 - INFO - CLOSED long at 2091.36 | PnL: -0.33% | $-0.84 +2025-03-10 16:17:57,343 - INFO - OPENED SHORT at 2091.36 | Stop loss: 2101.861392857143 | Take profit: 2059.9227107142856 +2025-03-10 16:17:57,513 - INFO - STOP LOSS hit for short at 2101.861392857143 | PnL: -0.50% | $-1.17 +2025-03-10 16:17:57,534 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.971642857143 | Take profit: 2071.791960714286 +2025-03-10 16:17:57,939 - INFO - CLOSED short at 2084.11 | PnL: 0.92% | $1.57 +2025-03-10 16:17:57,940 - INFO - OPENED LONG at 2084.11 | Stop loss: 2073.6448571428573 | Take profit: 2115.438539285715 +2025-03-10 16:17:57,968 - INFO - CLOSED long at 2083.07 | PnL: -0.05% | $-0.29 +2025-03-10 16:17:57,969 - INFO - OPENED SHORT at 2083.07 | Stop loss: 2093.529942857143 | Take profit: 2051.7570607142857 +2025-03-10 16:17:58,058 - INFO - TAKE PROFIT hit for short at 2051.7570607142857 | PnL: 1.50% | $2.74 +2025-03-10 16:17:58,088 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.299592857143 | Take profit: 2020.1681107142858 +2025-03-10 16:17:58,115 - INFO - CLOSED short at 2043.51 | PnL: 0.37% | $0.53 +2025-03-10 16:17:58,115 - INFO - OPENED LONG at 2043.51 | Stop loss: 2033.2478571428571 | Take profit: 2074.2295392857145 +2025-03-10 16:17:58,144 - INFO - CLOSED long at 2052.89 | PnL: 0.46% | $0.72 +2025-03-10 16:17:58,144 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.1990428571426 | Take profit: 2022.0297607142857 +2025-03-10 16:17:58,419 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 62.5% in downtrends | Avg Win=$0.96, Avg Loss=$-0.45 +2025-03-10 16:17:58,420 - INFO - Episode 23: Reward=-2.21, Balance=$103.56, Win Rate=50.0%, Trades=14, Episode PnL=$4.63, Total PnL=$505.52, Max Drawdown=1.7%, Pred Accuracy=98.1% +2025-03-10 16:17:58,420 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:17:58,421 - INFO - Refreshing data for episode 24 +2025-03-10 16:17:58,421 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:17:58,732 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:17:58,743 - INFO - Initialized environment with 100 candles +2025-03-10 16:17:58,779 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.6345928571427 | Take profit: 2086.1631107142857 +2025-03-10 16:17:59,920 - INFO - TAKE PROFIT hit for short at 2086.1631107142857 | PnL: 1.50% | $2.75 +2025-03-10 16:17:59,945 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0274928571425 | Take profit: 2049.3044107142855 +2025-03-10 16:18:00,039 - INFO - CLOSED short at 2084.25 | PnL: -0.18% | $-0.56 +2025-03-10 16:18:00,040 - INFO - OPENED LONG at 2084.25 | Stop loss: 2073.784157142857 | Take profit: 2115.580639285714 +2025-03-10 16:18:00,069 - INFO - CLOSED long at 2085.37 | PnL: 0.05% | $-0.09 +2025-03-10 16:18:00,070 - INFO - OPENED SHORT at 2085.37 | Stop loss: 2095.8414428571427 | Take profit: 2054.0225607142856 +2025-03-10 16:18:00,185 - INFO - TAKE PROFIT hit for short at 2054.0225607142856 | PnL: 1.50% | $2.81 +2025-03-10 16:18:00,214 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.299592857143 | Take profit: 2020.1681107142858 +2025-03-10 16:18:00,555 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.78, Avg Loss=$-0.32 +2025-03-10 16:18:00,556 - INFO - Episode 24: Reward=-2.94, Balance=$104.91, Win Rate=50.0%, Trades=4, Episode PnL=$5.00, Total PnL=$510.42, Max Drawdown=0.0%, Pred Accuracy=98.1% +2025-03-10 16:18:00,556 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:18:00,557 - INFO - Refreshing data for episode 25 +2025-03-10 16:18:00,557 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:18:00,876 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:18:00,888 - INFO - Initialized environment with 100 candles +2025-03-10 16:18:01,958 - INFO - OPENED LONG at 2118.0 | Stop loss: 2107.3654071428573 | Take profit: 2149.8368892857143 +2025-03-10 16:18:02,000 - INFO - CLOSED long at 2121.8 | PnL: 0.18% | $0.16 +2025-03-10 16:18:02,001 - INFO - OPENED SHORT at 2121.8 | Stop loss: 2132.4535928571427 | Take profit: 2089.906110714286 +2025-03-10 16:18:02,025 - INFO - CLOSED short at 2121.42 | PnL: 0.02% | $-0.16 +2025-03-10 16:18:02,027 - INFO - OPENED LONG at 2121.42 | Stop loss: 2110.7683071428573 | Take profit: 2153.3081892857144 +2025-03-10 16:18:02,055 - INFO - CLOSED long at 2116.52 | PnL: -0.23% | $-0.65 +2025-03-10 16:18:02,055 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.1471928571427 | Take profit: 2084.7053107142856 +2025-03-10 16:18:02,152 - INFO - STOP LOSS hit for short at 2127.1471928571427 | PnL: -0.50% | $-1.17 +2025-03-10 16:18:02,177 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.4384428571425 | Take profit: 2092.831560714286 +2025-03-10 16:18:02,497 - INFO - CLOSED short at 2114.32 | PnL: 0.49% | $0.75 +2025-03-10 16:18:02,525 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.187442857143 | Take profit: 2082.784560714286 +2025-03-10 16:18:02,930 - INFO - CLOSED short at 2100.0 | PnL: 0.69% | $1.14 +2025-03-10 16:18:02,962 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.3887428571425 | Take profit: 2071.2206607142857 +2025-03-10 16:18:03,343 - INFO - CLOSED short at 2090.59 | PnL: 0.58% | $0.94 +2025-03-10 16:18:03,344 - INFO - OPENED LONG at 2090.59 | Stop loss: 2080.0924571428573 | Take profit: 2122.0157392857145 +2025-03-10 16:18:03,371 - INFO - CLOSED long at 2090.99 | PnL: 0.02% | $-0.16 +2025-03-10 16:18:03,372 - INFO - OPENED SHORT at 2090.99 | Stop loss: 2101.4895428571426 | Take profit: 2059.5582607142856 +2025-03-10 16:18:03,668 - INFO - CLOSED short at 2083.07 | PnL: 0.38% | $0.55 +2025-03-10 16:18:03,669 - INFO - OPENED LONG at 2083.07 | Stop loss: 2072.6100571428574 | Take profit: 2114.382939285714 +2025-03-10 16:18:03,697 - INFO - CLOSED long at 2075.07 | PnL: -0.38% | $-0.96 +2025-03-10 16:18:03,697 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.489942857143 | Take profit: 2043.8770607142858 +2025-03-10 16:18:03,802 - INFO - TAKE PROFIT hit for short at 2043.8770607142858 | PnL: 1.50% | $2.76 +2025-03-10 16:18:03,856 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.1990428571426 | Take profit: 2022.0297607142857 +2025-03-10 16:18:03,897 - INFO - CLOSED short at 2053.22 | PnL: -0.02% | $-0.23 +2025-03-10 16:18:03,898 - INFO - OPENED LONG at 2053.22 | Stop loss: 2042.909307142857 | Take profit: 2084.085189285714 +2025-03-10 16:18:03,965 - INFO - CLOSED long at 2058.11 | PnL: 0.24% | $0.28 +2025-03-10 16:18:03,966 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.445142857143 | Take profit: 2027.1714607142858 +2025-03-10 16:18:04,192 - INFO - CLOSED short at 2042.0 | PnL: 0.78% | $1.38 +2025-03-10 16:18:04,192 - INFO - OPENED LONG at 2042.0 | Stop loss: 2031.745407142857 | Take profit: 2072.6968892857144 +2025-03-10 16:18:04,225 - INFO - CLOSED long at 2036.71 | PnL: -0.26% | $-0.74 +2025-03-10 16:18:04,225 - INFO - OPENED SHORT at 2036.71 | Stop loss: 2046.9381428571428 | Take profit: 2006.0924607142858 +2025-03-10 16:18:04,252 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 57.1% in downtrends | Avg Win=$1.00, Avg Loss=$-0.58 +2025-03-10 16:18:04,253 - INFO - Episode 25: Reward=-1.11, Balance=$103.89, Win Rate=53.3%, Trades=15, Episode PnL=$5.96, Total PnL=$514.31, Max Drawdown=1.8%, Pred Accuracy=98.1% +2025-03-10 16:18:04,253 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:18:04,255 - INFO - Refreshing data for episode 26 +2025-03-10 16:18:04,255 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:18:04,588 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:18:04,599 - INFO - Initialized environment with 100 candles +2025-03-10 16:18:04,637 - INFO - OPENED SHORT at 2118.0 | Stop loss: 2128.6345928571427 | Take profit: 2086.1631107142857 +2025-03-10 16:18:05,110 - INFO - CLOSED short at 2114.1 | PnL: 0.18% | $0.16 +2025-03-10 16:18:05,111 - INFO - OPENED LONG at 2114.1 | Stop loss: 2103.484907142857 | Take profit: 2145.878389285714 +2025-03-10 16:18:05,133 - INFO - CLOSED long at 2115.11 | PnL: 0.05% | $-0.10 +2025-03-10 16:18:05,134 - INFO - OPENED SHORT at 2115.11 | Stop loss: 2125.730142857143 | Take profit: 2083.3164607142858 +2025-03-10 16:18:05,188 - INFO - CLOSED short at 2114.57 | PnL: 0.03% | $-0.15 +2025-03-10 16:18:05,189 - INFO - OPENED LONG at 2114.57 | Stop loss: 2103.952557142857 | Take profit: 2146.3554392857145 +2025-03-10 16:18:05,243 - INFO - CLOSED long at 2112.57 | PnL: -0.09% | $-0.38 +2025-03-10 16:18:05,244 - INFO - OPENED SHORT at 2112.57 | Stop loss: 2123.177442857143 | Take profit: 2080.814560714286 +2025-03-10 16:18:05,466 - INFO - CLOSED short at 2100.05 | PnL: 0.59% | $0.96 +2025-03-10 16:18:05,491 - INFO - OPENED SHORT at 2096.36 | Stop loss: 2106.8863928571427 | Take profit: 2064.8477107142858 +2025-03-10 16:18:06,201 - INFO - CLOSED short at 2084.11 | PnL: 0.58% | $0.95 +2025-03-10 16:18:06,201 - INFO - OPENED LONG at 2084.11 | Stop loss: 2073.6448571428573 | Take profit: 2115.438539285715 +2025-03-10 16:18:06,234 - INFO - CLOSED long at 2083.07 | PnL: -0.05% | $-0.30 +2025-03-10 16:18:06,234 - INFO - OPENED SHORT at 2083.07 | Stop loss: 2093.529942857143 | Take profit: 2051.7570607142857 +2025-03-10 16:18:06,313 - INFO - TAKE PROFIT hit for short at 2051.7570607142857 | PnL: 1.50% | $2.78 +2025-03-10 16:18:06,340 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.299592857143 | Take profit: 2020.1681107142858 +2025-03-10 16:18:06,728 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$1.21, Avg Loss=$-0.23 +2025-03-10 16:18:06,729 - INFO - Episode 26: Reward=-1.84, Balance=$103.93, Win Rate=50.0%, Trades=8, Episode PnL=$4.71, Total PnL=$518.24, Max Drawdown=0.0%, Pred Accuracy=98.2% +2025-03-10 16:18:06,730 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:18:06,731 - INFO - Refreshing data for episode 27 +2025-03-10 16:18:06,731 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:18:07,091 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:18:07,102 - INFO - Initialized environment with 100 candles +2025-03-10 16:18:07,263 - INFO - OPENED SHORT at 2121.8 | Stop loss: 2132.451875 | Take profit: 2089.9086875000003 +2025-03-10 16:18:07,407 - INFO - CLOSED short at 2119.02 | PnL: 0.13% | $0.06 +2025-03-10 16:18:07,408 - INFO - OPENED LONG at 2119.02 | Stop loss: 2108.382025 | Take profit: 2150.8696124999997 +2025-03-10 16:18:07,440 - INFO - CLOSED long at 2120.96 | PnL: 0.09% | $-0.02 +2025-03-10 16:18:07,441 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.607675 | Take profit: 2089.0812875 +2025-03-10 16:18:07,955 - INFO - CLOSED short at 2113.28 | PnL: 0.36% | $0.51 +2025-03-10 16:18:07,955 - INFO - OPENED LONG at 2113.28 | Stop loss: 2102.6707250000004 | Take profit: 2145.0435125000004 +2025-03-10 16:18:07,983 - INFO - CLOSED long at 2114.5 | PnL: 0.06% | $-0.08 +2025-03-10 16:18:07,983 - INFO - OPENED SHORT at 2114.5 | Stop loss: 2125.115375 | Take profit: 2082.7181875 +2025-03-10 16:18:08,277 - INFO - CLOSED short at 2089.84 | PnL: 1.17% | $2.10 +2025-03-10 16:18:08,277 - INFO - OPENED LONG at 2089.84 | Stop loss: 2079.347925 | Take profit: 2121.2519125000003 +2025-03-10 16:18:08,307 - INFO - CLOSED long at 2096.19 | PnL: 0.30% | $0.41 +2025-03-10 16:18:08,307 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.7138250000003 | Take profit: 2064.6828375 +2025-03-10 16:18:08,745 - INFO - CLOSED short at 2084.95 | PnL: 0.54% | $0.88 +2025-03-10 16:18:08,746 - INFO - OPENED LONG at 2084.95 | Stop loss: 2074.4823749999996 | Take profit: 2116.2885625 +2025-03-10 16:18:08,841 - INFO - CLOSED long at 2081.0 | PnL: -0.19% | $-0.59 +2025-03-10 16:18:08,841 - INFO - OPENED SHORT at 2081.0 | Stop loss: 2091.447875 | Take profit: 2049.7206875 +2025-03-10 16:18:08,930 - INFO - CLOSED short at 2085.37 | PnL: -0.21% | $-0.63 +2025-03-10 16:18:08,930 - INFO - OPENED LONG at 2085.37 | Stop loss: 2074.900275 | Take profit: 2116.7148625 +2025-03-10 16:18:08,969 - INFO - CLOSED long at 2084.11 | PnL: -0.06% | $-0.32 +2025-03-10 16:18:08,969 - INFO - OPENED SHORT at 2084.11 | Stop loss: 2094.573425 | Take profit: 2052.7840375 +2025-03-10 16:18:09,091 - INFO - CLOSED short at 2048.3 | PnL: 1.72% | $3.25 +2025-03-10 16:18:09,091 - INFO - OPENED LONG at 2048.3 | Stop loss: 2038.0156250000002 | Take profit: 2079.0888125 +2025-03-10 16:18:09,118 - INFO - CLOSED long at 2051.0 | PnL: 0.13% | $0.07 +2025-03-10 16:18:09,119 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.297875 | Take profit: 2020.1706875 +2025-03-10 16:18:09,180 - INFO - CLOSED short at 2052.89 | PnL: -0.09% | $-0.40 +2025-03-10 16:18:09,180 - INFO - OPENED LONG at 2052.89 | Stop loss: 2042.5826749999999 | Take profit: 2083.7476625 +2025-03-10 16:18:09,253 - INFO - CLOSED long at 2053.22 | PnL: 0.02% | $-0.17 +2025-03-10 16:18:09,254 - INFO - OPENED SHORT at 2053.22 | Stop loss: 2063.5289749999997 | Take profit: 2022.3573874999997 +2025-03-10 16:18:09,351 - INFO - CLOSED short at 2054.03 | PnL: -0.04% | $-0.29 +2025-03-10 16:18:09,352 - INFO - OPENED LONG at 2054.03 | Stop loss: 2043.716975 | Take profit: 2084.9047625000003 +2025-03-10 16:18:09,396 - INFO - CLOSED long at 2050.18 | PnL: -0.19% | $-0.59 +2025-03-10 16:18:09,397 - INFO - OPENED SHORT at 2050.18 | Stop loss: 2060.473775 | Take profit: 2019.3629875 +2025-03-10 16:18:09,420 - INFO - CLOSED short at 2046.76 | PnL: 0.17% | $0.14 +2025-03-10 16:18:09,421 - INFO - OPENED LONG at 2046.76 | Stop loss: 2036.483325 | Take profit: 2077.5257125 +2025-03-10 16:18:09,446 - INFO - CLOSED long at 2043.95 | PnL: -0.14% | $-0.48 +2025-03-10 16:18:09,446 - INFO - OPENED SHORT at 2043.95 | Stop loss: 2054.212625 | Take profit: 2013.2264375000002 +2025-03-10 16:18:09,497 - INFO - CLOSED short at 2043.59 | PnL: 0.02% | $-0.17 +2025-03-10 16:18:09,497 - INFO - OPENED LONG at 2043.59 | Stop loss: 2033.3291749999999 | Take profit: 2074.3081624999995 +2025-03-10 16:18:09,557 - INFO - CLOSED long at 2036.71 | PnL: -0.34% | $-0.89 +2025-03-10 16:18:09,557 - INFO - OPENED SHORT at 2036.71 | Stop loss: 2046.9364249999999 | Take profit: 2006.0950375000002 +2025-03-10 16:18:09,607 - INFO - CLOSED short at 2027.51 | PnL: 0.45% | $0.71 +2025-03-10 16:18:09,608 - INFO - OPENED LONG at 2027.51 | Stop loss: 2017.329575 | Take profit: 2057.9869625 +2025-03-10 16:18:09,660 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 63.6% in downtrends | Avg Win=$0.90, Avg Loss=$-0.39 +2025-03-10 16:18:09,661 - INFO - Episode 27: Reward=-8.33, Balance=$103.49, Win Rate=42.9%, Trades=21, Episode PnL=$6.17, Total PnL=$521.74, Max Drawdown=0.0%, Pred Accuracy=98.1% +2025-03-10 16:18:09,661 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:18:09,661 - INFO - Refreshing data for episode 28 +2025-03-10 16:18:09,662 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:18:09,971 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:18:09,981 - INFO - Initialized environment with 100 candles +2025-03-10 16:18:10,228 - INFO - OPENED SHORT at 2121.8 | Stop loss: 2132.4522535714286 | Take profit: 2089.9081196428574 +2025-03-10 16:18:10,312 - INFO - CLOSED short at 2119.02 | PnL: 0.13% | $0.06 +2025-03-10 16:18:10,312 - INFO - OPENED LONG at 2119.02 | Stop loss: 2108.3816464285715 | Take profit: 2150.870180357143 +2025-03-10 16:18:10,336 - INFO - CLOSED long at 2120.96 | PnL: 0.09% | $-0.02 +2025-03-10 16:18:10,336 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.6080535714286 | Take profit: 2089.0807196428573 +2025-03-10 16:18:10,582 - INFO - CLOSED short at 2115.52 | PnL: 0.26% | $0.31 +2025-03-10 16:18:10,583 - INFO - OPENED LONG at 2115.52 | Stop loss: 2104.8991464285714 | Take profit: 2147.3176803571428 +2025-03-10 16:18:10,686 - INFO - CLOSED long at 2114.1 | PnL: -0.07% | $-0.33 +2025-03-10 16:18:10,686 - INFO - OPENED SHORT at 2114.1 | Stop loss: 2124.7137535714282 | Take profit: 2082.323619642857 +2025-03-10 16:18:10,852 - INFO - CLOSED short at 2113.28 | PnL: 0.04% | $-0.12 +2025-03-10 16:18:10,852 - INFO - OPENED LONG at 2113.28 | Stop loss: 2102.6703464285715 | Take profit: 2145.0440803571432 +2025-03-10 16:18:10,942 - INFO - CLOSED long at 2115.07 | PnL: 0.08% | $-0.03 +2025-03-10 16:18:10,942 - INFO - OPENED SHORT at 2115.07 | Stop loss: 2125.6886035714288 | Take profit: 2083.2790696428574 +2025-03-10 16:18:11,003 - INFO - CLOSED short at 2098.28 | PnL: 0.79% | $1.36 +2025-03-10 16:18:11,004 - INFO - OPENED LONG at 2098.28 | Stop loss: 2087.745346428572 | Take profit: 2129.8190803571433 +2025-03-10 16:18:11,031 - INFO - CLOSED long at 2091.36 | PnL: -0.33% | $-0.85 +2025-03-10 16:18:11,031 - INFO - OPENED SHORT at 2091.36 | Stop loss: 2101.8600535714286 | Take profit: 2059.9247196428573 +2025-03-10 16:18:11,165 - INFO - CLOSED short at 2096.19 | PnL: -0.23% | $-0.65 +2025-03-10 16:18:11,165 - INFO - OPENED LONG at 2096.19 | Stop loss: 2085.6657964285714 | Take profit: 2127.697730357143 +2025-03-10 16:18:11,194 - INFO - CLOSED long at 2100.0 | PnL: 0.18% | $0.16 +2025-03-10 16:18:11,195 - INFO - OPENED SHORT at 2100.0 | Stop loss: 2110.5432535714285 | Take profit: 2068.435119642857 +2025-03-10 16:18:11,301 - INFO - CLOSED short at 2103.41 | PnL: -0.16% | $-0.51 +2025-03-10 16:18:11,301 - INFO - OPENED LONG at 2103.41 | Stop loss: 2092.8496964285714 | Take profit: 2135.0260303571426 +2025-03-10 16:18:11,355 - INFO - CLOSED long at 2104.22 | PnL: 0.04% | $-0.12 +2025-03-10 16:18:11,357 - INFO - OPENED SHORT at 2104.22 | Stop loss: 2114.7843535714287 | Take profit: 2072.591819642857 +2025-03-10 16:18:11,417 - INFO - CLOSED short at 2105.26 | PnL: -0.05% | $-0.29 +2025-03-10 16:18:11,418 - INFO - OPENED LONG at 2105.26 | Stop loss: 2094.6904464285717 | Take profit: 2136.903780357143 +2025-03-10 16:18:11,446 - INFO - CLOSED long at 2099.63 | PnL: -0.27% | $-0.71 +2025-03-10 16:18:11,446 - INFO - OPENED SHORT at 2099.63 | Stop loss: 2110.1714035714285 | Take profit: 2068.0706696428574 +2025-03-10 16:18:11,507 - INFO - CLOSED short at 2094.16 | PnL: 0.26% | $0.31 +2025-03-10 16:18:11,507 - INFO - OPENED LONG at 2094.16 | Stop loss: 2083.6459464285713 | Take profit: 2125.637280357143 +2025-03-10 16:18:11,532 - INFO - CLOSED long at 2096.96 | PnL: 0.13% | $0.07 +2025-03-10 16:18:11,532 - INFO - OPENED SHORT at 2096.96 | Stop loss: 2107.4880535714287 | Take profit: 2065.440719642857 +2025-03-10 16:18:11,842 - INFO - CLOSED short at 2085.37 | PnL: 0.55% | $0.87 +2025-03-10 16:18:11,868 - INFO - OPENED LONG at 2084.11 | Stop loss: 2073.6461964285713 | Take profit: 2115.4365303571426 +2025-03-10 16:18:11,893 - INFO - CLOSED long at 2083.07 | PnL: -0.05% | $-0.29 +2025-03-10 16:18:11,894 - INFO - OPENED SHORT at 2083.07 | Stop loss: 2093.528603571429 | Take profit: 2051.7590696428574 +2025-03-10 16:18:11,971 - INFO - TAKE PROFIT hit for short at 2051.7590696428574 | PnL: 1.50% | $2.73 +2025-03-10 16:18:12,015 - INFO - OPENED LONG at 2051.0 | Stop loss: 2040.7017464285714 | Take profit: 2081.829880357143 +2025-03-10 16:18:12,062 - INFO - CLOSED long at 2043.51 | PnL: -0.37% | $-0.93 +2025-03-10 16:18:12,063 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.7708035714286 | Take profit: 2012.7924696428572 +2025-03-10 16:18:12,187 - INFO - STOP LOSS hit for short at 2053.7708035714286 | PnL: -0.50% | $-1.19 +2025-03-10 16:18:12,216 - INFO - OPENED LONG at 2054.03 | Stop loss: 2043.7165964285716 | Take profit: 2084.9053303571427 +2025-03-10 16:18:12,242 - INFO - CLOSED long at 2050.18 | PnL: -0.19% | $-0.56 +2025-03-10 16:18:12,243 - INFO - OPENED SHORT at 2050.18 | Stop loss: 2060.4741535714284 | Take profit: 2019.362419642857 +2025-03-10 16:18:12,347 - INFO - CLOSED short at 2043.59 | PnL: 0.32% | $0.43 +2025-03-10 16:18:12,348 - INFO - OPENED LONG at 2043.59 | Stop loss: 2033.3287964285714 | Take profit: 2074.308730357143 +2025-03-10 16:18:12,372 - INFO - CLOSED long at 2042.0 | PnL: -0.08% | $-0.35 +2025-03-10 16:18:12,372 - INFO - OPENED SHORT at 2042.0 | Stop loss: 2052.2532535714286 | Take profit: 2011.305119642857 +2025-03-10 16:18:12,437 - INFO - CLOSED short at 2027.51 | PnL: 0.71% | $1.19 +2025-03-10 16:18:12,437 - INFO - OPENED LONG at 2027.51 | Stop loss: 2017.3291964285713 | Take profit: 2057.987530357143 +2025-03-10 16:18:12,485 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 58.3% in downtrends | Avg Win=$0.75, Avg Loss=$-0.46 +2025-03-10 16:18:12,486 - INFO - Episode 28: Reward=-15.13, Balance=$100.52, Win Rate=40.0%, Trades=25, Episode PnL=$4.49, Total PnL=$522.26, Max Drawdown=2.1%, Pred Accuracy=98.1% +2025-03-10 16:18:12,487 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:18:12,487 - INFO - Refreshing data for episode 29 +2025-03-10 16:18:12,487 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:18:12,805 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:18:12,816 - INFO - Initialized environment with 100 candles +2025-03-10 16:18:13,147 - INFO - OPENED SHORT at 2121.8 | Stop loss: 2132.4522535714286 | Take profit: 2089.9081196428574 +2025-03-10 16:18:13,295 - INFO - CLOSED short at 2124.9 | PnL: -0.15% | $-0.48 +2025-03-10 16:18:13,295 - INFO - OPENED LONG at 2124.9 | Stop loss: 2114.2322464285717 | Take profit: 2156.8383803571433 +2025-03-10 16:18:13,331 - INFO - CLOSED long at 2128.33 | PnL: 0.16% | $0.12 +2025-03-10 16:18:13,332 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.0149035714285 | Take profit: 2096.3401696428573 +2025-03-10 16:18:13,398 - INFO - CLOSED short at 2120.26 | PnL: 0.38% | $0.55 +2025-03-10 16:18:13,398 - INFO - OPENED LONG at 2120.26 | Stop loss: 2109.615446428572 | Take profit: 2152.128780357143 +2025-03-10 16:18:13,508 - INFO - CLOSED long at 2114.78 | PnL: -0.26% | $-0.70 +2025-03-10 16:18:13,508 - INFO - OPENED SHORT at 2114.78 | Stop loss: 2125.397153571429 | Take profit: 2082.993419642857 +2025-03-10 16:18:13,847 - INFO - CLOSED short at 2115.07 | PnL: -0.01% | $-0.22 +2025-03-10 16:18:13,847 - INFO - OPENED LONG at 2115.07 | Stop loss: 2104.4513964285716 | Take profit: 2146.860930357143 +2025-03-10 16:18:13,873 - INFO - CLOSED long at 2098.24 | PnL: -0.80% | $-1.74 +2025-03-10 16:18:13,875 - INFO - OPENED SHORT at 2098.24 | Stop loss: 2108.7744535714287 | Take profit: 2066.701519642857 +2025-03-10 16:18:13,908 - INFO - CLOSED short at 2098.28 | PnL: -0.00% | $-0.19 +2025-03-10 16:18:13,909 - INFO - OPENED LONG at 2098.28 | Stop loss: 2087.745346428572 | Take profit: 2129.8190803571433 +2025-03-10 16:18:13,942 - INFO - CLOSED long at 2091.36 | PnL: -0.33% | $-0.82 +2025-03-10 16:18:13,943 - INFO - OPENED SHORT at 2091.36 | Stop loss: 2101.8600535714286 | Take profit: 2059.9247196428573 +2025-03-10 16:18:13,998 - INFO - CLOSED short at 2096.36 | PnL: -0.24% | $-0.64 +2025-03-10 16:18:13,999 - INFO - OPENED LONG at 2096.36 | Stop loss: 2085.8349464285716 | Take profit: 2127.870280357143 +2025-03-10 16:18:14,032 - INFO - CLOSED long at 2089.04 | PnL: -0.35% | $-0.84 +2025-03-10 16:18:14,032 - INFO - OPENED SHORT at 2089.04 | Stop loss: 2099.5284535714286 | Take profit: 2057.639519642857 +2025-03-10 16:18:14,083 - INFO - CLOSED short at 2096.19 | PnL: -0.34% | $-0.82 +2025-03-10 16:18:14,084 - INFO - OPENED LONG at 2096.19 | Stop loss: 2085.6657964285714 | Take profit: 2127.697730357143 +2025-03-10 16:18:14,116 - INFO - CLOSED long at 2100.0 | PnL: 0.18% | $0.15 +2025-03-10 16:18:14,117 - INFO - OPENED SHORT at 2100.0 | Stop loss: 2110.5432535714285 | Take profit: 2068.435119642857 +2025-03-10 16:18:14,333 - INFO - CLOSED short at 2096.96 | PnL: 0.14% | $0.08 +2025-03-10 16:18:14,334 - INFO - OPENED LONG at 2096.96 | Stop loss: 2086.431946428572 | Take profit: 2128.4792803571427 +2025-03-10 16:18:14,359 - INFO - CLOSED long at 2098.66 | PnL: 0.08% | $-0.04 +2025-03-10 16:18:14,360 - INFO - OPENED SHORT at 2098.66 | Stop loss: 2109.196553571428 | Take profit: 2067.115219642857 +2025-03-10 16:18:14,474 - INFO - CLOSED short at 2084.75 | PnL: 0.66% | $1.04 +2025-03-10 16:18:14,474 - INFO - OPENED LONG at 2084.75 | Stop loss: 2074.2829964285716 | Take profit: 2116.086130357143 +2025-03-10 16:18:14,502 - INFO - CLOSED long at 2081.0 | PnL: -0.18% | $-0.52 +2025-03-10 16:18:14,502 - INFO - OPENED SHORT at 2081.0 | Stop loss: 2091.4482535714287 | Take profit: 2049.720119642857 +2025-03-10 16:18:14,686 - INFO - TAKE PROFIT hit for short at 2049.720119642857 | PnL: 1.50% | $2.61 +2025-03-10 16:18:14,710 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.2982535714286 | Take profit: 2020.1701196428571 +2025-03-10 16:18:14,959 - INFO - CLOSED short at 2043.59 | PnL: 0.36% | $0.50 +2025-03-10 16:18:14,960 - INFO - OPENED LONG at 2043.59 | Stop loss: 2033.3287964285714 | Take profit: 2074.308730357143 +2025-03-10 16:18:14,983 - INFO - CLOSED long at 2042.0 | PnL: -0.08% | $-0.34 +2025-03-10 16:18:14,983 - INFO - OPENED SHORT at 2042.0 | Stop loss: 2052.2532535714286 | Take profit: 2011.305119642857 +2025-03-10 16:18:15,007 - INFO - CLOSED short at 2036.71 | PnL: 0.26% | $0.30 +2025-03-10 16:18:15,009 - INFO - OPENED LONG at 2036.71 | Stop loss: 2026.4831964285713 | Take profit: 2067.3255303571427 +2025-03-10 16:18:15,033 - INFO - CLOSED long at 2027.51 | PnL: -0.45% | $-1.06 +2025-03-10 16:18:15,034 - INFO - OPENED SHORT at 2027.51 | Stop loss: 2037.6908035714284 | Take profit: 1997.0324696428572 +2025-03-10 16:18:15,059 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 54.5% in downtrends | Avg Win=$0.67, Avg Loss=$-0.65 +2025-03-10 16:18:15,060 - INFO - Episode 29: Reward=-17.80, Balance=$96.92, Win Rate=38.1%, Trades=21, Episode PnL=$2.72, Total PnL=$519.18, Max Drawdown=0.0%, Pred Accuracy=98.2% +2025-03-10 16:18:15,061 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:18:15,061 - INFO - Refreshing data for episode 30 +2025-03-10 16:18:15,061 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:18:15,376 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:18:15,387 - INFO - Initialized environment with 100 candles +2025-03-10 16:18:16,196 - INFO - OPENED LONG at 2121.8 | Stop loss: 2111.1477464285717 | Take profit: 2153.691880357143 +2025-03-10 16:18:16,250 - INFO - CLOSED long at 2116.52 | PnL: -0.25% | $-0.68 +2025-03-10 16:18:16,250 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.1458535714282 | Take profit: 2084.707319642857 +2025-03-10 16:18:16,281 - INFO - CLOSED short at 2119.02 | PnL: -0.12% | $-0.42 +2025-03-10 16:18:16,281 - INFO - OPENED LONG at 2119.02 | Stop loss: 2108.3816464285715 | Take profit: 2150.870180357143 +2025-03-10 16:18:16,310 - INFO - CLOSED long at 2120.96 | PnL: 0.09% | $-0.02 +2025-03-10 16:18:16,311 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.6080535714286 | Take profit: 2089.0807196428573 +2025-03-10 16:18:16,340 - INFO - CLOSED short at 2124.9 | PnL: -0.19% | $-0.55 +2025-03-10 16:18:16,341 - INFO - OPENED LONG at 2124.9 | Stop loss: 2114.2322464285717 | Take profit: 2156.8383803571433 +2025-03-10 16:18:16,369 - INFO - CLOSED long at 2128.33 | PnL: 0.16% | $0.12 +2025-03-10 16:18:16,369 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.0149035714285 | Take profit: 2096.3401696428573 +2025-03-10 16:18:16,509 - INFO - CLOSED short at 2114.75 | PnL: 0.64% | $1.04 +2025-03-10 16:18:16,510 - INFO - OPENED LONG at 2114.75 | Stop loss: 2104.1329964285715 | Take profit: 2146.5361303571426 +2025-03-10 16:18:16,544 - INFO - CLOSED long at 2116.06 | PnL: 0.06% | $-0.07 +2025-03-10 16:18:16,545 - INFO - OPENED SHORT at 2116.06 | Stop loss: 2126.6835535714285 | Take profit: 2084.254219642857 +2025-03-10 16:18:16,771 - INFO - CLOSED short at 2115.07 | PnL: 0.05% | $-0.10 +2025-03-10 16:18:16,773 - INFO - OPENED LONG at 2115.07 | Stop loss: 2104.4513964285716 | Take profit: 2146.860930357143 +2025-03-10 16:18:16,797 - INFO - CLOSED long at 2098.24 | PnL: -0.80% | $-1.74 +2025-03-10 16:18:16,797 - INFO - OPENED SHORT at 2098.24 | Stop loss: 2108.7744535714287 | Take profit: 2066.701519642857 +2025-03-10 16:18:16,894 - INFO - CLOSED short at 2096.36 | PnL: 0.09% | $-0.02 +2025-03-10 16:18:16,894 - INFO - OPENED LONG at 2096.36 | Stop loss: 2085.8349464285716 | Take profit: 2127.870280357143 +2025-03-10 16:18:16,953 - INFO - CLOSED long at 2089.84 | PnL: -0.31% | $-0.79 +2025-03-10 16:18:16,953 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3324535714287 | Take profit: 2058.4275196428575 +2025-03-10 16:18:17,053 - INFO - STOP LOSS hit for short at 2100.3324535714287 | PnL: -0.50% | $-1.14 +2025-03-10 16:18:17,076 - INFO - OPENED LONG at 2103.41 | Stop loss: 2092.8496964285714 | Take profit: 2135.0260303571426 +2025-03-10 16:18:17,105 - INFO - CLOSED long at 2104.22 | PnL: 0.04% | $-0.12 +2025-03-10 16:18:17,106 - INFO - OPENED SHORT at 2104.22 | Stop loss: 2114.7843535714287 | Take profit: 2072.591819642857 +2025-03-10 16:18:17,178 - INFO - CLOSED short at 2105.26 | PnL: -0.05% | $-0.28 +2025-03-10 16:18:17,178 - INFO - OPENED LONG at 2105.26 | Stop loss: 2094.6904464285717 | Take profit: 2136.903780357143 +2025-03-10 16:18:17,209 - INFO - CLOSED long at 2099.63 | PnL: -0.27% | $-0.69 +2025-03-10 16:18:17,210 - INFO - OPENED SHORT at 2099.63 | Stop loss: 2110.1714035714285 | Take profit: 2068.0706696428574 +2025-03-10 16:18:17,290 - INFO - CLOSED short at 2096.96 | PnL: 0.13% | $0.05 +2025-03-10 16:18:17,291 - INFO - OPENED LONG at 2096.96 | Stop loss: 2086.431946428572 | Take profit: 2128.4792803571427 +2025-03-10 16:18:17,314 - INFO - CLOSED long at 2098.66 | PnL: 0.08% | $-0.04 +2025-03-10 16:18:17,316 - INFO - OPENED SHORT at 2098.66 | Stop loss: 2109.196553571428 | Take profit: 2067.115219642857 +2025-03-10 16:18:17,435 - INFO - CLOSED short at 2084.75 | PnL: 0.66% | $1.04 +2025-03-10 16:18:17,435 - INFO - OPENED LONG at 2084.75 | Stop loss: 2074.2829964285716 | Take profit: 2116.086130357143 +2025-03-10 16:18:17,482 - INFO - CLOSED long at 2084.25 | PnL: -0.02% | $-0.23 +2025-03-10 16:18:17,482 - INFO - OPENED SHORT at 2084.25 | Stop loss: 2094.714503571429 | Take profit: 2052.9213696428574 +2025-03-10 16:18:17,655 - INFO - TAKE PROFIT hit for short at 2052.9213696428574 | PnL: 1.50% | $2.62 +2025-03-10 16:18:17,699 - INFO - OPENED LONG at 2051.0 | Stop loss: 2040.7017464285714 | Take profit: 2081.829880357143 +2025-03-10 16:18:17,750 - INFO - CLOSED long at 2043.51 | PnL: -0.37% | $-0.89 +2025-03-10 16:18:17,750 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.7708035714286 | Take profit: 2012.7924696428572 +2025-03-10 16:18:17,787 - INFO - CLOSED short at 2052.89 | PnL: -0.46% | $-1.06 +2025-03-10 16:18:17,788 - INFO - OPENED LONG at 2052.89 | Stop loss: 2042.5822964285715 | Take profit: 2083.748230357143 +2025-03-10 16:18:17,813 - INFO - CLOSED long at 2053.22 | PnL: 0.02% | $-0.16 +2025-03-10 16:18:17,813 - INFO - OPENED SHORT at 2053.22 | Stop loss: 2063.529353571428 | Take profit: 2022.356819642857 +2025-03-10 16:18:17,867 - INFO - CLOSED short at 2054.03 | PnL: -0.04% | $-0.26 +2025-03-10 16:18:17,867 - INFO - OPENED LONG at 2054.03 | Stop loss: 2043.7165964285716 | Take profit: 2084.9053303571427 +2025-03-10 16:18:17,898 - INFO - CLOSED long at 2050.18 | PnL: -0.19% | $-0.54 +2025-03-10 16:18:17,898 - INFO - OPENED SHORT at 2050.18 | Stop loss: 2060.4741535714284 | Take profit: 2019.362419642857 +2025-03-10 16:18:17,949 - INFO - CLOSED short at 2043.95 | PnL: 0.30% | $0.38 +2025-03-10 16:18:17,950 - INFO - OPENED LONG at 2043.95 | Stop loss: 2033.6869964285715 | Take profit: 2074.674130357143 +2025-03-10 16:18:17,980 - INFO - CLOSED long at 2044.1 | PnL: 0.01% | $-0.17 +2025-03-10 16:18:17,980 - INFO - OPENED SHORT at 2044.1 | Stop loss: 2054.363753571429 | Take profit: 2013.373619642857 +2025-03-10 16:18:18,049 - INFO - CLOSED short at 2043.59 | PnL: 0.02% | $-0.14 +2025-03-10 16:18:18,049 - INFO - OPENED LONG at 2043.59 | Stop loss: 2033.3287964285714 | Take profit: 2074.308730357143 +2025-03-10 16:18:18,105 - INFO - CLOSED long at 2042.0 | PnL: -0.08% | $-0.33 +2025-03-10 16:18:18,106 - INFO - OPENED SHORT at 2042.0 | Stop loss: 2052.2532535714286 | Take profit: 2011.305119642857 +2025-03-10 16:18:18,209 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 35.7% in downtrends | Avg Win=$0.88, Avg Loss=$-0.45 +2025-03-10 16:18:18,210 - INFO - Episode 30: Reward=-32.92, Balance=$94.80, Win Rate=20.7%, Trades=29, Episode PnL=$1.14, Total PnL=$513.98, Max Drawdown=4.4%, Pred Accuracy=98.3% +2025-03-10 16:18:18,358 - INFO - Model saved to checkpoints/trading_agent_episode_30.pt +2025-03-10 16:18:18,359 - INFO - Checkpoint saved at episode 30 +2025-03-10 16:18:18,360 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:18:19,431 - INFO - Visualization saved for episode 30 +2025-03-10 16:18:21,353 - INFO - Visualization saved for episode 30 +2025-03-10 16:18:21,379 - INFO - Refreshing data for episode 31 +2025-03-10 16:18:21,380 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:18:21,718 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:18:21,730 - INFO - Initialized environment with 100 candles +2025-03-10 16:18:22,001 - INFO - OPENED LONG at 2121.8 | Stop loss: 2111.1476142857146 | Take profit: 2153.6920785714287 +2025-03-10 16:18:22,033 - INFO - CLOSED long at 2121.42 | PnL: -0.02% | $-0.23 +2025-03-10 16:18:22,033 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.070485714286 | Take profit: 2089.533621428571 +2025-03-10 16:18:22,225 - INFO - CLOSED short at 2116.81 | PnL: 0.22% | $0.23 +2025-03-10 16:18:22,226 - INFO - OPENED LONG at 2116.81 | Stop loss: 2106.1825642857143 | Take profit: 2148.6272285714285 +2025-03-10 16:18:22,322 - INFO - CLOSED long at 2114.75 | PnL: -0.10% | $-0.39 +2025-03-10 16:18:22,322 - INFO - OPENED SHORT at 2114.75 | Stop loss: 2125.3671357142857 | Take profit: 2082.9636714285716 +2025-03-10 16:18:22,346 - INFO - CLOSED short at 2116.06 | PnL: -0.06% | $-0.32 +2025-03-10 16:18:22,374 - INFO - OPENED SHORT at 2115.21 | Stop loss: 2125.829435714286 | Take profit: 2083.4167714285713 +2025-03-10 16:18:22,452 - INFO - CLOSED short at 2114.32 | PnL: 0.04% | $-0.11 +2025-03-10 16:18:22,452 - INFO - OPENED LONG at 2114.32 | Stop loss: 2103.7050142857147 | Take profit: 2146.099878571429 +2025-03-10 16:18:22,479 - INFO - CLOSED long at 2114.57 | PnL: 0.01% | $-0.17 +2025-03-10 16:18:22,480 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.186235714286 | Take profit: 2082.786371428572 +2025-03-10 16:18:22,534 - INFO - CLOSED short at 2113.28 | PnL: 0.06% | $-0.08 +2025-03-10 16:18:22,534 - INFO - OPENED LONG at 2113.28 | Stop loss: 2102.6702142857143 | Take profit: 2145.044278571429 +2025-03-10 16:18:22,559 - INFO - CLOSED long at 2114.5 | PnL: 0.06% | $-0.08 +2025-03-10 16:18:22,560 - INFO - OPENED SHORT at 2114.5 | Stop loss: 2125.115885714286 | Take profit: 2082.7174214285715 +2025-03-10 16:18:22,613 - INFO - CLOSED short at 2098.24 | PnL: 0.77% | $1.30 +2025-03-10 16:18:22,643 - INFO - OPENED LONG at 2098.28 | Stop loss: 2087.7452142857146 | Take profit: 2129.8192785714286 +2025-03-10 16:18:22,701 - INFO - CLOSED long at 2100.05 | PnL: 0.08% | $-0.03 +2025-03-10 16:18:22,701 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.593635714286 | Take profit: 2068.4841714285717 +2025-03-10 16:18:23,084 - INFO - CLOSED short at 2090.59 | PnL: 0.45% | $0.69 +2025-03-10 16:18:23,084 - INFO - OPENED LONG at 2090.59 | Stop loss: 2080.0936642857146 | Take profit: 2122.013928571429 +2025-03-10 16:18:23,133 - INFO - CLOSED long at 2084.95 | PnL: -0.27% | $-0.73 +2025-03-10 16:18:23,133 - INFO - OPENED SHORT at 2084.95 | Stop loss: 2095.4181357142857 | Take profit: 2053.610671428571 +2025-03-10 16:18:23,390 - INFO - CLOSED short at 2067.71 | PnL: 0.83% | $1.43 +2025-03-10 16:18:23,391 - INFO - OPENED LONG at 2067.71 | Stop loss: 2057.3280642857144 | Take profit: 2098.7907285714286 +2025-03-10 16:18:23,423 - INFO - CLOSED long at 2048.3 | PnL: -0.94% | $-2.07 +2025-03-10 16:18:23,424 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.584885714286 | Take profit: 2017.5104214285716 +2025-03-10 16:18:23,451 - INFO - CLOSED short at 2051.0 | PnL: -0.13% | $-0.45 +2025-03-10 16:18:23,452 - INFO - OPENED LONG at 2051.0 | Stop loss: 2040.7016142857144 | Take profit: 2081.8300785714287 +2025-03-10 16:18:23,480 - INFO - CLOSED long at 2043.51 | PnL: -0.37% | $-0.90 +2025-03-10 16:18:23,480 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.7709357142853 | Take profit: 2012.7922714285714 +2025-03-10 16:18:23,509 - INFO - CLOSED short at 2052.89 | PnL: -0.46% | $-1.07 +2025-03-10 16:18:23,510 - INFO - OPENED LONG at 2052.89 | Stop loss: 2042.582164285714 | Take profit: 2083.7484285714286 +2025-03-10 16:18:23,537 - INFO - CLOSED long at 2053.22 | PnL: 0.02% | $-0.16 +2025-03-10 16:18:23,538 - INFO - OPENED SHORT at 2053.22 | Stop loss: 2063.5294857142853 | Take profit: 2022.3566214285713 +2025-03-10 16:18:23,616 - INFO - CLOSED short at 2050.18 | PnL: 0.15% | $0.09 +2025-03-10 16:18:23,618 - INFO - OPENED LONG at 2050.18 | Stop loss: 2039.8857142857141 | Take profit: 2080.9977785714286 +2025-03-10 16:18:23,642 - INFO - CLOSED long at 2046.76 | PnL: -0.17% | $-0.51 +2025-03-10 16:18:23,644 - INFO - OPENED SHORT at 2046.76 | Stop loss: 2057.0371857142854 | Take profit: 2015.9935214285715 +2025-03-10 16:18:23,806 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$0.75, Avg Loss=$-0.49 +2025-03-10 16:18:23,807 - INFO - Episode 31: Reward=-21.63, Balance=$96.43, Win Rate=25.0%, Trades=20, Episode PnL=$1.70, Total PnL=$510.41, Max Drawdown=0.7%, Pred Accuracy=98.3% +2025-03-10 16:18:23,808 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:18:23,808 - INFO - Refreshing data for episode 32 +2025-03-10 16:18:23,809 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:18:24,204 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:18:24,217 - INFO - Initialized environment with 100 candles +2025-03-10 16:18:24,255 - INFO - OPENED SHORT at 2121.8 | Stop loss: 2132.4527142857146 | Take profit: 2089.9074285714287 +2025-03-10 16:18:24,390 - INFO - CLOSED short at 2128.33 | PnL: -0.31% | $-0.80 +2025-03-10 16:18:24,391 - INFO - OPENED LONG at 2128.33 | Stop loss: 2117.6446357142854 | Take profit: 2160.3205214285713 +2025-03-10 16:18:24,416 - INFO - CLOSED long at 2124.77 | PnL: -0.17% | $-0.52 +2025-03-10 16:18:24,416 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.437564285714 | Take profit: 2092.8328785714284 +2025-03-10 16:18:24,462 - INFO - CLOSED short at 2116.81 | PnL: 0.37% | $0.53 +2025-03-10 16:18:24,463 - INFO - OPENED LONG at 2116.81 | Stop loss: 2106.1822357142855 | Take profit: 2148.6277214285715 +2025-03-10 16:18:24,486 - INFO - CLOSED long at 2114.78 | PnL: -0.10% | $-0.38 +2025-03-10 16:18:24,486 - INFO - OPENED SHORT at 2114.78 | Stop loss: 2125.3976142857146 | Take profit: 2082.992728571429 +2025-03-10 16:18:24,583 - INFO - CLOSED short at 2115.21 | PnL: -0.02% | $-0.23 +2025-03-10 16:18:24,584 - INFO - OPENED LONG at 2115.21 | Stop loss: 2104.590235714286 | Take profit: 2147.003721428571 +2025-03-10 16:18:24,632 - INFO - CLOSED long at 2115.11 | PnL: -0.00% | $-0.20 +2025-03-10 16:18:24,633 - INFO - OPENED SHORT at 2115.11 | Stop loss: 2125.729264285714 | Take profit: 2083.317778571429 +2025-03-10 16:18:24,869 - INFO - CLOSED short at 2091.36 | PnL: 1.12% | $1.97 +2025-03-10 16:18:24,869 - INFO - OPENED LONG at 2091.36 | Stop loss: 2080.8594857142857 | Take profit: 2122.795971428571 +2025-03-10 16:18:24,897 - INFO - CLOSED long at 2100.05 | PnL: 0.42% | $0.62 +2025-03-10 16:18:24,897 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5939642857143 | Take profit: 2068.4836785714288 +2025-03-10 16:18:24,963 - INFO - CLOSED short at 2089.04 | PnL: 0.52% | $0.84 +2025-03-10 16:18:24,963 - INFO - OPENED LONG at 2089.04 | Stop loss: 2078.551085714286 | Take profit: 2120.441171428571 +2025-03-10 16:18:24,988 - INFO - CLOSED long at 2089.84 | PnL: 0.04% | $-0.12 +2025-03-10 16:18:24,988 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.332914285714 | Take profit: 2058.426828571429 +2025-03-10 16:18:25,013 - INFO - CLOSED short at 2096.19 | PnL: -0.30% | $-0.80 +2025-03-10 16:18:25,014 - INFO - OPENED LONG at 2096.19 | Stop loss: 2085.665335714286 | Take profit: 2127.6984214285717 +2025-03-10 16:18:25,066 - INFO - CLOSED long at 2102.83 | PnL: 0.32% | $0.43 +2025-03-10 16:18:25,067 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.3878642857144 | Take profit: 2071.2219785714283 +2025-03-10 16:18:25,223 - INFO - CLOSED short at 2099.63 | PnL: 0.15% | $0.10 +2025-03-10 16:18:25,224 - INFO - OPENED LONG at 2099.63 | Stop loss: 2089.0881357142857 | Take profit: 2131.1900214285715 +2025-03-10 16:18:25,285 - INFO - CLOSED long at 2094.16 | PnL: -0.26% | $-0.72 +2025-03-10 16:18:25,285 - INFO - OPENED SHORT at 2094.16 | Stop loss: 2104.6745142857144 | Take profit: 2062.6820285714284 +2025-03-10 16:18:25,320 - INFO - CLOSED short at 2096.96 | PnL: -0.13% | $-0.46 +2025-03-10 16:18:25,320 - INFO - OPENED LONG at 2096.96 | Stop loss: 2086.431485714286 | Take profit: 2128.4799714285714 +2025-03-10 16:18:25,348 - INFO - CLOSED long at 2098.66 | PnL: 0.08% | $-0.04 +2025-03-10 16:18:25,349 - INFO - OPENED SHORT at 2098.66 | Stop loss: 2109.197014285714 | Take profit: 2067.1145285714283 +2025-03-10 16:18:25,776 - INFO - TAKE PROFIT hit for short at 2067.1145285714283 | PnL: 1.50% | $2.75 +2025-03-10 16:18:25,803 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.2987142857146 | Take profit: 2020.1694285714286 +2025-03-10 16:18:26,210 - INFO - CLOSED short at 2036.71 | PnL: 0.70% | $1.20 +2025-03-10 16:18:26,211 - INFO - OPENED LONG at 2036.71 | Stop loss: 2026.4827357142858 | Take profit: 2067.3262214285714 +2025-03-10 16:18:26,263 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 60.0% in downtrends | Avg Win=$1.06, Avg Loss=$-0.43 +2025-03-10 16:18:26,264 - INFO - Episode 32: Reward=-9.60, Balance=$104.18, Win Rate=44.4%, Trades=18, Episode PnL=$5.11, Total PnL=$514.59, Max Drawdown=0.0%, Pred Accuracy=98.4% +2025-03-10 16:18:26,264 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:18:26,265 - INFO - Refreshing data for episode 33 +2025-03-10 16:18:26,265 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:18:26,582 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:18:26,594 - INFO - Initialized environment with 100 candles +2025-03-10 16:18:26,633 - INFO - OPENED LONG at 2121.8 | Stop loss: 2111.1467500000003 | Take profit: 2153.6933750000003 +2025-03-10 16:18:26,659 - INFO - CLOSED long at 2121.42 | PnL: -0.02% | $-0.23 +2025-03-10 16:18:26,659 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.07135 | Take profit: 2089.532325 +2025-03-10 16:18:26,679 - INFO - CLOSED short at 2116.52 | PnL: 0.23% | $0.26 +2025-03-10 16:18:26,717 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.65935 | Take profit: 2087.168325 +2025-03-10 16:18:26,754 - INFO - CLOSED short at 2120.96 | PnL: -0.09% | $-0.38 +2025-03-10 16:18:26,754 - INFO - OPENED LONG at 2120.96 | Stop loss: 2110.31095 | Take profit: 2152.840775 +2025-03-10 16:18:26,779 - INFO - CLOSED long at 2124.9 | PnL: 0.19% | $0.17 +2025-03-10 16:18:26,779 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.5687500000004 | Take profit: 2092.960125 +2025-03-10 16:18:26,828 - INFO - CLOSED short at 2124.77 | PnL: 0.01% | $-0.18 +2025-03-10 16:18:26,829 - INFO - OPENED LONG at 2124.77 | Stop loss: 2114.1019 | Take profit: 2156.707925 +2025-03-10 16:18:26,861 - INFO - CLOSED long at 2120.26 | PnL: -0.21% | $-0.61 +2025-03-10 16:18:26,862 - INFO - OPENED SHORT at 2120.26 | Stop loss: 2130.9055500000004 | Take profit: 2088.3897250000005 +2025-03-10 16:18:27,067 - INFO - CLOSED short at 2115.21 | PnL: 0.24% | $0.27 +2025-03-10 16:18:27,068 - INFO - OPENED LONG at 2115.21 | Stop loss: 2104.5897 | Take profit: 2147.0045250000003 +2025-03-10 16:18:27,117 - INFO - CLOSED long at 2114.1 | PnL: -0.05% | $-0.30 +2025-03-10 16:18:27,118 - INFO - OPENED SHORT at 2114.1 | Stop loss: 2124.7147499999996 | Take profit: 2082.3221249999997 +2025-03-10 16:18:27,292 - INFO - CLOSED short at 2114.5 | PnL: -0.02% | $-0.23 +2025-03-10 16:18:27,293 - INFO - OPENED LONG at 2114.5 | Stop loss: 2103.88325 | Take profit: 2146.283875 +2025-03-10 16:18:27,315 - INFO - CLOSED long at 2115.07 | PnL: 0.03% | $-0.14 +2025-03-10 16:18:27,315 - INFO - OPENED SHORT at 2115.07 | Stop loss: 2125.6896 | Take profit: 2083.277575 +2025-03-10 16:18:27,525 - INFO - CLOSED short at 2089.04 | PnL: 1.23% | $2.18 +2025-03-10 16:18:27,573 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.33345 | Take profit: 2058.426025 +2025-03-10 16:18:27,599 - INFO - CLOSED short at 2096.19 | PnL: -0.30% | $-0.80 +2025-03-10 16:18:27,600 - INFO - OPENED LONG at 2096.19 | Stop loss: 2085.6648 | Take profit: 2127.6992250000003 +2025-03-10 16:18:27,631 - INFO - CLOSED long at 2100.0 | PnL: 0.18% | $0.16 +2025-03-10 16:18:27,632 - INFO - OPENED SHORT at 2100.0 | Stop loss: 2110.54425 | Take profit: 2068.433625 +2025-03-10 16:18:27,706 - INFO - CLOSED short at 2104.22 | PnL: -0.20% | $-0.59 +2025-03-10 16:18:27,706 - INFO - OPENED LONG at 2104.22 | Stop loss: 2093.65465 | Take profit: 2135.849675 +2025-03-10 16:18:27,734 - INFO - CLOSED long at 2104.67 | PnL: 0.02% | $-0.15 +2025-03-10 16:18:27,735 - INFO - OPENED SHORT at 2104.67 | Stop loss: 2115.2376000000004 | Take profit: 2073.033575 +2025-03-10 16:18:27,765 - INFO - CLOSED short at 2105.26 | PnL: -0.03% | $-0.25 +2025-03-10 16:18:27,766 - INFO - OPENED LONG at 2105.26 | Stop loss: 2094.6894500000003 | Take profit: 2136.9052750000005 +2025-03-10 16:18:27,822 - INFO - CLOSED long at 2099.63 | PnL: -0.27% | $-0.71 +2025-03-10 16:18:27,822 - INFO - OPENED SHORT at 2099.63 | Stop loss: 2110.1724 | Take profit: 2068.069175 +2025-03-10 16:18:28,342 - INFO - TAKE PROFIT hit for short at 2068.069175 | PnL: 1.50% | $2.71 +2025-03-10 16:18:28,385 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.58575 | Take profit: 2017.5091250000003 +2025-03-10 16:18:28,491 - INFO - CLOSED short at 2053.22 | PnL: -0.24% | $-0.67 +2025-03-10 16:18:28,492 - INFO - OPENED LONG at 2053.22 | Stop loss: 2042.9096499999998 | Take profit: 2084.0846749999996 +2025-03-10 16:18:28,517 - INFO - CLOSED long at 2058.11 | PnL: 0.24% | $0.27 +2025-03-10 16:18:28,517 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.4447999999998 | Take profit: 2027.1719750000002 +2025-03-10 16:18:28,737 - INFO - CLOSED short at 2044.1 | PnL: 0.68% | $1.15 +2025-03-10 16:18:28,738 - INFO - OPENED LONG at 2044.1 | Stop loss: 2033.8352499999999 | Take profit: 2074.827875 +2025-03-10 16:18:28,784 - INFO - CLOSED long at 2043.59 | PnL: -0.02% | $-0.25 +2025-03-10 16:18:28,784 - INFO - OPENED SHORT at 2043.59 | Stop loss: 2053.8522 | Take profit: 2012.869775 +2025-03-10 16:18:28,805 - INFO - CLOSED short at 2042.0 | PnL: 0.08% | $-0.04 +2025-03-10 16:18:28,805 - INFO - OPENED LONG at 2042.0 | Stop loss: 2031.7457499999998 | Take profit: 2072.696375 +2025-03-10 16:18:28,831 - INFO - CLOSED long at 2036.71 | PnL: -0.26% | $-0.71 +2025-03-10 16:18:28,831 - INFO - OPENED SHORT at 2036.71 | Stop loss: 2046.9378 | Take profit: 2006.092975 +2025-03-10 16:18:28,889 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 27.3% in downtrends | Avg Win=$0.89, Avg Loss=$-0.39 +2025-03-10 16:18:28,890 - INFO - Episode 33: Reward=-18.12, Balance=$100.91, Win Rate=33.3%, Trades=24, Episode PnL=$3.42, Total PnL=$515.49, Max Drawdown=0.0%, Pred Accuracy=98.4% +2025-03-10 16:18:28,890 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:18:28,890 - INFO - Refreshing data for episode 34 +2025-03-10 16:18:28,891 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:18:29,220 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:18:29,233 - INFO - Initialized environment with 100 candles +2025-03-10 16:18:29,267 - INFO - OPENED SHORT at 2121.8 | Stop loss: 2132.454828571429 | Take profit: 2089.904257142857 +2025-03-10 16:18:29,550 - INFO - CLOSED short at 2115.52 | PnL: 0.30% | $0.38 +2025-03-10 16:18:29,551 - INFO - OPENED LONG at 2115.52 | Stop loss: 2104.8965714285714 | Take profit: 2147.321542857143 +2025-03-10 16:18:29,573 - INFO - CLOSED long at 2114.75 | PnL: -0.04% | $-0.27 +2025-03-10 16:18:29,574 - INFO - OPENED SHORT at 2114.75 | Stop loss: 2125.369578571429 | Take profit: 2082.960007142857 +2025-03-10 16:18:29,638 - INFO - CLOSED short at 2116.06 | PnL: -0.06% | $-0.32 +2025-03-10 16:18:29,638 - INFO - OPENED LONG at 2116.06 | Stop loss: 2105.4338714285714 | Take profit: 2147.869642857143 +2025-03-10 16:18:29,781 - INFO - CLOSED long at 2115.11 | PnL: -0.04% | $-0.28 +2025-03-10 16:18:29,781 - INFO - OPENED SHORT at 2115.11 | Stop loss: 2125.731378571429 | Take profit: 2083.3146071428573 +2025-03-10 16:18:29,809 - INFO - CLOSED short at 2114.32 | PnL: 0.04% | $-0.12 +2025-03-10 16:18:29,809 - INFO - OPENED LONG at 2114.32 | Stop loss: 2103.7025714285714 | Take profit: 2146.103542857143 +2025-03-10 16:18:29,837 - INFO - CLOSED long at 2114.57 | PnL: 0.01% | $-0.17 +2025-03-10 16:18:29,837 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.188678571429 | Take profit: 2082.7827071428574 +2025-03-10 16:18:30,005 - INFO - CLOSED short at 2098.24 | PnL: 0.77% | $1.31 +2025-03-10 16:18:30,006 - INFO - OPENED LONG at 2098.24 | Stop loss: 2087.7029714285713 | Take profit: 2129.7823428571423 +2025-03-10 16:18:30,071 - INFO - CLOSED long at 2098.28 | PnL: 0.00% | $-0.19 +2025-03-10 16:18:30,071 - INFO - OPENED SHORT at 2098.28 | Stop loss: 2108.8172285714286 | Take profit: 2066.7370571428573 +2025-03-10 16:18:30,256 - INFO - CLOSED short at 2089.84 | PnL: 0.40% | $0.59 +2025-03-10 16:18:30,256 - INFO - OPENED LONG at 2089.84 | Stop loss: 2079.3449714285716 | Take profit: 2121.256342857143 +2025-03-10 16:18:30,286 - INFO - CLOSED long at 2096.19 | PnL: 0.30% | $0.40 +2025-03-10 16:18:30,287 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.7167785714287 | Take profit: 2064.678407142857 +2025-03-10 16:18:30,579 - INFO - CLOSED short at 2094.16 | PnL: 0.10% | $-0.01 +2025-03-10 16:18:30,579 - INFO - OPENED LONG at 2094.16 | Stop loss: 2083.6433714285713 | Take profit: 2125.6411428571428 +2025-03-10 16:18:30,629 - INFO - CLOSED long at 2098.66 | PnL: 0.21% | $0.23 +2025-03-10 16:18:30,629 - INFO - OPENED SHORT at 2098.66 | Stop loss: 2109.1991285714284 | Take profit: 2067.111357142857 +2025-03-10 16:18:30,725 - INFO - CLOSED short at 2080.58 | PnL: 0.86% | $1.51 +2025-03-10 16:18:30,726 - INFO - OPENED LONG at 2080.58 | Stop loss: 2070.1312714285714 | Take profit: 2111.857442857143 +2025-03-10 16:18:30,826 - INFO - CLOSED long at 2084.25 | PnL: 0.18% | $0.15 +2025-03-10 16:18:30,827 - INFO - OPENED SHORT at 2084.25 | Stop loss: 2094.717078571429 | Take profit: 2052.917507142857 +2025-03-10 16:18:30,870 - INFO - CLOSED short at 2085.37 | PnL: -0.05% | $-0.31 +2025-03-10 16:18:30,871 - INFO - OPENED LONG at 2085.37 | Stop loss: 2074.897321428571 | Take profit: 2116.719292857143 +2025-03-10 16:18:30,932 - INFO - CLOSED long at 2084.11 | PnL: -0.06% | $-0.32 +2025-03-10 16:18:30,935 - INFO - OPENED SHORT at 2084.11 | Stop loss: 2094.576378571429 | Take profit: 2052.7796071428575 +2025-03-10 16:18:31,229 - INFO - TAKE PROFIT hit for short at 2052.7796071428575 | PnL: 1.50% | $2.82 +2025-03-10 16:18:31,254 - INFO - OPENED LONG at 2051.0 | Stop loss: 2040.6991714285714 | Take profit: 2081.8337428571426 +2025-03-10 16:18:31,309 - INFO - CLOSED long at 2052.89 | PnL: 0.09% | $-0.02 +2025-03-10 16:18:31,310 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.200278571428 | Take profit: 2022.027907142857 +2025-03-10 16:18:31,704 - INFO - CLOSED short at 2036.71 | PnL: 0.79% | $1.42 +2025-03-10 16:18:31,705 - INFO - OPENED LONG at 2036.71 | Stop loss: 2026.4806214285713 | Take profit: 2067.329392857143 +2025-03-10 16:18:31,735 - INFO - CLOSED long at 2027.51 | PnL: -0.45% | $-1.15 +2025-03-10 16:18:31,735 - INFO - OPENED SHORT at 2027.51 | Stop loss: 2037.6933785714286 | Take profit: 1997.028607142857 +2025-03-10 16:18:31,764 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 60.0% in downtrends | Avg Win=$0.98, Avg Loss=$-0.29 +2025-03-10 16:18:31,765 - INFO - Episode 34: Reward=-9.35, Balance=$105.65, Win Rate=45.0%, Trades=20, Episode PnL=$7.28, Total PnL=$521.15, Max Drawdown=0.0%, Pred Accuracy=98.4% +2025-03-10 16:18:31,765 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:18:31,766 - INFO - Refreshing data for episode 35 +2025-03-10 16:18:31,767 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:18:32,075 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:18:32,085 - INFO - Initialized environment with 100 candles +2025-03-10 16:18:33,478 - INFO - OPENED SHORT at 2121.8 | Stop loss: 2132.454828571429 | Take profit: 2089.904257142857 +2025-03-10 16:18:33,534 - INFO - CLOSED short at 2116.52 | PnL: 0.25% | $0.29 +2025-03-10 16:18:33,535 - INFO - OPENED LONG at 2116.52 | Stop loss: 2105.8915714285713 | Take profit: 2148.336542857143 +2025-03-10 16:18:33,592 - INFO - CLOSED long at 2120.96 | PnL: 0.21% | $0.22 +2025-03-10 16:18:33,593 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.6106285714286 | Take profit: 2089.076857142857 +2025-03-10 16:18:33,623 - INFO - CLOSED short at 2124.9 | PnL: -0.19% | $-0.56 +2025-03-10 16:18:33,623 - INFO - OPENED LONG at 2124.9 | Stop loss: 2114.2296714285717 | Take profit: 2156.842242857143 +2025-03-10 16:18:33,654 - INFO - CLOSED long at 2128.33 | PnL: 0.16% | $0.12 +2025-03-10 16:18:33,654 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.0174785714285 | Take profit: 2096.336307142857 +2025-03-10 16:18:34,119 - INFO - CLOSED short at 2115.07 | PnL: 0.62% | $1.02 +2025-03-10 16:18:34,119 - INFO - OPENED LONG at 2115.07 | Stop loss: 2104.4488214285716 | Take profit: 2146.864792857143 +2025-03-10 16:18:34,149 - INFO - STOP LOSS hit for long at 2104.4488214285716 | PnL: -0.50% | $-1.19 +2025-03-10 16:18:34,179 - INFO - OPENED SHORT at 2098.28 | Stop loss: 2108.8172285714286 | Take profit: 2066.7370571428573 +2025-03-10 16:18:34,244 - INFO - CLOSED short at 2091.36 | PnL: 0.33% | $0.45 +2025-03-10 16:18:34,245 - INFO - OPENED LONG at 2091.36 | Stop loss: 2080.8573714285712 | Take profit: 2122.799142857143 +2025-03-10 16:18:34,345 - INFO - CLOSED long at 2096.36 | PnL: 0.24% | $0.27 +2025-03-10 16:18:34,345 - INFO - OPENED SHORT at 2096.36 | Stop loss: 2106.8876285714286 | Take profit: 2064.8458571428573 +2025-03-10 16:18:34,771 - INFO - CLOSED short at 2094.16 | PnL: 0.10% | $0.01 +2025-03-10 16:18:34,798 - INFO - OPENED SHORT at 2096.96 | Stop loss: 2107.4906285714283 | Take profit: 2065.436857142857 +2025-03-10 16:18:34,823 - INFO - CLOSED short at 2098.66 | PnL: -0.08% | $-0.36 +2025-03-10 16:18:34,824 - INFO - OPENED LONG at 2098.66 | Stop loss: 2088.1208714285713 | Take profit: 2130.208642857143 +2025-03-10 16:18:34,879 - INFO - CLOSED long at 2090.99 | PnL: -0.37% | $-0.91 +2025-03-10 16:18:34,879 - INFO - OPENED SHORT at 2090.99 | Stop loss: 2101.490778571428 | Take profit: 2059.556407142857 +2025-03-10 16:18:34,937 - INFO - CLOSED short at 2080.58 | PnL: 0.50% | $0.77 +2025-03-10 16:18:34,938 - INFO - OPENED LONG at 2080.58 | Stop loss: 2070.1312714285714 | Take profit: 2111.857442857143 +2025-03-10 16:18:34,968 - INFO - CLOSED long at 2084.75 | PnL: 0.20% | $0.20 +2025-03-10 16:18:34,969 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2195785714284 | Take profit: 2053.410007142857 +2025-03-10 16:18:35,076 - INFO - CLOSED short at 2084.25 | PnL: 0.02% | $-0.15 +2025-03-10 16:18:35,076 - INFO - OPENED LONG at 2084.25 | Stop loss: 2073.782921428571 | Take profit: 2115.582492857143 +2025-03-10 16:18:35,138 - INFO - CLOSED long at 2085.37 | PnL: 0.05% | $-0.09 +2025-03-10 16:18:35,139 - INFO - OPENED SHORT at 2085.37 | Stop loss: 2095.8426785714287 | Take profit: 2054.020707142857 +2025-03-10 16:18:35,296 - INFO - TAKE PROFIT hit for short at 2054.020707142857 | PnL: 1.50% | $2.75 +2025-03-10 16:18:35,330 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3008285714286 | Take profit: 2020.1662571428571 +2025-03-10 16:18:35,362 - INFO - CLOSED short at 2043.51 | PnL: 0.37% | $0.53 +2025-03-10 16:18:35,362 - INFO - OPENED LONG at 2043.51 | Stop loss: 2033.2466214285714 | Take profit: 2074.2313928571425 +2025-03-10 16:18:35,469 - INFO - CLOSED long at 2053.22 | PnL: 0.48% | $0.76 +2025-03-10 16:18:35,469 - INFO - OPENED SHORT at 2053.22 | Stop loss: 2063.531928571428 | Take profit: 2022.3529571428571 +2025-03-10 16:18:35,577 - INFO - CLOSED short at 2054.03 | PnL: -0.04% | $-0.28 +2025-03-10 16:18:35,577 - INFO - OPENED LONG at 2054.03 | Stop loss: 2043.7140214285714 | Take profit: 2084.909192857143 +2025-03-10 16:18:35,613 - INFO - CLOSED long at 2050.18 | PnL: -0.19% | $-0.58 +2025-03-10 16:18:35,613 - INFO - OPENED SHORT at 2050.18 | Stop loss: 2060.4767285714283 | Take profit: 2019.3585571428569 +2025-03-10 16:18:35,684 - INFO - CLOSED short at 2043.95 | PnL: 0.30% | $0.41 +2025-03-10 16:18:35,685 - INFO - OPENED LONG at 2043.95 | Stop loss: 2033.6844214285716 | Take profit: 2074.677992857143 +2025-03-10 16:18:35,722 - INFO - CLOSED long at 2044.1 | PnL: 0.01% | $-0.19 +2025-03-10 16:18:35,722 - INFO - OPENED SHORT at 2044.1 | Stop loss: 2054.3663285714283 | Take profit: 2013.3697571428572 +2025-03-10 16:18:35,753 - INFO - CLOSED short at 2043.59 | PnL: 0.02% | $-0.15 +2025-03-10 16:18:35,754 - INFO - OPENED LONG at 2043.59 | Stop loss: 2033.3262214285712 | Take profit: 2074.312592857143 +2025-03-10 16:18:35,784 - INFO - CLOSED long at 2042.0 | PnL: -0.08% | $-0.36 +2025-03-10 16:18:35,784 - INFO - OPENED SHORT at 2042.0 | Stop loss: 2052.2558285714285 | Take profit: 2011.3012571428571 +2025-03-10 16:18:35,966 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 53.8% in downtrends | Avg Win=$0.60, Avg Loss=$-0.44 +2025-03-10 16:18:35,967 - INFO - Episode 35: Reward=-5.86, Balance=$102.98, Win Rate=54.2%, Trades=24, Episode PnL=$3.55, Total PnL=$524.12, Max Drawdown=0.1%, Pred Accuracy=98.5% +2025-03-10 16:18:35,967 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:18:35,968 - INFO - Refreshing data for episode 36 +2025-03-10 16:18:35,968 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:18:36,268 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:18:36,281 - INFO - Initialized environment with 100 candles +2025-03-10 16:18:36,320 - INFO - OPENED SHORT at 2121.8 | Stop loss: 2132.456160714286 | Take profit: 2089.9022589285714 +2025-03-10 16:18:36,441 - INFO - CLOSED short at 2120.96 | PnL: 0.04% | $-0.12 +2025-03-10 16:18:36,441 - INFO - OPENED LONG at 2120.96 | Stop loss: 2110.308039285714 | Take profit: 2152.8451410714283 +2025-03-10 16:18:36,589 - INFO - CLOSED long at 2116.81 | PnL: -0.20% | $-0.58 +2025-03-10 16:18:36,590 - INFO - OPENED SHORT at 2116.81 | Stop loss: 2127.4412107142857 | Take profit: 2084.9871089285716 +2025-03-10 16:18:36,658 - INFO - CLOSED short at 2115.52 | PnL: 0.06% | $-0.08 +2025-03-10 16:18:36,658 - INFO - OPENED LONG at 2115.52 | Stop loss: 2104.8952392857145 | Take profit: 2147.3235410714283 +2025-03-10 16:18:36,720 - INFO - CLOSED long at 2116.06 | PnL: 0.03% | $-0.14 +2025-03-10 16:18:36,721 - INFO - OPENED SHORT at 2116.06 | Stop loss: 2126.687460714286 | Take profit: 2084.2483589285716 +2025-03-10 16:18:36,788 - INFO - CLOSED short at 2114.1 | PnL: 0.09% | $-0.01 +2025-03-10 16:18:36,788 - INFO - OPENED LONG at 2114.1 | Stop loss: 2103.4823392857143 | Take profit: 2145.882241071429 +2025-03-10 16:18:37,005 - INFO - STOP LOSS hit for long at 2103.4823392857143 | PnL: -0.50% | $-1.17 +2025-03-10 16:18:37,038 - INFO - OPENED LONG at 2098.28 | Stop loss: 2087.7414392857145 | Take profit: 2129.824941071429 +2025-03-10 16:18:37,065 - INFO - CLOSED long at 2091.36 | PnL: -0.33% | $-0.82 +2025-03-10 16:18:37,065 - INFO - OPENED SHORT at 2091.36 | Stop loss: 2101.863960714286 | Take profit: 2059.918858928572 +2025-03-10 16:18:37,163 - INFO - CLOSED short at 2089.04 | PnL: 0.11% | $0.02 +2025-03-10 16:18:37,163 - INFO - OPENED LONG at 2089.04 | Stop loss: 2078.5476392857145 | Take profit: 2120.4463410714284 +2025-03-10 16:18:37,199 - INFO - CLOSED long at 2089.84 | PnL: 0.04% | $-0.12 +2025-03-10 16:18:37,199 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.336360714286 | Take profit: 2058.4216589285716 +2025-03-10 16:18:37,238 - INFO - CLOSED short at 2096.19 | PnL: -0.30% | $-0.77 +2025-03-10 16:18:37,238 - INFO - OPENED LONG at 2096.19 | Stop loss: 2085.661889285714 | Take profit: 2127.703591071429 +2025-03-10 16:18:37,265 - INFO - CLOSED long at 2100.0 | PnL: 0.18% | $0.15 +2025-03-10 16:18:37,266 - INFO - OPENED SHORT at 2100.0 | Stop loss: 2110.5471607142854 | Take profit: 2068.4292589285715 +2025-03-10 16:18:37,304 - INFO - CLOSED short at 2102.83 | PnL: -0.13% | $-0.44 +2025-03-10 16:18:37,304 - INFO - OPENED LONG at 2102.83 | Stop loss: 2092.268689285714 | Take profit: 2134.4431910714284 +2025-03-10 16:18:37,366 - INFO - CLOSED long at 2104.22 | PnL: 0.07% | $-0.06 +2025-03-10 16:18:37,367 - INFO - OPENED SHORT at 2104.22 | Stop loss: 2114.7882607142856 | Take profit: 2072.585958928571 +2025-03-10 16:18:37,436 - INFO - CLOSED short at 2105.26 | PnL: -0.05% | $-0.28 +2025-03-10 16:18:37,436 - INFO - OPENED LONG at 2105.26 | Stop loss: 2094.6865392857144 | Take profit: 2136.9096410714287 +2025-03-10 16:18:37,496 - INFO - CLOSED long at 2099.22 | PnL: -0.29% | $-0.72 +2025-03-10 16:18:37,497 - INFO - OPENED SHORT at 2099.22 | Stop loss: 2109.7632607142855 | Take profit: 2067.6609589285713 +2025-03-10 16:18:37,520 - INFO - CLOSED short at 2094.16 | PnL: 0.24% | $0.26 +2025-03-10 16:18:37,520 - INFO - OPENED LONG at 2094.16 | Stop loss: 2083.6420392857144 | Take profit: 2125.6431410714285 +2025-03-10 16:18:37,626 - INFO - CLOSED long at 2090.99 | PnL: -0.15% | $-0.47 +2025-03-10 16:18:37,626 - INFO - OPENED SHORT at 2090.99 | Stop loss: 2101.4921107142854 | Take profit: 2059.5544089285713 +2025-03-10 16:18:37,659 - INFO - CLOSED short at 2084.95 | PnL: 0.29% | $0.35 +2025-03-10 16:18:37,659 - INFO - OPENED LONG at 2084.95 | Stop loss: 2074.4780892857143 | Take profit: 2116.2949910714287 +2025-03-10 16:18:37,689 - INFO - CLOSED long at 2080.58 | PnL: -0.21% | $-0.58 +2025-03-10 16:18:37,689 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0300607142854 | Take profit: 2049.3005589285713 +2025-03-10 16:18:37,811 - INFO - CLOSED short at 2085.37 | PnL: -0.23% | $-0.61 +2025-03-10 16:18:37,811 - INFO - OPENED LONG at 2085.37 | Stop loss: 2074.895989285714 | Take profit: 2116.7212910714284 +2025-03-10 16:18:37,943 - INFO - CLOSED long at 2075.07 | PnL: -0.49% | $-1.09 +2025-03-10 16:18:37,943 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.4925107142863 | Take profit: 2043.8732089285716 +2025-03-10 16:18:37,999 - INFO - CLOSED short at 2067.71 | PnL: 0.35% | $0.46 +2025-03-10 16:18:38,000 - INFO - OPENED LONG at 2067.71 | Stop loss: 2057.3242892857143 | Take profit: 2098.7963910714284 +2025-03-10 16:18:38,097 - INFO - CLOSED long at 2048.3 | PnL: -0.94% | $-1.89 +2025-03-10 16:18:38,097 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.588660714286 | Take profit: 2017.5047589285716 +2025-03-10 16:18:38,177 - INFO - CLOSED short at 2051.0 | PnL: -0.13% | $-0.41 +2025-03-10 16:18:38,178 - INFO - OPENED LONG at 2051.0 | Stop loss: 2040.6978392857145 | Take profit: 2081.8357410714284 +2025-03-10 16:18:38,204 - INFO - CLOSED long at 2043.51 | PnL: -0.37% | $-0.83 +2025-03-10 16:18:38,205 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.774710714286 | Take profit: 2012.7866089285715 +2025-03-10 16:18:38,280 - INFO - CLOSED short at 2058.11 | PnL: -0.71% | $-1.43 +2025-03-10 16:18:38,280 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.7722892857144 | Take profit: 2089.0523910714287 +2025-03-10 16:18:38,335 - INFO - CLOSED long at 2050.18 | PnL: -0.39% | $-0.84 +2025-03-10 16:18:38,336 - INFO - OPENED SHORT at 2050.18 | Stop loss: 2060.4780607142857 | Take profit: 2019.356558928571 +2025-03-10 16:18:38,361 - INFO - CLOSED short at 2046.76 | PnL: 0.17% | $0.11 +2025-03-10 16:18:38,361 - INFO - OPENED LONG at 2046.76 | Stop loss: 2036.4790392857142 | Take profit: 2077.5321410714287 +2025-03-10 16:18:38,411 - INFO - CLOSED long at 2043.95 | PnL: -0.14% | $-0.41 +2025-03-10 16:18:38,413 - INFO - OPENED SHORT at 2043.95 | Stop loss: 2054.216910714286 | Take profit: 2013.2200089285714 +2025-03-10 16:18:38,511 - INFO - CLOSED short at 2043.59 | PnL: 0.02% | $-0.14 +2025-03-10 16:18:38,511 - INFO - OPENED LONG at 2043.59 | Stop loss: 2033.3248892857143 | Take profit: 2074.3145910714284 +2025-03-10 16:18:38,583 - INFO - CLOSED long at 2036.71 | PnL: -0.34% | $-0.75 +2025-03-10 16:18:38,584 - INFO - OPENED SHORT at 2036.71 | Stop loss: 2046.9407107142856 | Take profit: 2006.0886089285716 +2025-03-10 16:18:38,619 - INFO - CLOSED short at 2027.51 | PnL: 0.45% | $0.60 +2025-03-10 16:18:38,619 - INFO - OPENED LONG at 2027.51 | Stop loss: 2017.3252892857142 | Take profit: 2057.9933910714285 +2025-03-10 16:18:38,647 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 35.3% in downtrends | Avg Win=$0.28, Avg Loss=$-0.59 +2025-03-10 16:18:38,648 - INFO - Episode 36: Reward=-48.87, Balance=$87.20, Win Rate=21.9%, Trades=32, Episode PnL=$-3.66, Total PnL=$511.32, Max Drawdown=2.1%, Pred Accuracy=98.5% +2025-03-10 16:18:38,649 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:18:38,650 - INFO - Refreshing data for episode 37 +2025-03-10 16:18:38,650 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:18:39,041 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:18:39,053 - INFO - Initialized environment with 100 candles +2025-03-10 16:18:39,091 - INFO - OPENED LONG at 2121.8 | Stop loss: 2111.143735714286 | Take profit: 2153.6978964285713 +2025-03-10 16:18:39,268 - INFO - CLOSED long at 2124.77 | PnL: 0.14% | $0.08 +2025-03-10 16:18:39,322 - INFO - OPENED SHORT at 2116.81 | Stop loss: 2127.4413142857143 | Take profit: 2084.9869535714283 +2025-03-10 16:18:39,386 - INFO - CLOSED short at 2115.52 | PnL: 0.06% | $-0.08 +2025-03-10 16:18:39,386 - INFO - OPENED LONG at 2115.52 | Stop loss: 2104.895135714286 | Take profit: 2147.3236964285716 +2025-03-10 16:18:39,453 - INFO - CLOSED long at 2114.75 | PnL: -0.04% | $-0.27 +2025-03-10 16:18:39,453 - INFO - OPENED SHORT at 2114.75 | Stop loss: 2125.371014285714 | Take profit: 2082.9578535714286 +2025-03-10 16:18:39,506 - INFO - CLOSED short at 2116.06 | PnL: -0.06% | $-0.32 +2025-03-10 16:18:39,507 - INFO - OPENED LONG at 2116.06 | Stop loss: 2105.4324357142855 | Take profit: 2147.8717964285715 +2025-03-10 16:18:39,634 - INFO - CLOSED long at 2114.32 | PnL: -0.08% | $-0.35 +2025-03-10 16:18:39,635 - INFO - OPENED SHORT at 2114.32 | Stop loss: 2124.9388642857148 | Take profit: 2082.5343035714286 +2025-03-10 16:18:39,999 - INFO - CLOSED short at 2096.36 | PnL: 0.85% | $1.45 +2025-03-10 16:18:39,999 - INFO - OPENED LONG at 2096.36 | Stop loss: 2085.8309357142857 | Take profit: 2127.8762964285715 +2025-03-10 16:18:40,053 - INFO - CLOSED long at 2089.84 | PnL: -0.31% | $-0.81 +2025-03-10 16:18:40,054 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3364642857146 | Take profit: 2058.4215035714287 +2025-03-10 16:18:40,140 - INFO - STOP LOSS hit for short at 2100.3364642857146 | PnL: -0.50% | $-1.17 +2025-03-10 16:18:40,169 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.974314285714 | Take profit: 2071.7879535714283 +2025-03-10 16:18:40,347 - INFO - CLOSED short at 2099.63 | PnL: 0.18% | $0.15 +2025-03-10 16:18:40,347 - INFO - OPENED LONG at 2099.63 | Stop loss: 2089.084585714286 | Take profit: 2131.195346428571 +2025-03-10 16:18:40,431 - INFO - CLOSED long at 2096.96 | PnL: -0.13% | $-0.44 +2025-03-10 16:18:40,432 - INFO - OPENED SHORT at 2096.96 | Stop loss: 2107.4920642857146 | Take profit: 2065.4347035714286 +2025-03-10 16:18:40,488 - INFO - CLOSED short at 2090.59 | PnL: 0.30% | $0.39 +2025-03-10 16:18:40,488 - INFO - OPENED LONG at 2090.59 | Stop loss: 2080.089785714286 | Take profit: 2122.0197464285716 +2025-03-10 16:18:40,549 - INFO - CLOSED long at 2084.95 | PnL: -0.27% | $-0.71 +2025-03-10 16:18:40,550 - INFO - OPENED SHORT at 2084.95 | Stop loss: 2095.4220142857143 | Take profit: 2053.6048535714285 +2025-03-10 16:18:40,825 - INFO - CLOSED short at 2083.07 | PnL: 0.09% | $-0.02 +2025-03-10 16:18:40,825 - INFO - OPENED LONG at 2083.07 | Stop loss: 2072.607385714286 | Take profit: 2114.3869464285717 +2025-03-10 16:18:40,856 - INFO - CLOSED long at 2075.07 | PnL: -0.38% | $-0.93 +2025-03-10 16:18:40,857 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.4926142857144 | Take profit: 2043.8730535714287 +2025-03-10 16:18:40,960 - INFO - TAKE PROFIT hit for short at 2043.8730535714287 | PnL: 1.50% | $2.66 +2025-03-10 16:18:41,014 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.2017142857144 | Take profit: 2022.0257535714286 +2025-03-10 16:18:41,287 - INFO - CLOSED short at 2043.59 | PnL: 0.45% | $0.69 +2025-03-10 16:18:41,287 - INFO - OPENED LONG at 2043.59 | Stop loss: 2033.3247857142856 | Take profit: 2074.314746428571 +2025-03-10 16:18:41,313 - INFO - CLOSED long at 2042.0 | PnL: -0.08% | $-0.35 +2025-03-10 16:18:41,345 - INFO - OPENED SHORT at 2036.71 | Stop loss: 2046.9408142857142 | Take profit: 2006.0884535714285 +2025-03-10 16:18:41,427 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 55.6% in downtrends | Avg Win=$0.90, Avg Loss=$-0.49 +2025-03-10 16:18:41,428 - INFO - Episode 37: Reward=-17.69, Balance=$99.98, Win Rate=35.3%, Trades=17, Episode PnL=$3.49, Total PnL=$511.31, Max Drawdown=1.5%, Pred Accuracy=98.5% +2025-03-10 16:18:41,428 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:18:41,429 - INFO - Refreshing data for episode 38 +2025-03-10 16:18:41,429 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:18:41,888 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:18:41,900 - INFO - Initialized environment with 100 candles +2025-03-10 16:18:42,041 - INFO - OPENED LONG at 2121.8 | Stop loss: 2111.1425785714287 | Take profit: 2153.6996321428574 +2025-03-10 16:18:42,109 - INFO - CLOSED long at 2121.42 | PnL: -0.02% | $-0.23 +2025-03-10 16:18:42,110 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.0755214285714 | Take profit: 2089.526067857143 +2025-03-10 16:18:42,301 - INFO - CLOSED short at 2124.77 | PnL: -0.16% | $-0.50 +2025-03-10 16:18:42,301 - INFO - OPENED LONG at 2124.77 | Stop loss: 2114.0977285714284 | Take profit: 2156.7141821428568 +2025-03-10 16:18:42,327 - INFO - CLOSED long at 2120.26 | PnL: -0.21% | $-0.61 +2025-03-10 16:18:42,328 - INFO - OPENED SHORT at 2120.26 | Stop loss: 2130.909721428572 | Take profit: 2088.383467857143 +2025-03-10 16:18:42,532 - INFO - CLOSED short at 2116.06 | PnL: 0.20% | $0.19 +2025-03-10 16:18:42,532 - INFO - OPENED LONG at 2116.06 | Stop loss: 2105.4312785714283 | Take profit: 2147.873532142857 +2025-03-10 16:18:42,576 - INFO - CLOSED long at 2115.21 | PnL: -0.04% | $-0.27 +2025-03-10 16:18:42,576 - INFO - OPENED SHORT at 2115.21 | Stop loss: 2125.8344714285718 | Take profit: 2083.4092178571427 +2025-03-10 16:18:42,615 - INFO - CLOSED short at 2114.1 | PnL: 0.05% | $-0.09 +2025-03-10 16:18:42,615 - INFO - OPENED LONG at 2114.1 | Stop loss: 2103.4810785714285 | Take profit: 2145.884132142857 +2025-03-10 16:18:42,822 - INFO - CLOSED long at 2114.5 | PnL: 0.02% | $-0.16 +2025-03-10 16:18:42,823 - INFO - OPENED SHORT at 2114.5 | Stop loss: 2125.1209214285714 | Take profit: 2082.709867857143 +2025-03-10 16:18:42,877 - INFO - CLOSED short at 2115.07 | PnL: -0.03% | $-0.24 +2025-03-10 16:18:42,877 - INFO - OPENED LONG at 2115.07 | Stop loss: 2104.4462285714285 | Take profit: 2146.8686821428573 +2025-03-10 16:18:42,947 - INFO - CLOSED long at 2098.24 | PnL: -0.80% | $-1.72 +2025-03-10 16:18:42,947 - INFO - OPENED SHORT at 2098.24 | Stop loss: 2108.7796214285713 | Take profit: 2066.6937678571426 +2025-03-10 16:18:42,985 - INFO - CLOSED short at 2098.28 | PnL: -0.00% | $-0.19 +2025-03-10 16:18:42,986 - INFO - OPENED LONG at 2098.28 | Stop loss: 2087.7401785714287 | Take profit: 2129.8268321428577 +2025-03-10 16:18:43,040 - INFO - CLOSED long at 2100.05 | PnL: 0.08% | $-0.03 +2025-03-10 16:18:43,040 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.598671428572 | Take profit: 2068.476617857143 +2025-03-10 16:18:43,067 - INFO - CLOSED short at 2096.36 | PnL: 0.18% | $0.14 +2025-03-10 16:18:43,067 - INFO - OPENED LONG at 2096.36 | Stop loss: 2085.8297785714285 | Take profit: 2127.8780321428576 +2025-03-10 16:18:43,094 - INFO - CLOSED long at 2089.04 | PnL: -0.35% | $-0.85 +2025-03-10 16:18:43,094 - INFO - OPENED SHORT at 2089.04 | Stop loss: 2099.5336214285717 | Take profit: 2057.6317678571427 +2025-03-10 16:18:43,127 - INFO - CLOSED short at 2089.84 | PnL: -0.04% | $-0.26 +2025-03-10 16:18:43,128 - INFO - OPENED LONG at 2089.84 | Stop loss: 2079.3423785714285 | Take profit: 2121.260232142857 +2025-03-10 16:18:43,388 - INFO - CLOSED long at 2105.26 | PnL: 0.74% | $1.19 +2025-03-10 16:18:43,388 - INFO - OPENED SHORT at 2105.26 | Stop loss: 2115.834721428572 | Take profit: 2073.608467857143 +2025-03-10 16:18:43,447 - INFO - CLOSED short at 2099.22 | PnL: 0.29% | $0.35 +2025-03-10 16:18:43,448 - INFO - OPENED LONG at 2099.22 | Stop loss: 2088.6754785714284 | Take profit: 2130.7809321428567 +2025-03-10 16:18:43,478 - INFO - CLOSED long at 2094.16 | PnL: -0.24% | $-0.64 +2025-03-10 16:18:43,478 - INFO - OPENED SHORT at 2094.16 | Stop loss: 2104.679221428571 | Take profit: 2062.6749678571427 +2025-03-10 16:18:43,712 - INFO - CLOSED short at 2084.75 | PnL: 0.45% | $0.66 +2025-03-10 16:18:43,712 - INFO - OPENED LONG at 2084.75 | Stop loss: 2074.2778285714285 | Take profit: 2116.093882142857 +2025-03-10 16:18:43,791 - INFO - CLOSED long at 2084.25 | PnL: -0.02% | $-0.23 +2025-03-10 16:18:43,791 - INFO - OPENED SHORT at 2084.25 | Stop loss: 2094.7196714285715 | Take profit: 2052.913617857143 +2025-03-10 16:18:43,917 - INFO - CLOSED short at 2067.71 | PnL: 0.79% | $1.31 +2025-03-10 16:18:43,917 - INFO - OPENED LONG at 2067.71 | Stop loss: 2057.3230285714285 | Take profit: 2098.7982821428573 +2025-03-10 16:18:43,946 - INFO - STOP LOSS hit for long at 2057.3230285714285 | PnL: -0.50% | $-1.15 +2025-03-10 16:18:44,035 - INFO - OPENED LONG at 2043.51 | Stop loss: 2033.2440285714285 | Take profit: 2074.235282142857 +2025-03-10 16:18:44,083 - INFO - CLOSED long at 2052.89 | PnL: 0.46% | $0.68 +2025-03-10 16:18:44,084 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.202871428571 | Take profit: 2022.0240178571428 +2025-03-10 16:18:44,135 - INFO - CLOSED short at 2053.22 | PnL: -0.02% | $-0.22 +2025-03-10 16:18:44,135 - INFO - OPENED LONG at 2053.22 | Stop loss: 2042.9054785714284 | Take profit: 2084.0909321428567 +2025-03-10 16:18:44,182 - INFO - CLOSED long at 2058.11 | PnL: 0.24% | $0.26 +2025-03-10 16:18:44,182 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.4489714285714 | Take profit: 2027.1657178571431 +2025-03-10 16:18:44,213 - INFO - CLOSED short at 2054.03 | PnL: 0.20% | $0.19 +2025-03-10 16:18:44,214 - INFO - OPENED LONG at 2054.03 | Stop loss: 2043.7114285714288 | Take profit: 2084.9130821428575 +2025-03-10 16:18:44,244 - INFO - CLOSED long at 2050.18 | PnL: -0.19% | $-0.55 +2025-03-10 16:18:44,244 - INFO - OPENED SHORT at 2050.18 | Stop loss: 2060.4793214285714 | Take profit: 2019.3546678571427 +2025-03-10 16:18:44,277 - INFO - CLOSED short at 2046.76 | PnL: 0.17% | $0.13 +2025-03-10 16:18:44,277 - INFO - OPENED LONG at 2046.76 | Stop loss: 2036.4777785714286 | Take profit: 2077.534032142857 +2025-03-10 16:18:44,358 - INFO - CLOSED long at 2043.59 | PnL: -0.15% | $-0.48 +2025-03-10 16:18:44,359 - INFO - OPENED SHORT at 2043.59 | Stop loss: 2053.8563714285715 | Take profit: 2012.8635178571428 +2025-03-10 16:18:44,518 - INFO - CLOSED short at 2027.51 | PnL: 0.79% | $1.30 +2025-03-10 16:18:44,519 - INFO - OPENED LONG at 2027.51 | Stop loss: 2017.3240285714285 | Take profit: 2057.9952821428574 +2025-03-10 16:18:44,573 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 53.3% in downtrends | Avg Win=$0.58, Avg Loss=$-0.47 +2025-03-10 16:18:44,573 - INFO - Episode 38: Reward=-24.22, Balance=$97.96, Win Rate=37.9%, Trades=29, Episode PnL=$1.60, Total PnL=$509.26, Max Drawdown=3.3%, Pred Accuracy=98.6% +2025-03-10 16:18:44,574 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:18:44,574 - INFO - Refreshing data for episode 39 +2025-03-10 16:18:44,574 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:18:44,922 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:18:44,936 - INFO - Initialized environment with 100 candles +2025-03-10 16:18:44,974 - INFO - OPENED SHORT at 2121.8 | Stop loss: 2132.457767857143 | Take profit: 2089.899848214286 +2025-03-10 16:18:45,036 - INFO - CLOSED short at 2116.52 | PnL: 0.25% | $0.29 +2025-03-10 16:18:45,037 - INFO - OPENED LONG at 2116.52 | Stop loss: 2105.888632142857 | Take profit: 2148.3409517857144 +2025-03-10 16:18:45,066 - INFO - CLOSED long at 2119.02 | PnL: 0.12% | $0.04 +2025-03-10 16:18:45,066 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.663867857143 | Take profit: 2087.1615482142856 +2025-03-10 16:18:45,165 - INFO - CLOSED short at 2128.33 | PnL: -0.44% | $-1.06 +2025-03-10 16:18:45,165 - INFO - OPENED LONG at 2128.33 | Stop loss: 2117.639582142857 | Take profit: 2160.3281017857144 +2025-03-10 16:18:45,295 - INFO - CLOSED long at 2120.26 | PnL: -0.38% | $-0.93 +2025-03-10 16:18:45,296 - INFO - OPENED SHORT at 2120.26 | Stop loss: 2130.910067857143 | Take profit: 2088.382948214286 +2025-03-10 16:18:45,349 - INFO - CLOSED short at 2116.81 | PnL: 0.16% | $0.12 +2025-03-10 16:18:45,350 - INFO - OPENED LONG at 2116.81 | Stop loss: 2106.177182142857 | Take profit: 2148.6353017857145 +2025-03-10 16:18:45,468 - INFO - CLOSED long at 2116.06 | PnL: -0.04% | $-0.26 +2025-03-10 16:18:45,469 - INFO - OPENED SHORT at 2116.06 | Stop loss: 2126.6890678571426 | Take profit: 2084.245948214286 +2025-03-10 16:18:45,507 - INFO - CLOSED short at 2115.21 | PnL: 0.04% | $-0.11 +2025-03-10 16:18:45,507 - INFO - OPENED LONG at 2115.21 | Stop loss: 2104.5851821428573 | Take profit: 2147.0113017857143 +2025-03-10 16:18:45,535 - INFO - CLOSED long at 2114.1 | PnL: -0.05% | $-0.29 +2025-03-10 16:18:45,536 - INFO - OPENED SHORT at 2114.1 | Stop loss: 2124.7192678571428 | Take profit: 2082.3153482142857 +2025-03-10 16:18:45,611 - INFO - CLOSED short at 2114.32 | PnL: -0.01% | $-0.21 +2025-03-10 16:18:45,612 - INFO - OPENED LONG at 2114.32 | Stop loss: 2103.6996321428574 | Take profit: 2146.1079517857142 +2025-03-10 16:18:45,675 - INFO - CLOSED long at 2114.57 | PnL: 0.01% | $-0.17 +2025-03-10 16:18:45,675 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.191617857143 | Take profit: 2082.7782982142858 +2025-03-10 16:18:45,816 - INFO - CLOSED short at 2114.5 | PnL: 0.00% | $-0.18 +2025-03-10 16:18:45,818 - INFO - OPENED LONG at 2114.5 | Stop loss: 2103.878732142857 | Take profit: 2146.2906517857145 +2025-03-10 16:18:45,848 - INFO - CLOSED long at 2115.07 | PnL: 0.03% | $-0.14 +2025-03-10 16:18:45,848 - INFO - OPENED SHORT at 2115.07 | Stop loss: 2125.694117857143 | Take profit: 2083.270798214286 +2025-03-10 16:18:45,909 - INFO - CLOSED short at 2098.28 | PnL: 0.79% | $1.32 +2025-03-10 16:18:45,910 - INFO - OPENED LONG at 2098.28 | Stop loss: 2087.7398321428573 | Take profit: 2129.8273517857147 +2025-03-10 16:18:45,975 - INFO - CLOSED long at 2100.05 | PnL: 0.08% | $-0.03 +2025-03-10 16:18:45,976 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.599017857143 | Take profit: 2068.4760982142857 +2025-03-10 16:18:46,090 - INFO - CLOSED short at 2089.04 | PnL: 0.52% | $0.82 +2025-03-10 16:18:46,091 - INFO - OPENED LONG at 2089.04 | Stop loss: 2078.546032142857 | Take profit: 2120.448751785714 +2025-03-10 16:18:46,274 - INFO - CLOSED long at 2103.41 | PnL: 0.69% | $1.14 +2025-03-10 16:18:46,275 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.975817857143 | Take profit: 2071.7856982142853 +2025-03-10 16:18:46,309 - INFO - CLOSED short at 2104.22 | PnL: -0.04% | $-0.27 +2025-03-10 16:18:46,309 - INFO - OPENED LONG at 2104.22 | Stop loss: 2093.650132142857 | Take profit: 2135.856451785714 +2025-03-10 16:18:46,341 - INFO - CLOSED long at 2104.67 | PnL: 0.02% | $-0.15 +2025-03-10 16:18:46,341 - INFO - OPENED SHORT at 2104.67 | Stop loss: 2115.2421178571426 | Take profit: 2073.026798214286 +2025-03-10 16:18:46,467 - INFO - CLOSED short at 2099.22 | PnL: 0.26% | $0.31 +2025-03-10 16:18:46,467 - INFO - OPENED LONG at 2099.22 | Stop loss: 2088.675132142857 | Take profit: 2130.781451785714 +2025-03-10 16:18:46,529 - INFO - CLOSED long at 2094.16 | PnL: -0.24% | $-0.67 +2025-03-10 16:18:46,529 - INFO - OPENED SHORT at 2094.16 | Stop loss: 2104.679567857143 | Take profit: 2062.674448214286 +2025-03-10 16:18:46,575 - INFO - CLOSED short at 2096.96 | PnL: -0.13% | $-0.45 +2025-03-10 16:18:46,575 - INFO - OPENED LONG at 2096.96 | Stop loss: 2086.4264321428573 | Take profit: 2128.4875517857145 +2025-03-10 16:18:46,639 - INFO - CLOSED long at 2090.59 | PnL: -0.30% | $-0.78 +2025-03-10 16:18:46,639 - INFO - OPENED SHORT at 2090.59 | Stop loss: 2101.091717857143 | Take profit: 2059.1579982142857 +2025-03-10 16:18:46,698 - INFO - CLOSED short at 2084.95 | PnL: 0.27% | $0.33 +2025-03-10 16:18:46,699 - INFO - OPENED LONG at 2084.95 | Stop loss: 2074.476482142857 | Take profit: 2116.297401785714 +2025-03-10 16:18:47,043 - INFO - STOP LOSS hit for long at 2074.476482142857 | PnL: -0.50% | $-1.16 +2025-03-10 16:18:47,071 - INFO - OPENED LONG at 2048.3 | Stop loss: 2038.0097321428573 | Take profit: 2079.0976517857143 +2025-03-10 16:18:47,096 - INFO - CLOSED long at 2051.0 | PnL: 0.13% | $0.06 +2025-03-10 16:18:47,097 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3037678571427 | Take profit: 2020.1618482142856 +2025-03-10 16:18:47,122 - INFO - CLOSED short at 2043.51 | PnL: 0.37% | $0.51 +2025-03-10 16:18:47,122 - INFO - OPENED LONG at 2043.51 | Stop loss: 2033.243682142857 | Take profit: 2074.235801785714 +2025-03-10 16:18:47,214 - INFO - CLOSED long at 2053.22 | PnL: 0.48% | $0.72 +2025-03-10 16:18:47,215 - INFO - OPENED SHORT at 2053.22 | Stop loss: 2063.5348678571427 | Take profit: 2022.3485482142855 +2025-03-10 16:18:47,274 - INFO - CLOSED short at 2058.11 | PnL: -0.24% | $-0.65 +2025-03-10 16:18:47,275 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.7706821428571 | Take profit: 2089.0548017857145 +2025-03-10 16:18:47,411 - INFO - STOP LOSS hit for long at 2047.7706821428571 | PnL: -0.50% | $-1.15 +2025-03-10 16:18:47,443 - INFO - OPENED LONG at 2043.95 | Stop loss: 2033.6814821428572 | Take profit: 2074.6824017857143 +2025-03-10 16:18:47,482 - INFO - CLOSED long at 2044.1 | PnL: 0.01% | $-0.18 +2025-03-10 16:18:47,482 - INFO - OPENED SHORT at 2044.1 | Stop loss: 2054.369267857143 | Take profit: 2013.3653482142856 +2025-03-10 16:18:47,519 - INFO - CLOSED short at 2043.59 | PnL: 0.02% | $-0.14 +2025-03-10 16:18:47,520 - INFO - OPENED LONG at 2043.59 | Stop loss: 2033.3232821428571 | Take profit: 2074.317001785714 +2025-03-10 16:18:47,593 - INFO - CLOSED long at 2036.71 | PnL: -0.34% | $-0.82 +2025-03-10 16:18:47,594 - INFO - OPENED SHORT at 2036.71 | Stop loss: 2046.9423178571428 | Take profit: 2006.0861982142856 +2025-03-10 16:18:47,677 - INFO - CLOSED short at 2027.51 | PnL: 0.45% | $0.66 +2025-03-10 16:18:47,678 - INFO - OPENED LONG at 2027.51 | Stop loss: 2017.3236821428573 | Take profit: 2057.995801785714 +2025-03-10 16:18:47,759 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 44.4% in downtrends | Avg Win=$0.52, Avg Loss=$-0.47 +2025-03-10 16:18:47,760 - INFO - Episode 39: Reward=-30.51, Balance=$96.47, Win Rate=36.4%, Trades=33, Episode PnL=$-1.06, Total PnL=$505.73, Max Drawdown=3.0%, Pred Accuracy=98.7% +2025-03-10 16:18:47,761 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:18:47,761 - INFO - Refreshing data for episode 40 +2025-03-10 16:18:47,761 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:18:48,058 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:18:48,069 - INFO - Initialized environment with 100 candles +2025-03-10 16:18:48,975 - INFO - OPENED LONG at 2121.42 | Stop loss: 2110.7633642857145 | Take profit: 2153.3156035714283 +2025-03-10 16:18:49,029 - INFO - CLOSED long at 2119.02 | PnL: -0.11% | $-0.42 +2025-03-10 16:18:49,029 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.664635714286 | Take profit: 2087.1603964285714 +2025-03-10 16:18:49,061 - INFO - CLOSED short at 2120.96 | PnL: -0.09% | $-0.37 +2025-03-10 16:18:49,062 - INFO - OPENED LONG at 2120.96 | Stop loss: 2110.305664285714 | Take profit: 2152.848703571429 +2025-03-10 16:18:49,158 - INFO - CLOSED long at 2124.77 | PnL: 0.18% | $0.15 +2025-03-10 16:18:49,158 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.443385714286 | Take profit: 2092.8241464285716 +2025-03-10 16:18:49,274 - INFO - CLOSED short at 2115.52 | PnL: 0.44% | $0.65 +2025-03-10 16:18:49,275 - INFO - OPENED LONG at 2115.52 | Stop loss: 2104.892864285714 | Take profit: 2147.327103571429 +2025-03-10 16:18:49,327 - INFO - CLOSED long at 2116.06 | PnL: 0.03% | $-0.15 +2025-03-10 16:18:49,328 - INFO - OPENED SHORT at 2116.06 | Stop loss: 2126.689835714286 | Take profit: 2084.244796428571 +2025-03-10 16:18:49,354 - INFO - CLOSED short at 2115.21 | PnL: 0.04% | $-0.12 +2025-03-10 16:18:49,355 - INFO - OPENED LONG at 2115.21 | Stop loss: 2104.5844142857145 | Take profit: 2147.0124535714285 +2025-03-10 16:18:49,416 - INFO - CLOSED long at 2114.1 | PnL: -0.05% | $-0.30 +2025-03-10 16:18:49,416 - INFO - OPENED SHORT at 2114.1 | Stop loss: 2124.720035714286 | Take profit: 2082.3141964285714 +2025-03-10 16:18:49,568 - INFO - CLOSED short at 2114.57 | PnL: -0.02% | $-0.24 +2025-03-10 16:18:49,568 - INFO - OPENED LONG at 2114.57 | Stop loss: 2103.9476142857143 | Take profit: 2146.362853571429 +2025-03-10 16:18:49,715 - INFO - STOP LOSS hit for long at 2103.9476142857143 | PnL: -0.50% | $-1.17 +2025-03-10 16:18:49,752 - INFO - OPENED LONG at 2098.28 | Stop loss: 2087.7390642857144 | Take profit: 2129.828503571429 +2025-03-10 16:18:49,958 - INFO - CLOSED long at 2089.04 | PnL: -0.44% | $-1.04 +2025-03-10 16:18:49,958 - INFO - OPENED SHORT at 2089.04 | Stop loss: 2099.5347357142855 | Take profit: 2057.6300964285715 +2025-03-10 16:18:49,993 - INFO - CLOSED short at 2089.84 | PnL: -0.04% | $-0.26 +2025-03-10 16:18:49,993 - INFO - OPENED LONG at 2089.84 | Stop loss: 2079.3412642857143 | Take profit: 2121.261903571429 +2025-03-10 16:18:50,023 - INFO - CLOSED long at 2096.19 | PnL: 0.30% | $0.39 +2025-03-10 16:18:50,024 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.7204857142856 | Take profit: 2064.6728464285716 +2025-03-10 16:18:50,055 - INFO - CLOSED short at 2100.0 | PnL: -0.18% | $-0.53 +2025-03-10 16:18:50,056 - INFO - OPENED LONG at 2100.0 | Stop loss: 2089.450464285714 | Take profit: 2131.5743035714286 +2025-03-10 16:18:50,317 - INFO - CLOSED long at 2099.22 | PnL: -0.04% | $-0.26 +2025-03-10 16:18:50,317 - INFO - OPENED SHORT at 2099.22 | Stop loss: 2109.7656357142855 | Take profit: 2067.6573964285712 +2025-03-10 16:18:50,375 - INFO - CLOSED short at 2094.16 | PnL: 0.24% | $0.27 +2025-03-10 16:18:50,376 - INFO - OPENED LONG at 2094.16 | Stop loss: 2083.639664285714 | Take profit: 2125.6467035714286 +2025-03-10 16:18:50,406 - INFO - CLOSED long at 2096.96 | PnL: 0.13% | $0.06 +2025-03-10 16:18:50,406 - INFO - OPENED SHORT at 2096.96 | Stop loss: 2107.4943357142856 | Take profit: 2065.4312964285714 +2025-03-10 16:18:50,496 - INFO - CLOSED short at 2090.99 | PnL: 0.28% | $0.35 +2025-03-10 16:18:50,497 - INFO - OPENED LONG at 2090.99 | Stop loss: 2080.485514285714 | Take profit: 2122.4291535714283 +2025-03-10 16:18:50,643 - INFO - CLOSED long at 2081.0 | PnL: -0.48% | $-1.10 +2025-03-10 16:18:50,710 - INFO - OPENED LONG at 2084.25 | Stop loss: 2073.7792142857143 | Take profit: 2115.5880535714286 +2025-03-10 16:18:50,796 - INFO - CLOSED long at 2084.11 | PnL: -0.01% | $-0.20 +2025-03-10 16:18:50,796 - INFO - OPENED SHORT at 2084.11 | Stop loss: 2094.580085714286 | Take profit: 2052.7740464285716 +2025-03-10 16:18:50,825 - INFO - CLOSED short at 2083.07 | PnL: 0.05% | $-0.09 +2025-03-10 16:18:50,826 - INFO - OPENED LONG at 2083.07 | Stop loss: 2072.6051142857145 | Take profit: 2114.390353571429 +2025-03-10 16:18:50,855 - INFO - CLOSED long at 2075.07 | PnL: -0.38% | $-0.90 +2025-03-10 16:18:50,855 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.494885714286 | Take profit: 2043.8696464285717 +2025-03-10 16:18:50,882 - INFO - CLOSED short at 2067.71 | PnL: 0.35% | $0.47 +2025-03-10 16:18:50,882 - INFO - OPENED LONG at 2067.71 | Stop loss: 2057.3219142857142 | Take profit: 2098.799953571429 +2025-03-10 16:18:50,910 - INFO - STOP LOSS hit for long at 2057.3219142857142 | PnL: -0.50% | $-1.12 +2025-03-10 16:18:50,938 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3045357142855 | Take profit: 2020.1606964285713 +2025-03-10 16:18:50,967 - INFO - CLOSED short at 2043.51 | PnL: 0.37% | $0.49 +2025-03-10 16:18:50,968 - INFO - OPENED LONG at 2043.51 | Stop loss: 2033.2429142857143 | Take profit: 2074.2369535714283 +2025-03-10 16:18:51,024 - INFO - CLOSED long at 2052.89 | PnL: 0.46% | $0.66 +2025-03-10 16:18:51,024 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.2039857142854 | Take profit: 2022.0223464285714 +2025-03-10 16:18:51,090 - INFO - CLOSED short at 2053.22 | PnL: -0.02% | $-0.22 +2025-03-10 16:18:51,091 - INFO - OPENED LONG at 2053.22 | Stop loss: 2042.904364285714 | Take profit: 2084.0926035714283 +2025-03-10 16:18:51,237 - INFO - CLOSED long at 2046.76 | PnL: -0.31% | $-0.77 +2025-03-10 16:18:51,238 - INFO - OPENED SHORT at 2046.76 | Stop loss: 2057.0433357142856 | Take profit: 2015.9842964285715 +2025-03-10 16:18:51,267 - INFO - CLOSED short at 2043.95 | PnL: 0.14% | $0.07 +2025-03-10 16:18:51,267 - INFO - OPENED LONG at 2043.95 | Stop loss: 2033.6807142857144 | Take profit: 2074.6835535714285 +2025-03-10 16:18:51,352 - INFO - CLOSED long at 2042.0 | PnL: -0.10% | $-0.36 +2025-03-10 16:18:51,352 - INFO - OPENED SHORT at 2042.0 | Stop loss: 2052.259535714286 | Take profit: 2011.2956964285715 +2025-03-10 16:18:51,400 - INFO - CLOSED short at 2036.71 | PnL: 0.26% | $0.29 +2025-03-10 16:18:51,400 - INFO - OPENED LONG at 2036.71 | Stop loss: 2026.4769142857144 | Take profit: 2067.3349535714287 +2025-03-10 16:18:51,512 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 43.8% in downtrends | Avg Win=$0.35, Avg Loss=$-0.51 +2025-03-10 16:18:51,513 - INFO - Episode 40: Reward=-33.04, Balance=$94.25, Win Rate=36.7%, Trades=30, Episode PnL=$-2.63, Total PnL=$499.98, Max Drawdown=5.9%, Pred Accuracy=98.7% +2025-03-10 16:18:51,679 - INFO - Model saved to checkpoints/trading_agent_episode_40.pt +2025-03-10 16:18:51,680 - INFO - Checkpoint saved at episode 40 +2025-03-10 16:18:51,680 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:18:52,848 - INFO - Visualization saved for episode 40 +2025-03-10 16:18:55,007 - INFO - Visualization saved for episode 40 +2025-03-10 16:18:55,022 - INFO - Refreshing data for episode 41 +2025-03-10 16:18:55,022 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:18:55,354 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:18:55,366 - INFO - Initialized environment with 100 candles +2025-03-10 16:18:55,454 - INFO - OPENED SHORT at 2121.8 | Stop loss: 2132.458535714286 | Take profit: 2089.898696428572 +2025-03-10 16:18:56,051 - INFO - TAKE PROFIT hit for short at 2089.898696428572 | PnL: 1.50% | $2.74 +2025-03-10 16:18:56,073 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.338735714286 | Take profit: 2058.4180964285715 +2025-03-10 16:18:56,142 - INFO - STOP LOSS hit for short at 2100.338735714286 | PnL: -0.50% | $-1.21 +2025-03-10 16:18:56,166 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9765857142856 | Take profit: 2071.7845464285715 +2025-03-10 16:18:56,458 - INFO - CLOSED short at 2084.75 | PnL: 0.89% | $1.56 +2025-03-10 16:18:56,459 - INFO - OPENED LONG at 2084.75 | Stop loss: 2074.276714285714 | Take profit: 2116.0955535714284 +2025-03-10 16:18:56,482 - INFO - CLOSED long at 2081.0 | PnL: -0.18% | $-0.56 +2025-03-10 16:18:56,482 - INFO - OPENED SHORT at 2081.0 | Stop loss: 2091.454535714286 | Take profit: 2049.7106964285713 +2025-03-10 16:18:56,627 - INFO - TAKE PROFIT hit for short at 2049.7106964285713 | PnL: 1.50% | $2.81 +2025-03-10 16:18:56,670 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.7770857142855 | Take profit: 2012.7830464285714 +2025-03-10 16:18:56,736 - INFO - STOP LOSS hit for short at 2053.7770857142855 | PnL: -0.50% | $-1.24 +2025-03-10 16:18:56,763 - INFO - OPENED SHORT at 2054.03 | Stop loss: 2064.349685714286 | Take profit: 2023.1452464285717 +2025-03-10 16:18:56,950 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 60.0% in downtrends | Avg Win=$2.37, Avg Loss=$-1.00 +2025-03-10 16:18:56,951 - INFO - Episode 41: Reward=0.39, Balance=$104.10, Win Rate=50.0%, Trades=6, Episode PnL=$4.67, Total PnL=$504.08, Max Drawdown=1.2%, Pred Accuracy=98.8% +2025-03-10 16:18:56,951 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:18:56,951 - INFO - Refreshing data for episode 42 +2025-03-10 16:18:56,952 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:18:57,275 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:18:57,287 - INFO - Initialized environment with 100 candles +2025-03-10 16:18:57,321 - INFO - OPENED LONG at 2121.8 | Stop loss: 2111.1414642857144 | Take profit: 2153.701303571429 +2025-03-10 16:18:57,342 - INFO - CLOSED long at 2121.42 | PnL: -0.02% | $-0.23 +2025-03-10 16:18:57,343 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.0766357142857 | Take profit: 2089.5243964285714 +2025-03-10 16:18:57,472 - INFO - CLOSED short at 2124.77 | PnL: -0.16% | $-0.50 +2025-03-10 16:18:57,474 - INFO - OPENED LONG at 2124.77 | Stop loss: 2114.096614285714 | Take profit: 2156.715853571429 +2025-03-10 16:18:57,506 - INFO - CLOSED long at 2120.26 | PnL: -0.21% | $-0.61 +2025-03-10 16:18:57,506 - INFO - OPENED SHORT at 2120.26 | Stop loss: 2130.910835714286 | Take profit: 2088.3817964285718 +2025-03-10 16:18:57,665 - INFO - CLOSED short at 2114.1 | PnL: 0.29% | $0.37 +2025-03-10 16:18:57,666 - INFO - OPENED LONG at 2114.1 | Stop loss: 2103.4799642857142 | Take profit: 2145.885803571429 +2025-03-10 16:18:57,689 - INFO - CLOSED long at 2115.11 | PnL: 0.05% | $-0.10 +2025-03-10 16:18:57,689 - INFO - OPENED SHORT at 2115.11 | Stop loss: 2125.7350857142856 | Take profit: 2083.3090464285715 +2025-03-10 16:18:57,984 - INFO - CLOSED short at 2089.84 | PnL: 1.19% | $2.12 +2025-03-10 16:18:57,985 - INFO - OPENED LONG at 2089.84 | Stop loss: 2079.3412642857143 | Take profit: 2121.261903571429 +2025-03-10 16:18:58,061 - INFO - CLOSED long at 2102.83 | PnL: 0.62% | $1.03 +2025-03-10 16:18:58,062 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.3936857142858 | Take profit: 2071.2132464285714 +2025-03-10 16:18:58,450 - INFO - CLOSED short at 2084.11 | PnL: 0.89% | $1.58 +2025-03-10 16:18:58,450 - INFO - OPENED LONG at 2084.11 | Stop loss: 2073.6399142857144 | Take profit: 2115.4459535714286 +2025-03-10 16:18:58,472 - INFO - CLOSED long at 2083.07 | PnL: -0.05% | $-0.30 +2025-03-10 16:18:58,472 - INFO - OPENED SHORT at 2083.07 | Stop loss: 2093.534885714286 | Take profit: 2051.7496464285714 +2025-03-10 16:18:58,544 - INFO - CLOSED short at 2048.3 | PnL: 1.67% | $3.17 +2025-03-10 16:18:58,545 - INFO - OPENED LONG at 2048.3 | Stop loss: 2038.0089642857147 | Take profit: 2079.0988035714286 +2025-03-10 16:18:58,568 - INFO - CLOSED long at 2051.0 | PnL: 0.13% | $0.07 +2025-03-10 16:18:58,568 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3045357142855 | Take profit: 2020.1606964285713 +2025-03-10 16:18:59,025 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 80.0% in downtrends | Avg Win=$1.39, Avg Loss=$-0.35 +2025-03-10 16:18:59,026 - INFO - Episode 42: Reward=1.57, Balance=$106.58, Win Rate=54.5%, Trades=11, Episode PnL=$6.73, Total PnL=$510.66, Max Drawdown=0.0%, Pred Accuracy=98.8% +2025-03-10 16:18:59,027 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:18:59,027 - INFO - Refreshing data for episode 43 +2025-03-10 16:18:59,027 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:18:59,337 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:18:59,346 - INFO - Initialized environment with 100 candles +2025-03-10 16:18:59,377 - INFO - OPENED LONG at 2121.8 | Stop loss: 2111.1414642857144 | Take profit: 2153.701303571429 +2025-03-10 16:18:59,399 - INFO - CLOSED long at 2121.42 | PnL: -0.02% | $-0.23 +2025-03-10 16:18:59,400 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.0766357142857 | Take profit: 2089.5243964285714 +2025-03-10 16:19:00,124 - INFO - TAKE PROFIT hit for short at 2089.5243964285714 | PnL: 1.50% | $2.74 +2025-03-10 16:19:00,162 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.338735714286 | Take profit: 2058.4180964285715 +2025-03-10 16:19:00,236 - INFO - STOP LOSS hit for short at 2100.338735714286 | PnL: -0.50% | $-1.21 +2025-03-10 16:19:00,262 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9765857142856 | Take profit: 2071.7845464285715 +2025-03-10 16:19:00,381 - INFO - CLOSED short at 2099.22 | PnL: 0.20% | $0.20 +2025-03-10 16:19:00,432 - INFO - OPENED SHORT at 2094.16 | Stop loss: 2104.680335714286 | Take profit: 2062.673296428571 +2025-03-10 16:19:00,469 - INFO - CLOSED short at 2096.96 | PnL: -0.13% | $-0.46 +2025-03-10 16:19:00,470 - INFO - OPENED LONG at 2096.96 | Stop loss: 2086.4256642857144 | Take profit: 2128.4887035714282 +2025-03-10 16:19:00,515 - INFO - CLOSED long at 2098.66 | PnL: 0.08% | $-0.04 +2025-03-10 16:19:00,515 - INFO - OPENED SHORT at 2098.66 | Stop loss: 2109.2028357142854 | Take profit: 2067.105796428571 +2025-03-10 16:19:00,808 - INFO - CLOSED short at 2075.07 | PnL: 1.12% | $2.02 +2025-03-10 16:19:00,809 - INFO - OPENED LONG at 2075.07 | Stop loss: 2064.6451142857145 | Take profit: 2106.2703535714286 +2025-03-10 16:19:00,896 - INFO - CLOSED long at 2048.3 | PnL: -1.29% | $-2.80 +2025-03-10 16:19:00,897 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.591035714286 | Take profit: 2017.5011964285716 +2025-03-10 16:19:01,263 - INFO - CLOSED short at 2036.71 | PnL: 0.57% | $0.91 +2025-03-10 16:19:01,304 - INFO - OPENED SHORT at 2027.51 | Stop loss: 2037.6970857142855 | Take profit: 1997.0230464285714 +2025-03-10 16:19:01,347 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$1.47, Avg Loss=$-0.95 +2025-03-10 16:19:01,348 - INFO - Episode 43: Reward=-4.17, Balance=$101.13, Win Rate=44.4%, Trades=9, Episode PnL=$4.20, Total PnL=$511.79, Max Drawdown=1.3%, Pred Accuracy=98.9% +2025-03-10 16:19:01,349 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:19:01,349 - INFO - Refreshing data for episode 44 +2025-03-10 16:19:01,350 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:19:02,095 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:19:02,108 - INFO - Initialized environment with 100 candles +2025-03-10 16:19:02,143 - INFO - OPENED SHORT at 2121.8 | Stop loss: 2132.458535714286 | Take profit: 2089.898696428572 +2025-03-10 16:19:02,911 - INFO - TAKE PROFIT hit for short at 2089.898696428572 | PnL: 1.50% | $2.74 +2025-03-10 16:19:02,958 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.338735714286 | Take profit: 2058.4180964285715 +2025-03-10 16:19:03,039 - INFO - STOP LOSS hit for short at 2100.338735714286 | PnL: -0.50% | $-1.21 +2025-03-10 16:19:03,061 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9765857142856 | Take profit: 2071.7845464285715 +2025-03-10 16:19:03,604 - INFO - TAKE PROFIT hit for short at 2071.7845464285715 | PnL: 1.50% | $2.78 +2025-03-10 16:19:03,649 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.591035714286 | Take profit: 2017.5011964285716 +2025-03-10 16:19:03,794 - INFO - CLOSED short at 2053.22 | PnL: -0.24% | $-0.69 +2025-03-10 16:19:03,794 - INFO - OPENED LONG at 2053.22 | Stop loss: 2042.904364285714 | Take profit: 2084.0926035714283 +2025-03-10 16:19:03,817 - INFO - CLOSED long at 2058.11 | PnL: 0.24% | $0.28 +2025-03-10 16:19:03,817 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.4500857142857 | Take profit: 2027.1640464285715 +2025-03-10 16:19:04,156 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$1.94, Avg Loss=$-0.95 +2025-03-10 16:19:04,157 - INFO - Episode 44: Reward=-0.82, Balance=$103.90, Win Rate=60.0%, Trades=5, Episode PnL=$3.63, Total PnL=$515.70, Max Drawdown=1.2%, Pred Accuracy=99.0% +2025-03-10 16:19:04,158 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:19:04,158 - INFO - Refreshing data for episode 45 +2025-03-10 16:19:04,159 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:19:04,896 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:19:04,906 - INFO - Initialized environment with 100 candles +2025-03-10 16:19:05,769 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.0713142857144 | Take profit: 2089.5323785714286 +2025-03-10 16:19:06,685 - INFO - TAKE PROFIT hit for short at 2089.5323785714286 | PnL: 1.50% | $2.75 +2025-03-10 16:19:06,741 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3334142857143 | Take profit: 2058.4260785714287 +2025-03-10 16:19:06,813 - INFO - STOP LOSS hit for short at 2100.3334142857143 | PnL: -0.50% | $-1.21 +2025-03-10 16:19:06,846 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.971264285714 | Take profit: 2071.7925285714286 +2025-03-10 16:19:07,408 - INFO - TAKE PROFIT hit for short at 2071.7925285714286 | PnL: 1.50% | $2.79 +2025-03-10 16:19:07,457 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5857142857144 | Take profit: 2017.5091785714287 +2025-03-10 16:19:07,897 - INFO - TAKE PROFIT hit for short at 2017.5091785714287 | PnL: 1.50% | $2.87 +2025-03-10 16:19:07,938 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$2.80, Avg Loss=$-1.21 +2025-03-10 16:19:07,939 - INFO - Episode 45: Reward=0.38, Balance=$107.19, Win Rate=75.0%, Trades=4, Episode PnL=$7.19, Total PnL=$522.89, Max Drawdown=1.2%, Pred Accuracy=98.8% +2025-03-10 16:19:07,939 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:19:07,940 - INFO - Refreshing data for episode 46 +2025-03-10 16:19:07,940 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:19:08,300 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:19:08,311 - INFO - Initialized environment with 100 candles +2025-03-10 16:19:08,345 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.072092857143 | Take profit: 2089.531210714286 +2025-03-10 16:19:09,085 - INFO - TAKE PROFIT hit for short at 2089.531210714286 | PnL: 1.50% | $2.75 +2025-03-10 16:19:09,131 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3341928571426 | Take profit: 2058.424910714286 +2025-03-10 16:19:09,214 - INFO - STOP LOSS hit for short at 2100.3341928571426 | PnL: -0.50% | $-1.21 +2025-03-10 16:19:09,241 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9720428571427 | Take profit: 2071.7913607142855 +2025-03-10 16:19:09,817 - INFO - TAKE PROFIT hit for short at 2071.7913607142855 | PnL: 1.50% | $2.79 +2025-03-10 16:19:09,854 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5864928571427 | Take profit: 2017.508010714286 +2025-03-10 16:19:10,302 - INFO - TAKE PROFIT hit for short at 2017.508010714286 | PnL: 1.50% | $2.87 +2025-03-10 16:19:10,347 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$2.80, Avg Loss=$-1.21 +2025-03-10 16:19:10,348 - INFO - Episode 46: Reward=0.40, Balance=$107.19, Win Rate=75.0%, Trades=4, Episode PnL=$7.19, Total PnL=$530.09, Max Drawdown=1.2%, Pred Accuracy=98.8% +2025-03-10 16:19:10,348 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:19:10,348 - INFO - Refreshing data for episode 47 +2025-03-10 16:19:10,348 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:19:10,662 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:19:10,672 - INFO - Initialized environment with 100 candles +2025-03-10 16:19:10,707 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.072092857143 | Take profit: 2089.531210714286 +2025-03-10 16:19:11,424 - INFO - TAKE PROFIT hit for short at 2089.531210714286 | PnL: 1.50% | $2.75 +2025-03-10 16:19:11,474 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3341928571426 | Take profit: 2058.424910714286 +2025-03-10 16:19:11,569 - INFO - STOP LOSS hit for short at 2100.3341928571426 | PnL: -0.50% | $-1.21 +2025-03-10 16:19:11,593 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9720428571427 | Take profit: 2071.7913607142855 +2025-03-10 16:19:11,835 - INFO - CLOSED short at 2090.59 | PnL: 0.61% | $1.01 +2025-03-10 16:19:11,836 - INFO - OPENED LONG at 2090.59 | Stop loss: 2080.0920571428574 | Take profit: 2122.0163392857144 +2025-03-10 16:19:11,884 - INFO - CLOSED long at 2090.99 | PnL: 0.02% | $-0.16 +2025-03-10 16:19:11,884 - INFO - OPENED SHORT at 2090.99 | Stop loss: 2101.4899428571425 | Take profit: 2059.5576607142857 +2025-03-10 16:19:12,151 - INFO - TAKE PROFIT hit for short at 2059.5576607142857 | PnL: 1.50% | $2.81 +2025-03-10 16:19:12,187 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.2999928571426 | Take profit: 2020.1675107142858 +2025-03-10 16:19:12,545 - INFO - TAKE PROFIT hit for short at 2020.1675107142858 | PnL: 1.50% | $2.89 +2025-03-10 16:19:12,575 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 80.0% in downtrends | Avg Win=$2.37, Avg Loss=$-0.69 +2025-03-10 16:19:12,576 - INFO - Episode 47: Reward=0.54, Balance=$108.09, Win Rate=66.7%, Trades=6, Episode PnL=$8.25, Total PnL=$538.17, Max Drawdown=1.2%, Pred Accuracy=98.8% +2025-03-10 16:19:12,723 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 16:19:12,723 - INFO - New best PnL model saved: $8.25 +2025-03-10 16:19:12,724 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:19:12,724 - INFO - Refreshing data for episode 48 +2025-03-10 16:19:12,724 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:19:13,046 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:19:13,056 - INFO - Initialized environment with 100 candles +2025-03-10 16:19:13,194 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.072092857143 | Take profit: 2089.531210714286 +2025-03-10 16:19:13,389 - INFO - CLOSED short at 2120.96 | PnL: 0.02% | $-0.15 +2025-03-10 16:19:13,414 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.569492857143 | Take profit: 2092.959010714286 +2025-03-10 16:19:13,868 - INFO - CLOSED short at 2115.07 | PnL: 0.46% | $0.71 +2025-03-10 16:19:13,895 - INFO - OPENED SHORT at 2098.24 | Stop loss: 2108.7761928571426 | Take profit: 2066.6989107142854 +2025-03-10 16:19:14,692 - INFO - TAKE PROFIT hit for short at 2066.6989107142854 | PnL: 1.50% | $2.76 +2025-03-10 16:19:14,713 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.2999928571426 | Take profit: 2020.1675107142858 +2025-03-10 16:19:15,085 - INFO - TAKE PROFIT hit for short at 2020.1675107142858 | PnL: 1.50% | $2.84 +2025-03-10 16:19:15,110 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.10, Avg Loss=$-0.15 +2025-03-10 16:19:15,111 - INFO - Episode 48: Reward=0.27, Balance=$106.16, Win Rate=75.0%, Trades=4, Episode PnL=$6.16, Total PnL=$544.33, Max Drawdown=0.2%, Pred Accuracy=98.8% +2025-03-10 16:19:15,111 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:19:15,112 - INFO - Refreshing data for episode 49 +2025-03-10 16:19:15,112 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:19:15,416 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:19:15,426 - INFO - Initialized environment with 100 candles +2025-03-10 16:19:15,553 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.073464285714 | Take profit: 2089.5291535714287 +2025-03-10 16:19:15,750 - INFO - CLOSED short at 2119.02 | PnL: 0.11% | $0.03 +2025-03-10 16:19:15,788 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.611164285714 | Take profit: 2089.0760535714285 +2025-03-10 16:19:16,412 - INFO - TAKE PROFIT hit for short at 2089.0760535714285 | PnL: 1.50% | $2.75 +2025-03-10 16:19:16,488 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.717314285714 | Take profit: 2064.677603571429 +2025-03-10 16:19:17,148 - INFO - TAKE PROFIT hit for short at 2064.677603571429 | PnL: 1.50% | $2.82 +2025-03-10 16:19:17,194 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.301364285714 | Take profit: 2020.1654535714285 +2025-03-10 16:19:17,542 - INFO - TAKE PROFIT hit for short at 2020.1654535714285 | PnL: 1.50% | $2.90 +2025-03-10 16:19:17,570 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.12, Avg Loss=$0.00 +2025-03-10 16:19:17,571 - INFO - Episode 49: Reward=0.95, Balance=$108.49, Win Rate=100.0%, Trades=4, Episode PnL=$8.49, Total PnL=$552.82, Max Drawdown=0.0%, Pred Accuracy=98.8% +2025-03-10 16:19:17,718 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 16:19:17,718 - INFO - New best PnL model saved: $8.49 +2025-03-10 16:19:17,719 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:19:17,719 - INFO - Early stopping triggered after 50 episodes without improvement +2025-03-10 16:19:17,866 - INFO - Model saved to models/trading_agent_final.pt +2025-03-10 16:19:19,039 - INFO - Training results saved to training_results.png +2025-03-10 16:19:19,201 - INFO - Model saved to models/trading_agent_continuous_100.pt +2025-03-10 16:19:24,210 - INFO - Starting training batch 4 +2025-03-10 16:19:24,210 - INFO - Refreshing data for new training batch +2025-03-10 16:19:24,211 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:19:24,537 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 16:19:24,547 - INFO - Initialized environment with 500 candles +2025-03-10 16:19:24,547 - INFO - Updated environment with fresh candles +2025-03-10 16:19:24,548 - INFO - Starting training on device: cuda +2025-03-10 16:19:24,548 - INFO - Loading best model from models/trading_agent_best_pnl.pt to resume training +2025-03-10 16:19:24,549 - INFO - Loading model from models/trading_agent_best_pnl.pt +2025-03-10 16:19:24,868 - INFO - Model loaded successfully with weights_only=True +2025-03-10 16:19:24,874 - INFO - Resumed with best metrics - Reward: 202.74, PnL: $7.30, Win Rate: 66.7% +2025-03-10 16:19:24,889 - INFO - Refreshing data for episode 0 +2025-03-10 16:19:24,889 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:19:25,218 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:19:25,229 - INFO - Initialized environment with 100 candles +2025-03-10 16:19:26,019 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.0751714285716 | Take profit: 2089.526592857143 +2025-03-10 16:19:26,258 - INFO - CLOSED short at 2114.75 | PnL: 0.31% | $0.42 +2025-03-10 16:19:26,283 - INFO - OPENED SHORT at 2116.06 | Stop loss: 2126.6883714285714 | Take profit: 2084.2469928571427 +2025-03-10 16:19:26,995 - INFO - TAKE PROFIT hit for short at 2084.2469928571427 | PnL: 1.50% | $2.76 +2025-03-10 16:19:27,020 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2218214285717 | Take profit: 2053.4066428571427 +2025-03-10 16:19:27,215 - INFO - TAKE PROFIT hit for short at 2053.4066428571427 | PnL: 1.50% | $2.83 +2025-03-10 16:19:27,242 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3030714285715 | Take profit: 2020.1628928571429 +2025-03-10 16:19:27,543 - INFO - TAKE PROFIT hit for short at 2020.1628928571429 | PnL: 1.50% | $2.91 +2025-03-10 16:19:27,564 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.23, Avg Loss=$0.00 +2025-03-10 16:19:27,564 - INFO - Episode 0: Reward=29.03, Balance=$108.91, Win Rate=100.0%, Trades=4, Episode PnL=$8.91, Total PnL=$561.74, Max Drawdown=0.0%, Pred Accuracy=99.2% +2025-03-10 16:19:27,707 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 16:19:27,708 - INFO - New best PnL model saved: $8.91 +2025-03-10 16:19:27,850 - INFO - Model saved to checkpoints/trading_agent_episode_0.pt +2025-03-10 16:19:27,851 - INFO - Checkpoint saved at episode 0 +2025-03-10 16:19:28,855 - INFO - Visualization saved for episode 0 +2025-03-10 16:19:30,658 - INFO - Visualization saved for episode 0 +2025-03-10 16:19:30,672 - INFO - Refreshing data for episode 1 +2025-03-10 16:19:30,672 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:19:31,025 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:19:31,034 - INFO - Initialized environment with 100 candles +2025-03-10 16:19:31,361 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.0751714285716 | Take profit: 2089.526592857143 +2025-03-10 16:19:31,922 - INFO - TAKE PROFIT hit for short at 2089.526592857143 | PnL: 1.50% | $2.74 +2025-03-10 16:19:31,947 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3372714285715 | Take profit: 2058.420292857143 +2025-03-10 16:19:32,020 - INFO - STOP LOSS hit for short at 2100.3372714285715 | PnL: -0.50% | $-1.21 +2025-03-10 16:19:32,043 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.975121428571 | Take profit: 2071.7867428571426 +2025-03-10 16:19:32,091 - INFO - CLOSED short at 2104.67 | PnL: -0.06% | $-0.32 +2025-03-10 16:19:32,091 - INFO - OPENED LONG at 2104.67 | Stop loss: 2094.098578571429 | Take profit: 2136.312157142857 +2025-03-10 16:19:32,117 - INFO - CLOSED long at 2105.26 | PnL: 0.03% | $-0.14 +2025-03-10 16:19:32,117 - INFO - OPENED SHORT at 2105.26 | Stop loss: 2115.8343714285716 | Take profit: 2073.6089928571428 +2025-03-10 16:19:32,333 - INFO - CLOSED short at 2080.58 | PnL: 1.17% | $2.12 +2025-03-10 16:19:32,356 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2218214285717 | Take profit: 2053.4066428571427 +2025-03-10 16:19:32,529 - INFO - TAKE PROFIT hit for short at 2053.4066428571427 | PnL: 1.50% | $2.83 +2025-03-10 16:19:32,552 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3030714285715 | Take profit: 2020.1628928571429 +2025-03-10 16:19:32,861 - INFO - TAKE PROFIT hit for short at 2020.1628928571429 | PnL: 1.50% | $2.91 +2025-03-10 16:19:32,881 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 60.0% in downtrends | Avg Win=$2.65, Avg Loss=$-0.56 +2025-03-10 16:19:32,881 - INFO - Episode 1: Reward=27.17, Balance=$108.93, Win Rate=57.1%, Trades=7, Episode PnL=$9.08, Total PnL=$570.67, Max Drawdown=1.2%, Pred Accuracy=99.3% +2025-03-10 16:19:33,023 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 16:19:33,024 - INFO - New best PnL model saved: $9.08 +2025-03-10 16:19:33,024 - INFO - Refreshing data for episode 2 +2025-03-10 16:19:33,024 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:19:33,345 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:19:33,355 - INFO - Initialized environment with 100 candles +2025-03-10 16:19:33,388 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.07595 | Take profit: 2089.525425 +2025-03-10 16:19:34,019 - INFO - CLOSED short at 2089.04 | PnL: 1.53% | $2.79 +2025-03-10 16:19:34,020 - INFO - OPENED LONG at 2089.04 | Stop loss: 2078.54595 | Take profit: 2120.4488749999996 +2025-03-10 16:19:34,046 - INFO - CLOSED long at 2089.84 | PnL: 0.04% | $-0.12 +2025-03-10 16:19:34,046 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.33805 | Take profit: 2058.4191250000003 +2025-03-10 16:19:34,124 - INFO - STOP LOSS hit for short at 2100.33805 | PnL: -0.50% | $-1.21 +2025-03-10 16:19:34,150 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9758999999995 | Take profit: 2071.785575 +2025-03-10 16:19:34,503 - INFO - CLOSED short at 2084.25 | PnL: 0.91% | $1.61 +2025-03-10 16:19:34,531 - INFO - OPENED SHORT at 2085.37 | Stop loss: 2095.8457 | Take profit: 2054.016175 +2025-03-10 16:19:34,664 - INFO - TAKE PROFIT hit for short at 2054.016175 | PnL: 1.50% | $2.83 +2025-03-10 16:19:34,707 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3038500000002 | Take profit: 2020.1617250000002 +2025-03-10 16:19:35,118 - INFO - TAKE PROFIT hit for short at 2020.1617250000002 | PnL: 1.50% | $2.90 +2025-03-10 16:19:35,137 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$2.53, Avg Loss=$-0.67 +2025-03-10 16:19:35,138 - INFO - Episode 2: Reward=31.30, Balance=$108.79, Win Rate=66.7%, Trades=6, Episode PnL=$8.92, Total PnL=$579.47, Max Drawdown=0.0%, Pred Accuracy=99.3% +2025-03-10 16:19:35,138 - INFO - Refreshing data for episode 3 +2025-03-10 16:19:35,139 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:19:35,457 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:19:35,466 - INFO - Initialized environment with 100 candles +2025-03-10 16:19:35,573 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.0768428571428 | Take profit: 2089.524085714286 +2025-03-10 16:19:35,717 - INFO - CLOSED short at 2124.9 | PnL: -0.16% | $-0.52 +2025-03-10 16:19:35,752 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.021392857143 | Take profit: 2096.3304357142856 +2025-03-10 16:19:36,220 - INFO - TAKE PROFIT hit for short at 2096.3304357142856 | PnL: 1.50% | $2.73 +2025-03-10 16:19:36,245 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.599992857143 | Take profit: 2068.474635714286 +2025-03-10 16:19:36,631 - INFO - CLOSED short at 2098.66 | PnL: 0.07% | $-0.07 +2025-03-10 16:19:36,632 - INFO - OPENED LONG at 2098.66 | Stop loss: 2088.116957142857 | Take profit: 2130.2145142857144 +2025-03-10 16:19:36,655 - INFO - CLOSED long at 2090.59 | PnL: -0.38% | $-0.97 +2025-03-10 16:19:36,656 - INFO - OPENED SHORT at 2090.59 | Stop loss: 2101.092692857143 | Take profit: 2059.156535714286 +2025-03-10 16:19:36,701 - INFO - CLOSED short at 2084.95 | PnL: 0.27% | $0.34 +2025-03-10 16:19:36,723 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.032642857143 | Take profit: 2049.2966857142856 +2025-03-10 16:19:36,751 - INFO - CLOSED short at 2084.75 | PnL: -0.20% | $-0.60 +2025-03-10 16:19:36,751 - INFO - OPENED LONG at 2084.75 | Stop loss: 2074.276507142857 | Take profit: 2116.095864285714 +2025-03-10 16:19:36,789 - INFO - CLOSED long at 2081.0 | PnL: -0.18% | $-0.55 +2025-03-10 16:19:36,790 - INFO - OPENED SHORT at 2081.0 | Stop loss: 2091.4547428571427 | Take profit: 2049.7103857142856 +2025-03-10 16:19:37,010 - INFO - TAKE PROFIT hit for short at 2049.7103857142856 | PnL: 1.50% | $2.75 +2025-03-10 16:19:37,033 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.304742857143 | Take profit: 2020.160385714286 +2025-03-10 16:19:37,098 - INFO - CLOSED short at 2053.22 | PnL: -0.11% | $-0.42 +2025-03-10 16:19:37,098 - INFO - OPENED LONG at 2053.22 | Stop loss: 2042.904157142857 | Take profit: 2084.092914285714 +2025-03-10 16:19:37,122 - INFO - CLOSED long at 2058.11 | PnL: 0.24% | $0.28 +2025-03-10 16:19:37,122 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.4502928571433 | Take profit: 2027.1637357142858 +2025-03-10 16:19:37,422 - INFO - TAKE PROFIT hit for short at 2027.1637357142858 | PnL: 1.50% | $2.82 +2025-03-10 16:19:37,444 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$1.78, Avg Loss=$-0.52 +2025-03-10 16:19:37,444 - INFO - Episode 3: Reward=19.23, Balance=$105.80, Win Rate=45.5%, Trades=11, Episode PnL=$7.04, Total PnL=$585.26, Max Drawdown=0.7%, Pred Accuracy=99.3% +2025-03-10 16:19:37,445 - INFO - Refreshing data for episode 4 +2025-03-10 16:19:37,445 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:19:37,747 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:19:37,758 - INFO - Initialized environment with 100 candles +2025-03-10 16:19:37,792 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.0768428571428 | Take profit: 2089.524085714286 +2025-03-10 16:19:38,188 - INFO - CLOSED short at 2115.11 | PnL: 0.30% | $0.39 +2025-03-10 16:19:38,188 - INFO - OPENED LONG at 2115.11 | Stop loss: 2104.484707142857 | Take profit: 2146.911264285714 +2025-03-10 16:19:38,212 - INFO - CLOSED long at 2114.32 | PnL: -0.04% | $-0.27 +2025-03-10 16:19:38,214 - INFO - OPENED SHORT at 2114.32 | Stop loss: 2124.941342857143 | Take profit: 2082.5305857142857 +2025-03-10 16:19:38,998 - INFO - TAKE PROFIT hit for short at 2082.5305857142857 | PnL: 1.50% | $2.75 +2025-03-10 16:19:39,021 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.223492857143 | Take profit: 2053.4041357142855 +2025-03-10 16:19:39,266 - INFO - TAKE PROFIT hit for short at 2053.4041357142855 | PnL: 1.50% | $2.82 +2025-03-10 16:19:39,310 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.304742857143 | Take profit: 2020.160385714286 +2025-03-10 16:19:39,747 - INFO - TAKE PROFIT hit for short at 2020.160385714286 | PnL: 1.50% | $2.90 +2025-03-10 16:19:39,768 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.21, Avg Loss=$-0.27 +2025-03-10 16:19:39,770 - INFO - Episode 4: Reward=27.41, Balance=$108.58, Win Rate=80.0%, Trades=5, Episode PnL=$8.85, Total PnL=$593.84, Max Drawdown=0.0%, Pred Accuracy=99.4% +2025-03-10 16:19:39,771 - INFO - Refreshing data for episode 5 +2025-03-10 16:19:39,771 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:19:40,078 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:19:40,089 - INFO - Initialized environment with 100 candles +2025-03-10 16:19:40,845 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.0768428571428 | Take profit: 2089.524085714286 +2025-03-10 16:19:41,490 - INFO - TAKE PROFIT hit for short at 2089.524085714286 | PnL: 1.50% | $2.74 +2025-03-10 16:19:41,514 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3389428571427 | Take profit: 2058.417785714286 +2025-03-10 16:19:41,621 - INFO - STOP LOSS hit for short at 2100.3389428571427 | PnL: -0.50% | $-1.21 +2025-03-10 16:19:41,657 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9767928571423 | Take profit: 2071.7842357142854 +2025-03-10 16:19:41,692 - INFO - CLOSED short at 2104.22 | PnL: -0.04% | $-0.27 +2025-03-10 16:19:41,692 - INFO - OPENED LONG at 2104.22 | Stop loss: 2093.649157142857 | Take profit: 2135.857914285714 +2025-03-10 16:19:41,729 - INFO - CLOSED long at 2104.67 | PnL: 0.02% | $-0.16 +2025-03-10 16:19:41,758 - INFO - OPENED SHORT at 2105.26 | Stop loss: 2115.8360428571427 | Take profit: 2073.606485714286 +2025-03-10 16:19:41,913 - INFO - CLOSED short at 2090.99 | PnL: 0.68% | $1.14 +2025-03-10 16:19:41,913 - INFO - OPENED LONG at 2090.99 | Stop loss: 2080.485307142857 | Take profit: 2122.429464285714 +2025-03-10 16:19:41,940 - INFO - CLOSED long at 2084.95 | PnL: -0.29% | $-0.78 +2025-03-10 16:19:41,940 - INFO - OPENED SHORT at 2084.95 | Stop loss: 2095.4244928571425 | Take profit: 2053.6011357142856 +2025-03-10 16:19:42,242 - INFO - TAKE PROFIT hit for short at 2053.6011357142856 | PnL: 1.50% | $2.78 +2025-03-10 16:19:42,265 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.304742857143 | Take profit: 2020.160385714286 +2025-03-10 16:19:42,652 - INFO - TAKE PROFIT hit for short at 2020.160385714286 | PnL: 1.50% | $2.86 +2025-03-10 16:19:42,672 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.38, Avg Loss=$-0.60 +2025-03-10 16:19:42,673 - INFO - Episode 5: Reward=24.57, Balance=$107.11, Win Rate=50.0%, Trades=8, Episode PnL=$7.88, Total PnL=$600.95, Max Drawdown=1.6%, Pred Accuracy=99.5% +2025-03-10 16:19:42,673 - INFO - Refreshing data for episode 6 +2025-03-10 16:19:42,673 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:19:43,020 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:19:43,029 - INFO - Initialized environment with 100 candles +2025-03-10 16:19:43,066 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.0771571428572 | Take profit: 2089.5236142857143 +2025-03-10 16:19:43,527 - INFO - CLOSED short at 2113.28 | PnL: 0.38% | $0.55 +2025-03-10 16:19:43,527 - INFO - OPENED LONG at 2113.28 | Stop loss: 2102.663542857143 | Take profit: 2145.054285714286 +2025-03-10 16:19:43,553 - INFO - CLOSED long at 2114.5 | PnL: 0.06% | $-0.08 +2025-03-10 16:19:43,553 - INFO - OPENED SHORT at 2114.5 | Stop loss: 2125.122557142857 | Take profit: 2082.707414285714 +2025-03-10 16:19:44,128 - INFO - TAKE PROFIT hit for short at 2082.707414285714 | PnL: 1.50% | $2.76 +2025-03-10 16:19:44,156 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.223807142857 | Take profit: 2053.4036642857145 +2025-03-10 16:19:44,405 - INFO - TAKE PROFIT hit for short at 2053.4036642857145 | PnL: 1.50% | $2.83 +2025-03-10 16:19:44,431 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305057142857 | Take profit: 2020.1599142857144 +2025-03-10 16:19:44,804 - INFO - TAKE PROFIT hit for short at 2020.1599142857144 | PnL: 1.50% | $2.91 +2025-03-10 16:19:44,824 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.26, Avg Loss=$-0.08 +2025-03-10 16:19:44,825 - INFO - Episode 6: Reward=27.77, Balance=$108.96, Win Rate=80.0%, Trades=5, Episode PnL=$9.05, Total PnL=$609.91, Max Drawdown=0.0%, Pred Accuracy=99.5% +2025-03-10 16:19:44,825 - INFO - Refreshing data for episode 7 +2025-03-10 16:19:44,826 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:19:45,154 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:19:45,163 - INFO - Initialized environment with 100 candles +2025-03-10 16:19:45,199 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.0771571428572 | Take profit: 2089.5236142857143 +2025-03-10 16:19:45,944 - INFO - TAKE PROFIT hit for short at 2089.5236142857143 | PnL: 1.50% | $2.74 +2025-03-10 16:19:45,971 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3392571428576 | Take profit: 2058.4173142857144 +2025-03-10 16:19:46,050 - INFO - STOP LOSS hit for short at 2100.3392571428576 | PnL: -0.50% | $-1.21 +2025-03-10 16:19:46,077 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.977107142857 | Take profit: 2071.7837642857144 +2025-03-10 16:19:46,371 - INFO - CLOSED short at 2090.99 | PnL: 0.59% | $0.97 +2025-03-10 16:19:46,372 - INFO - OPENED LONG at 2090.99 | Stop loss: 2080.4849928571425 | Take profit: 2122.4299357142854 +2025-03-10 16:19:46,395 - INFO - CLOSED long at 2084.95 | PnL: -0.29% | $-0.78 +2025-03-10 16:19:46,395 - INFO - OPENED SHORT at 2084.95 | Stop loss: 2095.424807142857 | Take profit: 2053.600664285714 +2025-03-10 16:19:46,746 - INFO - CLOSED short at 2048.3 | PnL: 1.76% | $3.29 +2025-03-10 16:19:46,771 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305057142857 | Take profit: 2020.1599142857144 +2025-03-10 16:19:47,178 - INFO - TAKE PROFIT hit for short at 2020.1599142857144 | PnL: 1.50% | $2.88 +2025-03-10 16:19:47,201 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$2.47, Avg Loss=$-0.99 +2025-03-10 16:19:47,202 - INFO - Episode 7: Reward=30.26, Balance=$107.90, Win Rate=66.7%, Trades=6, Episode PnL=$8.68, Total PnL=$617.81, Max Drawdown=1.2%, Pred Accuracy=99.5% +2025-03-10 16:19:47,202 - INFO - Refreshing data for episode 8 +2025-03-10 16:19:47,203 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:19:47,948 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:19:47,958 - INFO - Initialized environment with 100 candles +2025-03-10 16:19:47,996 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.0771571428572 | Take profit: 2089.5236142857143 +2025-03-10 16:19:48,731 - INFO - TAKE PROFIT hit for short at 2089.5236142857143 | PnL: 1.50% | $2.74 +2025-03-10 16:19:48,758 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3392571428576 | Take profit: 2058.4173142857144 +2025-03-10 16:19:48,836 - INFO - STOP LOSS hit for short at 2100.3392571428576 | PnL: -0.50% | $-1.21 +2025-03-10 16:19:48,861 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.977107142857 | Take profit: 2071.7837642857144 +2025-03-10 16:19:49,435 - INFO - TAKE PROFIT hit for short at 2071.7837642857144 | PnL: 1.50% | $2.78 +2025-03-10 16:19:49,524 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305057142857 | Take profit: 2020.1599142857144 +2025-03-10 16:19:49,951 - INFO - TAKE PROFIT hit for short at 2020.1599142857144 | PnL: 1.50% | $2.86 +2025-03-10 16:19:49,973 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$2.80, Avg Loss=$-1.21 +2025-03-10 16:19:49,974 - INFO - Episode 8: Reward=27.79, Balance=$107.18, Win Rate=75.0%, Trades=4, Episode PnL=$7.18, Total PnL=$624.99, Max Drawdown=1.2%, Pred Accuracy=99.5% +2025-03-10 16:19:49,974 - INFO - Refreshing data for episode 9 +2025-03-10 16:19:49,975 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:19:50,282 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:19:50,292 - INFO - Initialized environment with 100 candles +2025-03-10 16:19:50,328 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.0776321428575 | Take profit: 2089.522901785714 +2025-03-10 16:19:51,239 - INFO - TAKE PROFIT hit for short at 2089.522901785714 | PnL: 1.50% | $2.74 +2025-03-10 16:19:51,294 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3397321428574 | Take profit: 2058.4166017857146 +2025-03-10 16:19:51,389 - INFO - STOP LOSS hit for short at 2100.3397321428574 | PnL: -0.50% | $-1.21 +2025-03-10 16:19:51,419 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.977582142857 | Take profit: 2071.783051785714 +2025-03-10 16:19:52,091 - INFO - TAKE PROFIT hit for short at 2071.783051785714 | PnL: 1.50% | $2.78 +2025-03-10 16:19:52,141 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5920321428575 | Take profit: 2017.4997017857143 +2025-03-10 16:19:52,567 - INFO - TAKE PROFIT hit for short at 2017.4997017857143 | PnL: 1.50% | $2.86 +2025-03-10 16:19:52,585 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$2.79, Avg Loss=$-1.21 +2025-03-10 16:19:52,587 - INFO - Episode 9: Reward=27.98, Balance=$107.17, Win Rate=75.0%, Trades=4, Episode PnL=$7.17, Total PnL=$632.16, Max Drawdown=1.2%, Pred Accuracy=99.4% +2025-03-10 16:19:52,587 - INFO - Refreshing data for episode 10 +2025-03-10 16:19:52,587 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:19:52,906 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:19:52,917 - INFO - Initialized environment with 100 candles +2025-03-10 16:19:53,947 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.0776321428575 | Take profit: 2089.522901785714 +2025-03-10 16:19:54,759 - INFO - TAKE PROFIT hit for short at 2089.522901785714 | PnL: 1.50% | $2.74 +2025-03-10 16:19:54,799 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3397321428574 | Take profit: 2058.4166017857146 +2025-03-10 16:19:54,910 - INFO - CLOSED short at 2102.83 | PnL: -0.62% | $-1.45 +2025-03-10 16:19:54,948 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.977582142857 | Take profit: 2071.783051785714 +2025-03-10 16:19:55,443 - INFO - CLOSED short at 2084.75 | PnL: 0.89% | $1.56 +2025-03-10 16:19:55,444 - INFO - OPENED LONG at 2084.75 | Stop loss: 2074.275717857143 | Take profit: 2116.0970482142857 +2025-03-10 16:19:55,476 - INFO - CLOSED long at 2081.0 | PnL: -0.18% | $-0.56 +2025-03-10 16:19:55,477 - INFO - OPENED SHORT at 2081.0 | Stop loss: 2091.455532142857 | Take profit: 2049.7092017857144 +2025-03-10 16:19:55,655 - INFO - TAKE PROFIT hit for short at 2049.7092017857144 | PnL: 1.50% | $2.80 +2025-03-10 16:19:55,683 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305532142857 | Take profit: 2020.1592017857145 +2025-03-10 16:19:56,092 - INFO - TAKE PROFIT hit for short at 2020.1592017857145 | PnL: 1.50% | $2.88 +2025-03-10 16:19:56,118 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.50, Avg Loss=$-1.00 +2025-03-10 16:19:56,119 - INFO - Episode 10: Reward=25.49, Balance=$107.97, Win Rate=66.7%, Trades=6, Episode PnL=$8.53, Total PnL=$640.14, Max Drawdown=1.4%, Pred Accuracy=99.4% +2025-03-10 16:19:56,292 - INFO - Model saved to checkpoints/trading_agent_episode_10.pt +2025-03-10 16:19:56,292 - INFO - Checkpoint saved at episode 10 +2025-03-10 16:19:57,454 - INFO - Visualization saved for episode 10 +2025-03-10 16:19:59,454 - INFO - Visualization saved for episode 10 +2025-03-10 16:19:59,479 - INFO - Refreshing data for episode 11 +2025-03-10 16:19:59,480 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:19:59,820 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:19:59,831 - INFO - Initialized environment with 100 candles +2025-03-10 16:20:00,198 - INFO - OPENED SHORT at 2121.42 | Stop loss: 2132.0776321428575 | Take profit: 2089.522901785714 +2025-03-10 16:20:00,678 - INFO - CLOSED short at 2115.21 | PnL: 0.29% | $0.38 +2025-03-10 16:20:00,707 - INFO - OPENED SHORT at 2114.1 | Stop loss: 2124.721032142857 | Take profit: 2082.312701785714 +2025-03-10 16:20:01,752 - INFO - TAKE PROFIT hit for short at 2082.312701785714 | PnL: 1.50% | $2.75 +2025-03-10 16:20:01,782 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.224282142857 | Take profit: 2053.4029517857143 +2025-03-10 16:20:02,050 - INFO - TAKE PROFIT hit for short at 2053.4029517857143 | PnL: 1.50% | $2.83 +2025-03-10 16:20:02,099 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305532142857 | Take profit: 2020.1592017857145 +2025-03-10 16:20:02,516 - INFO - TAKE PROFIT hit for short at 2020.1592017857145 | PnL: 1.50% | $2.90 +2025-03-10 16:20:02,548 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.21, Avg Loss=$0.00 +2025-03-10 16:20:02,549 - INFO - Episode 11: Reward=15.21, Balance=$108.86, Win Rate=100.0%, Trades=4, Episode PnL=$8.86, Total PnL=$648.99, Max Drawdown=0.0%, Pred Accuracy=99.2% +2025-03-10 16:20:02,549 - INFO - Refreshing data for episode 12 +2025-03-10 16:20:02,549 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:20:02,882 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:20:02,894 - INFO - Initialized environment with 100 candles +2025-03-10 16:20:02,930 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.1489785714284 | Take profit: 2084.702632142857 +2025-03-10 16:20:03,029 - INFO - STOP LOSS hit for short at 2127.1489785714284 | PnL: -0.50% | $-1.18 +2025-03-10 16:20:03,053 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.4402285714286 | Take profit: 2092.8288821428573 +2025-03-10 16:20:03,660 - INFO - TAKE PROFIT hit for short at 2092.8288821428573 | PnL: 1.50% | $2.71 +2025-03-10 16:20:03,681 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.596628571429 | Take profit: 2068.479682142857 +2025-03-10 16:20:04,459 - INFO - TAKE PROFIT hit for short at 2068.479682142857 | PnL: 1.50% | $2.79 +2025-03-10 16:20:04,483 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.587878571429 | Take profit: 2017.5059321428573 +2025-03-10 16:20:04,904 - INFO - TAKE PROFIT hit for short at 2017.5059321428573 | PnL: 1.50% | $2.86 +2025-03-10 16:20:04,927 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6640785714287 | Take profit: 1985.2373321428572 +2025-03-10 16:20:04,969 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$2.79, Avg Loss=$-1.18 +2025-03-10 16:20:04,970 - INFO - Episode 12: Reward=14.27, Balance=$107.19, Win Rate=75.0%, Trades=4, Episode PnL=$7.19, Total PnL=$656.18, Max Drawdown=1.2%, Pred Accuracy=98.4% +2025-03-10 16:20:04,970 - INFO - Refreshing data for episode 13 +2025-03-10 16:20:04,971 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:20:05,301 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:20:05,314 - INFO - Initialized environment with 100 candles +2025-03-10 16:20:05,429 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.1494357142856 | Take profit: 2084.7019464285713 +2025-03-10 16:20:05,563 - INFO - STOP LOSS hit for short at 2127.1494357142856 | PnL: -0.50% | $-1.18 +2025-03-10 16:20:05,587 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.440685714286 | Take profit: 2092.8281964285716 +2025-03-10 16:20:05,794 - INFO - CLOSED short at 2115.11 | PnL: 0.45% | $0.69 +2025-03-10 16:20:05,828 - INFO - OPENED SHORT at 2114.32 | Stop loss: 2124.938435714286 | Take profit: 2082.5349464285714 +2025-03-10 16:20:06,532 - INFO - TAKE PROFIT hit for short at 2082.5349464285714 | PnL: 1.50% | $2.73 +2025-03-10 16:20:06,569 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.220585714286 | Take profit: 2053.4084964285717 +2025-03-10 16:20:06,808 - INFO - TAKE PROFIT hit for short at 2053.4084964285717 | PnL: 1.50% | $2.81 +2025-03-10 16:20:06,830 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.301835714286 | Take profit: 2020.1647464285716 +2025-03-10 16:20:07,215 - INFO - TAKE PROFIT hit for short at 2020.1647464285716 | PnL: 1.50% | $2.88 +2025-03-10 16:20:07,239 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6645357142859 | Take profit: 1985.2366464285715 +2025-03-10 16:20:07,266 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$2.28, Avg Loss=$-1.18 +2025-03-10 16:20:07,267 - INFO - Episode 13: Reward=1.75, Balance=$107.93, Win Rate=80.0%, Trades=5, Episode PnL=$7.93, Total PnL=$664.11, Max Drawdown=1.2%, Pred Accuracy=97.1% +2025-03-10 16:20:07,267 - INFO - Refreshing data for episode 14 +2025-03-10 16:20:07,269 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:20:07,571 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:20:07,580 - INFO - Initialized environment with 100 candles +2025-03-10 16:20:07,615 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.1495321428574 | Take profit: 2084.7018017857145 +2025-03-10 16:20:07,697 - INFO - CLOSED short at 2128.33 | PnL: -0.56% | $-1.29 +2025-03-10 16:20:07,697 - INFO - OPENED LONG at 2128.33 | Stop loss: 2117.6414178571426 | Take profit: 2160.3253482142854 +2025-03-10 16:20:07,720 - INFO - CLOSED long at 2124.77 | PnL: -0.17% | $-0.52 +2025-03-10 16:20:07,720 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.440782142857 | Take profit: 2092.8280517857143 +2025-03-10 16:20:08,244 - INFO - TAKE PROFIT hit for short at 2092.8280517857143 | PnL: 1.50% | $2.70 +2025-03-10 16:20:08,289 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.597182142857 | Take profit: 2068.4788517857146 +2025-03-10 16:20:08,397 - INFO - CLOSED short at 2096.19 | PnL: 0.18% | $0.17 +2025-03-10 16:20:08,421 - INFO - OPENED SHORT at 2100.0 | Stop loss: 2110.5469321428573 | Take profit: 2068.429601785714 +2025-03-10 16:20:08,962 - INFO - CLOSED short at 2067.71 | PnL: 1.54% | $2.84 +2025-03-10 16:20:08,962 - INFO - OPENED LONG at 2067.71 | Stop loss: 2057.324517857143 | Take profit: 2098.7960482142857 +2025-03-10 16:20:09,012 - INFO - CLOSED long at 2048.3 | PnL: -0.94% | $-2.11 +2025-03-10 16:20:09,013 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5884321428575 | Take profit: 2017.5051017857143 +2025-03-10 16:20:09,492 - INFO - TAKE PROFIT hit for short at 2017.5051017857143 | PnL: 1.50% | $2.79 +2025-03-10 16:20:09,533 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6646321428573 | Take profit: 1985.2365017857144 +2025-03-10 16:20:09,553 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$2.12, Avg Loss=$-1.30 +2025-03-10 16:20:09,554 - INFO - Episode 14: Reward=-3.77, Balance=$104.58, Win Rate=57.1%, Trades=7, Episode PnL=$7.21, Total PnL=$668.69, Max Drawdown=0.0%, Pred Accuracy=96.7% +2025-03-10 16:20:09,554 - INFO - Refreshing data for episode 15 +2025-03-10 16:20:09,555 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:20:09,859 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:20:09,870 - INFO - Initialized environment with 100 candles +2025-03-10 16:20:10,656 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.1501 | Take profit: 2084.70095 +2025-03-10 16:20:10,748 - INFO - STOP LOSS hit for short at 2127.1501 | PnL: -0.50% | $-1.18 +2025-03-10 16:20:10,770 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.44135 | Take profit: 2092.8272 +2025-03-10 16:20:10,856 - INFO - CLOSED short at 2115.52 | PnL: 0.44% | $0.65 +2025-03-10 16:20:10,856 - INFO - OPENED LONG at 2115.52 | Stop loss: 2104.8949 | Take profit: 2147.3240499999997 +2025-03-10 16:20:10,877 - INFO - CLOSED long at 2114.75 | PnL: -0.04% | $-0.27 +2025-03-10 16:20:10,878 - INFO - OPENED SHORT at 2114.75 | Stop loss: 2125.3712499999997 | Take profit: 2082.9575 +2025-03-10 16:20:11,121 - INFO - CLOSED short at 2113.28 | PnL: 0.07% | $-0.06 +2025-03-10 16:20:11,152 - INFO - OPENED SHORT at 2114.5 | Stop loss: 2125.12 | Take profit: 2082.7112500000003 +2025-03-10 16:20:11,777 - INFO - TAKE PROFIT hit for short at 2082.7112500000003 | PnL: 1.50% | $2.72 +2025-03-10 16:20:11,817 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.22125 | Take profit: 2053.4075 +2025-03-10 16:20:12,053 - INFO - TAKE PROFIT hit for short at 2053.4075 | PnL: 1.50% | $2.80 +2025-03-10 16:20:12,086 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3025000000002 | Take profit: 2020.16375 +2025-03-10 16:20:12,497 - INFO - TAKE PROFIT hit for short at 2020.16375 | PnL: 1.50% | $2.87 +2025-03-10 16:20:12,521 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6652 | Take profit: 1985.23565 +2025-03-10 16:20:12,552 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 80.0% in downtrends | Avg Win=$2.26, Avg Loss=$-0.50 +2025-03-10 16:20:12,553 - INFO - Episode 15: Reward=-0.92, Balance=$107.53, Win Rate=57.1%, Trades=7, Episode PnL=$7.80, Total PnL=$676.23, Max Drawdown=1.2%, Pred Accuracy=97.5% +2025-03-10 16:20:12,553 - INFO - Refreshing data for episode 16 +2025-03-10 16:20:12,554 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:20:12,869 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:20:12,880 - INFO - Initialized environment with 100 candles +2025-03-10 16:20:12,999 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.1507357142855 | Take profit: 2084.6999964285715 +2025-03-10 16:20:13,148 - INFO - STOP LOSS hit for short at 2127.1507357142855 | PnL: -0.50% | $-1.18 +2025-03-10 16:20:13,171 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.4419857142857 | Take profit: 2092.8262464285713 +2025-03-10 16:20:13,750 - INFO - TAKE PROFIT hit for short at 2092.8262464285713 | PnL: 1.50% | $2.71 +2025-03-10 16:20:13,775 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5983857142855 | Take profit: 2068.4770464285716 +2025-03-10 16:20:13,978 - INFO - CLOSED short at 2104.22 | PnL: -0.20% | $-0.59 +2025-03-10 16:20:14,021 - INFO - OPENED SHORT at 2104.67 | Stop loss: 2115.241485714286 | Take profit: 2073.0277464285714 +2025-03-10 16:20:14,303 - INFO - CLOSED short at 2080.58 | PnL: 1.14% | $2.06 +2025-03-10 16:20:14,304 - INFO - OPENED LONG at 2080.58 | Stop loss: 2070.128964285714 | Take profit: 2111.8609035714285 +2025-03-10 16:20:14,328 - INFO - CLOSED long at 2084.75 | PnL: 0.20% | $0.20 +2025-03-10 16:20:14,329 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.221885714286 | Take profit: 2053.4065464285713 +2025-03-10 16:20:14,359 - INFO - CLOSED short at 2081.0 | PnL: 0.18% | $0.16 +2025-03-10 16:20:14,409 - INFO - OPENED SHORT at 2084.25 | Stop loss: 2094.7193857142856 | Take profit: 2052.9140464285715 +2025-03-10 16:20:14,597 - INFO - TAKE PROFIT hit for short at 2052.9140464285715 | PnL: 1.50% | $2.84 +2025-03-10 16:20:14,619 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.303135714286 | Take profit: 2020.1627964285715 +2025-03-10 16:20:15,002 - INFO - TAKE PROFIT hit for short at 2020.1627964285715 | PnL: 1.50% | $2.91 +2025-03-10 16:20:15,026 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6658357142858 | Take profit: 1985.2346964285714 +2025-03-10 16:20:15,052 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 80.0% in downtrends | Avg Win=$1.81, Avg Loss=$-0.89 +2025-03-10 16:20:15,052 - INFO - Episode 16: Reward=2.99, Balance=$109.12, Win Rate=75.0%, Trades=8, Episode PnL=$8.91, Total PnL=$685.34, Max Drawdown=1.2%, Pred Accuracy=97.7% +2025-03-10 16:20:15,053 - INFO - Refreshing data for episode 17 +2025-03-10 16:20:15,053 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:20:15,353 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:20:15,363 - INFO - Initialized environment with 100 candles +2025-03-10 16:20:15,397 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.1507357142855 | Take profit: 2084.6999964285715 +2025-03-10 16:20:15,485 - INFO - STOP LOSS hit for short at 2127.1507357142855 | PnL: -0.50% | $-1.18 +2025-03-10 16:20:15,509 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.4419857142857 | Take profit: 2092.8262464285713 +2025-03-10 16:20:15,974 - INFO - CLOSED short at 2098.28 | PnL: 1.25% | $2.22 +2025-03-10 16:20:16,015 - INFO - OPENED SHORT at 2091.36 | Stop loss: 2101.864935714286 | Take profit: 2059.9173964285715 +2025-03-10 16:20:16,228 - INFO - STOP LOSS hit for short at 2101.864935714286 | PnL: -0.50% | $-1.19 +2025-03-10 16:20:16,260 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9751857142855 | Take profit: 2071.786646428571 +2025-03-10 16:20:16,454 - INFO - CLOSED short at 2099.22 | PnL: 0.20% | $0.19 +2025-03-10 16:20:16,503 - INFO - OPENED SHORT at 2094.16 | Stop loss: 2104.6789357142857 | Take profit: 2062.6753964285713 +2025-03-10 16:20:16,636 - INFO - CLOSED short at 2084.95 | PnL: 0.44% | $0.66 +2025-03-10 16:20:16,636 - INFO - OPENED LONG at 2084.95 | Stop loss: 2074.4771142857144 | Take profit: 2116.296453571428 +2025-03-10 16:20:16,660 - INFO - CLOSED long at 2080.58 | PnL: -0.21% | $-0.61 +2025-03-10 16:20:16,660 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0310357142857 | Take profit: 2049.2990964285714 +2025-03-10 16:20:16,952 - INFO - TAKE PROFIT hit for short at 2049.2990964285714 | PnL: 1.50% | $2.75 +2025-03-10 16:20:16,977 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.303135714286 | Take profit: 2020.1627964285715 +2025-03-10 16:20:17,291 - INFO - CLOSED short at 2042.0 | PnL: 0.44% | $0.68 +2025-03-10 16:20:17,342 - INFO - OPENED SHORT at 2036.71 | Stop loss: 2046.9416857142855 | Take profit: 2006.0871464285715 +2025-03-10 16:20:17,427 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$1.30, Avg Loss=$-0.99 +2025-03-10 16:20:17,428 - INFO - Episode 17: Reward=4.39, Balance=$103.52, Win Rate=62.5%, Trades=8, Episode PnL=$4.13, Total PnL=$688.87, Max Drawdown=1.2%, Pred Accuracy=97.7% +2025-03-10 16:20:17,428 - INFO - Refreshing data for episode 18 +2025-03-10 16:20:17,429 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:20:17,739 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:20:17,748 - INFO - Initialized environment with 100 candles +2025-03-10 16:20:17,782 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.1507357142855 | Take profit: 2084.6999964285715 +2025-03-10 16:20:17,872 - INFO - STOP LOSS hit for short at 2127.1507357142855 | PnL: -0.50% | $-1.18 +2025-03-10 16:20:17,893 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.4419857142857 | Take profit: 2092.8262464285713 +2025-03-10 16:20:18,365 - INFO - CLOSED short at 2091.36 | PnL: 1.57% | $2.85 +2025-03-10 16:20:18,406 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5983857142855 | Take profit: 2068.4770464285716 +2025-03-10 16:20:18,687 - INFO - CLOSED short at 2099.63 | PnL: 0.02% | $-0.16 +2025-03-10 16:20:18,709 - INFO - OPENED SHORT at 2099.22 | Stop loss: 2109.764235714286 | Take profit: 2067.659496428571 +2025-03-10 16:20:18,841 - INFO - CLOSED short at 2090.59 | PnL: 0.41% | $0.62 +2025-03-10 16:20:18,841 - INFO - OPENED LONG at 2090.59 | Stop loss: 2080.0889142857145 | Take profit: 2122.0210535714286 +2025-03-10 16:20:18,884 - INFO - CLOSED long at 2090.99 | PnL: 0.02% | $-0.16 +2025-03-10 16:20:18,884 - INFO - OPENED SHORT at 2090.99 | Stop loss: 2101.493085714286 | Take profit: 2059.5529464285714 +2025-03-10 16:20:19,161 - INFO - TAKE PROFIT hit for short at 2059.5529464285714 | PnL: 1.50% | $2.80 +2025-03-10 16:20:19,203 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.303135714286 | Take profit: 2020.1627964285715 +2025-03-10 16:20:19,618 - INFO - TAKE PROFIT hit for short at 2020.1627964285715 | PnL: 1.50% | $2.87 +2025-03-10 16:20:19,668 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6658357142858 | Take profit: 1985.2346964285714 +2025-03-10 16:20:19,709 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$2.28, Avg Loss=$-0.50 +2025-03-10 16:20:19,710 - INFO - Episode 18: Reward=1.55, Balance=$107.64, Win Rate=57.1%, Trades=7, Episode PnL=$7.80, Total PnL=$696.50, Max Drawdown=1.2%, Pred Accuracy=97.3% +2025-03-10 16:20:19,711 - INFO - Refreshing data for episode 19 +2025-03-10 16:20:19,711 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:20:20,021 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:20:20,032 - INFO - Initialized environment with 100 candles +2025-03-10 16:20:20,069 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.1507357142855 | Take profit: 2084.6999964285715 +2025-03-10 16:20:20,162 - INFO - STOP LOSS hit for short at 2127.1507357142855 | PnL: -0.50% | $-1.18 +2025-03-10 16:20:20,187 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.4419857142857 | Take profit: 2092.8262464285713 +2025-03-10 16:20:20,558 - INFO - CLOSED short at 2114.5 | PnL: 0.48% | $0.74 +2025-03-10 16:20:20,622 - INFO - OPENED SHORT at 2098.28 | Stop loss: 2108.819535714286 | Take profit: 2066.7335964285717 +2025-03-10 16:20:21,448 - INFO - TAKE PROFIT hit for short at 2066.7335964285717 | PnL: 1.50% | $2.73 +2025-03-10 16:20:21,473 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.303135714286 | Take profit: 2020.1627964285715 +2025-03-10 16:20:21,699 - INFO - CLOSED short at 2046.76 | PnL: 0.21% | $0.21 +2025-03-10 16:20:21,738 - INFO - OPENED SHORT at 2043.95 | Stop loss: 2054.217885714286 | Take profit: 2013.2185464285715 +2025-03-10 16:20:21,873 - INFO - TAKE PROFIT hit for short at 2013.2185464285715 | PnL: 1.50% | $2.81 +2025-03-10 16:20:21,899 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6658357142858 | Take profit: 1985.2346964285714 +2025-03-10 16:20:21,921 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$1.62, Avg Loss=$-1.18 +2025-03-10 16:20:21,922 - INFO - Episode 19: Reward=2.28, Balance=$105.32, Win Rate=80.0%, Trades=5, Episode PnL=$5.32, Total PnL=$701.82, Max Drawdown=1.2%, Pred Accuracy=97.1% +2025-03-10 16:20:21,922 - INFO - Refreshing data for episode 20 +2025-03-10 16:20:21,923 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:20:22,218 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:20:22,229 - INFO - Initialized environment with 100 candles +2025-03-10 16:20:23,077 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.1507357142855 | Take profit: 2084.6999964285715 +2025-03-10 16:20:23,377 - INFO - STOP LOSS hit for short at 2127.1507357142855 | PnL: -0.50% | $-1.18 +2025-03-10 16:20:23,406 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.4419857142857 | Take profit: 2092.8262464285713 +2025-03-10 16:20:23,862 - INFO - TAKE PROFIT hit for short at 2092.8262464285713 | PnL: 1.50% | $2.71 +2025-03-10 16:20:23,883 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5983857142855 | Take profit: 2068.4770464285716 +2025-03-10 16:20:24,557 - INFO - CLOSED short at 2083.07 | PnL: 0.81% | $1.41 +2025-03-10 16:20:24,583 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.4934857142857 | Take profit: 2043.8717464285714 +2025-03-10 16:20:24,679 - INFO - TAKE PROFIT hit for short at 2043.8717464285714 | PnL: 1.50% | $2.82 +2025-03-10 16:20:24,700 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.2025857142858 | Take profit: 2022.0244464285713 +2025-03-10 16:20:25,051 - INFO - TAKE PROFIT hit for short at 2022.0244464285713 | PnL: 1.50% | $2.90 +2025-03-10 16:20:25,075 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6658357142858 | Take profit: 1985.2346964285714 +2025-03-10 16:20:25,099 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$2.46, Avg Loss=$-1.18 +2025-03-10 16:20:25,100 - INFO - Episode 20: Reward=2.23, Balance=$108.67, Win Rate=80.0%, Trades=5, Episode PnL=$8.67, Total PnL=$710.49, Max Drawdown=1.2%, Pred Accuracy=97.4% +2025-03-10 16:20:25,249 - INFO - Model saved to checkpoints/trading_agent_episode_20.pt +2025-03-10 16:20:25,250 - INFO - Checkpoint saved at episode 20 +2025-03-10 16:20:25,251 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:20:26,514 - INFO - Visualization saved for episode 20 +2025-03-10 16:20:28,295 - INFO - Visualization saved for episode 20 +2025-03-10 16:20:28,309 - INFO - Refreshing data for episode 21 +2025-03-10 16:20:28,309 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:20:28,624 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:20:28,633 - INFO - Initialized environment with 100 candles +2025-03-10 16:20:28,976 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.6632357142857 | Take profit: 2087.1624964285716 +2025-03-10 16:20:29,046 - INFO - CLOSED short at 2128.33 | PnL: -0.44% | $-1.05 +2025-03-10 16:20:29,070 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.4419857142857 | Take profit: 2092.8262464285713 +2025-03-10 16:20:29,482 - INFO - CLOSED short at 2115.07 | PnL: 0.46% | $0.69 +2025-03-10 16:20:29,535 - INFO - OPENED SHORT at 2098.28 | Stop loss: 2108.819535714286 | Take profit: 2066.7335964285717 +2025-03-10 16:20:29,903 - INFO - CLOSED short at 2099.22 | PnL: -0.04% | $-0.28 +2025-03-10 16:20:29,930 - INFO - OPENED SHORT at 2094.16 | Stop loss: 2104.6789357142857 | Take profit: 2062.6753964285713 +2025-03-10 16:20:30,458 - INFO - TAKE PROFIT hit for short at 2062.6753964285713 | PnL: 1.50% | $2.73 +2025-03-10 16:20:30,485 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.303135714286 | Take profit: 2020.1627964285715 +2025-03-10 16:20:30,872 - INFO - TAKE PROFIT hit for short at 2020.1627964285715 | PnL: 1.50% | $2.80 +2025-03-10 16:20:30,893 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6658357142858 | Take profit: 1985.2346964285714 +2025-03-10 16:20:30,913 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.07, Avg Loss=$-0.67 +2025-03-10 16:20:30,914 - INFO - Episode 21: Reward=-2.42, Balance=$104.88, Win Rate=60.0%, Trades=5, Episode PnL=$4.88, Total PnL=$715.37, Max Drawdown=1.1%, Pred Accuracy=97.5% +2025-03-10 16:20:30,915 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:20:30,915 - INFO - Refreshing data for episode 22 +2025-03-10 16:20:30,915 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:20:31,236 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:20:31,246 - INFO - Initialized environment with 100 candles +2025-03-10 16:20:31,359 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.1507357142855 | Take profit: 2084.6999964285715 +2025-03-10 16:20:31,501 - INFO - STOP LOSS hit for short at 2127.1507357142855 | PnL: -0.50% | $-1.18 +2025-03-10 16:20:31,544 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.4419857142857 | Take profit: 2092.8262464285713 +2025-03-10 16:20:32,016 - INFO - TAKE PROFIT hit for short at 2092.8262464285713 | PnL: 1.50% | $2.71 +2025-03-10 16:20:32,041 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5983857142855 | Take profit: 2068.4770464285716 +2025-03-10 16:20:32,464 - INFO - CLOSED short at 2090.59 | PnL: 0.45% | $0.70 +2025-03-10 16:20:32,489 - INFO - OPENED SHORT at 2090.99 | Stop loss: 2101.493085714286 | Take profit: 2059.5529464285714 +2025-03-10 16:20:32,789 - INFO - CLOSED short at 2067.71 | PnL: 1.11% | $2.03 +2025-03-10 16:20:32,789 - INFO - OPENED LONG at 2067.71 | Stop loss: 2057.3233142857143 | Take profit: 2098.7978535714287 +2025-03-10 16:20:32,815 - INFO - CLOSED long at 2048.3 | PnL: -0.94% | $-2.12 +2025-03-10 16:20:32,815 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5896357142856 | Take profit: 2017.5032964285715 +2025-03-10 16:20:33,217 - INFO - TAKE PROFIT hit for short at 2017.5032964285715 | PnL: 1.50% | $2.80 +2025-03-10 16:20:33,239 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6658357142858 | Take profit: 1985.2346964285714 +2025-03-10 16:20:33,262 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$2.06, Avg Loss=$-1.65 +2025-03-10 16:20:33,262 - INFO - Episode 22: Reward=0.62, Balance=$104.94, Win Rate=66.7%, Trades=6, Episode PnL=$7.06, Total PnL=$720.31, Max Drawdown=1.2%, Pred Accuracy=97.5% +2025-03-10 16:20:33,263 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:20:33,263 - INFO - Refreshing data for episode 23 +2025-03-10 16:20:33,263 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:20:33,576 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:20:33,587 - INFO - Initialized environment with 100 candles +2025-03-10 16:20:33,621 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.1507357142855 | Take profit: 2084.6999964285715 +2025-03-10 16:20:33,715 - INFO - STOP LOSS hit for short at 2127.1507357142855 | PnL: -0.50% | $-1.18 +2025-03-10 16:20:33,737 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.4419857142857 | Take profit: 2092.8262464285713 +2025-03-10 16:20:34,202 - INFO - TAKE PROFIT hit for short at 2092.8262464285713 | PnL: 1.50% | $2.71 +2025-03-10 16:20:34,232 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5983857142855 | Take profit: 2068.4770464285716 +2025-03-10 16:20:34,770 - INFO - CLOSED short at 2084.75 | PnL: 0.73% | $1.25 +2025-03-10 16:20:34,851 - INFO - OPENED SHORT at 2084.25 | Stop loss: 2094.7193857142856 | Take profit: 2052.9140464285715 +2025-03-10 16:20:34,891 - INFO - CLOSED short at 2085.37 | PnL: -0.05% | $-0.31 +2025-03-10 16:20:34,892 - INFO - OPENED LONG at 2085.37 | Stop loss: 2074.8950142857143 | Take profit: 2116.7227535714287 +2025-03-10 16:20:34,935 - INFO - CLOSED long at 2084.11 | PnL: -0.06% | $-0.32 +2025-03-10 16:20:34,935 - INFO - OPENED SHORT at 2084.11 | Stop loss: 2094.5786857142857 | Take profit: 2052.7761464285713 +2025-03-10 16:20:35,041 - INFO - TAKE PROFIT hit for short at 2052.7761464285713 | PnL: 1.50% | $2.80 +2025-03-10 16:20:35,066 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.303135714286 | Take profit: 2020.1627964285715 +2025-03-10 16:20:35,366 - INFO - CLOSED short at 2044.1 | PnL: 0.34% | $0.48 +2025-03-10 16:20:35,387 - INFO - OPENED SHORT at 2043.59 | Stop loss: 2053.8560857142857 | Take profit: 2012.8639464285714 +2025-03-10 16:20:35,412 - INFO - CLOSED short at 2042.0 | PnL: 0.08% | $-0.05 +2025-03-10 16:20:35,438 - INFO - OPENED SHORT at 2036.71 | Stop loss: 2046.9416857142855 | Take profit: 2006.0871464285715 +2025-03-10 16:20:35,521 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$1.81, Avg Loss=$-0.46 +2025-03-10 16:20:35,522 - INFO - Episode 23: Reward=-1.29, Balance=$105.39, Win Rate=50.0%, Trades=8, Episode PnL=$5.72, Total PnL=$725.70, Max Drawdown=1.2%, Pred Accuracy=97.4% +2025-03-10 16:20:35,522 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:20:35,523 - INFO - Refreshing data for episode 24 +2025-03-10 16:20:35,523 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:20:35,856 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:20:35,867 - INFO - Initialized environment with 100 candles +2025-03-10 16:20:35,974 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.1507357142855 | Take profit: 2084.6999964285715 +2025-03-10 16:20:36,131 - INFO - CLOSED short at 2128.33 | PnL: -0.56% | $-1.29 +2025-03-10 16:20:36,157 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.4419857142857 | Take profit: 2092.8262464285713 +2025-03-10 16:20:36,627 - INFO - TAKE PROFIT hit for short at 2092.8262464285713 | PnL: 1.50% | $2.71 +2025-03-10 16:20:36,650 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5983857142855 | Take profit: 2068.4770464285716 +2025-03-10 16:20:36,774 - INFO - CLOSED short at 2100.0 | PnL: 0.00% | $-0.19 +2025-03-10 16:20:36,774 - INFO - OPENED LONG at 2100.0 | Stop loss: 2089.4518642857142 | Take profit: 2131.5722035714284 +2025-03-10 16:20:36,810 - INFO - CLOSED long at 2102.83 | PnL: 0.13% | $0.07 +2025-03-10 16:20:36,811 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.3922857142857 | Take profit: 2071.215346428571 +2025-03-10 16:20:37,437 - INFO - TAKE PROFIT hit for short at 2071.215346428571 | PnL: 1.50% | $2.78 +2025-03-10 16:20:37,463 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5896357142856 | Take profit: 2017.5032964285715 +2025-03-10 16:20:37,665 - INFO - CLOSED short at 2054.03 | PnL: -0.28% | $-0.77 +2025-03-10 16:20:37,709 - INFO - OPENED SHORT at 2050.18 | Stop loss: 2060.479035714285 | Take profit: 2019.3550964285712 +2025-03-10 16:20:37,884 - INFO - TAKE PROFIT hit for short at 2019.3550964285712 | PnL: 1.50% | $2.83 +2025-03-10 16:20:37,926 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$2.10, Avg Loss=$-0.75 +2025-03-10 16:20:37,927 - INFO - Episode 24: Reward=-4.92, Balance=$106.14, Win Rate=57.1%, Trades=7, Episode PnL=$6.07, Total PnL=$731.84, Max Drawdown=1.3%, Pred Accuracy=97.4% +2025-03-10 16:20:37,927 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:20:37,927 - INFO - Refreshing data for episode 25 +2025-03-10 16:20:37,928 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:20:38,279 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:20:38,288 - INFO - Initialized environment with 100 candles +2025-03-10 16:20:39,098 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.1507357142855 | Take profit: 2084.6999964285715 +2025-03-10 16:20:39,255 - INFO - STOP LOSS hit for short at 2127.1507357142855 | PnL: -0.50% | $-1.18 +2025-03-10 16:20:39,298 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.4419857142857 | Take profit: 2092.8262464285713 +2025-03-10 16:20:39,471 - INFO - CLOSED short at 2115.21 | PnL: 0.45% | $0.68 +2025-03-10 16:20:39,499 - INFO - OPENED SHORT at 2114.1 | Stop loss: 2124.7186357142855 | Take profit: 2082.316296428571 +2025-03-10 16:20:39,749 - INFO - CLOSED short at 2114.5 | PnL: -0.02% | $-0.23 +2025-03-10 16:20:39,776 - INFO - OPENED SHORT at 2115.07 | Stop loss: 2125.693485714286 | Take profit: 2083.2717464285715 +2025-03-10 16:20:40,060 - INFO - CLOSED short at 2100.0 | PnL: 0.71% | $1.19 +2025-03-10 16:20:40,135 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9751857142855 | Take profit: 2071.786646428571 +2025-03-10 16:20:40,263 - INFO - CLOSED short at 2094.16 | PnL: 0.44% | $0.67 +2025-03-10 16:20:40,264 - INFO - OPENED LONG at 2094.16 | Stop loss: 2083.641064285714 | Take profit: 2125.6446035714284 +2025-03-10 16:20:40,288 - INFO - CLOSED long at 2096.96 | PnL: 0.13% | $0.07 +2025-03-10 16:20:40,290 - INFO - OPENED SHORT at 2096.96 | Stop loss: 2107.492935714286 | Take profit: 2065.4333964285715 +2025-03-10 16:20:40,666 - INFO - TAKE PROFIT hit for short at 2065.4333964285715 | PnL: 1.50% | $2.78 +2025-03-10 16:20:40,688 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.303135714286 | Take profit: 2020.1627964285715 +2025-03-10 16:20:40,911 - INFO - CLOSED short at 2046.76 | PnL: 0.21% | $0.22 +2025-03-10 16:20:40,939 - INFO - OPENED SHORT at 2043.95 | Stop loss: 2054.217885714286 | Take profit: 2013.2185464285715 +2025-03-10 16:20:40,989 - INFO - CLOSED short at 2043.59 | PnL: 0.02% | $-0.17 +2025-03-10 16:20:41,020 - INFO - OPENED SHORT at 2042.0 | Stop loss: 2052.258135714286 | Take profit: 2011.2977964285712 +2025-03-10 16:20:41,092 - INFO - CLOSED short at 2010.35 | PnL: 1.55% | $2.95 +2025-03-10 16:20:41,116 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6658357142858 | Take profit: 1985.2346964285714 +2025-03-10 16:20:41,156 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$1.22, Avg Loss=$-0.53 +2025-03-10 16:20:41,157 - INFO - Episode 25: Reward=6.13, Balance=$106.96, Win Rate=70.0%, Trades=10, Episode PnL=$6.90, Total PnL=$738.80, Max Drawdown=1.2%, Pred Accuracy=97.5% +2025-03-10 16:20:41,311 - INFO - Model saved to models/trading_agent_best_winrate.pt +2025-03-10 16:20:41,311 - INFO - New best win rate model saved: 70.0% +2025-03-10 16:20:41,312 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:20:41,312 - INFO - Refreshing data for episode 26 +2025-03-10 16:20:41,312 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:20:41,624 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:20:41,633 - INFO - Initialized environment with 100 candles +2025-03-10 16:20:41,818 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.1507357142855 | Take profit: 2084.6999964285715 +2025-03-10 16:20:41,999 - INFO - STOP LOSS hit for short at 2127.1507357142855 | PnL: -0.50% | $-1.18 +2025-03-10 16:20:42,045 - INFO - OPENED SHORT at 2120.26 | Stop loss: 2130.9094357142862 | Take profit: 2088.3838964285715 +2025-03-10 16:20:42,140 - INFO - CLOSED short at 2114.75 | PnL: 0.26% | $0.31 +2025-03-10 16:20:42,182 - INFO - OPENED SHORT at 2116.06 | Stop loss: 2126.688435714286 | Take profit: 2084.2468964285713 +2025-03-10 16:20:42,570 - INFO - CLOSED short at 2096.36 | PnL: 0.93% | $1.61 +2025-03-10 16:20:42,571 - INFO - OPENED LONG at 2096.36 | Stop loss: 2085.8300642857143 | Take profit: 2127.877603571429 +2025-03-10 16:20:42,609 - INFO - CLOSED long at 2089.04 | PnL: -0.35% | $-0.88 +2025-03-10 16:20:42,610 - INFO - OPENED SHORT at 2089.04 | Stop loss: 2099.533335714286 | Take profit: 2057.6321964285717 +2025-03-10 16:20:42,728 - INFO - STOP LOSS hit for short at 2099.533335714286 | PnL: -0.50% | $-1.18 +2025-03-10 16:20:42,751 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.3922857142857 | Take profit: 2071.215346428571 +2025-03-10 16:20:43,423 - INFO - TAKE PROFIT hit for short at 2071.215346428571 | PnL: 1.50% | $2.71 +2025-03-10 16:20:43,447 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5896357142856 | Take profit: 2017.5032964285715 +2025-03-10 16:20:43,848 - INFO - TAKE PROFIT hit for short at 2017.5032964285715 | PnL: 1.50% | $2.78 +2025-03-10 16:20:43,868 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6658357142858 | Take profit: 1985.2346964285714 +2025-03-10 16:20:43,888 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 60.0% in downtrends | Avg Win=$1.85, Avg Loss=$-1.08 +2025-03-10 16:20:43,889 - INFO - Episode 26: Reward=1.27, Balance=$104.17, Win Rate=57.1%, Trades=7, Episode PnL=$5.05, Total PnL=$742.97, Max Drawdown=1.3%, Pred Accuracy=97.6% +2025-03-10 16:20:43,889 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:20:43,890 - INFO - Refreshing data for episode 27 +2025-03-10 16:20:43,890 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:20:44,205 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:20:44,214 - INFO - Initialized environment with 100 candles +2025-03-10 16:20:44,334 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.1507357142855 | Take profit: 2084.6999964285715 +2025-03-10 16:20:44,532 - INFO - CLOSED short at 2120.96 | PnL: -0.21% | $-0.61 +2025-03-10 16:20:44,563 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.5726357142858 | Take profit: 2092.9542964285715 +2025-03-10 16:20:44,706 - INFO - CLOSED short at 2114.75 | PnL: 0.48% | $0.73 +2025-03-10 16:20:44,707 - INFO - OPENED LONG at 2114.75 | Stop loss: 2104.128114285714 | Take profit: 2146.5434535714285 +2025-03-10 16:20:44,728 - INFO - CLOSED long at 2116.06 | PnL: 0.06% | $-0.07 +2025-03-10 16:20:44,728 - INFO - OPENED SHORT at 2116.06 | Stop loss: 2126.688435714286 | Take profit: 2084.2468964285713 +2025-03-10 16:20:44,772 - INFO - CLOSED short at 2115.21 | PnL: 0.04% | $-0.12 +2025-03-10 16:20:44,811 - INFO - OPENED SHORT at 2114.1 | Stop loss: 2124.7186357142855 | Take profit: 2082.316296428571 +2025-03-10 16:20:45,340 - INFO - CLOSED short at 2103.41 | PnL: 0.51% | $0.79 +2025-03-10 16:20:45,365 - INFO - OPENED SHORT at 2104.22 | Stop loss: 2114.7892357142855 | Take profit: 2072.584496428571 +2025-03-10 16:20:45,439 - INFO - CLOSED short at 2099.63 | PnL: 0.22% | $0.23 +2025-03-10 16:20:45,463 - INFO - OPENED SHORT at 2099.22 | Stop loss: 2109.764235714286 | Take profit: 2067.659496428571 +2025-03-10 16:20:45,508 - INFO - CLOSED short at 2096.96 | PnL: 0.11% | $0.02 +2025-03-10 16:20:45,508 - INFO - OPENED LONG at 2096.96 | Stop loss: 2086.427064285714 | Take profit: 2128.4866035714285 +2025-03-10 16:20:45,532 - INFO - CLOSED long at 2098.66 | PnL: 0.08% | $-0.04 +2025-03-10 16:20:45,532 - INFO - OPENED SHORT at 2098.66 | Stop loss: 2109.2014357142857 | Take profit: 2067.107896428571 +2025-03-10 16:20:45,788 - INFO - CLOSED short at 2085.37 | PnL: 0.63% | $1.05 +2025-03-10 16:20:45,788 - INFO - OPENED LONG at 2085.37 | Stop loss: 2074.8950142857143 | Take profit: 2116.7227535714287 +2025-03-10 16:20:45,811 - INFO - CLOSED long at 2084.11 | PnL: -0.06% | $-0.32 +2025-03-10 16:20:45,812 - INFO - OPENED SHORT at 2084.11 | Stop loss: 2094.5786857142857 | Take profit: 2052.7761464285713 +2025-03-10 16:20:45,903 - INFO - TAKE PROFIT hit for short at 2052.7761464285713 | PnL: 1.50% | $2.79 +2025-03-10 16:20:45,926 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.303135714286 | Take profit: 2020.1627964285715 +2025-03-10 16:20:46,233 - INFO - CLOSED short at 2043.59 | PnL: 0.36% | $0.53 +2025-03-10 16:20:46,259 - INFO - OPENED SHORT at 2042.0 | Stop loss: 2052.258135714286 | Take profit: 2011.2977964285712 +2025-03-10 16:20:46,349 - INFO - TAKE PROFIT hit for short at 2011.2977964285712 | PnL: 1.50% | $2.88 +2025-03-10 16:20:46,418 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.13, Avg Loss=$-0.23 +2025-03-10 16:20:46,419 - INFO - Episode 27: Reward=0.27, Balance=$107.87, Win Rate=61.5%, Trades=13, Episode PnL=$8.31, Total PnL=$750.85, Max Drawdown=0.6%, Pred Accuracy=97.5% +2025-03-10 16:20:46,419 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:20:46,420 - INFO - Refreshing data for episode 28 +2025-03-10 16:20:46,420 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:20:46,738 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:20:46,749 - INFO - Initialized environment with 100 candles +2025-03-10 16:20:46,962 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.1507357142855 | Take profit: 2084.6999964285715 +2025-03-10 16:20:47,065 - INFO - STOP LOSS hit for short at 2127.1507357142855 | PnL: -0.50% | $-1.18 +2025-03-10 16:20:47,086 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.4419857142857 | Take profit: 2092.8262464285713 +2025-03-10 16:20:47,672 - INFO - TAKE PROFIT hit for short at 2092.8262464285713 | PnL: 1.50% | $2.71 +2025-03-10 16:20:47,703 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5983857142855 | Take profit: 2068.4770464285716 +2025-03-10 16:20:48,112 - INFO - CLOSED short at 2098.66 | PnL: 0.07% | $-0.07 +2025-03-10 16:20:48,112 - INFO - OPENED LONG at 2098.66 | Stop loss: 2088.118564285714 | Take profit: 2130.2121035714285 +2025-03-10 16:20:48,159 - INFO - CLOSED long at 2090.59 | PnL: -0.38% | $-0.96 +2025-03-10 16:20:48,160 - INFO - OPENED SHORT at 2090.59 | Stop loss: 2101.0910857142862 | Take profit: 2059.1589464285717 +2025-03-10 16:20:48,481 - INFO - TAKE PROFIT hit for short at 2059.1589464285717 | PnL: 1.50% | $2.76 +2025-03-10 16:20:48,503 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.303135714286 | Take profit: 2020.1627964285715 +2025-03-10 16:20:48,869 - INFO - TAKE PROFIT hit for short at 2020.1627964285715 | PnL: 1.50% | $2.83 +2025-03-10 16:20:48,890 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6658357142858 | Take profit: 1985.2346964285714 +2025-03-10 16:20:48,909 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 60.0% in downtrends | Avg Win=$2.77, Avg Loss=$-0.74 +2025-03-10 16:20:48,910 - INFO - Episode 28: Reward=-3.12, Balance=$106.10, Win Rate=50.0%, Trades=6, Episode PnL=$7.06, Total PnL=$756.94, Max Drawdown=1.2%, Pred Accuracy=97.6% +2025-03-10 16:20:48,911 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:20:48,911 - INFO - Refreshing data for episode 29 +2025-03-10 16:20:48,911 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:20:49,218 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:20:49,229 - INFO - Initialized environment with 100 candles +2025-03-10 16:20:49,402 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.1507357142855 | Take profit: 2084.6999964285715 +2025-03-10 16:20:49,571 - INFO - STOP LOSS hit for short at 2127.1507357142855 | PnL: -0.50% | $-1.18 +2025-03-10 16:20:49,599 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.4419857142857 | Take profit: 2092.8262464285713 +2025-03-10 16:20:49,839 - INFO - CLOSED short at 2114.32 | PnL: 0.49% | $0.76 +2025-03-10 16:20:49,865 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.190985714286 | Take profit: 2082.7792464285717 +2025-03-10 16:20:50,069 - INFO - CLOSED short at 2096.36 | PnL: 0.86% | $1.48 +2025-03-10 16:20:50,093 - INFO - OPENED SHORT at 2089.04 | Stop loss: 2099.533335714286 | Take profit: 2057.6321964285717 +2025-03-10 16:20:50,115 - INFO - CLOSED short at 2089.84 | PnL: -0.04% | $-0.27 +2025-03-10 16:20:50,141 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.719085714286 | Take profit: 2064.6749464285713 +2025-03-10 16:20:50,351 - INFO - CLOSED short at 2096.96 | PnL: -0.04% | $-0.27 +2025-03-10 16:20:50,396 - INFO - OPENED SHORT at 2090.59 | Stop loss: 2101.0910857142862 | Take profit: 2059.1589464285717 +2025-03-10 16:20:50,484 - INFO - CLOSED short at 2084.75 | PnL: 0.28% | $0.35 +2025-03-10 16:20:50,507 - INFO - OPENED SHORT at 2081.0 | Stop loss: 2091.4531357142855 | Take profit: 2049.7127964285714 +2025-03-10 16:20:50,663 - INFO - TAKE PROFIT hit for short at 2049.7127964285714 | PnL: 1.50% | $2.77 +2025-03-10 16:20:50,688 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.303135714286 | Take profit: 2020.1627964285715 +2025-03-10 16:20:50,961 - INFO - CLOSED short at 2036.71 | PnL: 0.70% | $1.21 +2025-03-10 16:20:50,987 - INFO - OPENED SHORT at 2027.51 | Stop loss: 2037.6956857142857 | Take profit: 1997.0251464285714 +2025-03-10 16:20:51,066 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$1.31, Avg Loss=$-0.57 +2025-03-10 16:20:51,067 - INFO - Episode 29: Reward=3.24, Balance=$104.85, Win Rate=62.5%, Trades=8, Episode PnL=$4.85, Total PnL=$761.79, Max Drawdown=1.2%, Pred Accuracy=97.6% +2025-03-10 16:20:51,067 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:20:51,068 - INFO - Refreshing data for episode 30 +2025-03-10 16:20:51,068 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:20:51,384 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:20:51,393 - INFO - Initialized environment with 100 candles +2025-03-10 16:20:52,143 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.1507357142855 | Take profit: 2084.6999964285715 +2025-03-10 16:20:52,237 - INFO - STOP LOSS hit for short at 2127.1507357142855 | PnL: -0.50% | $-1.18 +2025-03-10 16:20:52,261 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.4419857142857 | Take profit: 2092.8262464285713 +2025-03-10 16:20:52,645 - INFO - TAKE PROFIT hit for short at 2092.8262464285713 | PnL: 1.50% | $2.71 +2025-03-10 16:20:52,680 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5983857142855 | Take profit: 2068.4770464285716 +2025-03-10 16:20:52,817 - INFO - CLOSED short at 2096.19 | PnL: 0.18% | $0.17 +2025-03-10 16:20:52,857 - INFO - OPENED SHORT at 2100.0 | Stop loss: 2110.5481357142858 | Take profit: 2068.4277964285716 +2025-03-10 16:20:53,276 - INFO - CLOSED short at 2084.75 | PnL: 0.73% | $1.25 +2025-03-10 16:20:53,321 - INFO - OPENED SHORT at 2081.0 | Stop loss: 2091.4531357142855 | Take profit: 2049.7127964285714 +2025-03-10 16:20:53,485 - INFO - TAKE PROFIT hit for short at 2049.7127964285714 | PnL: 1.50% | $2.82 +2025-03-10 16:20:53,508 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.303135714286 | Take profit: 2020.1627964285715 +2025-03-10 16:20:53,685 - INFO - CLOSED short at 2054.03 | PnL: -0.15% | $-0.51 +2025-03-10 16:20:53,731 - INFO - OPENED SHORT at 2050.18 | Stop loss: 2060.479035714285 | Take profit: 2019.3550964285712 +2025-03-10 16:20:53,895 - INFO - TAKE PROFIT hit for short at 2019.3550964285712 | PnL: 1.50% | $2.89 +2025-03-10 16:20:53,918 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6658357142858 | Take profit: 1985.2346964285714 +2025-03-10 16:20:53,955 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$1.97, Avg Loss=$-0.84 +2025-03-10 16:20:53,956 - INFO - Episode 30: Reward=1.50, Balance=$108.15, Win Rate=71.4%, Trades=7, Episode PnL=$8.15, Total PnL=$769.94, Max Drawdown=1.2%, Pred Accuracy=97.7% +2025-03-10 16:20:54,121 - INFO - Model saved to checkpoints/trading_agent_episode_30.pt +2025-03-10 16:20:54,122 - INFO - Checkpoint saved at episode 30 +2025-03-10 16:20:54,122 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:20:55,192 - INFO - Visualization saved for episode 30 +2025-03-10 16:20:57,456 - INFO - Visualization saved for episode 30 +2025-03-10 16:20:57,473 - INFO - Refreshing data for episode 31 +2025-03-10 16:20:57,473 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:20:57,782 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:20:57,793 - INFO - Initialized environment with 100 candles +2025-03-10 16:20:58,131 - INFO - OPENED LONG at 2116.52 | Stop loss: 2105.8890714285712 | Take profit: 2148.340292857143 +2025-03-10 16:20:58,157 - INFO - CLOSED long at 2119.02 | PnL: 0.12% | $0.04 +2025-03-10 16:20:58,158 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.6634285714285 | Take profit: 2087.1622071428574 +2025-03-10 16:20:58,750 - INFO - CLOSED short at 2098.28 | PnL: 0.98% | $1.72 +2025-03-10 16:20:58,797 - INFO - OPENED SHORT at 2091.36 | Stop loss: 2101.8651285714286 | Take profit: 2059.9171071428573 +2025-03-10 16:20:58,995 - INFO - STOP LOSS hit for short at 2101.8651285714286 | PnL: -0.50% | $-1.20 +2025-03-10 16:20:59,019 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9753785714283 | Take profit: 2071.786357142857 +2025-03-10 16:20:59,467 - INFO - CLOSED short at 2084.11 | PnL: 0.92% | $1.61 +2025-03-10 16:20:59,491 - INFO - OPENED SHORT at 2083.07 | Stop loss: 2093.533678571429 | Take profit: 2051.7514571428574 +2025-03-10 16:20:59,597 - INFO - TAKE PROFIT hit for short at 2051.7514571428574 | PnL: 1.50% | $2.80 +2025-03-10 16:20:59,636 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.303328571428 | Take profit: 2020.162507142857 +2025-03-10 16:20:59,736 - INFO - CLOSED short at 2053.22 | PnL: -0.11% | $-0.43 +2025-03-10 16:20:59,759 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.448878571429 | Take profit: 2027.1658571428572 +2025-03-10 16:20:59,927 - INFO - CLOSED short at 2042.0 | PnL: 0.78% | $1.39 +2025-03-10 16:20:59,968 - INFO - OPENED SHORT at 2036.71 | Stop loss: 2046.9418785714288 | Take profit: 2006.0868571428573 +2025-03-10 16:21:00,124 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$1.51, Avg Loss=$-0.81 +2025-03-10 16:21:00,125 - INFO - Episode 31: Reward=4.80, Balance=$105.93, Win Rate=71.4%, Trades=7, Episode PnL=$5.90, Total PnL=$775.87, Max Drawdown=1.2%, Pred Accuracy=97.7% +2025-03-10 16:21:00,125 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:21:00,126 - INFO - Refreshing data for episode 32 +2025-03-10 16:21:00,126 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:21:00,449 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:21:00,458 - INFO - Initialized environment with 100 candles +2025-03-10 16:21:00,492 - INFO - OPENED SHORT at 2116.52 | Stop loss: 2127.1513428571425 | Take profit: 2084.6990857142855 +2025-03-10 16:21:00,543 - INFO - CLOSED short at 2120.96 | PnL: -0.21% | $-0.61 +2025-03-10 16:21:00,567 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.573242857143 | Take profit: 2092.953385714286 +2025-03-10 16:21:00,726 - INFO - CLOSED short at 2114.75 | PnL: 0.48% | $0.73 +2025-03-10 16:21:00,756 - INFO - OPENED SHORT at 2116.06 | Stop loss: 2126.689042857143 | Take profit: 2084.245985714286 +2025-03-10 16:21:00,895 - INFO - CLOSED short at 2114.32 | PnL: 0.08% | $-0.03 +2025-03-10 16:21:00,895 - INFO - OPENED LONG at 2114.32 | Stop loss: 2103.699657142857 | Take profit: 2146.1079142857143 +2025-03-10 16:21:00,929 - INFO - CLOSED long at 2114.57 | PnL: 0.01% | $-0.17 +2025-03-10 16:21:00,929 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.191592857143 | Take profit: 2082.7783357142857 +2025-03-10 16:21:01,039 - INFO - CLOSED short at 2098.24 | PnL: 0.77% | $1.31 +2025-03-10 16:21:01,064 - INFO - OPENED SHORT at 2098.28 | Stop loss: 2108.8201428571433 | Take profit: 2066.7326857142857 +2025-03-10 16:21:01,857 - INFO - TAKE PROFIT hit for short at 2066.7326857142857 | PnL: 1.50% | $2.78 +2025-03-10 16:21:01,880 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.303742857143 | Take profit: 2020.1618857142857 +2025-03-10 16:21:02,012 - INFO - CLOSED short at 2058.11 | PnL: -0.35% | $-0.91 +2025-03-10 16:21:02,012 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.7707071428574 | Take profit: 2089.0547642857146 +2025-03-10 16:21:02,075 - INFO - CLOSED long at 2054.03 | PnL: -0.20% | $-0.60 +2025-03-10 16:21:02,075 - INFO - OPENED SHORT at 2054.03 | Stop loss: 2064.3488928571433 | Take profit: 2023.146435714286 +2025-03-10 16:21:02,311 - INFO - CLOSED short at 2010.35 | PnL: 2.13% | $4.06 +2025-03-10 16:21:02,342 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6664428571428 | Take profit: 1985.2337857142857 +2025-03-10 16:21:02,391 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 33.3% in downtrends | Avg Win=$2.22, Avg Loss=$-0.46 +2025-03-10 16:21:02,391 - INFO - Episode 32: Reward=-2.09, Balance=$106.56, Win Rate=44.4%, Trades=9, Episode PnL=$7.33, Total PnL=$782.43, Max Drawdown=0.6%, Pred Accuracy=97.6% +2025-03-10 16:21:02,391 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:21:02,392 - INFO - Refreshing data for episode 33 +2025-03-10 16:21:02,392 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:21:02,710 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:21:02,721 - INFO - Initialized environment with 100 candles +2025-03-10 16:21:02,851 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.6622035714286 | Take profit: 2087.1640446428573 +2025-03-10 16:21:03,014 - INFO - CLOSED short at 2116.81 | PnL: 0.10% | $0.01 +2025-03-10 16:21:03,038 - INFO - OPENED SHORT at 2114.78 | Stop loss: 2125.401003571429 | Take profit: 2082.987644642857 +2025-03-10 16:21:04,061 - INFO - TAKE PROFIT hit for short at 2082.987644642857 | PnL: 1.50% | $2.75 +2025-03-10 16:21:04,093 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2208535714285 | Take profit: 2053.408094642857 +2025-03-10 16:21:04,385 - INFO - TAKE PROFIT hit for short at 2053.408094642857 | PnL: 1.50% | $2.82 +2025-03-10 16:21:04,413 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3021035714287 | Take profit: 2020.164344642857 +2025-03-10 16:21:04,835 - INFO - TAKE PROFIT hit for short at 2020.164344642857 | PnL: 1.50% | $2.90 +2025-03-10 16:21:04,866 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6648035714284 | Take profit: 1985.236244642857 +2025-03-10 16:21:04,915 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.12, Avg Loss=$0.00 +2025-03-10 16:21:04,917 - INFO - Episode 33: Reward=1.31, Balance=$108.47, Win Rate=100.0%, Trades=4, Episode PnL=$8.47, Total PnL=$790.90, Max Drawdown=0.0%, Pred Accuracy=97.6% +2025-03-10 16:21:04,917 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:21:04,917 - INFO - Refreshing data for episode 34 +2025-03-10 16:21:04,918 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:21:05,249 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:21:05,264 - INFO - Initialized environment with 100 candles +2025-03-10 16:21:05,402 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.6631392857144 | Take profit: 2087.162641071429 +2025-03-10 16:21:05,771 - INFO - CLOSED short at 2115.21 | PnL: 0.18% | $0.16 +2025-03-10 16:21:05,815 - INFO - OPENED SHORT at 2114.1 | Stop loss: 2124.718539285714 | Take profit: 2082.3164410714285 +2025-03-10 16:21:06,211 - INFO - CLOSED short at 2096.36 | PnL: 0.84% | $1.45 +2025-03-10 16:21:06,266 - INFO - OPENED SHORT at 2089.04 | Stop loss: 2099.5332392857144 | Take profit: 2057.6323410714285 +2025-03-10 16:21:06,375 - INFO - STOP LOSS hit for short at 2099.5332392857144 | PnL: -0.50% | $-1.20 +2025-03-10 16:21:06,401 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.3921892857143 | Take profit: 2071.2154910714285 +2025-03-10 16:21:06,666 - INFO - CLOSED short at 2096.96 | PnL: 0.28% | $0.35 +2025-03-10 16:21:06,717 - INFO - OPENED SHORT at 2098.66 | Stop loss: 2109.201339285714 | Take profit: 2067.1080410714285 +2025-03-10 16:21:07,076 - INFO - CLOSED short at 2067.71 | PnL: 1.47% | $2.71 +2025-03-10 16:21:07,077 - INFO - OPENED LONG at 2067.71 | Stop loss: 2057.3234107142857 | Take profit: 2098.7977089285714 +2025-03-10 16:21:07,132 - INFO - CLOSED long at 2048.3 | PnL: -0.94% | $-2.10 +2025-03-10 16:21:07,132 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5895392857146 | Take profit: 2017.5034410714288 +2025-03-10 16:21:07,610 - INFO - TAKE PROFIT hit for short at 2017.5034410714288 | PnL: 1.50% | $2.78 +2025-03-10 16:21:07,632 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6657392857142 | Take profit: 1985.2348410714285 +2025-03-10 16:21:07,680 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$1.49, Avg Loss=$-1.65 +2025-03-10 16:21:07,681 - INFO - Episode 34: Reward=3.61, Balance=$104.15, Win Rate=71.4%, Trades=7, Episode PnL=$6.25, Total PnL=$795.05, Max Drawdown=1.2%, Pred Accuracy=97.7% +2025-03-10 16:21:07,681 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:21:07,682 - INFO - Refreshing data for episode 35 +2025-03-10 16:21:07,682 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:21:08,005 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:21:08,021 - INFO - Initialized environment with 100 candles +2025-03-10 16:21:09,108 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.6632964285714 | Take profit: 2087.1624053571427 +2025-03-10 16:21:09,357 - INFO - CLOSED short at 2116.06 | PnL: 0.14% | $0.08 +2025-03-10 16:21:09,357 - INFO - OPENED LONG at 2116.06 | Stop loss: 2105.4315035714285 | Take profit: 2147.873194642857 +2025-03-10 16:21:09,408 - INFO - CLOSED long at 2115.21 | PnL: -0.04% | $-0.27 +2025-03-10 16:21:09,409 - INFO - OPENED SHORT at 2115.21 | Stop loss: 2125.8342464285715 | Take profit: 2083.409555357143 +2025-03-10 16:21:09,612 - INFO - CLOSED short at 2114.5 | PnL: 0.03% | $-0.13 +2025-03-10 16:21:09,612 - INFO - OPENED LONG at 2114.5 | Stop loss: 2103.879303571429 | Take profit: 2146.289794642857 +2025-03-10 16:21:09,645 - INFO - CLOSED long at 2115.07 | PnL: 0.03% | $-0.14 +2025-03-10 16:21:09,647 - INFO - OPENED SHORT at 2115.07 | Stop loss: 2125.6935464285716 | Take profit: 2083.271655357143 +2025-03-10 16:21:10,119 - INFO - CLOSED short at 2099.22 | PnL: 0.75% | $1.26 +2025-03-10 16:21:10,121 - INFO - OPENED LONG at 2099.22 | Stop loss: 2088.6757035714286 | Take profit: 2130.780594642857 +2025-03-10 16:21:10,177 - INFO - CLOSED long at 2094.16 | PnL: -0.24% | $-0.67 +2025-03-10 16:21:10,178 - INFO - OPENED SHORT at 2094.16 | Stop loss: 2104.6789964285713 | Take profit: 2062.675305357143 +2025-03-10 16:21:10,700 - INFO - TAKE PROFIT hit for short at 2062.675305357143 | PnL: 1.50% | $2.75 +2025-03-10 16:21:10,731 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3031964285715 | Take profit: 2020.1627053571428 +2025-03-10 16:21:10,889 - INFO - CLOSED short at 2050.18 | PnL: 0.04% | $-0.12 +2025-03-10 16:21:10,916 - INFO - OPENED SHORT at 2046.76 | Stop loss: 2057.0419964285716 | Take profit: 2015.986305357143 +2025-03-10 16:21:11,168 - INFO - TAKE PROFIT hit for short at 2015.986305357143 | PnL: 1.50% | $2.82 +2025-03-10 16:21:11,197 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6658964285714 | Take profit: 1985.2346053571428 +2025-03-10 16:21:11,253 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 80.0% in downtrends | Avg Win=$1.73, Avg Loss=$-0.27 +2025-03-10 16:21:11,255 - INFO - Episode 35: Reward=-4.57, Balance=$105.57, Win Rate=44.4%, Trades=9, Episode PnL=$6.66, Total PnL=$800.62, Max Drawdown=0.1%, Pred Accuracy=97.7% +2025-03-10 16:21:11,256 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:21:11,256 - INFO - Refreshing data for episode 36 +2025-03-10 16:21:11,257 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:21:11,633 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:21:11,644 - INFO - Initialized environment with 100 candles +2025-03-10 16:21:11,682 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.6632964285714 | Take profit: 2087.1624053571427 +2025-03-10 16:21:12,950 - INFO - TAKE PROFIT hit for short at 2087.1624053571427 | PnL: 1.50% | $2.74 +2025-03-10 16:21:12,979 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0310964285713 | Take profit: 2049.2990053571425 +2025-03-10 16:21:13,262 - INFO - TAKE PROFIT hit for short at 2049.2990053571425 | PnL: 1.50% | $2.82 +2025-03-10 16:21:13,309 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3031964285715 | Take profit: 2020.1627053571428 +2025-03-10 16:21:13,716 - INFO - TAKE PROFIT hit for short at 2020.1627053571428 | PnL: 1.50% | $2.90 +2025-03-10 16:21:13,745 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6658964285714 | Take profit: 1985.2346053571428 +2025-03-10 16:21:13,795 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.82, Avg Loss=$0.00 +2025-03-10 16:21:13,796 - INFO - Episode 36: Reward=0.37, Balance=$108.46, Win Rate=100.0%, Trades=3, Episode PnL=$8.46, Total PnL=$809.07, Max Drawdown=0.0%, Pred Accuracy=97.8% +2025-03-10 16:21:13,796 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:21:13,796 - INFO - Refreshing data for episode 37 +2025-03-10 16:21:13,797 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:21:14,141 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:21:14,152 - INFO - Initialized environment with 100 candles +2025-03-10 16:21:14,209 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.6129964285715 | Take profit: 2089.073305357143 +2025-03-10 16:21:14,863 - INFO - TAKE PROFIT hit for short at 2089.073305357143 | PnL: 1.50% | $2.74 +2025-03-10 16:21:14,890 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3373964285715 | Take profit: 2058.420105357143 +2025-03-10 16:21:15,001 - INFO - STOP LOSS hit for short at 2100.3373964285715 | PnL: -0.50% | $-1.21 +2025-03-10 16:21:15,050 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.975246428571 | Take profit: 2071.786555357143 +2025-03-10 16:21:15,345 - INFO - CLOSED short at 2090.99 | PnL: 0.59% | $0.97 +2025-03-10 16:21:15,387 - INFO - OPENED SHORT at 2084.95 | Stop loss: 2095.422946428571 | Take profit: 2053.6034553571426 +2025-03-10 16:21:15,676 - INFO - TAKE PROFIT hit for short at 2053.6034553571426 | PnL: 1.50% | $2.81 +2025-03-10 16:21:15,702 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3031964285715 | Take profit: 2020.1627053571428 +2025-03-10 16:21:16,169 - INFO - TAKE PROFIT hit for short at 2020.1627053571428 | PnL: 1.50% | $2.89 +2025-03-10 16:21:16,220 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6658964285714 | Take profit: 1985.2346053571428 +2025-03-10 16:21:16,317 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$2.35, Avg Loss=$-1.21 +2025-03-10 16:21:16,317 - INFO - Episode 37: Reward=1.78, Balance=$108.21, Win Rate=80.0%, Trades=5, Episode PnL=$8.21, Total PnL=$817.28, Max Drawdown=1.2%, Pred Accuracy=97.8% +2025-03-10 16:21:16,319 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:21:16,319 - INFO - Refreshing data for episode 38 +2025-03-10 16:21:16,319 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:21:16,647 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:21:16,664 - INFO - Initialized environment with 100 candles +2025-03-10 16:21:16,704 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.6632964285714 | Take profit: 2087.1624053571427 +2025-03-10 16:21:16,902 - INFO - CLOSED short at 2114.78 | PnL: 0.20% | $0.20 +2025-03-10 16:21:16,902 - INFO - OPENED LONG at 2114.78 | Stop loss: 2104.1579035714285 | Take profit: 2146.573994642857 +2025-03-10 16:21:16,932 - INFO - CLOSED long at 2115.52 | PnL: 0.03% | $-0.13 +2025-03-10 16:21:16,933 - INFO - OPENED SHORT at 2115.52 | Stop loss: 2126.1457964285714 | Take profit: 2083.714905357143 +2025-03-10 16:21:17,100 - INFO - CLOSED short at 2114.32 | PnL: 0.06% | $-0.08 +2025-03-10 16:21:17,130 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.1910464285716 | Take profit: 2082.7791553571433 +2025-03-10 16:21:17,900 - INFO - TAKE PROFIT hit for short at 2082.7791553571433 | PnL: 1.50% | $2.74 +2025-03-10 16:21:17,948 - INFO - OPENED SHORT at 2081.0 | Stop loss: 2091.4531964285716 | Take profit: 2049.7127053571426 +2025-03-10 16:21:18,142 - INFO - TAKE PROFIT hit for short at 2049.7127053571426 | PnL: 1.50% | $2.82 +2025-03-10 16:21:18,182 - INFO - OPENED LONG at 2051.0 | Stop loss: 2040.6968035714285 | Take profit: 2081.837294642857 +2025-03-10 16:21:18,234 - INFO - CLOSED long at 2043.51 | PnL: -0.37% | $-0.96 +2025-03-10 16:21:18,234 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.775746428571 | Take profit: 2012.7850553571427 +2025-03-10 16:21:18,359 - INFO - STOP LOSS hit for short at 2053.775746428571 | PnL: -0.50% | $-1.23 +2025-03-10 16:21:18,388 - INFO - OPENED SHORT at 2054.03 | Stop loss: 2064.348346428572 | Take profit: 2023.1472553571432 +2025-03-10 16:21:18,417 - INFO - CLOSED short at 2050.18 | PnL: 0.19% | $0.18 +2025-03-10 16:21:18,442 - INFO - OPENED SHORT at 2046.76 | Stop loss: 2057.0419964285716 | Take profit: 2015.986305357143 +2025-03-10 16:21:18,726 - INFO - TAKE PROFIT hit for short at 2015.986305357143 | PnL: 1.50% | $2.84 +2025-03-10 16:21:18,757 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6658964285714 | Take profit: 1985.2346053571428 +2025-03-10 16:21:18,808 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 80.0% in downtrends | Avg Win=$1.75, Avg Loss=$-0.60 +2025-03-10 16:21:18,809 - INFO - Episode 38: Reward=-2.81, Balance=$106.37, Win Rate=55.6%, Trades=9, Episode PnL=$7.46, Total PnL=$823.66, Max Drawdown=2.1%, Pred Accuracy=97.9% +2025-03-10 16:21:18,810 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:21:18,810 - INFO - Refreshing data for episode 39 +2025-03-10 16:21:18,810 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:21:19,114 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:21:19,127 - INFO - Initialized environment with 100 candles +2025-03-10 16:21:19,163 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.6641964285714 | Take profit: 2087.1610553571427 +2025-03-10 16:21:20,026 - INFO - CLOSED short at 2089.04 | PnL: 1.41% | $2.57 +2025-03-10 16:21:20,133 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.7200464285715 | Take profit: 2064.673505357143 +2025-03-10 16:21:20,938 - INFO - TAKE PROFIT hit for short at 2064.673505357143 | PnL: 1.50% | $2.81 +2025-03-10 16:21:20,967 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.304096428571 | Take profit: 2020.1613553571428 +2025-03-10 16:21:20,991 - INFO - CLOSED short at 2043.51 | PnL: 0.37% | $0.55 +2025-03-10 16:21:20,991 - INFO - OPENED LONG at 2043.51 | Stop loss: 2033.2433535714285 | Take profit: 2074.236294642857 +2025-03-10 16:21:21,023 - INFO - CLOSED long at 2052.89 | PnL: 0.46% | $0.74 +2025-03-10 16:21:21,024 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.2035464285714 | Take profit: 2022.0230053571427 +2025-03-10 16:21:21,416 - INFO - TAKE PROFIT hit for short at 2022.0230053571427 | PnL: 1.50% | $2.92 +2025-03-10 16:21:21,472 - INFO - OPENED SHORT at 2014.41 | Stop loss: 2024.5311464285714 | Take profit: 1984.1202053571428 +2025-03-10 16:21:21,493 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.92, Avg Loss=$0.00 +2025-03-10 16:21:21,494 - INFO - Episode 39: Reward=4.63, Balance=$109.60, Win Rate=100.0%, Trades=5, Episode PnL=$8.85, Total PnL=$833.25, Max Drawdown=0.0%, Pred Accuracy=98.0% +2025-03-10 16:21:21,494 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:21:21,494 - INFO - Refreshing data for episode 40 +2025-03-10 16:21:21,495 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:21:21,803 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:21:21,814 - INFO - Initialized environment with 100 candles +2025-03-10 16:21:22,856 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.6643285714285 | Take profit: 2087.1608571428574 +2025-03-10 16:21:23,446 - INFO - CLOSED short at 2114.1 | PnL: 0.23% | $0.26 +2025-03-10 16:21:23,500 - INFO - OPENED SHORT at 2115.11 | Stop loss: 2125.7347785714287 | Take profit: 2083.309507142857 +2025-03-10 16:21:24,004 - INFO - CLOSED short at 2102.83 | PnL: 0.58% | $0.94 +2025-03-10 16:21:24,036 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9762785714283 | Take profit: 2071.785007142857 +2025-03-10 16:21:24,270 - INFO - CLOSED short at 2094.16 | PnL: 0.44% | $0.67 +2025-03-10 16:21:24,320 - INFO - OPENED SHORT at 2096.96 | Stop loss: 2107.4940285714288 | Take profit: 2065.4317571428574 +2025-03-10 16:21:24,733 - INFO - TAKE PROFIT hit for short at 2065.4317571428574 | PnL: 1.50% | $2.79 +2025-03-10 16:21:24,762 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3042285714287 | Take profit: 2020.161157142857 +2025-03-10 16:21:25,254 - INFO - TAKE PROFIT hit for short at 2020.161157142857 | PnL: 1.50% | $2.87 +2025-03-10 16:21:25,287 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6669285714283 | Take profit: 1985.2330571428572 +2025-03-10 16:21:25,363 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.51, Avg Loss=$0.00 +2025-03-10 16:21:25,364 - INFO - Episode 40: Reward=17.87, Balance=$107.54, Win Rate=100.0%, Trades=5, Episode PnL=$7.54, Total PnL=$840.79, Max Drawdown=0.0%, Pred Accuracy=98.1% +2025-03-10 16:21:25,527 - INFO - Model saved to checkpoints/trading_agent_episode_40.pt +2025-03-10 16:21:25,528 - INFO - Checkpoint saved at episode 40 +2025-03-10 16:21:25,529 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:21:26,719 - INFO - Visualization saved for episode 40 +2025-03-10 16:21:29,045 - INFO - Visualization saved for episode 40 +2025-03-10 16:21:29,060 - INFO - Refreshing data for episode 41 +2025-03-10 16:21:29,060 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:21:29,408 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:21:29,418 - INFO - Initialized environment with 100 candles +2025-03-10 16:21:29,742 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.665457142857 | Take profit: 2087.1591642857143 +2025-03-10 16:21:30,735 - INFO - CLOSED short at 2094.16 | PnL: 1.17% | $2.10 +2025-03-10 16:21:30,765 - INFO - OPENED SHORT at 2096.96 | Stop loss: 2107.4951571428574 | Take profit: 2065.4300642857143 +2025-03-10 16:21:31,129 - INFO - TAKE PROFIT hit for short at 2065.4300642857143 | PnL: 1.50% | $2.80 +2025-03-10 16:21:31,156 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305357142857 | Take profit: 2020.1594642857142 +2025-03-10 16:21:31,214 - INFO - CLOSED short at 2052.89 | PnL: -0.09% | $-0.39 +2025-03-10 16:21:31,240 - INFO - OPENED SHORT at 2053.22 | Stop loss: 2063.536457142857 | Take profit: 2022.3461642857142 +2025-03-10 16:21:31,293 - INFO - CLOSED short at 2054.03 | PnL: -0.04% | $-0.28 +2025-03-10 16:21:31,318 - INFO - OPENED SHORT at 2050.18 | Stop loss: 2060.481257142857 | Take profit: 2019.3517642857141 +2025-03-10 16:21:31,407 - INFO - CLOSED short at 2044.1 | PnL: 0.30% | $0.40 +2025-03-10 16:21:31,440 - INFO - OPENED SHORT at 2043.59 | Stop loss: 2053.858307142857 | Take profit: 2012.8606142857143 +2025-03-10 16:21:31,528 - INFO - CLOSED short at 2027.51 | PnL: 0.79% | $1.40 +2025-03-10 16:21:31,553 - INFO - OPENED SHORT at 2010.35 | Stop loss: 2020.4521071428571 | Take profit: 1980.1192142857142 +2025-03-10 16:21:31,628 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.67, Avg Loss=$-0.34 +2025-03-10 16:21:31,630 - INFO - Episode 41: Reward=16.13, Balance=$106.02, Win Rate=66.7%, Trades=6, Episode PnL=$6.02, Total PnL=$846.81, Max Drawdown=0.6%, Pred Accuracy=98.2% +2025-03-10 16:21:31,630 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:21:31,631 - INFO - Refreshing data for episode 42 +2025-03-10 16:21:31,631 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:21:31,971 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:21:31,981 - INFO - Initialized environment with 100 candles +2025-03-10 16:21:32,017 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.6655178571427 | Take profit: 2087.159073214286 +2025-03-10 16:21:32,669 - INFO - CLOSED short at 2096.19 | PnL: 1.08% | $1.91 +2025-03-10 16:21:32,695 - INFO - OPENED SHORT at 2100.0 | Stop loss: 2110.550417857143 | Take profit: 2068.424373214286 +2025-03-10 16:21:33,293 - INFO - TAKE PROFIT hit for short at 2068.424373214286 | PnL: 1.50% | $2.79 +2025-03-10 16:21:33,357 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305417857143 | Take profit: 2020.1593732142856 +2025-03-10 16:21:33,763 - INFO - TAKE PROFIT hit for short at 2020.1593732142856 | PnL: 1.50% | $2.87 +2025-03-10 16:21:33,815 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6681178571428 | Take profit: 1985.2312732142855 +2025-03-10 16:21:33,905 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.52, Avg Loss=$0.00 +2025-03-10 16:21:33,907 - INFO - Episode 42: Reward=15.92, Balance=$107.57, Win Rate=100.0%, Trades=3, Episode PnL=$7.57, Total PnL=$854.38, Max Drawdown=0.0%, Pred Accuracy=98.3% +2025-03-10 16:21:33,908 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:21:33,908 - INFO - Refreshing data for episode 43 +2025-03-10 16:21:33,908 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:21:34,251 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:21:34,263 - INFO - Initialized environment with 100 candles +2025-03-10 16:21:34,304 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.6655178571427 | Take profit: 2087.159073214286 +2025-03-10 16:21:34,533 - INFO - CLOSED short at 2115.52 | PnL: 0.17% | $0.13 +2025-03-10 16:21:34,534 - INFO - OPENED LONG at 2115.52 | Stop loss: 2104.891982142857 | Take profit: 2147.3284267857143 +2025-03-10 16:21:34,563 - INFO - CLOSED long at 2114.75 | PnL: -0.04% | $-0.27 +2025-03-10 16:21:34,563 - INFO - OPENED SHORT at 2114.75 | Stop loss: 2125.3741678571428 | Take profit: 2082.953123214286 +2025-03-10 16:21:34,987 - INFO - CLOSED short at 2096.36 | PnL: 0.87% | $1.50 +2025-03-10 16:21:35,035 - INFO - OPENED SHORT at 2089.04 | Stop loss: 2099.535617857143 | Take profit: 2057.628773214286 +2025-03-10 16:21:35,148 - INFO - STOP LOSS hit for short at 2099.535617857143 | PnL: -0.50% | $-1.19 +2025-03-10 16:21:35,177 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.3945678571426 | Take profit: 2071.2119232142854 +2025-03-10 16:21:35,610 - INFO - CLOSED short at 2084.75 | PnL: 0.86% | $1.49 +2025-03-10 16:21:35,643 - INFO - OPENED SHORT at 2081.0 | Stop loss: 2091.455417857143 | Take profit: 2049.7093732142857 +2025-03-10 16:21:35,912 - INFO - TAKE PROFIT hit for short at 2049.7093732142857 | PnL: 1.50% | $2.79 +2025-03-10 16:21:35,938 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305417857143 | Take profit: 2020.1593732142856 +2025-03-10 16:21:36,386 - INFO - TAKE PROFIT hit for short at 2020.1593732142856 | PnL: 1.50% | $2.86 +2025-03-10 16:21:36,414 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6681178571428 | Take profit: 1985.2312732142855 +2025-03-10 16:21:36,461 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$1.75, Avg Loss=$-0.73 +2025-03-10 16:21:36,462 - INFO - Episode 43: Reward=17.16, Balance=$107.30, Win Rate=71.4%, Trades=7, Episode PnL=$7.57, Total PnL=$861.68, Max Drawdown=1.2%, Pred Accuracy=98.4% +2025-03-10 16:21:36,463 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:21:36,463 - INFO - Refreshing data for episode 44 +2025-03-10 16:21:36,463 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:21:36,767 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:21:36,778 - INFO - Initialized environment with 100 candles +2025-03-10 16:21:36,942 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.6655178571427 | Take profit: 2087.159073214286 +2025-03-10 16:21:37,570 - INFO - CLOSED short at 2113.28 | PnL: 0.27% | $0.33 +2025-03-10 16:21:37,596 - INFO - OPENED SHORT at 2114.5 | Stop loss: 2125.122917857143 | Take profit: 2082.7068732142857 +2025-03-10 16:21:37,619 - INFO - CLOSED short at 2115.07 | PnL: -0.03% | $-0.25 +2025-03-10 16:21:37,650 - INFO - OPENED SHORT at 2098.24 | Stop loss: 2108.781617857143 | Take profit: 2066.6907732142854 +2025-03-10 16:21:38,690 - INFO - TAKE PROFIT hit for short at 2066.6907732142854 | PnL: 1.50% | $2.74 +2025-03-10 16:21:38,716 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305417857143 | Take profit: 2020.1593732142856 +2025-03-10 16:21:39,201 - INFO - TAKE PROFIT hit for short at 2020.1593732142856 | PnL: 1.50% | $2.82 +2025-03-10 16:21:39,252 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6681178571428 | Take profit: 1985.2312732142855 +2025-03-10 16:21:39,332 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.97, Avg Loss=$-0.25 +2025-03-10 16:21:39,332 - INFO - Episode 44: Reward=13.83, Balance=$105.65, Win Rate=75.0%, Trades=4, Episode PnL=$5.65, Total PnL=$867.33, Max Drawdown=0.2%, Pred Accuracy=98.5% +2025-03-10 16:21:39,332 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:21:39,334 - INFO - Refreshing data for episode 45 +2025-03-10 16:21:39,334 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:21:39,643 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:21:39,653 - INFO - Initialized environment with 100 candles +2025-03-10 16:21:40,539 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.6655178571427 | Take profit: 2087.159073214286 +2025-03-10 16:21:41,164 - INFO - CLOSED short at 2100.05 | PnL: 0.90% | $1.55 +2025-03-10 16:21:41,194 - INFO - OPENED SHORT at 2096.36 | Stop loss: 2106.892217857143 | Take profit: 2064.838973214286 +2025-03-10 16:21:41,250 - INFO - CLOSED short at 2089.84 | PnL: 0.31% | $0.42 +2025-03-10 16:21:41,277 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.721367857143 | Take profit: 2064.6715232142856 +2025-03-10 16:21:41,789 - INFO - CLOSED short at 2084.75 | PnL: 0.55% | $0.89 +2025-03-10 16:21:41,825 - INFO - OPENED SHORT at 2081.0 | Stop loss: 2091.455417857143 | Take profit: 2049.7093732142857 +2025-03-10 16:21:42,057 - INFO - TAKE PROFIT hit for short at 2049.7093732142857 | PnL: 1.50% | $2.82 +2025-03-10 16:21:42,083 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.305417857143 | Take profit: 2020.1593732142856 +2025-03-10 16:21:42,537 - INFO - TAKE PROFIT hit for short at 2020.1593732142856 | PnL: 1.50% | $2.90 +2025-03-10 16:21:42,588 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6681178571428 | Take profit: 1985.2312732142855 +2025-03-10 16:21:42,683 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.71, Avg Loss=$0.00 +2025-03-10 16:21:42,683 - INFO - Episode 45: Reward=18.51, Balance=$108.57, Win Rate=100.0%, Trades=5, Episode PnL=$8.57, Total PnL=$875.90, Max Drawdown=0.0%, Pred Accuracy=98.7% +2025-03-10 16:21:42,684 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:21:42,685 - INFO - Refreshing data for episode 46 +2025-03-10 16:21:42,685 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:21:42,994 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:21:43,004 - INFO - Initialized environment with 100 candles +2025-03-10 16:21:43,326 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.6655178571427 | Take profit: 2087.159073214286 +2025-03-10 16:21:43,356 - INFO - CLOSED short at 2120.96 | PnL: -0.09% | $-0.37 +2025-03-10 16:21:43,388 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.574917857143 | Take profit: 2092.950873214286 +2025-03-10 16:21:44,107 - INFO - TAKE PROFIT hit for short at 2092.950873214286 | PnL: 1.50% | $2.73 +2025-03-10 16:21:44,155 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.6006678571434 | Take profit: 2068.473623214286 +2025-03-10 16:21:45,049 - INFO - TAKE PROFIT hit for short at 2068.473623214286 | PnL: 1.50% | $2.81 +2025-03-10 16:21:45,101 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.591917857143 | Take profit: 2017.4998732142858 +2025-03-10 16:21:45,577 - INFO - TAKE PROFIT hit for short at 2017.4998732142858 | PnL: 1.50% | $2.88 +2025-03-10 16:21:45,629 - INFO - OPENED SHORT at 2014.41 | Stop loss: 2024.5324678571428 | Take profit: 1984.118223214286 +2025-03-10 16:21:45,657 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.81, Avg Loss=$-0.37 +2025-03-10 16:21:45,657 - INFO - Episode 46: Reward=12.53, Balance=$108.05, Win Rate=75.0%, Trades=4, Episode PnL=$8.05, Total PnL=$883.95, Max Drawdown=0.4%, Pred Accuracy=98.7% +2025-03-10 16:21:45,658 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:21:45,658 - INFO - Refreshing data for episode 47 +2025-03-10 16:21:45,659 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:21:45,963 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:21:45,973 - INFO - Initialized environment with 100 candles +2025-03-10 16:21:46,273 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.6655178571427 | Take profit: 2087.159073214286 +2025-03-10 16:21:46,604 - INFO - CLOSED short at 2115.21 | PnL: 0.18% | $0.16 +2025-03-10 16:21:46,654 - INFO - OPENED SHORT at 2114.1 | Stop loss: 2124.720917857143 | Take profit: 2082.3128732142854 +2025-03-10 16:21:46,923 - INFO - CLOSED short at 2114.5 | PnL: -0.02% | $-0.23 +2025-03-10 16:21:46,950 - INFO - OPENED SHORT at 2115.07 | Stop loss: 2125.695767857143 | Take profit: 2083.268323214286 +2025-03-10 16:21:47,108 - INFO - CLOSED short at 2089.04 | PnL: 1.23% | $2.21 +2025-03-10 16:21:47,206 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.721367857143 | Take profit: 2064.6715232142856 +2025-03-10 16:21:47,372 - INFO - CLOSED short at 2104.67 | PnL: -0.40% | $-1.01 +2025-03-10 16:21:47,404 - INFO - OPENED SHORT at 2105.26 | Stop loss: 2115.836717857143 | Take profit: 2073.605473214286 +2025-03-10 16:21:47,925 - INFO - TAKE PROFIT hit for short at 2073.605473214286 | PnL: 1.50% | $2.77 +2025-03-10 16:21:47,977 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.591917857143 | Take profit: 2017.4998732142858 +2025-03-10 16:21:48,370 - INFO - CLOSED short at 2042.0 | PnL: 0.31% | $0.42 +2025-03-10 16:21:48,415 - INFO - OPENED SHORT at 2036.71 | Stop loss: 2046.943967857143 | Take profit: 2006.0837232142858 +2025-03-10 16:21:48,524 - INFO - CLOSED short at 2015.54 | PnL: 1.04% | $1.91 +2025-03-10 16:21:48,549 - INFO - OPENED SHORT at 2014.41 | Stop loss: 2024.5324678571428 | Take profit: 1984.118223214286 +2025-03-10 16:21:48,569 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.49, Avg Loss=$-0.62 +2025-03-10 16:21:48,571 - INFO - Episode 47: Reward=16.75, Balance=$106.23, Win Rate=71.4%, Trades=7, Episode PnL=$6.23, Total PnL=$890.18, Max Drawdown=1.0%, Pred Accuracy=98.8% +2025-03-10 16:21:48,571 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:21:48,571 - INFO - Refreshing data for episode 48 +2025-03-10 16:21:48,572 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:21:48,863 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:21:48,874 - INFO - Initialized environment with 100 candles +2025-03-10 16:21:48,907 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.6655178571427 | Take profit: 2087.159073214286 +2025-03-10 16:21:49,178 - INFO - CLOSED short at 2115.21 | PnL: 0.18% | $0.16 +2025-03-10 16:21:49,221 - INFO - OPENED SHORT at 2114.1 | Stop loss: 2124.720917857143 | Take profit: 2082.3128732142854 +2025-03-10 16:21:49,301 - INFO - CLOSED short at 2114.32 | PnL: -0.01% | $-0.22 +2025-03-10 16:21:49,362 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.193267857143 | Take profit: 2082.775823214286 +2025-03-10 16:21:49,427 - INFO - CLOSED short at 2112.57 | PnL: 0.09% | $-0.01 +2025-03-10 16:21:49,498 - INFO - OPENED SHORT at 2113.28 | Stop loss: 2123.896817857143 | Take profit: 2081.505173214286 +2025-03-10 16:21:49,983 - INFO - CLOSED short at 2104.67 | PnL: 0.41% | $0.60 +2025-03-10 16:21:50,038 - INFO - OPENED SHORT at 2099.63 | Stop loss: 2110.178567857143 | Take profit: 2068.059923214286 +2025-03-10 16:21:50,267 - INFO - CLOSED short at 2084.95 | PnL: 0.70% | $1.18 +2025-03-10 16:21:50,312 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.033317857143 | Take profit: 2049.2956732142857 +2025-03-10 16:21:50,439 - INFO - CLOSED short at 2084.11 | PnL: -0.17% | $-0.54 +2025-03-10 16:21:50,489 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.495767857143 | Take profit: 2043.868323214286 +2025-03-10 16:21:50,604 - INFO - CLOSED short at 2051.0 | PnL: 1.16% | $2.09 +2025-03-10 16:21:50,648 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.777967857143 | Take profit: 2012.7817232142856 +2025-03-10 16:21:50,722 - INFO - CLOSED short at 2053.22 | PnL: -0.48% | $-1.16 +2025-03-10 16:21:50,746 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.450967857143 | Take profit: 2027.1627232142857 +2025-03-10 16:21:50,995 - INFO - CLOSED short at 2027.51 | PnL: 1.49% | $2.76 +2025-03-10 16:21:51,118 - INFO - OPENED SHORT at 2014.41 | Stop loss: 2024.5324678571428 | Take profit: 1984.118223214286 +2025-03-10 16:21:51,147 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.36, Avg Loss=$-0.48 +2025-03-10 16:21:51,149 - INFO - Episode 48: Reward=15.33, Balance=$104.87, Win Rate=55.6%, Trades=9, Episode PnL=$4.87, Total PnL=$895.05, Max Drawdown=1.1%, Pred Accuracy=98.9% +2025-03-10 16:21:51,149 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:21:51,150 - INFO - Refreshing data for episode 49 +2025-03-10 16:21:51,150 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:21:51,469 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:21:51,482 - INFO - Initialized environment with 100 candles +2025-03-10 16:21:51,518 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.6655178571427 | Take profit: 2087.159073214286 +2025-03-10 16:21:51,590 - INFO - CLOSED short at 2128.33 | PnL: -0.44% | $-1.05 +2025-03-10 16:21:51,619 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.444267857143 | Take profit: 2092.822823214286 +2025-03-10 16:21:51,645 - INFO - CLOSED short at 2120.26 | PnL: 0.21% | $0.22 +2025-03-10 16:21:51,695 - INFO - OPENED SHORT at 2114.78 | Stop loss: 2125.4043178571433 | Take profit: 2082.982673214286 +2025-03-10 16:21:51,853 - INFO - CLOSED short at 2115.21 | PnL: -0.02% | $-0.23 +2025-03-10 16:21:51,899 - INFO - OPENED SHORT at 2114.1 | Stop loss: 2124.720917857143 | Take profit: 2082.3128732142854 +2025-03-10 16:21:51,963 - INFO - CLOSED short at 2115.11 | PnL: -0.05% | $-0.29 +2025-03-10 16:21:52,035 - INFO - OPENED SHORT at 2114.32 | Stop loss: 2124.9420178571427 | Take profit: 2082.529573214286 +2025-03-10 16:21:52,153 - INFO - CLOSED short at 2113.28 | PnL: 0.05% | $-0.10 +2025-03-10 16:21:52,203 - INFO - OPENED SHORT at 2115.07 | Stop loss: 2125.695767857143 | Take profit: 2083.268323214286 +2025-03-10 16:21:52,230 - INFO - CLOSED short at 2098.24 | PnL: 0.80% | $1.34 +2025-03-10 16:21:52,231 - INFO - OPENED LONG at 2098.24 | Stop loss: 2087.698382142857 | Take profit: 2129.789226785714 +2025-03-10 16:21:52,260 - INFO - CLOSED long at 2098.28 | PnL: 0.00% | $-0.19 +2025-03-10 16:21:52,579 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9774678571425 | Take profit: 2071.7832232142855 +2025-03-10 16:21:52,636 - INFO - CLOSED short at 2104.67 | PnL: -0.06% | $-0.31 +2025-03-10 16:21:52,732 - INFO - OPENED SHORT at 2099.22 | Stop loss: 2109.766517857143 | Take profit: 2067.6560732142857 +2025-03-10 16:21:52,969 - INFO - CLOSED short at 2080.58 | PnL: 0.89% | $1.53 +2025-03-10 16:21:52,970 - INFO - OPENED LONG at 2080.58 | Stop loss: 2070.126682142857 | Take profit: 2111.864326785714 +2025-03-10 16:21:52,997 - INFO - CLOSED long at 2084.75 | PnL: 0.20% | $0.20 +2025-03-10 16:21:53,044 - INFO - OPENED SHORT at 2084.25 | Stop loss: 2094.7216678571426 | Take profit: 2052.910623214286 +2025-03-10 16:21:53,075 - INFO - CLOSED short at 2085.37 | PnL: -0.05% | $-0.30 +2025-03-10 16:21:53,138 - INFO - OPENED SHORT at 2083.07 | Stop loss: 2093.535767857143 | Take profit: 2051.748323214286 +2025-03-10 16:21:53,268 - INFO - TAKE PROFIT hit for short at 2051.748323214286 | PnL: 1.50% | $2.76 +2025-03-10 16:21:53,307 - INFO - OPENED LONG at 2051.0 | Stop loss: 2040.6945821428571 | Take profit: 2081.840626785714 +2025-03-10 16:21:53,335 - INFO - CLOSED long at 2043.51 | PnL: -0.37% | $-0.94 +2025-03-10 16:21:53,336 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.777967857143 | Take profit: 2012.7817232142856 +2025-03-10 16:21:53,404 - INFO - STOP LOSS hit for short at 2053.777967857143 | PnL: -0.50% | $-1.21 +2025-03-10 16:21:53,465 - INFO - OPENED SHORT at 2050.18 | Stop loss: 2060.481317857143 | Take profit: 2019.3516732142857 +2025-03-10 16:21:53,492 - INFO - CLOSED short at 2046.76 | PnL: 0.17% | $0.13 +2025-03-10 16:21:53,523 - INFO - OPENED SHORT at 2043.95 | Stop loss: 2054.220167857143 | Take profit: 2013.2151232142858 +2025-03-10 16:21:53,575 - INFO - CLOSED short at 2044.1 | PnL: -0.01% | $-0.21 +2025-03-10 16:21:53,733 - INFO - OPENED SHORT at 2027.51 | Stop loss: 2037.6979678571427 | Take profit: 1997.0217232142859 +2025-03-10 16:21:53,799 - INFO - CLOSED short at 2015.54 | PnL: 0.59% | $0.97 +2025-03-10 16:21:53,825 - INFO - OPENED SHORT at 2014.41 | Stop loss: 2024.5324678571428 | Take profit: 1984.118223214286 +2025-03-10 16:21:53,849 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$1.02, Avg Loss=$-0.48 +2025-03-10 16:21:53,850 - INFO - Episode 49: Reward=4.26, Balance=$102.31, Win Rate=41.2%, Trades=17, Episode PnL=$3.25, Total PnL=$897.36, Max Drawdown=2.2%, Pred Accuracy=99.0% +2025-03-10 16:21:53,850 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:21:53,851 - INFO - Early stopping triggered after 50 episodes without improvement +2025-03-10 16:21:54,005 - INFO - Model saved to models/trading_agent_final.pt +2025-03-10 16:21:55,106 - INFO - Training results saved to training_results.png +2025-03-10 16:21:55,264 - INFO - Model saved to models/trading_agent_continuous_150.pt +2025-03-10 16:22:00,275 - INFO - Starting training batch 5 +2025-03-10 16:22:00,275 - INFO - Refreshing data for new training batch +2025-03-10 16:22:00,276 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:22:00,665 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 16:22:00,679 - INFO - Initialized environment with 500 candles +2025-03-10 16:22:00,681 - INFO - Updated environment with fresh candles +2025-03-10 16:22:00,681 - INFO - Starting training on device: cuda +2025-03-10 16:22:00,682 - INFO - Loading best model from models/trading_agent_best_pnl.pt to resume training +2025-03-10 16:22:00,682 - INFO - Loading model from models/trading_agent_best_pnl.pt +2025-03-10 16:22:01,052 - INFO - Model loaded successfully with weights_only=True +2025-03-10 16:22:01,059 - INFO - Resumed with best metrics - Reward: 202.74, PnL: $9.08, Win Rate: 70.0% +2025-03-10 16:22:01,082 - INFO - Refreshing data for episode 0 +2025-03-10 16:22:01,083 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:22:01,452 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:22:01,464 - INFO - Initialized environment with 100 candles +2025-03-10 16:22:02,555 - INFO - OPENED SHORT at 2119.02 | Stop loss: 2129.6655178571427 | Take profit: 2087.159073214286 +2025-03-10 16:22:03,578 - INFO - CLOSED short at 2104.67 | PnL: 0.68% | $1.13 +2025-03-10 16:22:03,629 - INFO - OPENED SHORT at 2105.26 | Stop loss: 2115.836717857143 | Take profit: 2073.605473214286 +2025-03-10 16:22:04,205 - INFO - CLOSED short at 2067.71 | PnL: 1.78% | $3.33 +2025-03-10 16:22:04,236 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.591917857143 | Take profit: 2017.4998732142858 +2025-03-10 16:22:04,560 - INFO - CLOSED short at 2043.95 | PnL: 0.21% | $0.23 +2025-03-10 16:22:04,585 - INFO - OPENED SHORT at 2044.1 | Stop loss: 2054.3709178571426 | Take profit: 2013.3628732142856 +2025-03-10 16:22:04,756 - INFO - TAKE PROFIT hit for short at 2013.3628732142856 | PnL: 1.50% | $2.87 +2025-03-10 16:22:04,811 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6681178571428 | Take profit: 1985.2312732142855 +2025-03-10 16:22:04,905 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.89, Avg Loss=$0.00 +2025-03-10 16:22:04,905 - INFO - Episode 0: Reward=33.30, Balance=$107.55, Win Rate=100.0%, Trades=4, Episode PnL=$7.55, Total PnL=$904.91, Max Drawdown=0.0%, Pred Accuracy=99.8% +2025-03-10 16:22:05,057 - INFO - Model saved to checkpoints/trading_agent_episode_0.pt +2025-03-10 16:22:05,058 - INFO - Checkpoint saved at episode 0 +2025-03-10 16:22:06,293 - INFO - Visualization saved for episode 0 +2025-03-10 16:22:08,726 - INFO - Visualization saved for episode 0 +2025-03-10 16:22:08,745 - INFO - Refreshing data for episode 1 +2025-03-10 16:22:08,746 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:22:09,053 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:22:09,066 - INFO - Initialized environment with 100 candles +2025-03-10 16:22:09,148 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.6117142857142 | Take profit: 2089.0752285714284 +2025-03-10 16:22:09,519 - INFO - CLOSED short at 2114.57 | PnL: 0.30% | $0.39 +2025-03-10 16:22:09,545 - INFO - OPENED SHORT at 2112.57 | Stop loss: 2123.1797642857146 | Take profit: 2080.811078571429 +2025-03-10 16:22:09,718 - INFO - CLOSED short at 2100.05 | PnL: 0.59% | $0.97 +2025-03-10 16:22:09,719 - INFO - OPENED LONG at 2100.05 | Stop loss: 2089.502835714286 | Take profit: 2131.6211214285718 +2025-03-10 16:22:09,745 - INFO - CLOSED long at 2096.36 | PnL: -0.18% | $-0.55 +2025-03-10 16:22:09,745 - INFO - OPENED SHORT at 2096.36 | Stop loss: 2106.8887142857143 | Take profit: 2064.8442285714286 +2025-03-10 16:22:10,477 - INFO - TAKE PROFIT hit for short at 2064.8442285714286 | PnL: 1.50% | $2.77 +2025-03-10 16:22:10,505 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3019142857142 | Take profit: 2020.1646285714287 +2025-03-10 16:22:10,577 - INFO - CLOSED short at 2053.22 | PnL: -0.11% | $-0.42 +2025-03-10 16:22:10,609 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.4474642857144 | Take profit: 2027.1679785714289 +2025-03-10 16:22:10,878 - INFO - TAKE PROFIT hit for short at 2027.1679785714289 | PnL: 1.50% | $2.83 +2025-03-10 16:22:10,907 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6646142857142 | Take profit: 1985.2365285714286 +2025-03-10 16:22:10,985 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.74, Avg Loss=$-0.48 +2025-03-10 16:22:10,986 - INFO - Episode 1: Reward=13.45, Balance=$105.99, Win Rate=66.7%, Trades=6, Episode PnL=$6.54, Total PnL=$910.90, Max Drawdown=0.4%, Pred Accuracy=99.7% +2025-03-10 16:22:10,986 - INFO - Refreshing data for episode 2 +2025-03-10 16:22:10,986 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:22:11,758 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:22:11,772 - INFO - Initialized environment with 100 candles +2025-03-10 16:22:11,809 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.6117142857142 | Take profit: 2089.0752285714284 +2025-03-10 16:22:11,859 - INFO - CLOSED short at 2128.33 | PnL: -0.35% | $-0.88 +2025-03-10 16:22:11,889 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.440764285714 | Take profit: 2092.8280785714287 +2025-03-10 16:22:12,323 - INFO - TAKE PROFIT hit for short at 2092.8280785714287 | PnL: 1.50% | $2.72 +2025-03-10 16:22:12,353 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5971642857144 | Take profit: 2068.4788785714286 +2025-03-10 16:22:12,436 - INFO - CLOSED short at 2089.84 | PnL: 0.49% | $0.77 +2025-03-10 16:22:12,466 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.7178642857143 | Take profit: 2064.6767785714287 +2025-03-10 16:22:13,189 - INFO - CLOSED short at 2048.3 | PnL: 2.28% | $4.39 +2025-03-10 16:22:13,230 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3019142857142 | Take profit: 2020.1646285714287 +2025-03-10 16:22:13,562 - INFO - CLOSED short at 2036.71 | PnL: 0.70% | $1.25 +2025-03-10 16:22:13,608 - INFO - OPENED SHORT at 2027.51 | Stop loss: 2037.6944642857143 | Take profit: 1997.0269785714286 +2025-03-10 16:22:13,774 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.28, Avg Loss=$-0.88 +2025-03-10 16:22:13,775 - INFO - Episode 2: Reward=18.57, Balance=$108.25, Win Rate=80.0%, Trades=5, Episode PnL=$8.25, Total PnL=$919.15, Max Drawdown=0.9%, Pred Accuracy=99.7% +2025-03-10 16:22:13,775 - INFO - Refreshing data for episode 3 +2025-03-10 16:22:13,777 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:22:14,306 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:22:14,317 - INFO - Initialized environment with 100 candles +2025-03-10 16:22:14,357 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.6117142857142 | Take profit: 2089.0752285714284 +2025-03-10 16:22:15,084 - INFO - TAKE PROFIT hit for short at 2089.0752285714284 | PnL: 1.50% | $2.75 +2025-03-10 16:22:15,119 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3361142857143 | Take profit: 2058.4220285714287 +2025-03-10 16:22:15,198 - INFO - STOP LOSS hit for short at 2100.3361142857143 | PnL: -0.50% | $-1.21 +2025-03-10 16:22:15,229 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.973964285714 | Take profit: 2071.7884785714286 +2025-03-10 16:22:15,641 - INFO - CLOSED short at 2084.75 | PnL: 0.89% | $1.56 +2025-03-10 16:22:15,668 - INFO - OPENED SHORT at 2081.0 | Stop loss: 2091.4519142857143 | Take profit: 2049.7146285714284 +2025-03-10 16:22:15,945 - INFO - TAKE PROFIT hit for short at 2049.7146285714284 | PnL: 1.50% | $2.83 +2025-03-10 16:22:15,974 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3019142857142 | Take profit: 2020.1646285714287 +2025-03-10 16:22:16,202 - INFO - CLOSED short at 2046.76 | PnL: 0.21% | $0.22 +2025-03-10 16:22:16,251 - INFO - OPENED SHORT at 2043.95 | Stop loss: 2054.216664285714 | Take profit: 2013.2203785714287 +2025-03-10 16:22:16,428 - INFO - TAKE PROFIT hit for short at 2013.2203785714287 | PnL: 1.50% | $2.91 +2025-03-10 16:22:16,452 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6646142857142 | Take profit: 1985.2365285714286 +2025-03-10 16:22:16,542 - INFO - CLOSED short at 2019.57 | PnL: -0.20% | $-0.64 +2025-03-10 16:22:16,590 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$2.05, Avg Loss=$-0.92 +2025-03-10 16:22:16,591 - INFO - Episode 3: Reward=15.33, Balance=$108.42, Win Rate=71.4%, Trades=7, Episode PnL=$8.42, Total PnL=$927.57, Max Drawdown=1.2%, Pred Accuracy=99.7% +2025-03-10 16:22:16,591 - INFO - Refreshing data for episode 4 +2025-03-10 16:22:16,591 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:22:17,059 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:22:17,074 - INFO - Initialized environment with 100 candles +2025-03-10 16:22:17,343 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.613057142857 | Take profit: 2089.0732142857146 +2025-03-10 16:22:17,543 - INFO - CLOSED short at 2114.75 | PnL: 0.29% | $0.38 +2025-03-10 16:22:17,578 - INFO - OPENED SHORT at 2116.06 | Stop loss: 2126.6885571428575 | Take profit: 2084.2467142857145 +2025-03-10 16:22:17,737 - INFO - CLOSED short at 2114.57 | PnL: 0.07% | $-0.06 +2025-03-10 16:22:17,760 - INFO - OPENED SHORT at 2112.57 | Stop loss: 2123.1811071428574 | Take profit: 2080.8090642857146 +2025-03-10 16:22:18,557 - INFO - TAKE PROFIT hit for short at 2080.8090642857146 | PnL: 1.50% | $2.75 +2025-03-10 16:22:18,585 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2220071428574 | Take profit: 2053.4063642857145 +2025-03-10 16:22:18,853 - INFO - TAKE PROFIT hit for short at 2053.4063642857145 | PnL: 1.50% | $2.83 +2025-03-10 16:22:18,903 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.303257142857 | Take profit: 2020.1626142857142 +2025-03-10 16:22:19,337 - INFO - TAKE PROFIT hit for short at 2020.1626142857142 | PnL: 1.50% | $2.90 +2025-03-10 16:22:19,364 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6659571428572 | Take profit: 1985.2345142857143 +2025-03-10 16:22:19,388 - INFO - CLOSED short at 2014.41 | PnL: 0.06% | $-0.09 +2025-03-10 16:22:19,389 - INFO - OPENED LONG at 2014.41 | Stop loss: 2004.289692857143 | Take profit: 2044.698535714286 +2025-03-10 16:22:19,418 - INFO - CLOSED long at 2019.57 | PnL: 0.26% | $0.33 +2025-03-10 16:22:19,418 - INFO - OPENED SHORT at 2019.57 | Stop loss: 2029.716107142857 | Take profit: 1989.2040642857144 +2025-03-10 16:22:19,445 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$1.84, Avg Loss=$-0.08 +2025-03-10 16:22:19,446 - INFO - Episode 4: Reward=13.74, Balance=$109.04, Win Rate=71.4%, Trades=7, Episode PnL=$8.71, Total PnL=$936.62, Max Drawdown=0.1%, Pred Accuracy=99.6% +2025-03-10 16:22:19,446 - INFO - Refreshing data for episode 5 +2025-03-10 16:22:19,447 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:22:19,889 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:22:19,901 - INFO - Initialized environment with 100 candles +2025-03-10 16:22:21,058 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.5730464285716 | Take profit: 2092.9536803571427 +2025-03-10 16:22:21,276 - INFO - CLOSED short at 2114.75 | PnL: 0.48% | $0.74 +2025-03-10 16:22:21,355 - INFO - OPENED SHORT at 2115.21 | Stop loss: 2125.8345964285713 | Take profit: 2083.409030357143 +2025-03-10 16:22:21,480 - INFO - CLOSED short at 2114.32 | PnL: 0.04% | $-0.11 +2025-03-10 16:22:21,508 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.1913964285714 | Take profit: 2082.778630357143 +2025-03-10 16:22:21,612 - INFO - CLOSED short at 2115.07 | PnL: -0.02% | $-0.24 +2025-03-10 16:22:21,640 - INFO - OPENED SHORT at 2098.24 | Stop loss: 2108.7797464285713 | Take profit: 2066.6935803571428 +2025-03-10 16:22:21,686 - INFO - CLOSED short at 2091.36 | PnL: 0.33% | $0.45 +2025-03-10 16:22:21,743 - INFO - OPENED SHORT at 2096.36 | Stop loss: 2106.890346428572 | Take profit: 2064.841780357143 +2025-03-10 16:22:22,252 - INFO - CLOSED short at 2090.59 | PnL: 0.28% | $0.35 +2025-03-10 16:22:22,306 - INFO - OPENED SHORT at 2090.99 | Stop loss: 2101.4934964285712 | Take profit: 2059.5523303571426 +2025-03-10 16:22:22,672 - INFO - TAKE PROFIT hit for short at 2059.5523303571426 | PnL: 1.50% | $2.78 +2025-03-10 16:22:22,713 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3035464285713 | Take profit: 2020.162180357143 +2025-03-10 16:22:22,820 - INFO - CLOSED short at 2058.11 | PnL: -0.35% | $-0.91 +2025-03-10 16:22:22,820 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.7709035714288 | Take profit: 2089.0544696428574 +2025-03-10 16:22:22,849 - INFO - CLOSED long at 2054.03 | PnL: -0.20% | $-0.60 +2025-03-10 16:22:22,850 - INFO - OPENED SHORT at 2054.03 | Stop loss: 2064.3486964285717 | Take profit: 2023.146730357143 +2025-03-10 16:22:23,167 - INFO - CLOSED short at 2010.35 | PnL: 2.13% | $4.06 +2025-03-10 16:22:23,200 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6662464285714 | Take profit: 1985.2340803571428 +2025-03-10 16:22:23,283 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$1.67, Avg Loss=$-0.47 +2025-03-10 16:22:23,284 - INFO - Episode 5: Reward=13.58, Balance=$106.50, Win Rate=55.6%, Trades=9, Episode PnL=$7.10, Total PnL=$943.11, Max Drawdown=0.4%, Pred Accuracy=99.5% +2025-03-10 16:22:23,284 - INFO - Refreshing data for episode 6 +2025-03-10 16:22:23,284 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:22:23,609 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:22:23,621 - INFO - Initialized environment with 100 candles +2025-03-10 16:22:23,758 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.6133464285713 | Take profit: 2089.0727803571426 +2025-03-10 16:22:24,214 - INFO - CLOSED short at 2114.57 | PnL: 0.30% | $0.39 +2025-03-10 16:22:24,264 - INFO - OPENED SHORT at 2112.57 | Stop loss: 2123.1813964285716 | Take profit: 2080.808630357143 +2025-03-10 16:22:25,106 - INFO - CLOSED short at 2080.58 | PnL: 1.51% | $2.78 +2025-03-10 16:22:25,137 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2222964285716 | Take profit: 2053.4059303571426 +2025-03-10 16:22:25,351 - INFO - CLOSED short at 2067.71 | PnL: 0.82% | $1.45 +2025-03-10 16:22:25,407 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5900464285714 | Take profit: 2017.502680357143 +2025-03-10 16:22:25,625 - INFO - CLOSED short at 2050.18 | PnL: -0.09% | $-0.39 +2025-03-10 16:22:25,654 - INFO - OPENED SHORT at 2046.76 | Stop loss: 2057.0423464285714 | Take profit: 2015.9857803571429 +2025-03-10 16:22:25,799 - INFO - CLOSED short at 2042.0 | PnL: 0.23% | $0.27 +2025-03-10 16:22:25,800 - INFO - OPENED LONG at 2042.0 | Stop loss: 2031.7414535714286 | Take profit: 2072.702819642857 +2025-03-10 16:22:25,855 - INFO - CLOSED long at 2036.71 | PnL: -0.26% | $-0.73 +2025-03-10 16:22:25,856 - INFO - OPENED SHORT at 2036.71 | Stop loss: 2046.9420964285716 | Take profit: 2006.086530357143 +2025-03-10 16:22:26,034 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.22, Avg Loss=$-0.56 +2025-03-10 16:22:26,034 - INFO - Episode 6: Reward=16.89, Balance=$103.76, Win Rate=66.7%, Trades=6, Episode PnL=$4.49, Total PnL=$946.88, Max Drawdown=0.4%, Pred Accuracy=99.4% +2025-03-10 16:22:26,034 - INFO - Refreshing data for episode 7 +2025-03-10 16:22:26,034 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:22:26,348 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:22:26,359 - INFO - Initialized environment with 100 candles +2025-03-10 16:22:26,397 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.6133464285713 | Take profit: 2089.0727803571426 +2025-03-10 16:22:26,521 - INFO - CLOSED short at 2116.81 | PnL: 0.20% | $0.19 +2025-03-10 16:22:26,559 - INFO - OPENED SHORT at 2114.78 | Stop loss: 2125.4024464285712 | Take profit: 2082.985480357143 +2025-03-10 16:22:26,587 - INFO - CLOSED short at 2115.52 | PnL: -0.03% | $-0.26 +2025-03-10 16:22:26,641 - INFO - OPENED SHORT at 2116.06 | Stop loss: 2126.688846428571 | Take profit: 2084.246280357143 +2025-03-10 16:22:26,666 - INFO - CLOSED short at 2115.21 | PnL: 0.04% | $-0.12 +2025-03-10 16:22:26,667 - INFO - OPENED LONG at 2115.21 | Stop loss: 2104.5854035714287 | Take profit: 2147.0109696428576 +2025-03-10 16:22:26,697 - INFO - CLOSED long at 2114.1 | PnL: -0.05% | $-0.30 +2025-03-10 16:22:26,697 - INFO - OPENED SHORT at 2114.1 | Stop loss: 2124.7190464285713 | Take profit: 2082.315680357143 +2025-03-10 16:22:26,780 - INFO - CLOSED short at 2114.57 | PnL: -0.02% | $-0.24 +2025-03-10 16:22:26,805 - INFO - OPENED SHORT at 2112.57 | Stop loss: 2123.1813964285716 | Take profit: 2080.808630357143 +2025-03-10 16:22:26,931 - INFO - CLOSED short at 2098.24 | PnL: 0.68% | $1.12 +2025-03-10 16:22:26,978 - INFO - OPENED SHORT at 2098.28 | Stop loss: 2108.8199464285717 | Take profit: 2066.732980357143 +2025-03-10 16:22:27,084 - INFO - CLOSED short at 2100.05 | PnL: -0.08% | $-0.36 +2025-03-10 16:22:27,084 - INFO - OPENED LONG at 2100.05 | Stop loss: 2089.5012035714285 | Take profit: 2131.623569642857 +2025-03-10 16:22:27,118 - INFO - CLOSED long at 2096.36 | PnL: -0.18% | $-0.54 +2025-03-10 16:22:27,119 - INFO - OPENED SHORT at 2096.36 | Stop loss: 2106.890346428572 | Take profit: 2064.841780357143 +2025-03-10 16:22:27,249 - INFO - CLOSED short at 2102.83 | PnL: -0.31% | $-0.79 +2025-03-10 16:22:27,280 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9755964285714 | Take profit: 2071.786030357143 +2025-03-10 16:22:27,394 - INFO - CLOSED short at 2105.26 | PnL: -0.09% | $-0.36 +2025-03-10 16:22:27,441 - INFO - OPENED SHORT at 2099.63 | Stop loss: 2110.176696428571 | Take profit: 2068.0627303571428 +2025-03-10 16:22:27,559 - INFO - CLOSED short at 2098.66 | PnL: 0.05% | $-0.10 +2025-03-10 16:22:27,581 - INFO - OPENED SHORT at 2090.59 | Stop loss: 2101.091496428571 | Take profit: 2059.158330357143 +2025-03-10 16:22:27,756 - INFO - CLOSED short at 2084.25 | PnL: 0.30% | $0.39 +2025-03-10 16:22:27,802 - INFO - OPENED SHORT at 2085.37 | Stop loss: 2095.8453964285713 | Take profit: 2054.0166303571427 +2025-03-10 16:22:27,964 - INFO - TAKE PROFIT hit for short at 2054.0166303571427 | PnL: 1.50% | $2.71 +2025-03-10 16:22:27,985 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3035464285713 | Take profit: 2020.162180357143 +2025-03-10 16:22:28,187 - INFO - CLOSED short at 2046.76 | PnL: 0.21% | $0.21 +2025-03-10 16:22:28,274 - INFO - OPENED SHORT at 2044.1 | Stop loss: 2054.3690464285714 | Take profit: 2013.3656803571428 +2025-03-10 16:22:28,418 - INFO - TAKE PROFIT hit for short at 2013.3656803571428 | PnL: 1.50% | $2.78 +2025-03-10 16:22:28,445 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6662464285714 | Take profit: 1985.2340803571428 +2025-03-10 16:22:28,536 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$1.23, Avg Loss=$-0.34 +2025-03-10 16:22:28,537 - INFO - Episode 7: Reward=4.80, Balance=$104.32, Win Rate=40.0%, Trades=15, Episode PnL=$5.16, Total PnL=$951.20, Max Drawdown=2.2%, Pred Accuracy=99.3% +2025-03-10 16:22:28,537 - INFO - Refreshing data for episode 8 +2025-03-10 16:22:28,538 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:22:28,849 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:22:28,862 - INFO - Initialized environment with 100 candles +2025-03-10 16:22:28,998 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.6133464285713 | Take profit: 2089.0727803571426 +2025-03-10 16:22:29,045 - INFO - CLOSED short at 2124.9 | PnL: -0.19% | $-0.56 +2025-03-10 16:22:29,097 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.0201964285716 | Take profit: 2096.3322303571426 +2025-03-10 16:22:29,168 - INFO - CLOSED short at 2116.81 | PnL: 0.54% | $0.86 +2025-03-10 16:22:29,199 - INFO - OPENED SHORT at 2114.78 | Stop loss: 2125.4024464285712 | Take profit: 2082.985480357143 +2025-03-10 16:22:29,234 - INFO - CLOSED short at 2115.52 | PnL: -0.03% | $-0.26 +2025-03-10 16:22:29,263 - INFO - OPENED SHORT at 2114.75 | Stop loss: 2125.3722964285716 | Take profit: 2082.9559303571427 +2025-03-10 16:22:29,336 - INFO - CLOSED short at 2115.21 | PnL: -0.02% | $-0.24 +2025-03-10 16:22:29,384 - INFO - OPENED SHORT at 2114.1 | Stop loss: 2124.7190464285713 | Take profit: 2082.315680357143 +2025-03-10 16:22:29,476 - INFO - CLOSED short at 2114.32 | PnL: -0.01% | $-0.22 +2025-03-10 16:22:29,506 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.1913964285714 | Take profit: 2082.778630357143 +2025-03-10 16:22:29,622 - INFO - CLOSED short at 2115.07 | PnL: -0.02% | $-0.24 +2025-03-10 16:22:29,652 - INFO - OPENED SHORT at 2098.24 | Stop loss: 2108.7797464285713 | Take profit: 2066.6935803571428 +2025-03-10 16:22:29,861 - INFO - CLOSED short at 2089.04 | PnL: 0.44% | $0.66 +2025-03-10 16:22:29,901 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3377464285713 | Take profit: 2058.419580357143 +2025-03-10 16:22:29,975 - INFO - STOP LOSS hit for short at 2100.3377464285713 | PnL: -0.50% | $-1.18 +2025-03-10 16:22:30,029 - INFO - OPENED SHORT at 2104.22 | Stop loss: 2114.789646428571 | Take profit: 2072.583880357143 +2025-03-10 16:22:30,247 - INFO - CLOSED short at 2096.96 | PnL: 0.35% | $0.47 +2025-03-10 16:22:30,292 - INFO - OPENED SHORT at 2098.66 | Stop loss: 2109.201846428571 | Take profit: 2067.107280357143 +2025-03-10 16:22:30,660 - INFO - TAKE PROFIT hit for short at 2067.107280357143 | PnL: 1.50% | $2.72 +2025-03-10 16:22:30,698 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3035464285713 | Take profit: 2020.162180357143 +2025-03-10 16:22:31,108 - INFO - TAKE PROFIT hit for short at 2020.162180357143 | PnL: 1.50% | $2.80 +2025-03-10 16:22:31,166 - INFO - OPENED SHORT at 2014.41 | Stop loss: 2024.5305964285717 | Take profit: 1984.1210303571431 +2025-03-10 16:22:31,219 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$1.50, Avg Loss=$-0.45 +2025-03-10 16:22:31,220 - INFO - Episode 8: Reward=10.66, Balance=$104.82, Win Rate=45.5%, Trades=11, Episode PnL=$4.82, Total PnL=$956.01, Max Drawdown=1.5%, Pred Accuracy=99.1% +2025-03-10 16:22:31,220 - INFO - Refreshing data for episode 9 +2025-03-10 16:22:31,221 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:22:31,524 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:22:31,536 - INFO - Initialized environment with 100 candles +2025-03-10 16:22:31,594 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.5730464285716 | Take profit: 2092.9536803571427 +2025-03-10 16:22:32,104 - INFO - CLOSED short at 2098.24 | PnL: 1.25% | $2.26 +2025-03-10 16:22:32,166 - INFO - OPENED SHORT at 2098.28 | Stop loss: 2108.8199464285717 | Take profit: 2066.732980357143 +2025-03-10 16:22:32,335 - INFO - CLOSED short at 2089.04 | PnL: 0.44% | $0.68 +2025-03-10 16:22:32,368 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3377464285713 | Take profit: 2058.419580357143 +2025-03-10 16:22:32,458 - INFO - STOP LOSS hit for short at 2100.3377464285713 | PnL: -0.50% | $-1.21 +2025-03-10 16:22:32,486 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9755964285714 | Take profit: 2071.786030357143 +2025-03-10 16:22:32,820 - INFO - CLOSED short at 2090.59 | PnL: 0.61% | $1.01 +2025-03-10 16:22:32,849 - INFO - OPENED SHORT at 2090.99 | Stop loss: 2101.4934964285712 | Take profit: 2059.5523303571426 +2025-03-10 16:22:32,898 - INFO - CLOSED short at 2080.58 | PnL: 0.50% | $0.80 +2025-03-10 16:22:33,035 - INFO - OPENED SHORT at 2084.25 | Stop loss: 2094.7197964285715 | Take profit: 2052.9134303571427 +2025-03-10 16:22:33,211 - INFO - TAKE PROFIT hit for short at 2052.9134303571427 | PnL: 1.50% | $2.84 +2025-03-10 16:22:33,238 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3035464285713 | Take profit: 2020.162180357143 +2025-03-10 16:22:33,428 - INFO - CLOSED short at 2054.03 | PnL: -0.15% | $-0.51 +2025-03-10 16:22:33,507 - INFO - OPENED SHORT at 2046.76 | Stop loss: 2057.0423464285714 | Take profit: 2015.9857803571429 +2025-03-10 16:22:33,558 - INFO - CLOSED short at 2044.1 | PnL: 0.13% | $0.06 +2025-03-10 16:22:33,581 - INFO - OPENED SHORT at 2043.59 | Stop loss: 2053.8564964285715 | Take profit: 2012.8633303571428 +2025-03-10 16:22:33,712 - INFO - TAKE PROFIT hit for short at 2012.8633303571428 | PnL: 1.50% | $2.90 +2025-03-10 16:22:33,811 - INFO - OPENED SHORT at 2014.41 | Stop loss: 2024.5305964285717 | Take profit: 1984.1210303571431 +2025-03-10 16:22:33,893 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$1.51, Avg Loss=$-0.86 +2025-03-10 16:22:33,894 - INFO - Episode 9: Reward=5.17, Balance=$108.83, Win Rate=77.8%, Trades=9, Episode PnL=$8.83, Total PnL=$964.84, Max Drawdown=1.2%, Pred Accuracy=98.9% +2025-03-10 16:22:33,894 - INFO - Refreshing data for episode 10 +2025-03-10 16:22:33,894 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:22:34,205 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:22:34,217 - INFO - Initialized environment with 100 candles +2025-03-10 16:22:35,021 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.6133464285713 | Take profit: 2089.0727803571426 +2025-03-10 16:22:35,331 - INFO - CLOSED short at 2115.11 | PnL: 0.28% | $0.34 +2025-03-10 16:22:35,331 - INFO - OPENED LONG at 2115.11 | Stop loss: 2104.4859035714285 | Take profit: 2146.9094696428574 +2025-03-10 16:22:35,362 - INFO - CLOSED long at 2114.32 | PnL: -0.04% | $-0.27 +2025-03-10 16:22:35,363 - INFO - OPENED SHORT at 2114.32 | Stop loss: 2124.9401464285716 | Take profit: 2082.532380357143 +2025-03-10 16:22:35,480 - INFO - CLOSED short at 2114.5 | PnL: -0.01% | $-0.21 +2025-03-10 16:22:35,540 - INFO - OPENED SHORT at 2098.24 | Stop loss: 2108.7797464285713 | Take profit: 2066.6935803571428 +2025-03-10 16:22:35,705 - INFO - CLOSED short at 2089.84 | PnL: 0.40% | $0.59 +2025-03-10 16:22:35,752 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.719496428572 | Take profit: 2064.674330357143 +2025-03-10 16:22:35,839 - INFO - CLOSED short at 2102.83 | PnL: -0.32% | $-0.82 +2025-03-10 16:22:35,886 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9755964285714 | Take profit: 2071.786030357143 +2025-03-10 16:22:35,915 - INFO - CLOSED short at 2104.22 | PnL: -0.04% | $-0.27 +2025-03-10 16:22:35,973 - INFO - OPENED SHORT at 2105.26 | Stop loss: 2115.834846428572 | Take profit: 2073.608280357143 +2025-03-10 16:22:35,999 - INFO - CLOSED short at 2099.63 | PnL: 0.27% | $0.33 +2025-03-10 16:22:36,105 - INFO - OPENED SHORT at 2098.66 | Stop loss: 2109.201846428571 | Take profit: 2067.107280357143 +2025-03-10 16:22:36,188 - INFO - CLOSED short at 2090.99 | PnL: 0.37% | $0.52 +2025-03-10 16:22:36,236 - INFO - OPENED SHORT at 2084.95 | Stop loss: 2095.423296428571 | Take profit: 2053.6029303571427 +2025-03-10 16:22:36,359 - INFO - CLOSED short at 2084.25 | PnL: 0.03% | $-0.13 +2025-03-10 16:22:36,408 - INFO - OPENED SHORT at 2084.11 | Stop loss: 2094.5790964285716 | Take profit: 2052.775530357143 +2025-03-10 16:22:36,458 - INFO - CLOSED short at 2075.07 | PnL: 0.43% | $0.65 +2025-03-10 16:22:36,481 - INFO - OPENED SHORT at 2067.71 | Stop loss: 2078.0970964285716 | Take profit: 2036.621530357143 +2025-03-10 16:22:36,585 - INFO - CLOSED short at 2043.51 | PnL: 1.17% | $2.11 +2025-03-10 16:22:36,634 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.202996428571 | Take profit: 2022.0238303571427 +2025-03-10 16:22:36,674 - INFO - CLOSED short at 2053.22 | PnL: -0.02% | $-0.23 +2025-03-10 16:22:36,707 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.449096428572 | Take profit: 2027.165530357143 +2025-03-10 16:22:36,818 - INFO - CLOSED short at 2044.1 | PnL: 0.68% | $1.16 +2025-03-10 16:22:36,819 - INFO - OPENED LONG at 2044.1 | Stop loss: 2033.8309535714284 | Take profit: 2074.8343196428573 +2025-03-10 16:22:36,844 - INFO - CLOSED long at 2043.59 | PnL: -0.02% | $-0.25 +2025-03-10 16:22:36,880 - INFO - OPENED SHORT at 2042.0 | Stop loss: 2052.258546428571 | Take profit: 2011.297180357143 +2025-03-10 16:22:36,924 - INFO - CLOSED short at 2036.71 | PnL: 0.26% | $0.32 +2025-03-10 16:22:36,970 - INFO - OPENED SHORT at 2027.51 | Stop loss: 2037.6960964285713 | Take profit: 1997.024530357143 +2025-03-10 16:22:37,024 - INFO - CLOSED short at 2010.35 | PnL: 0.85% | $1.51 +2025-03-10 16:22:37,067 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6662464285714 | Take profit: 1985.2340803571428 +2025-03-10 16:22:37,155 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$0.84, Avg Loss=$-0.31 +2025-03-10 16:22:37,156 - INFO - Episode 10: Reward=1.26, Balance=$105.35, Win Rate=56.2%, Trades=16, Episode PnL=$5.61, Total PnL=$970.19, Max Drawdown=1.1%, Pred Accuracy=98.5% +2025-03-10 16:22:37,319 - INFO - Model saved to checkpoints/trading_agent_episode_10.pt +2025-03-10 16:22:37,319 - INFO - Checkpoint saved at episode 10 +2025-03-10 16:22:38,435 - INFO - Visualization saved for episode 10 +2025-03-10 16:22:40,222 - INFO - Visualization saved for episode 10 +2025-03-10 16:22:40,235 - INFO - Refreshing data for episode 11 +2025-03-10 16:22:40,235 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:22:40,538 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:22:40,547 - INFO - Initialized environment with 100 candles +2025-03-10 16:22:40,919 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.5730464285716 | Take profit: 2092.9536803571427 +2025-03-10 16:22:41,031 - INFO - CLOSED short at 2114.78 | PnL: 0.48% | $0.74 +2025-03-10 16:22:41,058 - INFO - OPENED SHORT at 2115.52 | Stop loss: 2126.1461464285712 | Take profit: 2083.714380357143 +2025-03-10 16:22:41,108 - INFO - CLOSED short at 2116.06 | PnL: -0.03% | $-0.25 +2025-03-10 16:22:41,151 - INFO - OPENED SHORT at 2115.21 | Stop loss: 2125.8345964285713 | Take profit: 2083.409030357143 +2025-03-10 16:22:41,614 - INFO - CLOSED short at 2100.0 | PnL: 0.72% | $1.22 +2025-03-10 16:22:41,657 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.3926964285715 | Take profit: 2071.214730357143 +2025-03-10 16:22:41,715 - INFO - CLOSED short at 2104.22 | PnL: -0.07% | $-0.33 +2025-03-10 16:22:41,741 - INFO - OPENED SHORT at 2104.67 | Stop loss: 2115.2418964285716 | Take profit: 2073.027130357143 +2025-03-10 16:22:41,834 - INFO - CLOSED short at 2094.16 | PnL: 0.50% | $0.79 +2025-03-10 16:22:41,865 - INFO - OPENED SHORT at 2096.96 | Stop loss: 2107.493346428572 | Take profit: 2065.4327803571427 +2025-03-10 16:22:42,154 - INFO - CLOSED short at 2085.37 | PnL: 0.55% | $0.90 +2025-03-10 16:22:42,183 - INFO - OPENED SHORT at 2084.11 | Stop loss: 2094.5790964285716 | Take profit: 2052.775530357143 +2025-03-10 16:22:42,278 - INFO - CLOSED short at 2048.3 | PnL: 1.72% | $3.26 +2025-03-10 16:22:42,279 - INFO - OPENED LONG at 2048.3 | Stop loss: 2038.009953571429 | Take profit: 2079.097319642857 +2025-03-10 16:22:42,315 - INFO - CLOSED long at 2051.0 | PnL: 0.13% | $0.07 +2025-03-10 16:22:42,316 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3035464285713 | Take profit: 2020.162180357143 +2025-03-10 16:22:42,362 - INFO - CLOSED short at 2043.51 | PnL: 0.37% | $0.55 +2025-03-10 16:22:42,406 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.202996428571 | Take profit: 2022.0238303571427 +2025-03-10 16:22:42,451 - INFO - CLOSED short at 2053.22 | PnL: -0.02% | $-0.24 +2025-03-10 16:22:42,491 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.449096428572 | Take profit: 2027.165530357143 +2025-03-10 16:22:42,523 - INFO - CLOSED short at 2054.03 | PnL: 0.20% | $0.20 +2025-03-10 16:22:42,554 - INFO - OPENED SHORT at 2050.18 | Stop loss: 2060.4794464285715 | Take profit: 2019.3544803571428 +2025-03-10 16:22:42,599 - INFO - CLOSED short at 2043.95 | PnL: 0.30% | $0.43 +2025-03-10 16:22:42,663 - INFO - OPENED SHORT at 2042.0 | Stop loss: 2052.258546428571 | Take profit: 2011.297180357143 +2025-03-10 16:22:42,689 - INFO - CLOSED short at 2036.71 | PnL: 0.26% | $0.33 +2025-03-10 16:22:42,770 - INFO - OPENED SHORT at 2010.35 | Stop loss: 2020.4502964285714 | Take profit: 1980.121930357143 +2025-03-10 16:22:42,812 - INFO - CLOSED short at 2015.54 | PnL: -0.26% | $-0.75 +2025-03-10 16:22:42,896 - INFO - OPENED SHORT at 2019.57 | Stop loss: 2029.7163964285714 | Take profit: 1989.2036303571429 +2025-03-10 16:22:42,915 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$0.85, Avg Loss=$-0.39 +2025-03-10 16:22:42,916 - INFO - Episode 11: Reward=7.44, Balance=$106.92, Win Rate=71.4%, Trades=14, Episode PnL=$6.85, Total PnL=$977.10, Max Drawdown=0.7%, Pred Accuracy=97.9% +2025-03-10 16:22:43,056 - INFO - Model saved to models/trading_agent_best_winrate.pt +2025-03-10 16:22:43,057 - INFO - New best win rate model saved: 71.4% +2025-03-10 16:22:43,057 - INFO - Refreshing data for episode 12 +2025-03-10 16:22:43,058 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:22:43,365 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:22:43,376 - INFO - Initialized environment with 100 candles +2025-03-10 16:22:43,458 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.0201964285716 | Take profit: 2096.3322303571426 +2025-03-10 16:22:43,503 - INFO - CLOSED short at 2120.26 | PnL: 0.38% | $0.55 +2025-03-10 16:22:43,527 - INFO - OPENED SHORT at 2116.81 | Stop loss: 2127.442596428571 | Take profit: 2084.985030357143 +2025-03-10 16:22:43,550 - INFO - CLOSED short at 2114.78 | PnL: 0.10% | $-0.01 +2025-03-10 16:22:43,578 - INFO - OPENED SHORT at 2115.52 | Stop loss: 2126.1461464285712 | Take profit: 2083.714380357143 +2025-03-10 16:22:43,662 - INFO - CLOSED short at 2114.1 | PnL: 0.07% | $-0.06 +2025-03-10 16:22:43,765 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.1913964285714 | Take profit: 2082.778630357143 +2025-03-10 16:22:43,950 - INFO - CLOSED short at 2098.24 | PnL: 0.77% | $1.32 +2025-03-10 16:22:44,137 - INFO - OPENED SHORT at 2089.04 | Stop loss: 2099.5337464285717 | Take profit: 2057.631580357143 +2025-03-10 16:22:44,200 - INFO - CLOSED short at 2100.0 | PnL: -0.52% | $-1.24 +2025-03-10 16:22:44,316 - INFO - OPENED SHORT at 2105.26 | Stop loss: 2115.834846428572 | Take profit: 2073.608280357143 +2025-03-10 16:22:44,356 - INFO - CLOSED short at 2099.63 | PnL: 0.27% | $0.33 +2025-03-10 16:22:44,397 - INFO - OPENED SHORT at 2099.22 | Stop loss: 2109.7646464285713 | Take profit: 2067.6588803571426 +2025-03-10 16:22:44,443 - INFO - CLOSED short at 2094.16 | PnL: 0.24% | $0.28 +2025-03-10 16:22:44,503 - INFO - OPENED SHORT at 2098.66 | Stop loss: 2109.201846428571 | Take profit: 2067.107280357143 +2025-03-10 16:22:44,552 - INFO - CLOSED short at 2090.99 | PnL: 0.37% | $0.52 +2025-03-10 16:22:44,613 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2222964285716 | Take profit: 2053.4059303571426 +2025-03-10 16:22:44,634 - INFO - CLOSED short at 2081.0 | PnL: 0.18% | $0.16 +2025-03-10 16:22:44,683 - INFO - OPENED SHORT at 2085.37 | Stop loss: 2095.8453964285713 | Take profit: 2054.0166303571427 +2025-03-10 16:22:44,758 - INFO - CLOSED short at 2083.07 | PnL: 0.11% | $0.02 +2025-03-10 16:22:44,797 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.4938964285716 | Take profit: 2043.8711303571429 +2025-03-10 16:22:44,835 - INFO - CLOSED short at 2067.71 | PnL: 0.35% | $0.51 +2025-03-10 16:22:44,874 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5900464285714 | Take profit: 2017.502680357143 +2025-03-10 16:22:44,918 - INFO - CLOSED short at 2043.51 | PnL: 0.23% | $0.27 +2025-03-10 16:22:44,958 - INFO - OPENED SHORT at 2053.22 | Stop loss: 2063.5346464285712 | Take profit: 2022.3488803571427 +2025-03-10 16:22:45,000 - INFO - CLOSED short at 2054.03 | PnL: -0.04% | $-0.28 +2025-03-10 16:22:45,021 - INFO - OPENED SHORT at 2050.18 | Stop loss: 2060.4794464285715 | Take profit: 2019.3544803571428 +2025-03-10 16:22:45,119 - INFO - CLOSED short at 2043.59 | PnL: 0.32% | $0.44 +2025-03-10 16:22:45,154 - INFO - OPENED SHORT at 2042.0 | Stop loss: 2052.258546428571 | Take profit: 2011.297180357143 +2025-03-10 16:22:45,260 - INFO - TAKE PROFIT hit for short at 2011.297180357143 | PnL: 1.50% | $2.82 +2025-03-10 16:22:45,336 - INFO - OPENED SHORT at 2019.57 | Stop loss: 2029.7163964285714 | Take profit: 1989.2036303571429 +2025-03-10 16:22:45,358 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$0.66, Avg Loss=$-0.40 +2025-03-10 16:22:45,359 - INFO - Episode 12: Reward=2.03, Balance=$105.62, Win Rate=73.3%, Trades=15, Episode PnL=$5.62, Total PnL=$982.72, Max Drawdown=1.2%, Pred Accuracy=96.9% +2025-03-10 16:22:45,498 - INFO - Model saved to models/trading_agent_best_winrate.pt +2025-03-10 16:22:45,498 - INFO - New best win rate model saved: 73.3% +2025-03-10 16:22:45,499 - INFO - Refreshing data for episode 13 +2025-03-10 16:22:45,499 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:22:45,837 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:22:45,846 - INFO - Initialized environment with 100 candles +2025-03-10 16:22:45,880 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.6133464285713 | Take profit: 2089.0727803571426 +2025-03-10 16:22:45,903 - INFO - CLOSED short at 2124.9 | PnL: -0.19% | $-0.56 +2025-03-10 16:22:45,948 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.4423964285716 | Take profit: 2092.825630357143 +2025-03-10 16:22:46,028 - INFO - CLOSED short at 2115.52 | PnL: 0.44% | $0.65 +2025-03-10 16:22:46,052 - INFO - OPENED SHORT at 2114.75 | Stop loss: 2125.3722964285716 | Take profit: 2082.9559303571427 +2025-03-10 16:22:46,076 - INFO - CLOSED short at 2116.06 | PnL: -0.06% | $-0.32 +2025-03-10 16:22:46,129 - INFO - OPENED SHORT at 2114.1 | Stop loss: 2124.7190464285713 | Take profit: 2082.315680357143 +2025-03-10 16:22:46,202 - INFO - CLOSED short at 2114.32 | PnL: -0.01% | $-0.22 +2025-03-10 16:22:46,299 - INFO - OPENED SHORT at 2113.28 | Stop loss: 2123.8949464285715 | Take profit: 2081.507980357143 +2025-03-10 16:22:46,356 - INFO - CLOSED short at 2115.07 | PnL: -0.08% | $-0.36 +2025-03-10 16:22:46,378 - INFO - OPENED SHORT at 2098.24 | Stop loss: 2108.7797464285713 | Take profit: 2066.6935803571428 +2025-03-10 16:22:46,404 - INFO - CLOSED short at 2098.28 | PnL: -0.00% | $-0.20 +2025-03-10 16:22:46,428 - INFO - OPENED SHORT at 2091.36 | Stop loss: 2101.8653464285717 | Take profit: 2059.916780357143 +2025-03-10 16:22:46,476 - INFO - CLOSED short at 2096.36 | PnL: -0.24% | $-0.66 +2025-03-10 16:22:46,587 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.719496428572 | Take profit: 2064.674330357143 +2025-03-10 16:22:46,631 - INFO - CLOSED short at 2100.0 | PnL: -0.18% | $-0.54 +2025-03-10 16:22:46,676 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.3926964285715 | Take profit: 2071.214730357143 +2025-03-10 16:22:46,710 - INFO - CLOSED short at 2103.41 | PnL: -0.03% | $-0.24 +2025-03-10 16:22:46,748 - INFO - OPENED SHORT at 2104.22 | Stop loss: 2114.789646428571 | Take profit: 2072.583880357143 +2025-03-10 16:22:46,809 - INFO - CLOSED short at 2105.26 | PnL: -0.05% | $-0.28 +2025-03-10 16:22:46,845 - INFO - OPENED SHORT at 2099.63 | Stop loss: 2110.176696428571 | Take profit: 2068.0627303571428 +2025-03-10 16:22:46,891 - INFO - CLOSED short at 2094.16 | PnL: 0.26% | $0.31 +2025-03-10 16:22:46,916 - INFO - OPENED SHORT at 2096.96 | Stop loss: 2107.493346428572 | Take profit: 2065.4327803571427 +2025-03-10 16:22:46,939 - INFO - CLOSED short at 2098.66 | PnL: -0.08% | $-0.35 +2025-03-10 16:22:46,964 - INFO - OPENED SHORT at 2090.59 | Stop loss: 2101.091496428571 | Take profit: 2059.158330357143 +2025-03-10 16:22:46,992 - INFO - CLOSED short at 2090.99 | PnL: -0.02% | $-0.23 +2025-03-10 16:22:47,020 - INFO - OPENED SHORT at 2084.95 | Stop loss: 2095.423296428571 | Take profit: 2053.6029303571427 +2025-03-10 16:22:47,046 - INFO - CLOSED short at 2080.58 | PnL: 0.21% | $0.21 +2025-03-10 16:22:47,108 - INFO - OPENED SHORT at 2081.0 | Stop loss: 2091.4535464285714 | Take profit: 2049.712180357143 +2025-03-10 16:22:47,148 - INFO - CLOSED short at 2084.25 | PnL: -0.16% | $-0.49 +2025-03-10 16:22:47,260 - INFO - OPENED SHORT at 2083.07 | Stop loss: 2093.5338964285716 | Take profit: 2051.751130357143 +2025-03-10 16:22:47,297 - INFO - CLOSED short at 2075.07 | PnL: 0.38% | $0.54 +2025-03-10 16:22:47,320 - INFO - OPENED SHORT at 2067.71 | Stop loss: 2078.0970964285716 | Take profit: 2036.621530357143 +2025-03-10 16:22:47,392 - INFO - CLOSED short at 2043.51 | PnL: 1.17% | $2.03 +2025-03-10 16:22:47,471 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.449096428572 | Take profit: 2027.165530357143 +2025-03-10 16:22:47,528 - INFO - CLOSED short at 2050.18 | PnL: 0.39% | $0.55 +2025-03-10 16:22:47,569 - INFO - OPENED SHORT at 2046.76 | Stop loss: 2057.0423464285714 | Take profit: 2015.9857803571429 +2025-03-10 16:22:47,609 - INFO - CLOSED short at 2043.95 | PnL: 0.14% | $0.07 +2025-03-10 16:22:47,718 - INFO - OPENED LONG at 2042.0 | Stop loss: 2031.7414535714286 | Take profit: 2072.702819642857 +2025-03-10 16:22:47,743 - INFO - CLOSED long at 2036.71 | PnL: -0.26% | $-0.70 +2025-03-10 16:22:47,762 - INFO - OPENED LONG at 2027.51 | Stop loss: 2017.3239035714284 | Take profit: 2057.995469642857 +2025-03-10 16:22:47,783 - INFO - CLOSED long at 2010.35 | PnL: -0.85% | $-1.83 +2025-03-10 16:22:47,784 - INFO - OPENED SHORT at 2010.35 | Stop loss: 2020.4502964285714 | Take profit: 1980.121930357143 +2025-03-10 16:22:47,809 - INFO - CLOSED short at 2015.54 | PnL: -0.26% | $-0.68 +2025-03-10 16:22:47,886 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.62, Avg Loss=$-0.51 +2025-03-10 16:22:47,887 - INFO - Episode 13: Reward=-19.13, Balance=$96.71, Win Rate=31.8%, Trades=22, Episode PnL=$-1.45, Total PnL=$979.44, Max Drawdown=3.4%, Pred Accuracy=96.6% +2025-03-10 16:22:47,887 - INFO - Refreshing data for episode 14 +2025-03-10 16:22:47,888 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:22:48,195 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:22:48,207 - INFO - Initialized environment with 100 candles +2025-03-10 16:22:48,415 - INFO - OPENED LONG at 2128.33 | Stop loss: 2117.6398035714287 | Take profit: 2160.327769642857 +2025-03-10 16:22:48,466 - INFO - CLOSED long at 2124.77 | PnL: -0.17% | $-0.52 +2025-03-10 16:22:48,627 - INFO - OPENED SHORT at 2115.21 | Stop loss: 2125.8345964285713 | Take profit: 2083.409030357143 +2025-03-10 16:22:48,654 - INFO - CLOSED short at 2114.1 | PnL: 0.05% | $-0.09 +2025-03-10 16:22:48,697 - INFO - OPENED LONG at 2114.32 | Stop loss: 2103.699853571429 | Take profit: 2146.107619642857 +2025-03-10 16:22:48,733 - INFO - CLOSED long at 2114.57 | PnL: 0.01% | $-0.17 +2025-03-10 16:22:48,972 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.598796428572 | Take profit: 2068.4764303571433 +2025-03-10 16:22:48,994 - INFO - CLOSED short at 2096.36 | PnL: 0.18% | $0.15 +2025-03-10 16:22:49,270 - INFO - OPENED SHORT at 2105.26 | Stop loss: 2115.834846428572 | Take profit: 2073.608280357143 +2025-03-10 16:22:49,302 - INFO - CLOSED short at 2099.63 | PnL: 0.27% | $0.33 +2025-03-10 16:22:49,463 - INFO - OPENED SHORT at 2084.95 | Stop loss: 2095.423296428571 | Take profit: 2053.6029303571427 +2025-03-10 16:22:49,488 - INFO - CLOSED short at 2080.58 | PnL: 0.21% | $0.21 +2025-03-10 16:22:49,636 - INFO - OPENED SHORT at 2085.37 | Stop loss: 2095.8453964285713 | Take profit: 2054.0166303571427 +2025-03-10 16:22:49,674 - INFO - CLOSED short at 2084.11 | PnL: 0.06% | $-0.08 +2025-03-10 16:22:49,773 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5900464285714 | Take profit: 2017.502680357143 +2025-03-10 16:22:49,795 - INFO - CLOSED short at 2051.0 | PnL: -0.13% | $-0.45 +2025-03-10 16:22:49,837 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.202996428571 | Take profit: 2022.0238303571427 +2025-03-10 16:22:49,856 - INFO - CLOSED short at 2053.22 | PnL: -0.02% | $-0.23 +2025-03-10 16:22:49,878 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.449096428572 | Take profit: 2027.165530357143 +2025-03-10 16:22:49,918 - INFO - CLOSED short at 2054.03 | PnL: 0.20% | $0.19 +2025-03-10 16:22:49,958 - INFO - OPENED SHORT at 2050.18 | Stop loss: 2060.4794464285715 | Take profit: 2019.3544803571428 +2025-03-10 16:22:49,996 - INFO - CLOSED short at 2046.76 | PnL: 0.17% | $0.13 +2025-03-10 16:22:50,070 - INFO - OPENED SHORT at 2044.1 | Stop loss: 2054.3690464285714 | Take profit: 2013.3656803571428 +2025-03-10 16:22:50,102 - INFO - CLOSED short at 2043.59 | PnL: 0.02% | $-0.15 +2025-03-10 16:22:50,290 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.20, Avg Loss=$-0.24 +2025-03-10 16:22:50,290 - INFO - Episode 14: Reward=-14.29, Balance=$99.32, Win Rate=41.7%, Trades=12, Episode PnL=$-0.68, Total PnL=$978.75, Max Drawdown=0.9%, Pred Accuracy=97.2% +2025-03-10 16:22:50,291 - INFO - Refreshing data for episode 15 +2025-03-10 16:22:50,291 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:22:50,603 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:22:50,613 - INFO - Initialized environment with 100 candles +2025-03-10 16:22:51,707 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.5730464285716 | Take profit: 2092.9536803571427 +2025-03-10 16:22:51,789 - INFO - CLOSED short at 2124.77 | PnL: 0.01% | $-0.18 +2025-03-10 16:22:51,916 - INFO - OPENED SHORT at 2115.52 | Stop loss: 2126.1461464285712 | Take profit: 2083.714380357143 +2025-03-10 16:22:51,937 - INFO - CLOSED short at 2114.75 | PnL: 0.04% | $-0.12 +2025-03-10 16:22:52,104 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.1913964285714 | Take profit: 2082.778630357143 +2025-03-10 16:22:52,144 - INFO - CLOSED short at 2112.57 | PnL: 0.09% | $-0.01 +2025-03-10 16:22:52,471 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.3926964285715 | Take profit: 2071.214730357143 +2025-03-10 16:22:52,517 - INFO - CLOSED short at 2103.41 | PnL: -0.03% | $-0.25 +2025-03-10 16:22:52,722 - INFO - OPENED SHORT at 2094.16 | Stop loss: 2104.679346428571 | Take profit: 2062.674780357143 +2025-03-10 16:22:52,767 - INFO - CLOSED short at 2098.66 | PnL: -0.21% | $-0.61 +2025-03-10 16:22:52,813 - INFO - OPENED SHORT at 2090.99 | Stop loss: 2101.4934964285712 | Take profit: 2059.5523303571426 +2025-03-10 16:22:52,844 - INFO - CLOSED short at 2084.95 | PnL: 0.29% | $0.36 +2025-03-10 16:22:52,998 - INFO - OPENED SHORT at 2085.37 | Stop loss: 2095.8453964285713 | Take profit: 2054.0166303571427 +2025-03-10 16:22:53,048 - INFO - CLOSED short at 2084.11 | PnL: 0.06% | $-0.08 +2025-03-10 16:22:53,129 - INFO - OPENED SHORT at 2067.71 | Stop loss: 2078.0970964285716 | Take profit: 2036.621530357143 +2025-03-10 16:22:53,154 - INFO - CLOSED short at 2048.3 | PnL: 0.94% | $1.62 +2025-03-10 16:22:53,176 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3035464285713 | Take profit: 2020.162180357143 +2025-03-10 16:22:53,198 - INFO - CLOSED short at 2043.51 | PnL: 0.37% | $0.52 +2025-03-10 16:22:53,519 - INFO - OPENED SHORT at 2036.71 | Stop loss: 2046.9420964285716 | Take profit: 2006.086530357143 +2025-03-10 16:22:53,541 - INFO - CLOSED short at 2027.51 | PnL: 0.45% | $0.70 +2025-03-10 16:22:53,652 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.80, Avg Loss=$-0.21 +2025-03-10 16:22:53,654 - INFO - Episode 15: Reward=-11.74, Balance=$101.95, Win Rate=40.0%, Trades=10, Episode PnL=$1.95, Total PnL=$980.71, Max Drawdown=1.2%, Pred Accuracy=97.4% +2025-03-10 16:22:53,655 - INFO - Refreshing data for episode 16 +2025-03-10 16:22:53,655 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:22:53,997 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:22:54,007 - INFO - Initialized environment with 100 candles +2025-03-10 16:22:54,276 - INFO - OPENED LONG at 2120.26 | Stop loss: 2109.610153571429 | Take profit: 2152.1367196428573 +2025-03-10 16:22:54,300 - INFO - CLOSED long at 2116.81 | PnL: -0.16% | $-0.51 +2025-03-10 16:22:54,416 - INFO - OPENED SHORT at 2115.21 | Stop loss: 2125.8345964285713 | Take profit: 2083.409030357143 +2025-03-10 16:22:54,450 - INFO - CLOSED short at 2114.1 | PnL: 0.05% | $-0.09 +2025-03-10 16:22:54,558 - INFO - OPENED SHORT at 2112.57 | Stop loss: 2123.1813964285716 | Take profit: 2080.808630357143 +2025-03-10 16:22:54,598 - INFO - CLOSED short at 2113.28 | PnL: -0.03% | $-0.26 +2025-03-10 16:22:54,635 - INFO - OPENED SHORT at 2114.5 | Stop loss: 2125.1210464285714 | Take profit: 2082.709680357143 +2025-03-10 16:22:54,675 - INFO - CLOSED short at 2115.07 | PnL: -0.03% | $-0.25 +2025-03-10 16:22:54,978 - INFO - OPENED SHORT at 2104.22 | Stop loss: 2114.789646428571 | Take profit: 2072.583880357143 +2025-03-10 16:22:55,019 - INFO - CLOSED short at 2104.67 | PnL: -0.02% | $-0.23 +2025-03-10 16:22:55,272 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0314464285716 | Take profit: 2049.2984803571426 +2025-03-10 16:22:55,305 - INFO - CLOSED short at 2084.75 | PnL: -0.20% | $-0.58 +2025-03-10 16:22:55,423 - INFO - OPENED SHORT at 2085.37 | Stop loss: 2095.8453964285713 | Take profit: 2054.0166303571427 +2025-03-10 16:22:55,466 - INFO - CLOSED short at 2084.11 | PnL: 0.06% | $-0.08 +2025-03-10 16:22:55,516 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.4938964285716 | Take profit: 2043.8711303571429 +2025-03-10 16:22:55,539 - INFO - CLOSED short at 2067.71 | PnL: 0.35% | $0.49 +2025-03-10 16:22:55,571 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5900464285714 | Take profit: 2017.502680357143 +2025-03-10 16:22:55,596 - INFO - CLOSED short at 2051.0 | PnL: -0.13% | $-0.45 +2025-03-10 16:22:55,625 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.7760964285717 | Take profit: 2012.7845303571428 +2025-03-10 16:22:55,649 - INFO - CLOSED short at 2052.89 | PnL: -0.46% | $-1.07 +2025-03-10 16:22:55,668 - INFO - OPENED SHORT at 2053.22 | Stop loss: 2063.5346464285712 | Take profit: 2022.3488803571427 +2025-03-10 16:22:55,711 - INFO - CLOSED short at 2058.11 | PnL: -0.24% | $-0.64 +2025-03-10 16:22:55,762 - INFO - OPENED SHORT at 2054.03 | Stop loss: 2064.3486964285717 | Take profit: 2023.146730357143 +2025-03-10 16:22:55,838 - INFO - CLOSED short at 2046.76 | PnL: 0.35% | $0.48 +2025-03-10 16:22:55,880 - INFO - OPENED SHORT at 2043.95 | Stop loss: 2054.218296428571 | Take profit: 2013.217930357143 +2025-03-10 16:22:55,906 - INFO - CLOSED short at 2044.1 | PnL: -0.01% | $-0.20 +2025-03-10 16:22:55,994 - INFO - OPENED SHORT at 2036.71 | Stop loss: 2046.9420964285716 | Take profit: 2006.086530357143 +2025-03-10 16:22:56,019 - INFO - CLOSED short at 2027.51 | PnL: 0.45% | $0.66 +2025-03-10 16:22:56,146 - INFO - OPENED SHORT at 2019.57 | Stop loss: 2029.7163964285714 | Take profit: 1989.2036303571429 +2025-03-10 16:22:56,188 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.54, Avg Loss=$-0.40 +2025-03-10 16:22:56,189 - INFO - Episode 16: Reward=-20.98, Balance=$97.27, Win Rate=21.4%, Trades=14, Episode PnL=$-2.73, Total PnL=$977.97, Max Drawdown=3.7%, Pred Accuracy=97.3% +2025-03-10 16:22:56,189 - INFO - Refreshing data for episode 17 +2025-03-10 16:22:56,189 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:22:56,502 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:22:56,513 - INFO - Initialized environment with 100 candles +2025-03-10 16:22:56,718 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.6133464285713 | Take profit: 2089.0727803571426 +2025-03-10 16:22:56,798 - INFO - CLOSED short at 2128.33 | PnL: -0.35% | $-0.87 +2025-03-10 16:22:56,888 - INFO - OPENED SHORT at 2120.26 | Stop loss: 2130.9098464285717 | Take profit: 2088.383280357143 +2025-03-10 16:22:56,976 - INFO - CLOSED short at 2114.78 | PnL: 0.26% | $0.31 +2025-03-10 16:22:57,106 - INFO - OPENED SHORT at 2116.06 | Stop loss: 2126.688846428571 | Take profit: 2084.246280357143 +2025-03-10 16:22:57,148 - INFO - CLOSED short at 2115.21 | PnL: 0.04% | $-0.12 +2025-03-10 16:22:57,182 - INFO - OPENED SHORT at 2114.1 | Stop loss: 2124.7190464285713 | Take profit: 2082.315680357143 +2025-03-10 16:22:57,237 - INFO - CLOSED short at 2114.32 | PnL: -0.01% | $-0.21 +2025-03-10 16:22:57,263 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.1913964285714 | Take profit: 2082.778630357143 +2025-03-10 16:22:57,287 - INFO - CLOSED short at 2112.57 | PnL: 0.09% | $-0.01 +2025-03-10 16:22:57,314 - INFO - OPENED SHORT at 2113.28 | Stop loss: 2123.8949464285715 | Take profit: 2081.507980357143 +2025-03-10 16:22:57,344 - INFO - CLOSED short at 2114.5 | PnL: -0.06% | $-0.31 +2025-03-10 16:22:57,374 - INFO - OPENED SHORT at 2115.07 | Stop loss: 2125.6938964285714 | Take profit: 2083.271130357143 +2025-03-10 16:22:57,487 - INFO - CLOSED short at 2096.36 | PnL: 0.88% | $1.52 +2025-03-10 16:22:57,487 - INFO - OPENED LONG at 2096.36 | Stop loss: 2085.8296535714285 | Take profit: 2127.8782196428574 +2025-03-10 16:22:57,515 - INFO - CLOSED long at 2089.04 | PnL: -0.35% | $-0.88 +2025-03-10 16:22:57,709 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9755964285714 | Take profit: 2071.786030357143 +2025-03-10 16:22:57,733 - INFO - CLOSED short at 2104.22 | PnL: -0.04% | $-0.27 +2025-03-10 16:22:57,781 - INFO - OPENED SHORT at 2105.26 | Stop loss: 2115.834846428572 | Take profit: 2073.608280357143 +2025-03-10 16:22:57,810 - INFO - CLOSED short at 2099.63 | PnL: 0.27% | $0.32 +2025-03-10 16:22:57,880 - INFO - OPENED SHORT at 2096.96 | Stop loss: 2107.493346428572 | Take profit: 2065.4327803571427 +2025-03-10 16:22:57,923 - INFO - CLOSED short at 2098.66 | PnL: -0.08% | $-0.35 +2025-03-10 16:22:57,969 - INFO - OPENED SHORT at 2090.59 | Stop loss: 2101.091496428571 | Take profit: 2059.158330357143 +2025-03-10 16:22:58,107 - INFO - CLOSED short at 2084.75 | PnL: 0.28% | $0.35 +2025-03-10 16:22:58,200 - INFO - OPENED SHORT at 2084.11 | Stop loss: 2094.5790964285716 | Take profit: 2052.775530357143 +2025-03-10 16:22:58,226 - INFO - CLOSED short at 2083.07 | PnL: 0.05% | $-0.10 +2025-03-10 16:22:58,249 - INFO - OPENED SHORT at 2075.07 | Stop loss: 2085.4938964285716 | Take profit: 2043.8711303571429 +2025-03-10 16:22:58,345 - INFO - CLOSED short at 2051.0 | PnL: 1.16% | $2.06 +2025-03-10 16:22:58,431 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.202996428571 | Take profit: 2022.0238303571427 +2025-03-10 16:22:58,476 - INFO - CLOSED short at 2053.22 | PnL: -0.02% | $-0.23 +2025-03-10 16:22:58,521 - INFO - OPENED SHORT at 2054.03 | Stop loss: 2064.3486964285717 | Take profit: 2023.146730357143 +2025-03-10 16:22:58,549 - INFO - CLOSED short at 2050.18 | PnL: 0.19% | $0.17 +2025-03-10 16:22:58,577 - INFO - OPENED SHORT at 2046.76 | Stop loss: 2057.0423464285714 | Take profit: 2015.9857803571429 +2025-03-10 16:22:58,787 - INFO - CLOSED short at 2010.35 | PnL: 1.78% | $3.33 +2025-03-10 16:22:58,825 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6662464285714 | Take profit: 1985.2340803571428 +2025-03-10 16:22:58,908 - INFO - CLOSED short at 2019.57 | PnL: -0.20% | $-0.61 +2025-03-10 16:22:58,932 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.15, Avg Loss=$-0.36 +2025-03-10 16:22:58,933 - INFO - Episode 17: Reward=-8.05, Balance=$104.09, Win Rate=38.9%, Trades=18, Episode PnL=$4.09, Total PnL=$982.06, Max Drawdown=1.2%, Pred Accuracy=97.1% +2025-03-10 16:22:58,933 - INFO - Refreshing data for episode 18 +2025-03-10 16:22:58,934 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:22:59,269 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:22:59,279 - INFO - Initialized environment with 100 candles +2025-03-10 16:22:59,312 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.6133464285713 | Take profit: 2089.0727803571426 +2025-03-10 16:22:59,479 - INFO - CLOSED short at 2115.52 | PnL: 0.26% | $0.31 +2025-03-10 16:22:59,514 - INFO - OPENED SHORT at 2114.75 | Stop loss: 2125.3722964285716 | Take profit: 2082.9559303571427 +2025-03-10 16:22:59,548 - INFO - CLOSED short at 2116.06 | PnL: -0.06% | $-0.32 +2025-03-10 16:22:59,587 - INFO - OPENED SHORT at 2115.21 | Stop loss: 2125.8345964285713 | Take profit: 2083.409030357143 +2025-03-10 16:22:59,622 - INFO - CLOSED short at 2114.1 | PnL: 0.05% | $-0.09 +2025-03-10 16:22:59,656 - INFO - OPENED SHORT at 2115.11 | Stop loss: 2125.734096428572 | Take profit: 2083.310530357143 +2025-03-10 16:22:59,706 - INFO - CLOSED short at 2114.57 | PnL: 0.03% | $-0.15 +2025-03-10 16:22:59,707 - INFO - OPENED LONG at 2114.57 | Stop loss: 2103.948603571429 | Take profit: 2146.3613696428574 +2025-03-10 16:22:59,729 - INFO - CLOSED long at 2112.57 | PnL: -0.09% | $-0.38 +2025-03-10 16:22:59,729 - INFO - OPENED SHORT at 2112.57 | Stop loss: 2123.1813964285716 | Take profit: 2080.808630357143 +2025-03-10 16:22:59,755 - INFO - CLOSED short at 2113.28 | PnL: -0.03% | $-0.26 +2025-03-10 16:22:59,803 - INFO - OPENED SHORT at 2115.07 | Stop loss: 2125.6938964285714 | Take profit: 2083.271130357143 +2025-03-10 16:22:59,828 - INFO - CLOSED short at 2098.24 | PnL: 0.80% | $1.35 +2025-03-10 16:22:59,855 - INFO - OPENED SHORT at 2098.28 | Stop loss: 2108.8199464285717 | Take profit: 2066.732980357143 +2025-03-10 16:22:59,965 - INFO - CLOSED short at 2096.36 | PnL: 0.09% | $-0.02 +2025-03-10 16:23:00,117 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.719496428572 | Take profit: 2064.674330357143 +2025-03-10 16:23:00,442 - INFO - CLOSED short at 2096.96 | PnL: -0.04% | $-0.27 +2025-03-10 16:23:00,486 - INFO - OPENED SHORT at 2098.66 | Stop loss: 2109.201846428571 | Take profit: 2067.107280357143 +2025-03-10 16:23:00,699 - INFO - CLOSED short at 2084.25 | PnL: 0.69% | $1.15 +2025-03-10 16:23:00,741 - INFO - OPENED SHORT at 2085.37 | Stop loss: 2095.8453964285713 | Take profit: 2054.0166303571427 +2025-03-10 16:23:00,888 - INFO - CLOSED short at 2067.71 | PnL: 0.85% | $1.48 +2025-03-10 16:23:00,912 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5900464285714 | Take profit: 2017.502680357143 +2025-03-10 16:23:00,960 - INFO - CLOSED short at 2043.51 | PnL: 0.23% | $0.27 +2025-03-10 16:23:00,984 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.202996428571 | Take profit: 2022.0238303571427 +2025-03-10 16:23:01,052 - INFO - CLOSED short at 2054.03 | PnL: -0.06% | $-0.31 +2025-03-10 16:23:01,081 - INFO - OPENED SHORT at 2050.18 | Stop loss: 2060.4794464285715 | Take profit: 2019.3544803571428 +2025-03-10 16:23:01,119 - INFO - CLOSED short at 2046.76 | PnL: 0.17% | $0.13 +2025-03-10 16:23:01,249 - INFO - OPENED SHORT at 2043.59 | Stop loss: 2053.8564964285715 | Take profit: 2012.8633303571428 +2025-03-10 16:23:01,292 - INFO - CLOSED short at 2042.0 | PnL: 0.08% | $-0.04 +2025-03-10 16:23:01,316 - INFO - OPENED SHORT at 2036.71 | Stop loss: 2046.9420964285716 | Take profit: 2006.086530357143 +2025-03-10 16:23:01,340 - INFO - CLOSED short at 2027.51 | PnL: 0.45% | $0.71 +2025-03-10 16:23:01,365 - INFO - OPENED SHORT at 2010.35 | Stop loss: 2020.4502964285714 | Take profit: 1980.121930357143 +2025-03-10 16:23:01,457 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.77, Avg Loss=$-0.20 +2025-03-10 16:23:01,458 - INFO - Episode 18: Reward=-3.43, Balance=$103.55, Win Rate=43.8%, Trades=16, Episode PnL=$3.93, Total PnL=$985.61, Max Drawdown=1.2%, Pred Accuracy=97.1% +2025-03-10 16:23:01,458 - INFO - Refreshing data for episode 19 +2025-03-10 16:23:01,459 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:23:01,768 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:23:01,778 - INFO - Initialized environment with 100 candles +2025-03-10 16:23:01,968 - INFO - OPENED SHORT at 2120.96 | Stop loss: 2131.6133464285713 | Take profit: 2089.0727803571426 +2025-03-10 16:23:02,077 - INFO - CLOSED short at 2128.33 | PnL: -0.35% | $-0.87 +2025-03-10 16:23:02,100 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.4423964285716 | Take profit: 2092.825630357143 +2025-03-10 16:23:02,255 - INFO - CLOSED short at 2115.21 | PnL: 0.45% | $0.68 +2025-03-10 16:23:02,278 - INFO - OPENED SHORT at 2114.1 | Stop loss: 2124.7190464285713 | Take profit: 2082.315680357143 +2025-03-10 16:23:02,301 - INFO - CLOSED short at 2115.11 | PnL: -0.05% | $-0.29 +2025-03-10 16:23:02,326 - INFO - OPENED SHORT at 2114.32 | Stop loss: 2124.9401464285716 | Take profit: 2082.532380357143 +2025-03-10 16:23:02,427 - INFO - CLOSED short at 2114.5 | PnL: -0.01% | $-0.21 +2025-03-10 16:23:02,452 - INFO - OPENED SHORT at 2115.07 | Stop loss: 2125.6938964285714 | Take profit: 2083.271130357143 +2025-03-10 16:23:02,641 - INFO - CLOSED short at 2100.0 | PnL: 0.71% | $1.19 +2025-03-10 16:23:02,664 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.3926964285715 | Take profit: 2071.214730357143 +2025-03-10 16:23:03,016 - INFO - CLOSED short at 2085.37 | PnL: 0.83% | $1.43 +2025-03-10 16:23:03,041 - INFO - OPENED SHORT at 2084.11 | Stop loss: 2094.5790964285716 | Take profit: 2052.775530357143 +2025-03-10 16:23:03,145 - INFO - TAKE PROFIT hit for short at 2052.775530357143 | PnL: 1.50% | $2.80 +2025-03-10 16:23:03,168 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3035464285713 | Take profit: 2020.162180357143 +2025-03-10 16:23:03,241 - INFO - CLOSED short at 2053.22 | PnL: -0.11% | $-0.43 +2025-03-10 16:23:03,289 - INFO - OPENED SHORT at 2054.03 | Stop loss: 2064.3486964285717 | Take profit: 2023.146730357143 +2025-03-10 16:23:03,513 - INFO - TAKE PROFIT hit for short at 2023.146730357143 | PnL: 1.50% | $2.86 +2025-03-10 16:23:03,535 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6662464285714 | Take profit: 1985.2340803571428 +2025-03-10 16:23:03,600 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.79, Avg Loss=$-0.45 +2025-03-10 16:23:03,601 - INFO - Episode 19: Reward=-1.46, Balance=$107.16, Win Rate=55.6%, Trades=9, Episode PnL=$7.16, Total PnL=$992.77, Max Drawdown=0.9%, Pred Accuracy=97.2% +2025-03-10 16:23:03,602 - INFO - Refreshing data for episode 20 +2025-03-10 16:23:03,603 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:23:03,907 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:23:03,916 - INFO - Initialized environment with 100 candles +2025-03-10 16:23:04,684 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.5706964285714 | Take profit: 2092.9572053571433 +2025-03-10 16:23:04,823 - INFO - CLOSED short at 2115.52 | PnL: 0.44% | $0.67 +2025-03-10 16:23:04,846 - INFO - OPENED SHORT at 2114.75 | Stop loss: 2125.3699464285714 | Take profit: 2082.959455357143 +2025-03-10 16:23:05,611 - INFO - TAKE PROFIT hit for short at 2082.959455357143 | PnL: 1.50% | $2.76 +2025-03-10 16:23:05,636 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2199464285713 | Take profit: 2053.409455357143 +2025-03-10 16:23:05,911 - INFO - TAKE PROFIT hit for short at 2053.409455357143 | PnL: 1.50% | $2.84 +2025-03-10 16:23:05,938 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.301196428571 | Take profit: 2020.165705357143 +2025-03-10 16:23:06,337 - INFO - TAKE PROFIT hit for short at 2020.165705357143 | PnL: 1.50% | $2.92 +2025-03-10 16:23:06,364 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6638964285717 | Take profit: 1985.237605357143 +2025-03-10 16:23:06,463 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.30, Avg Loss=$0.00 +2025-03-10 16:23:06,464 - INFO - Episode 20: Reward=1.70, Balance=$109.19, Win Rate=100.0%, Trades=4, Episode PnL=$9.19, Total PnL=$1001.96, Max Drawdown=0.0%, Pred Accuracy=97.5% +2025-03-10 16:23:06,614 - INFO - Model saved to models/trading_agent_best_pnl.pt +2025-03-10 16:23:06,614 - INFO - New best PnL model saved: $9.19 +2025-03-10 16:23:06,766 - INFO - Model saved to checkpoints/trading_agent_episode_20.pt +2025-03-10 16:23:06,767 - INFO - Checkpoint saved at episode 20 +2025-03-10 16:23:06,767 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:23:07,791 - INFO - Visualization saved for episode 20 +2025-03-10 16:23:09,533 - INFO - Visualization saved for episode 20 +2025-03-10 16:23:09,546 - INFO - Refreshing data for episode 21 +2025-03-10 16:23:09,547 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:23:09,858 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:23:09,868 - INFO - Initialized environment with 100 candles +2025-03-10 16:23:09,902 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.572017857143 | Take profit: 2092.955223214286 +2025-03-10 16:23:10,313 - INFO - CLOSED short at 2115.07 | PnL: 0.46% | $0.71 +2025-03-10 16:23:10,337 - INFO - OPENED SHORT at 2098.24 | Stop loss: 2108.7787178571425 | Take profit: 2066.6951232142856 +2025-03-10 16:23:11,228 - INFO - TAKE PROFIT hit for short at 2066.6951232142856 | PnL: 1.50% | $2.76 +2025-03-10 16:23:11,271 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.302517857143 | Take profit: 2020.1637232142857 +2025-03-10 16:23:11,691 - INFO - TAKE PROFIT hit for short at 2020.1637232142857 | PnL: 1.50% | $2.84 +2025-03-10 16:23:11,721 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6652178571428 | Take profit: 1985.2356232142859 +2025-03-10 16:23:11,832 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.10, Avg Loss=$0.00 +2025-03-10 16:23:11,833 - INFO - Episode 21: Reward=1.63, Balance=$106.31, Win Rate=100.0%, Trades=3, Episode PnL=$6.31, Total PnL=$1008.27, Max Drawdown=0.0%, Pred Accuracy=97.5% +2025-03-10 16:23:11,834 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:23:11,834 - INFO - Refreshing data for episode 22 +2025-03-10 16:23:11,835 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:23:12,136 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:23:12,151 - INFO - Initialized environment with 100 candles +2025-03-10 16:23:12,188 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.572017857143 | Take profit: 2092.955223214286 +2025-03-10 16:23:12,708 - INFO - TAKE PROFIT hit for short at 2092.955223214286 | PnL: 1.50% | $2.75 +2025-03-10 16:23:12,747 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.597767857143 | Take profit: 2068.477973214286 +2025-03-10 16:23:41,634 - INFO - Using GPU: NVIDIA GeForce RTX 4060 Laptop GPU +2025-03-10 16:23:41,655 - INFO - Exchange initialized with standard CCXT: mexc +2025-03-10 16:23:41,655 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:23:41,656 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:23:45,521 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 16:23:45,539 - INFO - Initialized environment with 500 candles +2025-03-10 16:23:48,226 - INFO - Starting continuous training mode. Press Ctrl+C to stop. +2025-03-10 16:23:48,226 - INFO - Starting training batch 1 +2025-03-10 16:23:48,227 - INFO - Refreshing data for new training batch +2025-03-10 16:23:48,227 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:23:48,573 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 16:23:48,588 - INFO - Initialized environment with 500 candles +2025-03-10 16:23:48,588 - INFO - Updated environment with fresh candles +2025-03-10 16:23:48,589 - INFO - Starting training on device: cuda +2025-03-10 16:23:48,590 - INFO - Loading best model from models/trading_agent_best_pnl.pt to resume training +2025-03-10 16:23:48,590 - INFO - Loading model from models/trading_agent_best_pnl.pt +2025-03-10 16:23:48,775 - INFO - Model loaded successfully with weights_only=True +2025-03-10 16:23:48,783 - INFO - Resumed with best metrics - Reward: 202.74, PnL: $9.19, Win Rate: 73.3% +2025-03-10 16:23:48,787 - INFO - Refreshing data for episode 0 +2025-03-10 16:23:48,788 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:23:49,108 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:23:49,118 - INFO - Initialized environment with 100 candles +2025-03-10 16:23:50,117 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.573478571429 | Take profit: 2092.9530321428574 +2025-03-10 16:23:50,162 - INFO - CLOSED short at 2112.57 | PnL: 0.58% | $0.94 +2025-03-10 16:23:50,162 - INFO - OPENED LONG at 2112.57 | Stop loss: 2101.9581714285714 | Take profit: 2144.332017857143 +2025-03-10 16:23:50,167 - INFO - CLOSED long at 2113.28 | PnL: 0.03% | $-0.13 +2025-03-10 16:23:50,168 - INFO - OPENED SHORT at 2113.28 | Stop loss: 2123.895378571429 | Take profit: 2081.5073321428576 +2025-03-10 16:23:50,191 - INFO - CLOSED short at 2096.36 | PnL: 0.80% | $1.38 +2025-03-10 16:23:50,195 - INFO - OPENED SHORT at 2089.04 | Stop loss: 2099.5341785714286 | Take profit: 2057.630932142857 +2025-03-10 16:23:50,211 - INFO - STOP LOSS hit for short at 2099.5341785714286 | PnL: -0.50% | $-1.20 +2025-03-10 16:23:50,215 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.393128571429 | Take profit: 2071.214082142857 +2025-03-10 16:23:50,285 - INFO - TAKE PROFIT hit for short at 2071.214082142857 | PnL: 1.50% | $2.77 +2025-03-10 16:23:50,288 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.590478571429 | Take profit: 2017.5020321428574 +2025-03-10 16:23:50,461 - INFO - TAKE PROFIT hit for short at 2017.5020321428574 | PnL: 1.50% | $2.84 +2025-03-10 16:23:50,491 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6666785714285 | Take profit: 1985.233432142857 +2025-03-10 16:23:50,512 - INFO - CLOSED short at 2014.41 | PnL: 0.06% | $-0.09 +2025-03-10 16:23:50,513 - INFO - OPENED LONG at 2014.41 | Stop loss: 2004.2889714285714 | Take profit: 2044.6996178571428 +2025-03-10 16:23:50,541 - INFO - CLOSED long at 2019.57 | PnL: 0.26% | $0.32 +2025-03-10 16:23:50,541 - INFO - OPENED SHORT at 2019.57 | Stop loss: 2029.7168285714286 | Take profit: 1989.202982142857 +2025-03-10 16:23:50,564 - INFO - CLOSED short at 2014.56 | PnL: 0.25% | $0.31 +2025-03-10 16:23:50,587 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 60.0% in downtrends | Avg Win=$1.43, Avg Loss=$-0.48 +2025-03-10 16:23:50,588 - INFO - Episode 0: Reward=16.62, Balance=$107.14, Win Rate=66.7%, Trades=9, Episode PnL=$6.95, Total PnL=$7.14, Max Drawdown=1.2%, Pred Accuracy=99.6% +2025-03-10 16:23:50,914 - INFO - Model saved to checkpoints/trading_agent_episode_0.pt +2025-03-10 16:23:50,916 - INFO - Checkpoint saved at episode 0 +2025-03-10 16:23:52,085 - INFO - Visualization saved for episode 0 +2025-03-10 16:23:53,869 - INFO - Visualization saved for episode 0 +2025-03-10 16:23:53,884 - INFO - Refreshing data for episode 1 +2025-03-10 16:23:53,885 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:23:54,204 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:23:54,218 - INFO - Initialized environment with 100 candles +2025-03-10 16:23:54,251 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.573478571429 | Take profit: 2092.9530321428574 +2025-03-10 16:23:54,541 - INFO - CLOSED short at 2114.57 | PnL: 0.49% | $0.75 +2025-03-10 16:23:54,564 - INFO - OPENED SHORT at 2112.57 | Stop loss: 2123.1818285714285 | Take profit: 2080.8079821428573 +2025-03-10 16:23:54,863 - INFO - CLOSED short at 2103.41 | PnL: 0.43% | $0.66 +2025-03-10 16:23:54,887 - INFO - OPENED SHORT at 2104.22 | Stop loss: 2114.7900785714282 | Take profit: 2072.583232142857 +2025-03-10 16:23:55,078 - INFO - CLOSED short at 2090.99 | PnL: 0.63% | $1.05 +2025-03-10 16:23:55,105 - INFO - OPENED SHORT at 2084.95 | Stop loss: 2095.4237285714285 | Take profit: 2053.602282142857 +2025-03-10 16:23:55,216 - INFO - CLOSED short at 2085.37 | PnL: -0.02% | $-0.24 +2025-03-10 16:23:55,241 - INFO - OPENED SHORT at 2084.11 | Stop loss: 2094.5795285714285 | Take profit: 2052.774882142857 +2025-03-10 16:23:55,336 - INFO - CLOSED short at 2048.3 | PnL: 1.72% | $3.23 +2025-03-10 16:23:55,382 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.7765285714286 | Take profit: 2012.7838821428572 +2025-03-10 16:23:55,430 - INFO - CLOSED short at 2053.22 | PnL: -0.48% | $-1.18 +2025-03-10 16:23:55,510 - INFO - OPENED SHORT at 2050.18 | Stop loss: 2060.479878571429 | Take profit: 2019.353832142857 +2025-03-10 16:23:55,557 - INFO - CLOSED short at 2043.95 | PnL: 0.30% | $0.42 +2025-03-10 16:23:55,579 - INFO - OPENED LONG at 2044.1 | Stop loss: 2033.8305214285713 | Take profit: 2074.8349678571426 +2025-03-10 16:23:55,603 - INFO - CLOSED long at 2043.59 | PnL: -0.02% | $-0.26 +2025-03-10 16:23:55,648 - INFO - OPENED SHORT at 2036.71 | Stop loss: 2046.9425285714285 | Take profit: 2006.0858821428571 +2025-03-10 16:23:55,670 - INFO - CLOSED short at 2027.51 | PnL: 0.45% | $0.72 +2025-03-10 16:23:55,799 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$1.14, Avg Loss=$-0.56 +2025-03-10 16:23:55,800 - INFO - Episode 1: Reward=16.01, Balance=$105.14, Win Rate=66.7%, Trades=9, Episode PnL=$5.14, Total PnL=$12.29, Max Drawdown=1.1%, Pred Accuracy=99.6% +2025-03-10 16:23:55,800 - INFO - Refreshing data for episode 2 +2025-03-10 16:23:55,800 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:23:56,111 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:23:56,120 - INFO - Initialized environment with 100 candles +2025-03-10 16:23:56,496 - INFO - OPENED SHORT at 2114.5 | Stop loss: 2125.1214785714287 | Take profit: 2082.7090321428573 +2025-03-10 16:23:56,598 - INFO - CLOSED short at 2100.05 | PnL: 0.68% | $1.14 +2025-03-10 16:23:56,599 - INFO - OPENED LONG at 2100.05 | Stop loss: 2089.5007714285716 | Take profit: 2131.624217857143 +2025-03-10 16:23:56,623 - INFO - CLOSED long at 2096.36 | PnL: -0.18% | $-0.54 +2025-03-10 16:23:56,623 - INFO - OPENED SHORT at 2096.36 | Stop loss: 2106.8907785714287 | Take profit: 2064.841132142857 +2025-03-10 16:23:56,661 - INFO - CLOSED short at 2089.04 | PnL: 0.35% | $0.49 +2025-03-10 16:23:56,706 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3381785714287 | Take profit: 2058.418932142857 +2025-03-10 16:23:56,841 - INFO - STOP LOSS hit for short at 2100.3381785714287 | PnL: -0.50% | $-1.19 +2025-03-10 16:23:56,881 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9760285714283 | Take profit: 2071.785382142857 +2025-03-10 16:23:57,657 - INFO - TAKE PROFIT hit for short at 2071.785382142857 | PnL: 1.50% | $2.74 +2025-03-10 16:23:57,691 - INFO - OPENED LONG at 2048.3 | Stop loss: 2038.0095214285716 | Take profit: 2079.097967857143 +2025-03-10 16:23:57,727 - INFO - CLOSED long at 2051.0 | PnL: 0.13% | $0.06 +2025-03-10 16:23:57,727 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3039785714286 | Take profit: 2020.1615321428571 +2025-03-10 16:23:58,146 - INFO - TAKE PROFIT hit for short at 2020.1615321428571 | PnL: 1.50% | $2.82 +2025-03-10 16:23:58,170 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6666785714285 | Take profit: 1985.233432142857 +2025-03-10 16:23:58,284 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$1.45, Avg Loss=$-0.87 +2025-03-10 16:23:58,285 - INFO - Episode 2: Reward=12.59, Balance=$105.52, Win Rate=71.4%, Trades=7, Episode PnL=$6.00, Total PnL=$17.80, Max Drawdown=1.2%, Pred Accuracy=99.7% +2025-03-10 16:23:58,285 - INFO - Refreshing data for episode 3 +2025-03-10 16:23:58,286 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:23:58,585 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:23:58,595 - INFO - Initialized environment with 100 candles +2025-03-10 16:23:58,629 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.573478571429 | Take profit: 2092.9530321428574 +2025-03-10 16:23:58,927 - INFO - CLOSED short at 2114.32 | PnL: 0.50% | $0.78 +2025-03-10 16:23:58,969 - INFO - OPENED SHORT at 2114.57 | Stop loss: 2125.1918285714287 | Take profit: 2082.777982142857 +2025-03-10 16:23:59,135 - INFO - CLOSED short at 2098.28 | PnL: 0.77% | $1.32 +2025-03-10 16:23:59,159 - INFO - OPENED SHORT at 2091.36 | Stop loss: 2101.8657785714286 | Take profit: 2059.9161321428574 +2025-03-10 16:23:59,405 - INFO - STOP LOSS hit for short at 2101.8657785714286 | PnL: -0.50% | $-1.20 +2025-03-10 16:23:59,459 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9760285714283 | Take profit: 2071.785382142857 +2025-03-10 16:23:59,788 - INFO - CLOSED short at 2084.95 | PnL: 0.88% | $1.53 +2025-03-10 16:23:59,817 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0318785714285 | Take profit: 2049.2978321428573 +2025-03-10 16:24:00,074 - INFO - TAKE PROFIT hit for short at 2049.2978321428573 | PnL: 1.50% | $2.81 +2025-03-10 16:24:00,105 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3039785714286 | Take profit: 2020.1615321428571 +2025-03-10 16:24:00,460 - INFO - TAKE PROFIT hit for short at 2020.1615321428571 | PnL: 1.50% | $2.89 +2025-03-10 16:24:00,485 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6666785714285 | Take profit: 1985.233432142857 +2025-03-10 16:24:00,576 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$1.87, Avg Loss=$-1.20 +2025-03-10 16:24:00,578 - INFO - Episode 3: Reward=19.07, Balance=$108.12, Win Rate=83.3%, Trades=6, Episode PnL=$8.12, Total PnL=$25.93, Max Drawdown=1.2%, Pred Accuracy=99.7% +2025-03-10 16:24:00,579 - INFO - Refreshing data for episode 4 +2025-03-10 16:24:00,579 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:24:00,894 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:24:00,907 - INFO - Initialized environment with 100 candles +2025-03-10 16:24:00,941 - INFO - OPENED SHORT at 2124.9 | Stop loss: 2135.573478571429 | Take profit: 2092.9530321428574 +2025-03-10 16:24:00,988 - INFO - CLOSED short at 2124.77 | PnL: 0.01% | $-0.18 +2025-03-10 16:24:01,013 - INFO - OPENED SHORT at 2120.26 | Stop loss: 2130.910278571429 | Take profit: 2088.3826321428573 +2025-03-10 16:24:01,236 - INFO - CLOSED short at 2114.57 | PnL: 0.27% | $0.33 +2025-03-10 16:24:01,258 - INFO - OPENED SHORT at 2112.57 | Stop loss: 2123.1818285714285 | Take profit: 2080.8079821428573 +2025-03-10 16:24:01,283 - INFO - CLOSED short at 2113.28 | PnL: -0.03% | $-0.26 +2025-03-10 16:24:01,306 - INFO - OPENED SHORT at 2114.5 | Stop loss: 2125.1214785714287 | Take profit: 2082.7090321428573 +2025-03-10 16:24:01,377 - INFO - CLOSED short at 2098.28 | PnL: 0.77% | $1.30 +2025-03-10 16:24:01,402 - INFO - OPENED SHORT at 2091.36 | Stop loss: 2101.8657785714286 | Take profit: 2059.9161321428574 +2025-03-10 16:24:01,537 - INFO - CLOSED short at 2100.0 | PnL: -0.41% | $-1.01 +2025-03-10 16:24:01,560 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.393128571429 | Take profit: 2071.214082142857 +2025-03-10 16:24:02,041 - INFO - TAKE PROFIT hit for short at 2071.214082142857 | PnL: 1.50% | $2.75 +2025-03-10 16:24:02,071 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.590478571429 | Take profit: 2017.5020321428574 +2025-03-10 16:24:02,408 - INFO - CLOSED short at 2036.71 | PnL: 0.57% | $0.94 +2025-03-10 16:24:02,408 - INFO - OPENED LONG at 2036.71 | Stop loss: 2026.4774714285716 | Take profit: 2067.334117857143 +2025-03-10 16:24:02,441 - INFO - CLOSED long at 2027.51 | PnL: -0.45% | $-1.12 +2025-03-10 16:24:02,441 - INFO - OPENED SHORT at 2027.51 | Stop loss: 2037.6965285714284 | Take profit: 1997.0238821428572 +2025-03-10 16:24:02,587 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.33, Avg Loss=$-0.64 +2025-03-10 16:24:02,588 - INFO - Episode 4: Reward=11.14, Balance=$102.74, Win Rate=50.0%, Trades=8, Episode PnL=$3.86, Total PnL=$28.66, Max Drawdown=1.0%, Pred Accuracy=99.7% +2025-03-10 16:24:02,588 - INFO - Refreshing data for episode 5 +2025-03-10 16:24:02,588 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:24:02,915 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:24:02,926 - INFO - Initialized environment with 100 candles +2025-03-10 16:24:03,659 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.0193964285713 | Take profit: 2096.333430357143 +2025-03-10 16:24:04,202 - INFO - TAKE PROFIT hit for short at 2096.333430357143 | PnL: 1.50% | $2.75 +2025-03-10 16:24:04,243 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.5979964285716 | Take profit: 2068.477630357143 +2025-03-10 16:24:04,297 - INFO - CLOSED short at 2089.04 | PnL: 0.52% | $0.85 +2025-03-10 16:24:04,298 - INFO - OPENED LONG at 2089.04 | Stop loss: 2078.5470535714285 | Take profit: 2120.447219642857 +2025-03-10 16:24:04,349 - INFO - CLOSED long at 2096.19 | PnL: 0.34% | $0.49 +2025-03-10 16:24:04,349 - INFO - OPENED SHORT at 2096.19 | Stop loss: 2106.7186964285715 | Take profit: 2064.675530357143 +2025-03-10 16:24:04,372 - INFO - CLOSED short at 2100.0 | PnL: -0.18% | $-0.57 +2025-03-10 16:24:04,403 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.3918964285717 | Take profit: 2071.215930357143 +2025-03-10 16:24:04,429 - INFO - CLOSED short at 2103.41 | PnL: -0.03% | $-0.26 +2025-03-10 16:24:04,457 - INFO - OPENED SHORT at 2104.22 | Stop loss: 2114.7888464285716 | Take profit: 2072.585080357143 +2025-03-10 16:24:04,500 - INFO - CLOSED short at 2104.67 | PnL: -0.02% | $-0.25 +2025-03-10 16:24:04,574 - INFO - OPENED SHORT at 2099.63 | Stop loss: 2110.175896428572 | Take profit: 2068.063930357143 +2025-03-10 16:24:04,644 - INFO - CLOSED short at 2094.16 | PnL: 0.26% | $0.32 +2025-03-10 16:24:04,675 - INFO - OPENED SHORT at 2096.96 | Stop loss: 2107.492546428571 | Take profit: 2065.433980357143 +2025-03-10 16:24:04,720 - INFO - CLOSED short at 2090.59 | PnL: 0.30% | $0.41 +2025-03-10 16:24:04,742 - INFO - OPENED SHORT at 2090.99 | Stop loss: 2101.4926964285714 | Take profit: 2059.553530357143 +2025-03-10 16:24:04,765 - INFO - CLOSED short at 2084.95 | PnL: 0.29% | $0.38 +2025-03-10 16:24:04,859 - INFO - OPENED SHORT at 2084.25 | Stop loss: 2094.7189964285712 | Take profit: 2052.914630357143 +2025-03-10 16:24:04,895 - INFO - CLOSED short at 2085.37 | PnL: -0.05% | $-0.31 +2025-03-10 16:24:04,932 - INFO - OPENED SHORT at 2084.11 | Stop loss: 2094.578296428572 | Take profit: 2052.776730357143 +2025-03-10 16:24:05,042 - INFO - CLOSED short at 2067.71 | PnL: 0.79% | $1.39 +2025-03-10 16:24:05,161 - INFO - OPENED SHORT at 2053.22 | Stop loss: 2063.5338464285715 | Take profit: 2022.3500803571428 +2025-03-10 16:24:05,183 - INFO - CLOSED short at 2058.11 | PnL: -0.24% | $-0.70 +2025-03-10 16:24:05,386 - INFO - OPENED SHORT at 2042.0 | Stop loss: 2052.2577464285714 | Take profit: 2011.2983803571428 +2025-03-10 16:24:05,427 - INFO - CLOSED short at 2036.71 | PnL: 0.26% | $0.32 +2025-03-10 16:24:05,472 - INFO - OPENED SHORT at 2027.51 | Stop loss: 2037.6952964285715 | Take profit: 1997.025730357143 +2025-03-10 16:24:05,496 - INFO - CLOSED short at 2010.35 | PnL: 0.85% | $1.53 +2025-03-10 16:24:05,634 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$0.94, Avg Loss=$-0.42 +2025-03-10 16:24:05,635 - INFO - Episode 5: Reward=12.50, Balance=$106.37, Win Rate=64.3%, Trades=14, Episode PnL=$5.88, Total PnL=$35.03, Max Drawdown=0.7%, Pred Accuracy=99.6% +2025-03-10 16:24:05,635 - INFO - Refreshing data for episode 6 +2025-03-10 16:24:05,636 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:24:05,998 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:24:06,009 - INFO - Initialized environment with 100 candles +2025-03-10 16:24:06,216 - INFO - OPENED SHORT at 2120.26 | Stop loss: 2130.909210714286 | Take profit: 2088.3842339285716 +2025-03-10 16:24:06,338 - INFO - CLOSED short at 2114.75 | PnL: 0.26% | $0.31 +2025-03-10 16:24:06,388 - INFO - OPENED LONG at 2115.21 | Stop loss: 2104.5860392857144 | Take profit: 2147.0100160714287 +2025-03-10 16:24:06,417 - INFO - CLOSED long at 2114.1 | PnL: -0.05% | $-0.30 +2025-03-10 16:24:06,442 - INFO - OPENED SHORT at 2115.11 | Stop loss: 2125.7334607142857 | Take profit: 2083.3114839285713 +2025-03-10 16:24:06,470 - INFO - CLOSED short at 2114.32 | PnL: 0.04% | $-0.12 +2025-03-10 16:24:06,552 - INFO - OPENED SHORT at 2112.57 | Stop loss: 2123.180760714286 | Take profit: 2080.8095839285716 +2025-03-10 16:24:06,664 - INFO - CLOSED short at 2115.07 | PnL: -0.12% | $-0.43 +2025-03-10 16:24:06,689 - INFO - OPENED SHORT at 2098.24 | Stop loss: 2108.7791107142853 | Take profit: 2066.694533928571 +2025-03-10 16:24:06,712 - INFO - CLOSED short at 2098.28 | PnL: -0.00% | $-0.20 +2025-03-10 16:24:06,745 - INFO - OPENED SHORT at 2091.36 | Stop loss: 2101.864710714286 | Take profit: 2059.9177339285716 +2025-03-10 16:24:06,818 - INFO - CLOSED short at 2089.04 | PnL: 0.11% | $0.02 +2025-03-10 16:24:06,843 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.337110714286 | Take profit: 2058.420533928572 +2025-03-10 16:24:06,887 - INFO - CLOSED short at 2096.19 | PnL: -0.30% | $-0.78 +2025-03-10 16:24:06,928 - INFO - OPENED SHORT at 2100.0 | Stop loss: 2110.547910714286 | Take profit: 2068.4281339285717 +2025-03-10 16:24:07,587 - INFO - TAKE PROFIT hit for short at 2068.4281339285717 | PnL: 1.50% | $2.70 +2025-03-10 16:24:07,617 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.589410714286 | Take profit: 2017.5036339285716 +2025-03-10 16:24:07,670 - INFO - CLOSED short at 2043.51 | PnL: 0.23% | $0.26 +2025-03-10 16:24:07,671 - INFO - OPENED LONG at 2043.51 | Stop loss: 2033.2445392857142 | Take profit: 2074.2345160714285 +2025-03-10 16:24:07,712 - INFO - CLOSED long at 2052.89 | PnL: 0.46% | $0.71 +2025-03-10 16:24:07,713 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.2023607142855 | Take profit: 2022.0247839285714 +2025-03-10 16:24:07,757 - INFO - CLOSED short at 2053.22 | PnL: -0.02% | $-0.23 +2025-03-10 16:24:07,757 - INFO - OPENED LONG at 2053.22 | Stop loss: 2042.9059892857142 | Take profit: 2084.0901660714285 +2025-03-10 16:24:07,801 - INFO - CLOSED long at 2058.11 | PnL: 0.24% | $0.28 +2025-03-10 16:24:07,801 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.448460714286 | Take profit: 2027.1664839285716 +2025-03-10 16:24:08,076 - INFO - TAKE PROFIT hit for short at 2027.1664839285716 | PnL: 1.50% | $2.80 +2025-03-10 16:24:08,118 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6656107142855 | Take profit: 1985.2350339285715 +2025-03-10 16:24:08,293 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$1.01, Avg Loss=$-0.34 +2025-03-10 16:24:08,294 - INFO - Episode 6: Reward=22.99, Balance=$105.03, Win Rate=53.8%, Trades=13, Episode PnL=$4.04, Total PnL=$40.06, Max Drawdown=1.8%, Pred Accuracy=99.6% +2025-03-10 16:24:08,294 - INFO - Refreshing data for episode 7 +2025-03-10 16:24:08,294 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:24:08,608 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:24:08,619 - INFO - Initialized environment with 100 candles +2025-03-10 16:24:08,653 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.0199428571427 | Take profit: 2096.3326107142857 +2025-03-10 16:24:09,159 - INFO - TAKE PROFIT hit for short at 2096.3326107142857 | PnL: 1.50% | $2.74 +2025-03-10 16:24:09,183 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.598542857143 | Take profit: 2068.476810714286 +2025-03-10 16:24:09,980 - INFO - TAKE PROFIT hit for short at 2068.476810714286 | PnL: 1.50% | $2.82 +2025-03-10 16:24:10,025 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.303292857143 | Take profit: 2020.1625607142857 +2025-03-10 16:24:10,297 - INFO - CLOSED short at 2043.95 | PnL: 0.34% | $0.50 +2025-03-10 16:24:10,298 - INFO - OPENED LONG at 2043.95 | Stop loss: 2033.6819571428573 | Take profit: 2074.681689285714 +2025-03-10 16:24:10,330 - INFO - CLOSED long at 2044.1 | PnL: 0.01% | $-0.19 +2025-03-10 16:24:10,330 - INFO - OPENED SHORT at 2044.1 | Stop loss: 2054.3687928571426 | Take profit: 2013.3660607142858 +2025-03-10 16:24:10,473 - INFO - TAKE PROFIT hit for short at 2013.3660607142858 | PnL: 1.50% | $2.90 +2025-03-10 16:24:10,523 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6659928571428 | Take profit: 1985.2344607142857 +2025-03-10 16:24:10,707 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.24, Avg Loss=$-0.19 +2025-03-10 16:24:10,708 - INFO - Episode 7: Reward=27.52, Balance=$108.78, Win Rate=80.0%, Trades=5, Episode PnL=$8.97, Total PnL=$48.84, Max Drawdown=0.0%, Pred Accuracy=99.7% +2025-03-10 16:24:10,709 - INFO - Refreshing data for episode 8 +2025-03-10 16:24:10,709 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:24:11,019 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:24:11,027 - INFO - Initialized environment with 100 candles +2025-03-10 16:24:11,062 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.0200357142858 | Take profit: 2096.3324714285714 +2025-03-10 16:24:11,573 - INFO - TAKE PROFIT hit for short at 2096.3324714285714 | PnL: 1.50% | $2.74 +2025-03-10 16:24:11,595 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.598635714286 | Take profit: 2068.4766714285715 +2025-03-10 16:24:12,320 - INFO - TAKE PROFIT hit for short at 2068.4766714285715 | PnL: 1.50% | $2.82 +2025-03-10 16:24:12,345 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.589885714286 | Take profit: 2017.5029214285717 +2025-03-10 16:24:12,746 - INFO - TAKE PROFIT hit for short at 2017.5029214285717 | PnL: 1.50% | $2.89 +2025-03-10 16:24:12,772 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6660857142856 | Take profit: 1985.2343214285715 +2025-03-10 16:24:12,882 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.82, Avg Loss=$0.00 +2025-03-10 16:24:12,883 - INFO - Episode 8: Reward=27.99, Balance=$108.46, Win Rate=100.0%, Trades=3, Episode PnL=$8.46, Total PnL=$57.30, Max Drawdown=0.0%, Pred Accuracy=99.7% +2025-03-10 16:24:12,883 - INFO - Refreshing data for episode 9 +2025-03-10 16:24:12,884 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:24:13,216 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:24:13,225 - INFO - Initialized environment with 100 candles +2025-03-10 16:24:13,326 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.0200357142858 | Take profit: 2096.3324714285714 +2025-03-10 16:24:13,426 - INFO - CLOSED short at 2116.81 | PnL: 0.54% | $0.86 +2025-03-10 16:24:13,461 - INFO - OPENED SHORT at 2114.78 | Stop loss: 2125.402285714286 | Take profit: 2082.9857214285717 +2025-03-10 16:24:13,630 - INFO - CLOSED short at 2114.57 | PnL: 0.01% | $-0.18 +2025-03-10 16:24:13,653 - INFO - OPENED SHORT at 2112.57 | Stop loss: 2123.181235714286 | Take profit: 2080.8088714285714 +2025-03-10 16:24:14,343 - INFO - CLOSED short at 2080.58 | PnL: 1.51% | $2.78 +2025-03-10 16:24:14,344 - INFO - OPENED LONG at 2080.58 | Stop loss: 2070.128714285714 | Take profit: 2111.8612785714286 +2025-03-10 16:24:14,371 - INFO - CLOSED long at 2084.75 | PnL: 0.20% | $0.20 +2025-03-10 16:24:14,372 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2221357142857 | Take profit: 2053.4061714285713 +2025-03-10 16:24:14,422 - INFO - CLOSED short at 2084.25 | PnL: 0.02% | $-0.15 +2025-03-10 16:24:14,447 - INFO - OPENED SHORT at 2085.37 | Stop loss: 2095.845235714286 | Take profit: 2054.0168714285714 +2025-03-10 16:24:14,635 - INFO - TAKE PROFIT hit for short at 2054.0168714285714 | PnL: 1.50% | $2.84 +2025-03-10 16:24:14,668 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3033857142855 | Take profit: 2020.1624214285714 +2025-03-10 16:24:15,035 - INFO - TAKE PROFIT hit for short at 2020.1624214285714 | PnL: 1.50% | $2.92 +2025-03-10 16:24:15,070 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6660857142856 | Take profit: 1985.2343214285715 +2025-03-10 16:24:15,188 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.92, Avg Loss=$-0.17 +2025-03-10 16:24:15,188 - INFO - Episode 9: Reward=30.54, Balance=$109.28, Win Rate=71.4%, Trades=7, Episode PnL=$9.07, Total PnL=$66.57, Max Drawdown=0.2%, Pred Accuracy=99.6% +2025-03-10 16:24:15,189 - INFO - Refreshing data for episode 10 +2025-03-10 16:24:15,189 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:24:15,499 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:24:15,508 - INFO - Initialized environment with 100 candles +2025-03-10 16:24:16,223 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.0200357142858 | Take profit: 2096.3324714285714 +2025-03-10 16:24:16,273 - INFO - CLOSED short at 2120.26 | PnL: 0.38% | $0.55 +2025-03-10 16:24:16,295 - INFO - OPENED SHORT at 2116.81 | Stop loss: 2127.4424357142852 | Take profit: 2084.985271428571 +2025-03-10 16:24:17,149 - INFO - CLOSED short at 2096.96 | PnL: 0.94% | $1.65 +2025-03-10 16:24:17,150 - INFO - OPENED LONG at 2096.96 | Stop loss: 2086.426814285714 | Take profit: 2128.4869785714286 +2025-03-10 16:24:17,173 - INFO - CLOSED long at 2098.66 | PnL: 0.08% | $-0.04 +2025-03-10 16:24:17,173 - INFO - OPENED SHORT at 2098.66 | Stop loss: 2109.2016857142858 | Take profit: 2067.1075214285715 +2025-03-10 16:24:17,533 - INFO - TAKE PROFIT hit for short at 2067.1075214285715 | PnL: 1.50% | $2.80 +2025-03-10 16:24:17,582 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.775935714286 | Take profit: 2012.7847714285713 +2025-03-10 16:24:17,654 - INFO - STOP LOSS hit for short at 2053.775935714286 | PnL: -0.50% | $-1.24 +2025-03-10 16:24:17,678 - INFO - OPENED SHORT at 2054.03 | Stop loss: 2064.348535714286 | Take profit: 2023.1469714285715 +2025-03-10 16:24:17,909 - INFO - TAKE PROFIT hit for short at 2023.1469714285715 | PnL: 1.50% | $2.84 +2025-03-10 16:24:17,936 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6660857142856 | Take profit: 1985.2343214285715 +2025-03-10 16:24:18,057 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$1.96, Avg Loss=$-0.64 +2025-03-10 16:24:18,058 - INFO - Episode 10: Reward=29.77, Balance=$106.57, Win Rate=66.7%, Trades=6, Episode PnL=$6.61, Total PnL=$73.14, Max Drawdown=1.2%, Pred Accuracy=99.4% +2025-03-10 16:24:18,209 - INFO - Model saved to checkpoints/trading_agent_episode_10.pt +2025-03-10 16:24:18,210 - INFO - Checkpoint saved at episode 10 +2025-03-10 16:24:19,407 - INFO - Visualization saved for episode 10 +2025-03-10 16:24:21,083 - INFO - Visualization saved for episode 10 +2025-03-10 16:24:21,096 - INFO - Refreshing data for episode 11 +2025-03-10 16:24:21,096 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:24:21,409 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:24:21,419 - INFO - Initialized environment with 100 candles +2025-03-10 16:24:21,681 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.0208035714286 | Take profit: 2096.331319642857 +2025-03-10 16:24:22,208 - INFO - TAKE PROFIT hit for short at 2096.331319642857 | PnL: 1.50% | $2.74 +2025-03-10 16:24:22,233 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.599403571429 | Take profit: 2068.4755196428573 +2025-03-10 16:24:23,031 - INFO - TAKE PROFIT hit for short at 2068.4755196428573 | PnL: 1.50% | $2.82 +2025-03-10 16:24:23,054 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.590653571429 | Take profit: 2017.5017696428572 +2025-03-10 16:24:23,458 - INFO - TAKE PROFIT hit for short at 2017.5017696428572 | PnL: 1.50% | $2.89 +2025-03-10 16:24:23,505 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6668535714284 | Take profit: 1985.233169642857 +2025-03-10 16:24:23,673 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.82, Avg Loss=$0.00 +2025-03-10 16:24:23,673 - INFO - Episode 11: Reward=27.97, Balance=$108.46, Win Rate=100.0%, Trades=3, Episode PnL=$8.46, Total PnL=$81.60, Max Drawdown=0.0%, Pred Accuracy=99.0% +2025-03-10 16:24:23,673 - INFO - Refreshing data for episode 12 +2025-03-10 16:24:23,673 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:24:23,980 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:24:23,989 - INFO - Initialized environment with 100 candles +2025-03-10 16:24:24,024 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.0208035714286 | Take profit: 2096.331319642857 +2025-03-10 16:24:24,493 - INFO - TAKE PROFIT hit for short at 2096.331319642857 | PnL: 1.50% | $2.74 +2025-03-10 16:24:24,523 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.599403571429 | Take profit: 2068.4755196428573 +2025-03-10 16:24:24,676 - INFO - CLOSED short at 2103.41 | PnL: -0.16% | $-0.52 +2025-03-10 16:24:24,677 - INFO - OPENED LONG at 2103.41 | Stop loss: 2092.8437964285713 | Take profit: 2135.034880357143 +2025-03-10 16:24:24,723 - INFO - CLOSED long at 2104.22 | PnL: 0.04% | $-0.12 +2025-03-10 16:24:24,723 - INFO - OPENED SHORT at 2104.22 | Stop loss: 2114.7902535714284 | Take profit: 2072.582969642857 +2025-03-10 16:24:25,308 - INFO - TAKE PROFIT hit for short at 2072.582969642857 | PnL: 1.50% | $2.80 +2025-03-10 16:24:25,337 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.590653571429 | Take profit: 2017.5017696428572 +2025-03-10 16:24:25,785 - INFO - TAKE PROFIT hit for short at 2017.5017696428572 | PnL: 1.50% | $2.88 +2025-03-10 16:24:25,831 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6668535714284 | Take profit: 1985.233169642857 +2025-03-10 16:24:25,948 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$2.81, Avg Loss=$-0.32 +2025-03-10 16:24:25,950 - INFO - Episode 12: Reward=10.97, Balance=$107.77, Win Rate=60.0%, Trades=5, Episode PnL=$7.90, Total PnL=$89.37, Max Drawdown=0.0%, Pred Accuracy=98.4% +2025-03-10 16:24:25,950 - INFO - Refreshing data for episode 13 +2025-03-10 16:24:25,951 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:24:26,266 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:24:26,275 - INFO - Initialized environment with 100 candles +2025-03-10 16:24:26,310 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.0208035714286 | Take profit: 2096.331319642857 +2025-03-10 16:24:26,791 - INFO - TAKE PROFIT hit for short at 2096.331319642857 | PnL: 1.50% | $2.74 +2025-03-10 16:24:26,822 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.599403571429 | Take profit: 2068.4755196428573 +2025-03-10 16:24:27,604 - INFO - TAKE PROFIT hit for short at 2068.4755196428573 | PnL: 1.50% | $2.82 +2025-03-10 16:24:27,626 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.590653571429 | Take profit: 2017.5017696428572 +2025-03-10 16:24:28,036 - INFO - TAKE PROFIT hit for short at 2017.5017696428572 | PnL: 1.50% | $2.89 +2025-03-10 16:24:28,062 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6668535714284 | Take profit: 1985.233169642857 +2025-03-10 16:24:28,232 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.82, Avg Loss=$0.00 +2025-03-10 16:24:28,232 - INFO - Episode 13: Reward=0.39, Balance=$108.46, Win Rate=100.0%, Trades=3, Episode PnL=$8.46, Total PnL=$97.83, Max Drawdown=0.0%, Pred Accuracy=97.1% +2025-03-10 16:24:28,233 - INFO - Refreshing data for episode 14 +2025-03-10 16:24:28,233 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:24:28,544 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:24:28,553 - INFO - Initialized environment with 100 candles +2025-03-10 16:24:28,811 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.0208035714286 | Take profit: 2096.331319642857 +2025-03-10 16:24:28,865 - INFO - CLOSED short at 2120.26 | PnL: 0.38% | $0.55 +2025-03-10 16:24:28,889 - INFO - OPENED SHORT at 2116.81 | Stop loss: 2127.443203571429 | Take profit: 2084.984119642857 +2025-03-10 16:24:29,654 - INFO - CLOSED short at 2096.96 | PnL: 0.94% | $1.65 +2025-03-10 16:24:29,655 - INFO - OPENED LONG at 2096.96 | Stop loss: 2086.426046428571 | Take profit: 2128.488130357143 +2025-03-10 16:24:29,682 - INFO - CLOSED long at 2098.66 | PnL: 0.08% | $-0.04 +2025-03-10 16:24:29,683 - INFO - OPENED SHORT at 2098.66 | Stop loss: 2109.202453571428 | Take profit: 2067.106369642857 +2025-03-10 16:24:30,015 - INFO - TAKE PROFIT hit for short at 2067.106369642857 | PnL: 1.50% | $2.80 +2025-03-10 16:24:30,047 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3041535714283 | Take profit: 2020.1612696428572 +2025-03-10 16:24:30,369 - INFO - TAKE PROFIT hit for short at 2020.1612696428572 | PnL: 1.50% | $2.88 +2025-03-10 16:24:30,394 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6668535714284 | Take profit: 1985.233169642857 +2025-03-10 16:24:30,502 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.97, Avg Loss=$-0.04 +2025-03-10 16:24:30,503 - INFO - Episode 14: Reward=2.28, Balance=$107.83, Win Rate=80.0%, Trades=5, Episode PnL=$7.87, Total PnL=$105.66, Max Drawdown=0.0%, Pred Accuracy=96.7% +2025-03-10 16:24:30,503 - INFO - Refreshing data for episode 15 +2025-03-10 16:24:30,503 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:24:30,810 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:24:30,821 - INFO - Initialized environment with 100 candles +2025-03-10 16:24:31,674 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.0208035714286 | Take profit: 2096.331319642857 +2025-03-10 16:24:31,780 - INFO - CLOSED short at 2114.78 | PnL: 0.64% | $1.05 +2025-03-10 16:24:31,811 - INFO - OPENED SHORT at 2115.52 | Stop loss: 2126.1467535714287 | Take profit: 2083.713469642857 +2025-03-10 16:24:32,627 - INFO - CLOSED short at 2084.95 | PnL: 1.45% | $2.66 +2025-03-10 16:24:32,628 - INFO - OPENED LONG at 2084.95 | Stop loss: 2074.4760964285715 | Take profit: 2116.297980357143 +2025-03-10 16:24:32,659 - INFO - CLOSED long at 2080.58 | PnL: -0.21% | $-0.63 +2025-03-10 16:24:32,659 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.032053571428 | Take profit: 2049.297569642857 +2025-03-10 16:24:32,947 - INFO - TAKE PROFIT hit for short at 2049.297569642857 | PnL: 1.50% | $2.83 +2025-03-10 16:24:32,971 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3041535714283 | Take profit: 2020.1612696428572 +2025-03-10 16:24:33,421 - INFO - TAKE PROFIT hit for short at 2020.1612696428572 | PnL: 1.50% | $2.90 +2025-03-10 16:24:33,449 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6668535714284 | Take profit: 1985.233169642857 +2025-03-10 16:24:33,536 - INFO - CLOSED short at 2019.57 | PnL: -0.20% | $-0.64 +2025-03-10 16:24:33,580 - INFO - OPENED SHORT at 2014.56 | Stop loss: 2024.6819535714285 | Take profit: 1984.267869642857 +2025-03-10 16:24:33,659 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.36, Avg Loss=$-0.63 +2025-03-10 16:24:33,660 - INFO - Episode 15: Reward=0.99, Balance=$108.17, Win Rate=66.7%, Trades=6, Episode PnL=$8.80, Total PnL=$113.83, Max Drawdown=0.6%, Pred Accuracy=97.3% +2025-03-10 16:24:33,660 - INFO - Refreshing data for episode 16 +2025-03-10 16:24:33,660 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:24:33,973 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:24:33,983 - INFO - Initialized environment with 100 candles +2025-03-10 16:24:34,019 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.0208035714286 | Take profit: 2096.331319642857 +2025-03-10 16:24:34,074 - INFO - CLOSED short at 2120.26 | PnL: 0.38% | $0.55 +2025-03-10 16:24:34,074 - INFO - OPENED LONG at 2120.26 | Stop loss: 2109.609546428572 | Take profit: 2152.1376303571433 +2025-03-10 16:24:34,101 - INFO - CLOSED long at 2116.81 | PnL: -0.16% | $-0.52 +2025-03-10 16:24:34,101 - INFO - OPENED SHORT at 2116.81 | Stop loss: 2127.443203571429 | Take profit: 2084.984119642857 +2025-03-10 16:24:34,552 - INFO - CLOSED short at 2098.28 | PnL: 0.88% | $1.52 +2025-03-10 16:24:34,552 - INFO - OPENED LONG at 2098.28 | Stop loss: 2087.7394464285717 | Take profit: 2129.8279303571435 +2025-03-10 16:24:34,571 - INFO - CLOSED long at 2091.36 | PnL: -0.33% | $-0.85 +2025-03-10 16:24:34,599 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.599403571429 | Take profit: 2068.4755196428573 +2025-03-10 16:24:34,817 - INFO - CLOSED short at 2102.83 | PnL: -0.13% | $-0.46 +2025-03-10 16:24:34,818 - INFO - OPENED LONG at 2102.83 | Stop loss: 2092.2666964285713 | Take profit: 2134.446180357143 +2025-03-10 16:24:34,866 - INFO - CLOSED long at 2103.41 | PnL: 0.03% | $-0.14 +2025-03-10 16:24:34,866 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9762035714284 | Take profit: 2071.785119642857 +2025-03-10 16:24:34,888 - INFO - CLOSED short at 2104.22 | PnL: -0.04% | $-0.27 +2025-03-10 16:24:34,889 - INFO - OPENED LONG at 2104.22 | Stop loss: 2093.6497464285712 | Take profit: 2135.857030357143 +2025-03-10 16:24:34,919 - INFO - CLOSED long at 2104.67 | PnL: 0.02% | $-0.15 +2025-03-10 16:24:34,920 - INFO - OPENED SHORT at 2104.67 | Stop loss: 2115.2425035714286 | Take profit: 2073.026219642857 +2025-03-10 16:24:34,944 - INFO - CLOSED short at 2105.26 | PnL: -0.03% | $-0.25 +2025-03-10 16:24:34,944 - INFO - OPENED LONG at 2105.26 | Stop loss: 2094.6845464285716 | Take profit: 2136.912630357143 +2025-03-10 16:24:34,998 - INFO - CLOSED long at 2099.22 | PnL: -0.29% | $-0.75 +2025-03-10 16:24:34,998 - INFO - OPENED SHORT at 2099.22 | Stop loss: 2109.7652535714287 | Take profit: 2067.657969642857 +2025-03-10 16:24:35,028 - INFO - CLOSED short at 2094.16 | PnL: 0.24% | $0.27 +2025-03-10 16:24:35,029 - INFO - OPENED LONG at 2094.16 | Stop loss: 2083.640046428571 | Take profit: 2125.6461303571427 +2025-03-10 16:24:35,054 - INFO - CLOSED long at 2096.96 | PnL: 0.13% | $0.07 +2025-03-10 16:24:35,055 - INFO - OPENED SHORT at 2096.96 | Stop loss: 2107.4939535714284 | Take profit: 2065.4318696428572 +2025-03-10 16:24:35,141 - INFO - CLOSED short at 2090.59 | PnL: 0.30% | $0.39 +2025-03-10 16:24:35,142 - INFO - OPENED LONG at 2090.59 | Stop loss: 2080.0878964285716 | Take profit: 2122.022580357143 +2025-03-10 16:24:35,197 - INFO - CLOSED long at 2090.99 | PnL: 0.02% | $-0.16 +2025-03-10 16:24:35,197 - INFO - OPENED SHORT at 2090.99 | Stop loss: 2101.4941035714282 | Take profit: 2059.551419642857 +2025-03-10 16:24:35,286 - INFO - CLOSED short at 2080.58 | PnL: 0.50% | $0.77 +2025-03-10 16:24:35,286 - INFO - OPENED LONG at 2080.58 | Stop loss: 2070.1279464285712 | Take profit: 2111.862430357143 +2025-03-10 16:24:35,312 - INFO - CLOSED long at 2084.75 | PnL: 0.20% | $0.20 +2025-03-10 16:24:35,312 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2229035714286 | Take profit: 2053.405019642857 +2025-03-10 16:24:35,334 - INFO - CLOSED short at 2081.0 | PnL: 0.18% | $0.16 +2025-03-10 16:24:35,360 - INFO - OPENED SHORT at 2084.25 | Stop loss: 2094.7204035714285 | Take profit: 2052.912519642857 +2025-03-10 16:24:35,382 - INFO - CLOSED short at 2085.37 | PnL: -0.05% | $-0.30 +2025-03-10 16:24:35,383 - INFO - OPENED LONG at 2085.37 | Stop loss: 2074.8939964285714 | Take profit: 2116.7242803571426 +2025-03-10 16:24:35,427 - INFO - CLOSED long at 2083.07 | PnL: -0.11% | $-0.41 +2025-03-10 16:24:35,428 - INFO - OPENED SHORT at 2083.07 | Stop loss: 2093.5345035714286 | Take profit: 2051.7502196428572 +2025-03-10 16:24:35,521 - INFO - CLOSED short at 2048.3 | PnL: 1.67% | $3.06 +2025-03-10 16:24:35,521 - INFO - OPENED LONG at 2048.3 | Stop loss: 2038.0093464285717 | Take profit: 2079.098230357143 +2025-03-10 16:24:35,562 - INFO - CLOSED long at 2051.0 | PnL: 0.13% | $0.06 +2025-03-10 16:24:35,563 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3041535714283 | Take profit: 2020.1612696428572 +2025-03-10 16:24:35,601 - INFO - CLOSED short at 2043.51 | PnL: 0.37% | $0.53 +2025-03-10 16:24:35,602 - INFO - OPENED LONG at 2043.51 | Stop loss: 2033.2432964285713 | Take profit: 2074.236380357143 +2025-03-10 16:24:35,669 - INFO - CLOSED long at 2053.22 | PnL: 0.48% | $0.76 +2025-03-10 16:24:35,697 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.7702964285716 | Take profit: 2089.0553803571433 +2025-03-10 16:24:35,741 - INFO - CLOSED long at 2050.18 | PnL: -0.39% | $-0.99 +2025-03-10 16:24:35,742 - INFO - OPENED SHORT at 2050.18 | Stop loss: 2060.480053571428 | Take profit: 2019.3535696428569 +2025-03-10 16:24:35,767 - INFO - CLOSED short at 2046.76 | PnL: 0.17% | $0.13 +2025-03-10 16:24:35,767 - INFO - OPENED LONG at 2046.76 | Stop loss: 2036.4770464285714 | Take profit: 2077.535130357143 +2025-03-10 16:24:35,816 - INFO - CLOSED long at 2044.1 | PnL: -0.13% | $-0.46 +2025-03-10 16:24:35,816 - INFO - OPENED SHORT at 2044.1 | Stop loss: 2054.3696535714284 | Take profit: 2013.3647696428573 +2025-03-10 16:24:35,846 - INFO - CLOSED short at 2043.59 | PnL: 0.02% | $-0.15 +2025-03-10 16:24:35,847 - INFO - OPENED LONG at 2043.59 | Stop loss: 2033.3228964285713 | Take profit: 2074.3175803571426 +2025-03-10 16:24:35,880 - INFO - CLOSED long at 2042.0 | PnL: -0.08% | $-0.36 +2025-03-10 16:24:35,952 - INFO - OPENED LONG at 2036.71 | Stop loss: 2026.4772964285714 | Take profit: 2067.334380357143 +2025-03-10 16:24:36,069 - INFO - STOP LOSS hit for long at 2026.4772964285714 | PnL: -0.50% | $-1.20 +2025-03-10 16:24:36,091 - INFO - OPENED LONG at 2015.54 | Stop loss: 2005.4131464285715 | Take profit: 2045.8468303571426 +2025-03-10 16:24:36,149 - INFO - CLOSED long at 2019.57 | PnL: 0.20% | $0.20 +2025-03-10 16:24:36,149 - INFO - OPENED SHORT at 2019.57 | Stop loss: 2029.7170035714284 | Take profit: 1989.2027196428571 +2025-03-10 16:24:36,186 - INFO - CLOSED short at 2014.56 | PnL: 0.25% | $0.29 +2025-03-10 16:24:36,186 - INFO - OPENED LONG at 2014.56 | Stop loss: 2004.4380464285712 | Take profit: 2044.8521303571429 +2025-03-10 16:24:36,214 - INFO - CLOSED long at 2021.97 | PnL: 0.37% | $0.53 +2025-03-10 16:24:36,214 - INFO - OPENED SHORT at 2021.97 | Stop loss: 2032.1290035714287 | Take profit: 1991.5667196428572 +2025-03-10 16:24:36,240 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 60.0% in downtrends | Avg Win=$0.59, Avg Loss=$-0.46 +2025-03-10 16:24:36,241 - INFO - Episode 16: Reward=-10.95, Balance=$102.06, Win Rate=50.0%, Trades=32, Episode PnL=$4.59, Total PnL=$115.89, Max Drawdown=2.9%, Pred Accuracy=97.7% +2025-03-10 16:24:36,242 - INFO - Refreshing data for episode 17 +2025-03-10 16:24:36,242 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:24:36,585 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:24:36,595 - INFO - Initialized environment with 100 candles +2025-03-10 16:24:36,706 - INFO - OPENED LONG at 2128.33 | Stop loss: 2117.6391964285713 | Take profit: 2160.3286803571427 +2025-03-10 16:24:36,859 - INFO - STOP LOSS hit for long at 2117.6391964285713 | PnL: -0.50% | $-1.18 +2025-03-10 16:24:36,884 - INFO - OPENED LONG at 2114.78 | Stop loss: 2104.1569464285717 | Take profit: 2146.5754303571434 +2025-03-10 16:24:36,931 - INFO - CLOSED long at 2114.75 | PnL: -0.00% | $-0.20 +2025-03-10 16:24:36,932 - INFO - OPENED SHORT at 2114.75 | Stop loss: 2125.3729035714287 | Take profit: 2082.955019642857 +2025-03-10 16:24:36,958 - INFO - CLOSED short at 2116.06 | PnL: -0.06% | $-0.31 +2025-03-10 16:24:36,958 - INFO - OPENED LONG at 2116.06 | Stop loss: 2105.4305464285712 | Take profit: 2147.874630357143 +2025-03-10 16:24:37,122 - INFO - CLOSED long at 2112.57 | PnL: -0.16% | $-0.51 +2025-03-10 16:24:37,123 - INFO - OPENED SHORT at 2112.57 | Stop loss: 2123.1820035714286 | Take profit: 2080.807719642857 +2025-03-10 16:24:37,182 - INFO - CLOSED short at 2113.28 | PnL: -0.03% | $-0.26 +2025-03-10 16:24:37,183 - INFO - OPENED LONG at 2113.28 | Stop loss: 2102.664446428572 | Take profit: 2145.052930357143 +2025-03-10 16:24:37,235 - INFO - CLOSED long at 2114.5 | PnL: 0.06% | $-0.08 +2025-03-10 16:24:37,236 - INFO - OPENED SHORT at 2114.5 | Stop loss: 2125.1216535714284 | Take profit: 2082.708769642857 +2025-03-10 16:24:37,265 - INFO - CLOSED short at 2115.07 | PnL: -0.03% | $-0.24 +2025-03-10 16:24:37,266 - INFO - OPENED LONG at 2115.07 | Stop loss: 2104.4454964285715 | Take profit: 2146.869780357143 +2025-03-10 16:24:37,291 - INFO - STOP LOSS hit for long at 2104.4454964285715 | PnL: -0.50% | $-1.14 +2025-03-10 16:24:37,315 - INFO - OPENED LONG at 2098.28 | Stop loss: 2087.7394464285717 | Take profit: 2129.8279303571435 +2025-03-10 16:24:37,381 - INFO - CLOSED long at 2096.36 | PnL: -0.09% | $-0.36 +2025-03-10 16:24:37,382 - INFO - OPENED SHORT at 2096.36 | Stop loss: 2106.890953571429 | Take profit: 2064.8408696428573 +2025-03-10 16:24:37,402 - INFO - CLOSED short at 2089.04 | PnL: 0.35% | $0.47 +2025-03-10 16:24:37,403 - INFO - OPENED LONG at 2089.04 | Stop loss: 2078.545646428571 | Take profit: 2120.4493303571426 +2025-03-10 16:24:37,495 - INFO - CLOSED long at 2100.0 | PnL: 0.52% | $0.80 +2025-03-10 16:24:37,495 - INFO - OPENED SHORT at 2100.0 | Stop loss: 2110.549153571428 | Take profit: 2068.4262696428573 +2025-03-10 16:24:37,541 - INFO - CLOSED short at 2102.83 | PnL: -0.13% | $-0.44 +2025-03-10 16:24:37,541 - INFO - OPENED LONG at 2102.83 | Stop loss: 2092.2666964285713 | Take profit: 2134.446180357143 +2025-03-10 16:24:37,621 - INFO - CLOSED long at 2104.22 | PnL: 0.07% | $-0.06 +2025-03-10 16:24:37,622 - INFO - OPENED SHORT at 2104.22 | Stop loss: 2114.7902535714284 | Take profit: 2072.582969642857 +2025-03-10 16:24:37,658 - INFO - CLOSED short at 2104.67 | PnL: -0.02% | $-0.23 +2025-03-10 16:24:37,659 - INFO - OPENED LONG at 2104.67 | Stop loss: 2094.0974964285715 | Take profit: 2136.3137803571426 +2025-03-10 16:24:37,711 - INFO - CLOSED long at 2099.63 | PnL: -0.24% | $-0.64 +2025-03-10 16:24:37,712 - INFO - OPENED SHORT at 2099.63 | Stop loss: 2110.1773035714286 | Take profit: 2068.0618196428572 +2025-03-10 16:24:37,804 - INFO - CLOSED short at 2098.66 | PnL: 0.05% | $-0.10 +2025-03-10 16:24:37,805 - INFO - OPENED LONG at 2098.66 | Stop loss: 2088.117546428571 | Take profit: 2130.2136303571424 +2025-03-10 16:24:37,830 - INFO - CLOSED long at 2090.59 | PnL: -0.38% | $-0.90 +2025-03-10 16:24:37,830 - INFO - OPENED SHORT at 2090.59 | Stop loss: 2101.0921035714287 | Take profit: 2059.1574196428573 +2025-03-10 16:24:37,854 - INFO - CLOSED short at 2090.99 | PnL: -0.02% | $-0.22 +2025-03-10 16:24:37,855 - INFO - OPENED LONG at 2090.99 | Stop loss: 2080.4858964285713 | Take profit: 2122.428580357143 +2025-03-10 16:24:37,925 - INFO - CLOSED long at 2084.95 | PnL: -0.29% | $-0.72 +2025-03-10 16:24:37,925 - INFO - OPENED SHORT at 2084.95 | Stop loss: 2095.4239035714286 | Take profit: 2053.602019642857 +2025-03-10 16:24:38,100 - INFO - CLOSED short at 2084.25 | PnL: 0.03% | $-0.12 +2025-03-10 16:24:38,101 - INFO - OPENED LONG at 2084.25 | Stop loss: 2073.7795964285715 | Take profit: 2115.587480357143 +2025-03-10 16:24:38,126 - INFO - CLOSED long at 2085.37 | PnL: 0.05% | $-0.08 +2025-03-10 16:24:38,126 - INFO - OPENED SHORT at 2085.37 | Stop loss: 2095.8460035714284 | Take profit: 2054.015719642857 +2025-03-10 16:24:38,248 - INFO - TAKE PROFIT hit for short at 2054.015719642857 | PnL: 1.50% | $2.56 +2025-03-10 16:24:38,281 - INFO - OPENED LONG at 2051.0 | Stop loss: 2040.6958464285715 | Take profit: 2081.838730357143 +2025-03-10 16:24:38,366 - INFO - CLOSED long at 2052.89 | PnL: 0.09% | $-0.01 +2025-03-10 16:24:38,367 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.203603571428 | Take profit: 2022.022919642857 +2025-03-10 16:24:38,435 - INFO - CLOSED short at 2053.22 | PnL: -0.02% | $-0.22 +2025-03-10 16:24:38,473 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.449703571429 | Take profit: 2027.1646196428574 +2025-03-10 16:24:38,543 - INFO - CLOSED short at 2046.76 | PnL: 0.55% | $0.84 +2025-03-10 16:24:38,544 - INFO - OPENED LONG at 2046.76 | Stop loss: 2036.4770464285714 | Take profit: 2077.535130357143 +2025-03-10 16:24:38,568 - INFO - CLOSED long at 2043.95 | PnL: -0.14% | $-0.45 +2025-03-10 16:24:38,569 - INFO - OPENED SHORT at 2043.95 | Stop loss: 2054.2189035714287 | Take profit: 2013.2170196428574 +2025-03-10 16:24:38,706 - INFO - CLOSED short at 2027.51 | PnL: 0.80% | $1.32 +2025-03-10 16:24:38,708 - INFO - OPENED LONG at 2027.51 | Stop loss: 2017.3232964285714 | Take profit: 2057.9963803571427 +2025-03-10 16:24:38,742 - INFO - CLOSED long at 2010.35 | PnL: -0.85% | $-1.80 +2025-03-10 16:24:38,742 - INFO - OPENED SHORT at 2010.35 | Stop loss: 2020.4509035714284 | Take profit: 1980.1210196428572 +2025-03-10 16:24:38,896 - INFO - STOP LOSS hit for short at 2020.4509035714284 | PnL: -0.50% | $-1.13 +2025-03-10 16:24:38,917 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 26.7% in downtrends | Avg Win=$1.20, Avg Loss=$-0.48 +2025-03-10 16:24:38,917 - INFO - Episode 17: Reward=-38.22, Balance=$94.59, Win Rate=17.2%, Trades=29, Episode PnL=$-0.39, Total PnL=$110.48, Max Drawdown=5.4%, Pred Accuracy=97.7% +2025-03-10 16:24:38,918 - INFO - Refreshing data for episode 18 +2025-03-10 16:24:38,918 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:24:39,217 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:24:39,228 - INFO - Initialized environment with 100 candles +2025-03-10 16:24:39,262 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.0208035714286 | Take profit: 2096.331319642857 +2025-03-10 16:24:39,371 - INFO - CLOSED short at 2115.52 | PnL: 0.60% | $0.98 +2025-03-10 16:24:39,371 - INFO - OPENED LONG at 2115.52 | Stop loss: 2104.8932464285713 | Take profit: 2147.3265303571425 +2025-03-10 16:24:39,402 - INFO - CLOSED long at 2114.75 | PnL: -0.04% | $-0.27 +2025-03-10 16:24:39,402 - INFO - OPENED SHORT at 2114.75 | Stop loss: 2125.3729035714287 | Take profit: 2082.955019642857 +2025-03-10 16:24:39,425 - INFO - CLOSED short at 2116.06 | PnL: -0.06% | $-0.32 +2025-03-10 16:24:39,426 - INFO - OPENED LONG at 2116.06 | Stop loss: 2105.4305464285712 | Take profit: 2147.874630357143 +2025-03-10 16:24:39,454 - INFO - CLOSED long at 2115.21 | PnL: -0.04% | $-0.28 +2025-03-10 16:24:39,454 - INFO - OPENED SHORT at 2115.21 | Stop loss: 2125.835203571429 | Take profit: 2083.4081196428574 +2025-03-10 16:24:40,238 - INFO - CLOSED short at 2094.16 | PnL: 1.00% | $1.75 +2025-03-10 16:24:40,289 - INFO - OPENED SHORT at 2096.96 | Stop loss: 2107.4939535714284 | Take profit: 2065.4318696428572 +2025-03-10 16:24:40,491 - INFO - CLOSED short at 2080.58 | PnL: 0.78% | $1.36 +2025-03-10 16:24:40,525 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2229035714286 | Take profit: 2053.405019642857 +2025-03-10 16:24:40,550 - INFO - CLOSED short at 2081.0 | PnL: 0.18% | $0.16 +2025-03-10 16:24:40,574 - INFO - OPENED SHORT at 2084.25 | Stop loss: 2094.7204035714285 | Take profit: 2052.912519642857 +2025-03-10 16:24:40,759 - INFO - CLOSED short at 2067.71 | PnL: 0.79% | $1.40 +2025-03-10 16:24:40,827 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.590653571429 | Take profit: 2017.5017696428572 +2025-03-10 16:24:40,886 - INFO - CLOSED short at 2043.51 | PnL: 0.23% | $0.27 +2025-03-10 16:24:40,954 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.449703571429 | Take profit: 2027.1646196428574 +2025-03-10 16:24:40,998 - INFO - CLOSED short at 2050.18 | PnL: 0.39% | $0.59 +2025-03-10 16:24:41,042 - INFO - OPENED SHORT at 2043.95 | Stop loss: 2054.2189035714287 | Take profit: 2013.2170196428574 +2025-03-10 16:24:41,144 - INFO - CLOSED short at 2043.59 | PnL: 0.02% | $-0.17 +2025-03-10 16:24:41,325 - INFO - OPENED SHORT at 2014.41 | Stop loss: 2024.5312035714287 | Take profit: 1984.1201196428574 +2025-03-10 16:24:41,347 - INFO - CLOSED short at 2019.57 | PnL: -0.26% | $-0.73 +2025-03-10 16:24:41,423 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$0.93, Avg Loss=$-0.35 +2025-03-10 16:24:41,424 - INFO - Episode 18: Reward=0.50, Balance=$104.74, Win Rate=58.3%, Trades=12, Episode PnL=$5.29, Total PnL=$115.22, Max Drawdown=0.9%, Pred Accuracy=97.4% +2025-03-10 16:24:41,424 - INFO - Refreshing data for episode 19 +2025-03-10 16:24:41,425 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:24:41,745 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:24:41,755 - INFO - Initialized environment with 100 candles +2025-03-10 16:24:42,037 - INFO - OPENED SHORT at 2114.78 | Stop loss: 2125.403053571429 | Take profit: 2082.9845696428574 +2025-03-10 16:24:42,090 - INFO - CLOSED short at 2114.75 | PnL: 0.00% | $-0.19 +2025-03-10 16:24:42,209 - INFO - OPENED LONG at 2114.32 | Stop loss: 2103.6992464285718 | Take profit: 2146.1085303571426 +2025-03-10 16:24:42,231 - INFO - CLOSED long at 2114.57 | PnL: 0.01% | $-0.17 +2025-03-10 16:24:42,412 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.599403571429 | Take profit: 2068.4755196428573 +2025-03-10 16:24:42,436 - INFO - CLOSED short at 2096.36 | PnL: 0.18% | $0.15 +2025-03-10 16:24:42,484 - INFO - OPENED SHORT at 2089.84 | Stop loss: 2100.3383535714283 | Take profit: 2058.4186696428574 +2025-03-10 16:24:42,509 - INFO - CLOSED short at 2096.19 | PnL: -0.30% | $-0.79 +2025-03-10 16:24:42,560 - INFO - OPENED SHORT at 2102.83 | Stop loss: 2113.3933035714285 | Take profit: 2071.2138196428573 +2025-03-10 16:24:42,582 - INFO - CLOSED short at 2103.41 | PnL: -0.03% | $-0.25 +2025-03-10 16:24:42,829 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.032053571428 | Take profit: 2049.297569642857 +2025-03-10 16:24:42,853 - INFO - CLOSED short at 2084.75 | PnL: -0.20% | $-0.58 +2025-03-10 16:24:42,926 - INFO - OPENED SHORT at 2085.37 | Stop loss: 2095.8460035714284 | Take profit: 2054.015719642857 +2025-03-10 16:24:42,948 - INFO - CLOSED short at 2084.11 | PnL: 0.06% | $-0.08 +2025-03-10 16:24:43,096 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.203603571428 | Take profit: 2022.022919642857 +2025-03-10 16:24:43,118 - INFO - CLOSED short at 2053.22 | PnL: -0.02% | $-0.22 +2025-03-10 16:24:43,141 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.449703571429 | Take profit: 2027.1646196428574 +2025-03-10 16:24:43,199 - INFO - CLOSED short at 2050.18 | PnL: 0.39% | $0.55 +2025-03-10 16:24:43,228 - INFO - OPENED SHORT at 2046.76 | Stop loss: 2057.042953571429 | Take profit: 2015.9848696428571 +2025-03-10 16:24:43,250 - INFO - CLOSED short at 2043.95 | PnL: 0.14% | $0.07 +2025-03-10 16:24:43,272 - INFO - OPENED LONG at 2044.1 | Stop loss: 2033.8303464285714 | Take profit: 2074.835230357143 +2025-03-10 16:24:43,294 - INFO - CLOSED long at 2043.59 | PnL: -0.02% | $-0.24 +2025-03-10 16:24:43,320 - INFO - OPENED SHORT at 2042.0 | Stop loss: 2052.2591535714287 | Take profit: 2011.2962696428572 +2025-03-10 16:24:43,343 - INFO - CLOSED short at 2036.71 | PnL: 0.26% | $0.31 +2025-03-10 16:24:43,364 - INFO - OPENED SHORT at 2027.51 | Stop loss: 2037.6967035714288 | Take profit: 1997.023619642857 +2025-03-10 16:24:43,389 - INFO - CLOSED short at 2010.35 | PnL: 0.85% | $1.44 +2025-03-10 16:24:43,419 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6668535714284 | Take profit: 1985.233169642857 +2025-03-10 16:24:43,489 - INFO - CLOSED short at 2014.56 | PnL: 0.05% | $-0.10 +2025-03-10 16:24:43,533 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 0.0% in downtrends | Avg Win=$0.50, Avg Loss=$-0.29 +2025-03-10 16:24:43,534 - INFO - Episode 19: Reward=-14.61, Balance=$99.89, Win Rate=35.7%, Trades=14, Episode PnL=$-0.11, Total PnL=$115.11, Max Drawdown=2.1%, Pred Accuracy=97.3% +2025-03-10 16:24:43,534 - INFO - Refreshing data for episode 20 +2025-03-10 16:24:43,534 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:24:43,838 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:24:43,847 - INFO - Initialized environment with 100 candles +2025-03-10 16:24:44,740 - INFO - OPENED SHORT at 2116.06 | Stop loss: 2126.6894535714287 | Take profit: 2084.245369642857 +2025-03-10 16:24:44,783 - INFO - CLOSED short at 2114.1 | PnL: 0.09% | $-0.01 +2025-03-10 16:24:44,807 - INFO - OPENED SHORT at 2115.11 | Stop loss: 2125.734703571429 | Take profit: 2083.3096196428573 +2025-03-10 16:24:44,964 - INFO - CLOSED short at 2098.24 | PnL: 0.80% | $1.36 +2025-03-10 16:24:45,010 - INFO - OPENED SHORT at 2091.36 | Stop loss: 2101.8659535714287 | Take profit: 2059.915869642857 +2025-03-10 16:24:45,036 - INFO - CLOSED short at 2100.05 | PnL: -0.42% | $-1.02 +2025-03-10 16:24:45,066 - INFO - OPENED SHORT at 2096.36 | Stop loss: 2106.890953571429 | Take profit: 2064.8408696428573 +2025-03-10 16:24:45,426 - INFO - CLOSED short at 2084.95 | PnL: 0.54% | $0.87 +2025-03-10 16:24:45,448 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.032053571428 | Take profit: 2049.297569642857 +2025-03-10 16:24:45,654 - INFO - TAKE PROFIT hit for short at 2049.297569642857 | PnL: 1.50% | $2.78 +2025-03-10 16:24:45,684 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3041535714283 | Take profit: 2020.1612696428572 +2025-03-10 16:24:45,947 - INFO - CLOSED short at 2043.59 | PnL: 0.36% | $0.53 +2025-03-10 16:24:45,967 - INFO - OPENED SHORT at 2042.0 | Stop loss: 2052.2591535714287 | Take profit: 2011.2962696428572 +2025-03-10 16:24:46,040 - INFO - CLOSED short at 2010.35 | PnL: 1.55% | $2.96 +2025-03-10 16:24:46,112 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6668535714284 | Take profit: 1985.233169642857 +2025-03-10 16:24:46,282 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$1.70, Avg Loss=$-0.52 +2025-03-10 16:24:46,283 - INFO - Episode 20: Reward=2.39, Balance=$107.46, Win Rate=71.4%, Trades=7, Episode PnL=$7.46, Total PnL=$122.57, Max Drawdown=1.0%, Pred Accuracy=97.3% +2025-03-10 16:24:46,428 - INFO - Model saved to checkpoints/trading_agent_episode_20.pt +2025-03-10 16:24:46,429 - INFO - Checkpoint saved at episode 20 +2025-03-10 16:24:46,431 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:24:47,684 - INFO - Visualization saved for episode 20 +2025-03-10 16:24:49,454 - INFO - Visualization saved for episode 20 +2025-03-10 16:24:49,472 - INFO - Refreshing data for episode 21 +2025-03-10 16:24:49,473 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:24:49,789 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:24:49,798 - INFO - Initialized environment with 100 candles +2025-03-10 16:24:50,101 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.4436607142857 | Take profit: 2092.8237339285715 +2025-03-10 16:24:50,678 - INFO - CLOSED short at 2091.36 | PnL: 1.57% | $2.88 +2025-03-10 16:24:50,725 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.600060714286 | Take profit: 2068.4745339285714 +2025-03-10 16:24:51,457 - INFO - TAKE PROFIT hit for short at 2068.4745339285714 | PnL: 1.50% | $2.82 +2025-03-10 16:24:51,498 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5913107142856 | Take profit: 2017.5007839285718 +2025-03-10 16:24:51,950 - INFO - TAKE PROFIT hit for short at 2017.5007839285718 | PnL: 1.50% | $2.90 +2025-03-10 16:24:52,096 - INFO - OPENED SHORT at 2021.97 | Stop loss: 2032.129660714286 | Take profit: 1991.5657339285715 +2025-03-10 16:24:52,122 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.87, Avg Loss=$0.00 +2025-03-10 16:24:52,123 - INFO - Episode 21: Reward=1.74, Balance=$108.60, Win Rate=100.0%, Trades=3, Episode PnL=$8.60, Total PnL=$131.17, Max Drawdown=0.0%, Pred Accuracy=97.7% +2025-03-10 16:24:52,124 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:24:52,124 - INFO - Refreshing data for episode 22 +2025-03-10 16:24:52,124 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:24:52,424 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:24:52,433 - INFO - Initialized environment with 100 candles +2025-03-10 16:24:52,546 - INFO - OPENED SHORT at 2116.81 | Stop loss: 2127.4449357142853 | Take profit: 2084.9815214285713 +2025-03-10 16:24:53,688 - INFO - TAKE PROFIT hit for short at 2084.9815214285713 | PnL: 1.50% | $2.74 +2025-03-10 16:24:53,825 - INFO - OPENED SHORT at 2085.37 | Stop loss: 2095.8477357142856 | Take profit: 2054.013121428571 +2025-03-10 16:24:54,013 - INFO - TAKE PROFIT hit for short at 2054.013121428571 | PnL: 1.50% | $2.82 +2025-03-10 16:24:54,169 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.4514357142857 | Take profit: 2027.1620214285715 +2025-03-10 16:24:54,541 - INFO - TAKE PROFIT hit for short at 2027.1620214285715 | PnL: 1.50% | $2.89 +2025-03-10 16:24:54,589 - INFO - OPENED SHORT at 2014.41 | Stop loss: 2024.5329357142855 | Take profit: 1984.1175214285715 +2025-03-10 16:24:54,714 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.82, Avg Loss=$0.00 +2025-03-10 16:24:54,715 - INFO - Episode 22: Reward=11.35, Balance=$108.45, Win Rate=100.0%, Trades=3, Episode PnL=$8.45, Total PnL=$139.62, Max Drawdown=0.0%, Pred Accuracy=97.7% +2025-03-10 16:24:54,715 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:24:54,715 - INFO - Refreshing data for episode 23 +2025-03-10 16:24:54,716 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:24:55,049 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:24:55,059 - INFO - Initialized environment with 100 candles +2025-03-10 16:24:55,271 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.023035714286 | Take profit: 2096.3279714285713 +2025-03-10 16:24:56,008 - INFO - TAKE PROFIT hit for short at 2096.3279714285713 | PnL: 1.50% | $2.74 +2025-03-10 16:24:56,047 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.601635714286 | Take profit: 2068.4721714285715 +2025-03-10 16:24:56,831 - INFO - TAKE PROFIT hit for short at 2068.4721714285715 | PnL: 1.50% | $2.82 +2025-03-10 16:24:56,884 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.3063857142856 | Take profit: 2020.1579214285714 +2025-03-10 16:24:57,247 - INFO - TAKE PROFIT hit for short at 2020.1579214285714 | PnL: 1.50% | $2.89 +2025-03-10 16:24:57,286 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6690857142858 | Take profit: 1985.2298214285713 +2025-03-10 16:24:57,458 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.82, Avg Loss=$0.00 +2025-03-10 16:24:57,459 - INFO - Episode 23: Reward=13.72, Balance=$108.45, Win Rate=100.0%, Trades=3, Episode PnL=$8.45, Total PnL=$148.06, Max Drawdown=0.0%, Pred Accuracy=97.8% +2025-03-10 16:24:57,459 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:24:57,459 - INFO - Refreshing data for episode 24 +2025-03-10 16:24:57,460 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:24:57,785 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:24:57,799 - INFO - Initialized environment with 100 candles +2025-03-10 16:24:57,834 - INFO - OPENED SHORT at 2128.33 | Stop loss: 2139.023057142857 | Take profit: 2096.327939285714 +2025-03-10 16:24:58,430 - INFO - TAKE PROFIT hit for short at 2096.327939285714 | PnL: 1.50% | $2.74 +2025-03-10 16:24:58,466 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.6016571428577 | Take profit: 2068.4721392857145 +2025-03-10 16:24:59,202 - INFO - TAKE PROFIT hit for short at 2068.4721392857145 | PnL: 1.50% | $2.82 +2025-03-10 16:24:59,244 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.306407142857 | Take profit: 2020.1578892857144 +2025-03-10 16:24:59,372 - INFO - CLOSED short at 2058.11 | PnL: -0.35% | $-0.92 +2025-03-10 16:24:59,372 - INFO - OPENED LONG at 2058.11 | Stop loss: 2047.768042857143 | Take profit: 2089.058760714286 +2025-03-10 16:24:59,461 - INFO - STOP LOSS hit for long at 2047.768042857143 | PnL: -0.50% | $-1.23 +2025-03-10 16:24:59,483 - INFO - OPENED SHORT at 2043.95 | Stop loss: 2054.2211571428575 | Take profit: 2013.2136392857142 +2025-03-10 16:24:59,622 - INFO - TAKE PROFIT hit for short at 2013.2136392857142 | PnL: 1.50% | $2.83 +2025-03-10 16:24:59,649 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.669107142857 | Take profit: 1985.229789285714 +2025-03-10 16:24:59,822 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 60.0% in downtrends | Avg Win=$2.80, Avg Loss=$-1.08 +2025-03-10 16:24:59,823 - INFO - Episode 24: Reward=9.77, Balance=$106.24, Win Rate=60.0%, Trades=5, Episode PnL=$6.24, Total PnL=$154.30, Max Drawdown=2.0%, Pred Accuracy=97.7% +2025-03-10 16:24:59,824 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:24:59,824 - INFO - Refreshing data for episode 25 +2025-03-10 16:24:59,824 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:25:00,138 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:25:00,148 - INFO - Initialized environment with 100 candles +2025-03-10 16:25:00,897 - INFO - OPENED LONG at 2124.77 | Stop loss: 2114.0934785714285 | Take profit: 2156.720557142857 +2025-03-10 16:25:00,966 - INFO - CLOSED long at 2114.78 | PnL: -0.47% | $-1.11 +2025-03-10 16:25:00,966 - INFO - OPENED SHORT at 2114.78 | Stop loss: 2125.4065714285716 | Take profit: 2082.9792928571433 +2025-03-10 16:25:01,884 - INFO - TAKE PROFIT hit for short at 2082.9792928571433 | PnL: 1.50% | $2.71 +2025-03-10 16:25:01,908 - INFO - OPENED SHORT at 2084.75 | Stop loss: 2095.2264214285715 | Take profit: 2053.399742857143 +2025-03-10 16:25:02,096 - INFO - TAKE PROFIT hit for short at 2053.399742857143 | PnL: 1.50% | $2.78 +2025-03-10 16:25:02,256 - INFO - OPENED SHORT at 2058.11 | Stop loss: 2068.4532214285714 | Take profit: 2027.159342857143 +2025-03-10 16:25:02,489 - INFO - TAKE PROFIT hit for short at 2027.159342857143 | PnL: 1.50% | $2.86 +2025-03-10 16:25:02,568 - INFO - OPENED SHORT at 2014.41 | Stop loss: 2024.5347214285716 | Take profit: 1984.114842857143 +2025-03-10 16:25:02,685 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 100.0% in downtrends | Avg Win=$2.78, Avg Loss=$-1.11 +2025-03-10 16:25:02,686 - INFO - Episode 25: Reward=8.81, Balance=$107.24, Win Rate=75.0%, Trades=4, Episode PnL=$8.35, Total PnL=$161.54, Max Drawdown=0.0%, Pred Accuracy=97.7% +2025-03-10 16:25:02,686 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:25:02,687 - INFO - Refreshing data for episode 26 +2025-03-10 16:25:02,687 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:25:03,001 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:25:03,010 - INFO - Initialized environment with 100 candles +2025-03-10 16:25:03,111 - INFO - OPENED SHORT at 2116.81 | Stop loss: 2127.4469035714287 | Take profit: 2084.978569642857 +2025-03-10 16:25:03,132 - INFO - CLOSED short at 2114.78 | PnL: 0.10% | $-0.01 +2025-03-10 16:25:03,132 - INFO - OPENED LONG at 2114.78 | Stop loss: 2104.1532464285715 | Take profit: 2146.580980357143 +2025-03-10 16:25:03,356 - INFO - CLOSED long at 2112.57 | PnL: -0.10% | $-0.40 +2025-03-10 16:25:03,356 - INFO - OPENED SHORT at 2112.57 | Stop loss: 2123.1857035714283 | Take profit: 2080.8021696428573 +2025-03-10 16:25:03,724 - INFO - CLOSED short at 2104.22 | PnL: 0.40% | $0.57 +2025-03-10 16:25:03,788 - INFO - OPENED SHORT at 2105.26 | Stop loss: 2115.839153571429 | Take profit: 2073.601819642857 +2025-03-10 16:25:04,215 - INFO - TAKE PROFIT hit for short at 2073.601819642857 | PnL: 1.50% | $2.74 +2025-03-10 16:25:04,294 - INFO - OPENED SHORT at 2043.51 | Stop loss: 2053.780403571429 | Take profit: 2012.7780696428572 +2025-03-10 16:25:04,367 - INFO - STOP LOSS hit for short at 2053.780403571429 | PnL: -0.50% | $-1.21 +2025-03-10 16:25:04,391 - INFO - OPENED SHORT at 2054.03 | Stop loss: 2064.353003571429 | Take profit: 2023.1402696428574 +2025-03-10 16:25:04,672 - INFO - TAKE PROFIT hit for short at 2023.1402696428574 | PnL: 1.50% | $2.78 +2025-03-10 16:25:04,697 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.6705535714284 | Take profit: 1985.227619642857 +2025-03-10 16:25:04,806 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 50.0% in downtrends | Avg Win=$2.03, Avg Loss=$-0.54 +2025-03-10 16:25:04,807 - INFO - Episode 26: Reward=7.05, Balance=$104.48, Win Rate=50.0%, Trades=6, Episode PnL=$4.88, Total PnL=$166.02, Max Drawdown=1.2%, Pred Accuracy=97.8% +2025-03-10 16:25:04,807 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:25:04,808 - INFO - Refreshing data for episode 27 +2025-03-10 16:25:04,808 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:25:05,114 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:25:05,123 - INFO - Initialized environment with 100 candles +2025-03-10 16:25:05,379 - INFO - OPENED SHORT at 2120.26 | Stop loss: 2130.9116785714286 | Take profit: 2088.380532142857 +2025-03-10 16:25:06,339 - INFO - TAKE PROFIT hit for short at 2088.380532142857 | PnL: 1.50% | $2.74 +2025-03-10 16:25:06,366 - INFO - OPENED SHORT at 2080.58 | Stop loss: 2091.0332785714286 | Take profit: 2049.295732142857 +2025-03-10 16:25:06,459 - INFO - CLOSED short at 2085.37 | PnL: -0.23% | $-0.66 +2025-03-10 16:25:06,495 - INFO - OPENED SHORT at 2084.11 | Stop loss: 2094.5809285714286 | Take profit: 2052.772782142857 +2025-03-10 16:25:06,567 - INFO - CLOSED short at 2075.07 | PnL: 0.43% | $0.67 +2025-03-10 16:25:06,600 - INFO - OPENED SHORT at 2067.71 | Stop loss: 2078.0989285714286 | Take profit: 2036.6187821428573 +2025-03-10 16:25:06,963 - INFO - TAKE PROFIT hit for short at 2036.6187821428573 | PnL: 1.50% | $2.82 +2025-03-10 16:25:06,995 - INFO - OPENED SHORT at 2010.35 | Stop loss: 2020.4521285714284 | Take profit: 1980.119182142857 +2025-03-10 16:25:07,127 - INFO - STOP LOSS hit for short at 2020.4521285714284 | PnL: -0.50% | $-1.24 +2025-03-10 16:25:07,148 - INFO - OPENED SHORT at 2035.32 | Stop loss: 2045.5469785714286 | Take profit: 2004.7146321428572 +2025-03-10 16:25:07,167 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 66.7% in downtrends | Avg Win=$2.07, Avg Loss=$-0.95 +2025-03-10 16:25:07,168 - INFO - Episode 27: Reward=13.48, Balance=$104.32, Win Rate=60.0%, Trades=5, Episode PnL=$4.32, Total PnL=$170.34, Max Drawdown=1.2%, Pred Accuracy=98.2% +2025-03-10 16:25:07,168 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:25:07,169 - INFO - Refreshing data for episode 28 +2025-03-10 16:25:07,169 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:25:07,480 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:25:07,490 - INFO - Initialized environment with 100 candles +2025-03-10 16:25:07,524 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.446142857143 | Take profit: 2092.8200107142857 +2025-03-10 16:25:07,906 - INFO - TAKE PROFIT hit for short at 2092.8200107142857 | PnL: 1.50% | $2.74 +2025-03-10 16:25:07,944 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.602542857143 | Take profit: 2068.470810714286 +2025-03-10 16:25:08,617 - INFO - TAKE PROFIT hit for short at 2068.470810714286 | PnL: 1.50% | $2.81 +2025-03-10 16:25:08,687 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.307292857143 | Take profit: 2020.1565607142857 +2025-03-10 16:25:08,721 - INFO - CLOSED short at 2043.51 | PnL: 0.37% | $0.55 +2025-03-10 16:25:08,722 - INFO - OPENED LONG at 2043.51 | Stop loss: 2033.240157142857 | Take profit: 2074.2410892857147 +2025-03-10 16:25:08,755 - INFO - CLOSED long at 2052.89 | PnL: 0.46% | $0.74 +2025-03-10 16:25:08,755 - INFO - OPENED SHORT at 2052.89 | Stop loss: 2063.2067428571427 | Take profit: 2022.0182107142855 +2025-03-10 16:25:09,036 - INFO - TAKE PROFIT hit for short at 2022.0182107142855 | PnL: 1.50% | $2.93 +2025-03-10 16:25:09,076 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.669992857143 | Take profit: 1985.2284607142856 +2025-03-10 16:25:09,241 - INFO - STOP LOSS hit for short at 2025.669992857143 | PnL: -0.50% | $-1.29 +2025-03-10 16:25:09,262 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 80.0% in downtrends | Avg Win=$1.95, Avg Loss=$-1.29 +2025-03-10 16:25:09,262 - INFO - Episode 28: Reward=16.38, Balance=$108.48, Win Rate=83.3%, Trades=6, Episode PnL=$7.74, Total PnL=$178.82, Max Drawdown=1.2%, Pred Accuracy=98.1% +2025-03-10 16:25:09,262 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:25:09,263 - INFO - Refreshing data for episode 29 +2025-03-10 16:25:09,263 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:25:09,571 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:25:09,581 - INFO - Initialized environment with 100 candles +2025-03-10 16:25:09,615 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.446142857143 | Take profit: 2092.8200107142857 +2025-03-10 16:25:10,039 - INFO - TAKE PROFIT hit for short at 2092.8200107142857 | PnL: 1.50% | $2.74 +2025-03-10 16:25:10,064 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.602542857143 | Take profit: 2068.470810714286 +2025-03-10 16:25:10,300 - INFO - CLOSED short at 2105.26 | PnL: -0.25% | $-0.70 +2025-03-10 16:25:10,300 - INFO - OPENED LONG at 2105.26 | Stop loss: 2094.6814071428576 | Take profit: 2136.9173392857147 +2025-03-10 16:25:10,342 - INFO - CLOSED long at 2099.63 | PnL: -0.27% | $-0.73 +2025-03-10 16:25:10,343 - INFO - OPENED SHORT at 2099.63 | Stop loss: 2110.180442857143 | Take profit: 2068.057110714286 +2025-03-10 16:25:10,786 - INFO - TAKE PROFIT hit for short at 2068.057110714286 | PnL: 1.50% | $2.78 +2025-03-10 16:25:10,838 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5937928571434 | Take profit: 2017.497060714286 +2025-03-10 16:25:11,262 - INFO - TAKE PROFIT hit for short at 2017.497060714286 | PnL: 1.50% | $2.85 +2025-03-10 16:25:11,290 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.669992857143 | Take profit: 1985.2284607142856 +2025-03-10 16:25:11,404 - INFO - STOP LOSS hit for short at 2025.669992857143 | PnL: -0.50% | $-1.26 +2025-03-10 16:25:11,424 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 60.0% in downtrends | Avg Win=$2.79, Avg Loss=$-0.90 +2025-03-10 16:25:11,424 - INFO - Episode 29: Reward=10.15, Balance=$105.68, Win Rate=50.0%, Trades=6, Episode PnL=$6.41, Total PnL=$184.50, Max Drawdown=1.2%, Pred Accuracy=98.3% +2025-03-10 16:25:11,425 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:25:11,425 - INFO - Refreshing data for episode 30 +2025-03-10 16:25:11,426 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:25:11,742 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:25:11,752 - INFO - Initialized environment with 100 candles +2025-03-10 16:25:12,582 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.446142857143 | Take profit: 2092.8200107142857 +2025-03-10 16:25:13,123 - INFO - TAKE PROFIT hit for short at 2092.8200107142857 | PnL: 1.50% | $2.74 +2025-03-10 16:25:13,177 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.602542857143 | Take profit: 2068.470810714286 +2025-03-10 16:25:13,790 - INFO - CLOSED short at 2084.11 | PnL: 0.76% | $1.32 +2025-03-10 16:25:13,790 - INFO - OPENED LONG at 2084.11 | Stop loss: 2073.637157142857 | Take profit: 2115.4500892857145 +2025-03-10 16:25:13,818 - INFO - CLOSED long at 2083.07 | PnL: -0.05% | $-0.30 +2025-03-10 16:25:13,818 - INFO - OPENED SHORT at 2083.07 | Stop loss: 2093.537642857143 | Take profit: 2051.745510714286 +2025-03-10 16:25:13,915 - INFO - TAKE PROFIT hit for short at 2051.745510714286 | PnL: 1.50% | $2.84 +2025-03-10 16:25:13,951 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.307292857143 | Take profit: 2020.1565607142857 +2025-03-10 16:25:14,325 - INFO - TAKE PROFIT hit for short at 2020.1565607142857 | PnL: 1.50% | $2.92 +2025-03-10 16:25:14,362 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.669992857143 | Take profit: 1985.2284607142856 +2025-03-10 16:25:14,499 - INFO - STOP LOSS hit for short at 2025.669992857143 | PnL: -0.50% | $-1.29 +2025-03-10 16:25:14,518 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 80.0% in downtrends | Avg Win=$2.46, Avg Loss=$-0.80 +2025-03-10 16:25:14,518 - INFO - Episode 30: Reward=14.44, Balance=$108.23, Win Rate=66.7%, Trades=6, Episode PnL=$8.53, Total PnL=$192.73, Max Drawdown=1.2%, Pred Accuracy=98.3% +2025-03-10 16:25:14,651 - INFO - Model saved to checkpoints/trading_agent_episode_30.pt +2025-03-10 16:25:14,652 - INFO - Checkpoint saved at episode 30 +2025-03-10 16:25:14,652 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:25:15,577 - INFO - Visualization saved for episode 30 +2025-03-10 16:25:17,624 - INFO - Visualization saved for episode 30 +2025-03-10 16:25:17,638 - INFO - Refreshing data for episode 31 +2025-03-10 16:25:17,639 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:25:17,942 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:25:17,952 - INFO - Initialized environment with 100 candles +2025-03-10 16:25:17,984 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.446142857143 | Take profit: 2092.8200107142857 +2025-03-10 16:25:18,272 - INFO - CLOSED short at 2112.57 | PnL: 0.57% | $0.93 +2025-03-10 16:25:18,272 - INFO - OPENED LONG at 2112.57 | Stop loss: 2101.9548571428572 | Take profit: 2144.3369892857145 +2025-03-10 16:25:18,296 - INFO - CLOSED long at 2113.28 | PnL: 0.03% | $-0.13 +2025-03-10 16:25:18,296 - INFO - OPENED SHORT at 2113.28 | Stop loss: 2123.898692857143 | Take profit: 2081.502360714286 +2025-03-10 16:25:18,564 - INFO - CLOSED short at 2102.83 | PnL: 0.49% | $0.78 +2025-03-10 16:25:18,586 - INFO - OPENED SHORT at 2103.41 | Stop loss: 2113.9793428571425 | Take profit: 2071.7804107142856 +2025-03-10 16:25:19,074 - INFO - TAKE PROFIT hit for short at 2071.7804107142856 | PnL: 1.50% | $2.78 +2025-03-10 16:25:19,100 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5937928571434 | Take profit: 2017.497060714286 +2025-03-10 16:25:19,303 - INFO - CLOSED short at 2043.95 | PnL: 0.21% | $0.23 +2025-03-10 16:25:19,303 - INFO - OPENED LONG at 2043.95 | Stop loss: 2033.6779571428572 | Take profit: 2074.6876892857144 +2025-03-10 16:25:19,327 - INFO - CLOSED long at 2044.1 | PnL: 0.01% | $-0.19 +2025-03-10 16:25:19,327 - INFO - OPENED SHORT at 2044.1 | Stop loss: 2054.3727928571425 | Take profit: 2013.3600607142857 +2025-03-10 16:25:19,442 - INFO - TAKE PROFIT hit for short at 2013.3600607142857 | PnL: 1.50% | $2.86 +2025-03-10 16:25:19,484 - INFO - OPENED SHORT at 2014.41 | Stop loss: 2024.534342857143 | Take profit: 1984.1154107142859 +2025-03-10 16:25:19,581 - INFO - STOP LOSS hit for short at 2024.534342857143 | PnL: -0.50% | $-1.26 +2025-03-10 16:25:19,601 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 80.0% in downtrends | Avg Win=$1.51, Avg Loss=$-0.53 +2025-03-10 16:25:19,602 - INFO - Episode 31: Reward=14.88, Balance=$105.99, Win Rate=62.5%, Trades=8, Episode PnL=$6.31, Total PnL=$198.72, Max Drawdown=1.2%, Pred Accuracy=98.3% +2025-03-10 16:25:19,602 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:25:19,603 - INFO - Refreshing data for episode 32 +2025-03-10 16:25:19,603 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:25:19,906 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:25:19,916 - INFO - Initialized environment with 100 candles +2025-03-10 16:25:20,030 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.446142857143 | Take profit: 2092.8200107142857 +2025-03-10 16:25:20,654 - INFO - TAKE PROFIT hit for short at 2092.8200107142857 | PnL: 1.50% | $2.74 +2025-03-10 16:25:20,679 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.602542857143 | Take profit: 2068.470810714286 +2025-03-10 16:25:21,388 - INFO - TAKE PROFIT hit for short at 2068.470810714286 | PnL: 1.50% | $2.81 +2025-03-10 16:25:21,433 - INFO - OPENED SHORT at 2048.3 | Stop loss: 2058.5937928571434 | Take profit: 2017.497060714286 +2025-03-10 16:25:21,815 - INFO - TAKE PROFIT hit for short at 2017.497060714286 | PnL: 1.50% | $2.89 +2025-03-10 16:25:21,847 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.669992857143 | Take profit: 1985.2284607142856 +2025-03-10 16:25:21,952 - INFO - STOP LOSS hit for short at 2025.669992857143 | PnL: -0.50% | $-1.27 +2025-03-10 16:25:21,973 - INFO - Trade Analysis: Win Rate=0.0% in uptrends, 75.0% in downtrends | Avg Win=$2.81, Avg Loss=$-1.27 +2025-03-10 16:25:21,974 - INFO - Episode 32: Reward=14.15, Balance=$107.17, Win Rate=75.0%, Trades=4, Episode PnL=$7.17, Total PnL=$205.89, Max Drawdown=1.2%, Pred Accuracy=98.4% +2025-03-10 16:25:21,974 - INFO - Reducing learning rate to 0.000010 +2025-03-10 16:25:21,974 - INFO - Refreshing data for episode 33 +2025-03-10 16:25:21,975 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:25:22,283 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:25:22,293 - INFO - Initialized environment with 100 candles +2025-03-10 16:25:22,325 - INFO - OPENED SHORT at 2124.77 | Stop loss: 2135.446142857143 | Take profit: 2092.8200107142857 +2025-03-10 16:25:22,639 - INFO - CLOSED short at 2115.07 | PnL: 0.46% | $0.70 +2025-03-10 16:25:22,676 - INFO - OPENED SHORT at 2098.24 | Stop loss: 2108.783492857143 | Take profit: 2066.6879607142855 +2025-03-10 16:25:23,565 - INFO - TAKE PROFIT hit for short at 2066.6879607142855 | PnL: 1.50% | $2.76 +2025-03-10 16:25:23,611 - INFO - OPENED SHORT at 2051.0 | Stop loss: 2061.307292857143 | Take profit: 2020.1565607142857 +2025-03-10 16:25:23,983 - INFO - TAKE PROFIT hit for short at 2020.1565607142857 | PnL: 1.50% | $2.83 +2025-03-10 16:25:24,022 - INFO - OPENED SHORT at 2015.54 | Stop loss: 2025.669992857143 | Take profit: 1985.2284607142856 +2025-03-10 16:25:34,560 - INFO - Using GPU: NVIDIA GeForce RTX 4060 Laptop GPU +2025-03-10 16:25:34,580 - INFO - Exchange initialized with standard CCXT: mexc +2025-03-10 16:25:34,580 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:25:34,581 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:25:38,014 - INFO - Fetched 500 candles for ETH/USDT (1m) +2025-03-10 16:25:38,032 - INFO - Initialized environment with 500 candles +2025-03-10 16:25:40,923 - INFO - Loading model from models/trading_agent_best_pnl.pt +2025-03-10 16:25:41,094 - INFO - Model loaded successfully with weights_only=True +2025-03-10 16:25:41,094 - INFO - Starting live trading... +2025-03-10 16:25:41,095 - INFO - Starting live trading (demo mode: True) +2025-03-10 16:25:41,095 - INFO - Fetching initial data for ETH/USDT +2025-03-10 16:25:41,401 - INFO - Fetched 100 candles for ETH/USDT (1m) +2025-03-10 16:25:41,412 - INFO - Initialized environment with 100 candles +2025-03-10 16:25:46,711 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:25:46,815 - INFO - OPENED SHORT at 2124.87 | Stop loss: 2135.5476214285713 | Take profit: 2092.917042857143 +2025-03-10 16:25:46,816 - INFO - Price: $2040.73 | Action: SELL +2025-03-10 16:25:52,123 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:25:52,143 - INFO - Price: $2038.50 | Action: SELL +2025-03-10 16:25:57,474 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:25:57,493 - INFO - Price: $2038.45 | Action: SELL +2025-03-10 16:26:02,845 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:26:02,865 - INFO - Price: $2036.59 | Action: SELL +2025-03-10 16:26:08,188 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:26:08,207 - INFO - Price: $2034.60 | Action: SELL +2025-03-10 16:26:13,499 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:26:13,587 - INFO - Price: $2034.28 | Action: SELL +2025-03-10 16:26:18,892 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:26:18,943 - INFO - Price: $2032.29 | Action: SELL +2025-03-10 16:26:24,262 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:26:24,283 - INFO - Price: $2031.28 | Action: SELL +2025-03-10 16:26:29,592 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:26:29,627 - INFO - Price: $2031.00 | Action: SELL +2025-03-10 16:26:34,942 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:26:34,989 - INFO - Price: $2030.85 | Action: SELL +2025-03-10 16:26:40,313 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:26:40,360 - INFO - Price: $2030.36 | Action: SELL +2025-03-10 16:26:45,663 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:26:45,732 - INFO - Price: $2029.54 | Action: SELL +2025-03-10 16:26:51,023 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:26:51,090 - INFO - Price: $2029.11 | Action: SELL +2025-03-10 16:26:56,384 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:26:56,419 - INFO - Price: $2030.75 | Action: SELL +2025-03-10 16:27:01,719 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:27:01,762 - INFO - Price: $2031.97 | Action: SELL +2025-03-10 16:27:07,061 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:27:07,106 - INFO - Price: $2031.84 | Action: SELL +2025-03-10 16:27:12,426 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:27:12,473 - INFO - Price: $2033.25 | Action: SELL +2025-03-10 16:27:17,777 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:27:17,797 - INFO - Price: $2030.44 | Action: SELL +2025-03-10 16:27:23,108 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:27:23,150 - INFO - Price: $2028.49 | Action: SELL +2025-03-10 16:27:28,465 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:27:28,508 - INFO - Price: $2028.49 | Action: SELL +2025-03-10 16:27:33,800 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:27:33,845 - INFO - Price: $2033.12 | Action: SELL +2025-03-10 16:27:39,138 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:27:39,227 - INFO - Price: $2033.06 | Action: SELL +2025-03-10 16:27:44,533 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:27:44,614 - INFO - Price: $2032.17 | Action: SELL +2025-03-10 16:27:49,943 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:27:49,986 - INFO - Price: $2029.23 | Action: SELL +2025-03-10 16:27:55,289 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:27:55,308 - INFO - Price: $2027.77 | Action: SELL +2025-03-10 16:28:00,599 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:28:00,632 - INFO - Price: $2028.38 | Action: SELL +2025-03-10 16:28:05,969 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:28:06,016 - INFO - Price: $2025.00 | Action: SELL +2025-03-10 16:28:11,329 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:28:11,350 - INFO - Price: $2024.37 | Action: SELL +2025-03-10 16:28:16,652 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:28:16,669 - INFO - Price: $2025.98 | Action: SELL +2025-03-10 16:28:21,993 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:28:22,014 - INFO - Price: $2027.61 | Action: SELL +2025-03-10 16:28:27,313 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:28:27,340 - INFO - Price: $2027.03 | Action: SELL +2025-03-10 16:28:32,645 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:28:32,682 - INFO - Price: $2028.02 | Action: SELL +2025-03-10 16:28:37,993 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:28:38,032 - INFO - Price: $2027.01 | Action: SELL +2025-03-10 16:28:43,330 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:28:43,351 - INFO - Price: $2027.00 | Action: SELL +2025-03-10 16:28:48,634 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:28:48,680 - INFO - Price: $2027.83 | Action: SELL +2025-03-10 16:28:53,985 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:28:54,005 - INFO - Price: $2029.89 | Action: SELL +2025-03-10 16:28:59,309 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:28:59,328 - INFO - Price: $2029.17 | Action: SELL +2025-03-10 16:29:04,627 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:29:04,647 - INFO - Price: $2030.40 | Action: SELL +2025-03-10 16:29:09,935 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:29:09,980 - INFO - Price: $2029.41 | Action: SELL +2025-03-10 16:29:15,299 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:29:15,320 - INFO - Price: $2028.68 | Action: SELL +2025-03-10 16:29:20,640 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:29:20,660 - INFO - Price: $2027.00 | Action: SELL +2025-03-10 16:29:25,978 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:29:25,999 - INFO - Price: $2023.22 | Action: SELL +2025-03-10 16:29:31,316 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:29:31,357 - INFO - Price: $2022.60 | Action: SELL +2025-03-10 16:29:36,684 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:29:36,705 - INFO - Price: $2022.40 | Action: SELL +2025-03-10 16:29:42,022 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:29:42,058 - INFO - Price: $2023.05 | Action: SELL +2025-03-10 16:29:47,374 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:29:47,386 - INFO - Price: $2019.44 | Action: SELL +2025-03-10 16:29:52,701 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:29:52,718 - INFO - Price: $2021.70 | Action: SELL +2025-03-10 16:29:58,027 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:29:58,043 - INFO - Price: $2021.29 | Action: SELL +2025-03-10 16:30:03,351 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:30:03,374 - INFO - TAKE PROFIT hit for short at 2092.917042857143 | PnL: 1.50% | $5.48 +2025-03-10 16:30:03,375 - INFO - Price: $2021.31 | Action: SELL +2025-03-10 16:30:03,375 - INFO - Balance: $105.48 | Trades: 1 | Win Rate: 100.0% | Total PnL: $5.48 +2025-03-10 16:30:03,375 - INFO - Recent Performance: Win Rate=0.0% in uptrends, 100.0% in downtrends +2025-03-10 16:30:08,680 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:30:08,867 - INFO - OPENED SHORT at 2100.05 | Stop loss: 2110.579928571429 | Take profit: 2068.5047321428574 +2025-03-10 16:30:08,868 - INFO - Price: $2020.46 | Action: SELL +2025-03-10 16:30:08,869 - INFO - Balance: $105.48 | Trades: 1 | Win Rate: 100.0% | Total PnL: $5.48 +2025-03-10 16:30:08,869 - INFO - Recent Performance: Win Rate=0.0% in uptrends, 100.0% in downtrends +2025-03-10 16:30:14,174 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:30:14,193 - INFO - Price: $2019.09 | Action: SELL +2025-03-10 16:30:14,194 - INFO - Balance: $105.48 | Trades: 1 | Win Rate: 100.0% | Total PnL: $5.48 +2025-03-10 16:30:14,194 - INFO - Recent Performance: Win Rate=0.0% in uptrends, 100.0% in downtrends +2025-03-10 16:30:19,493 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:30:19,511 - INFO - Price: $2018.84 | Action: SELL +2025-03-10 16:30:19,511 - INFO - Balance: $105.48 | Trades: 1 | Win Rate: 100.0% | Total PnL: $5.48 +2025-03-10 16:30:19,513 - INFO - Recent Performance: Win Rate=0.0% in uptrends, 100.0% in downtrends +2025-03-10 16:30:24,826 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:30:24,844 - INFO - Price: $2021.72 | Action: SELL +2025-03-10 16:30:24,844 - INFO - Balance: $105.48 | Trades: 1 | Win Rate: 100.0% | Total PnL: $5.48 +2025-03-10 16:30:24,845 - INFO - Recent Performance: Win Rate=0.0% in uptrends, 100.0% in downtrends +2025-03-10 16:30:30,150 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:30:30,162 - INFO - Price: $2019.43 | Action: SELL +2025-03-10 16:30:30,163 - INFO - Balance: $105.48 | Trades: 1 | Win Rate: 100.0% | Total PnL: $5.48 +2025-03-10 16:30:30,164 - INFO - Recent Performance: Win Rate=0.0% in uptrends, 100.0% in downtrends +2025-03-10 16:30:35,469 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:30:35,736 - INFO - Price: $2019.66 | Action: SELL +2025-03-10 16:30:35,737 - INFO - Balance: $105.48 | Trades: 1 | Win Rate: 100.0% | Total PnL: $5.48 +2025-03-10 16:30:35,738 - INFO - Recent Performance: Win Rate=0.0% in uptrends, 100.0% in downtrends +2025-03-10 16:30:41,042 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:30:41,056 - INFO - Price: $2016.41 | Action: SELL +2025-03-10 16:30:41,056 - INFO - Balance: $105.48 | Trades: 1 | Win Rate: 100.0% | Total PnL: $5.48 +2025-03-10 16:30:41,057 - INFO - Recent Performance: Win Rate=0.0% in uptrends, 100.0% in downtrends +2025-03-10 16:30:46,375 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:30:46,389 - INFO - Price: $2016.45 | Action: SELL +2025-03-10 16:30:46,389 - INFO - Balance: $105.48 | Trades: 1 | Win Rate: 100.0% | Total PnL: $5.48 +2025-03-10 16:30:46,390 - INFO - Recent Performance: Win Rate=0.0% in uptrends, 100.0% in downtrends +2025-03-10 16:30:51,715 - INFO - Fetched 1 candles for ETH/USDT (1m) +2025-03-10 16:30:51,732 - INFO - Price: $2020.48 | Action: SELL +2025-03-10 16:30:51,733 - INFO - Balance: $105.48 | Trades: 1 | Win Rate: 100.0% | Total PnL: $5.48 +2025-03-10 16:30:51,733 - INFO - Recent Performance: Win Rate=0.0% in uptrends, 100.0% in downtrends diff --git a/crypto/gogo2/training_results.png b/crypto/gogo2/training_results.png index 9f69e9bc5414b7cc04863433050dff76d45e156b..66a5388b212834af6f39d42d53d5b9b525fd2b70 100644 GIT binary patch literal 191358 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

C{`kk}==z$P-CbQ>PedY7 zgnM>YmP_w!W8;1r<-&!jPg>(IJ-{LVG&eiDp2zc{GZ+o+?Y8`4*;T7nJuEC-H$OlB zg^rG#zP|n>wuAgbDHMw8jvcNH%KhYRy+hN}JHMN|diAOSSts{}p+|p&BI_O#IVI>+ zm6bJfM@B}@`}(deC@2t=*45P|X)WwGH#b*RSLbSUJb(UNPDzPDi7F~8(lIt>*o64{ zYUP^uQY1PQKarI!XsGxj*L5ny%}rT(%N9*rZ@@7dx6QV+w3JjKku4|3VZiQsIav=2 z)h&A!>|cxZiCbD)o~Kfinit)nXOdPgtpGFLEne1P)a#4aT6BV>MlUb3|MA!5aqteZ z5O7vl)S=ao&+reIS70{4yO1x$RB)%{)8xJ7Mdp8Tl8?eB^iL)YSCzZe`jB%RFtakv J`SSS1zXL+)4zvIO literal 61691 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 diff --git a/crypto/gogo2/visualizations/training_episode_30.png b/crypto/gogo2/visualizations/training_episode_30.png new file mode 100644 index 0000000000000000000000000000000000000000..d0ed5d0a39b17c3ebdc9814ae971ed1c4759a8d7 GIT binary patch literal 84555 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 p?hqXZsZ4K@Hp@ zxOK-trR!Ax9|p+^kZG9A-0F(}0aNkt@U9eF2sY%_>__Jov)qhjgY;GK($b?0wNziw zEO&8cPH?ib%L4>p0rD>R!-q>VU@$*_`C?>l0Ud)CNGH55PF;Mw0pM1l!g0QN_76oj zvGe`U5CHiLfs{X;xH;}gDuAd>%nZSlAcVj4#FtCExZzh%CbNLR-Ezly^Kbbu?-T%} zvG`GN@$S%z*vladN@uGgPZd*u_(r7IO2Y+2QN9gRFa=QS|DLr2J|GKM_n+B0DvmqU z(Et*@iyZ1%mjon3Y1f=rTZB>p@ot-2z}Se&zrtU7m{7$4Mjg*C84gC0U+FjBHcKF~ zN#F=$66C?OAsA<6Yb+p!K^}C0v{q(pLy z>)%(2l01e+)bO?~0(}h#%I4xy21svSeE_O!I4+JGTr>ZZAW)*p=73PyW%&zbi<*YQW)IqzK+-b${0b;@Vo(at zkDt-`9TXdDN!Lon^!NU?0f73y(MO9X)&+npy%Es~=L_;Tw8OZj3j%TR$K=f%aa0daz%ts=q8_xd%}mCIkx{k*Al!VoN9KHSK?O2wN# znt7#(BR5in-n{N9z8a8vnkCk66}bW{kt`{aIpn5dz`KfEa(wdsGf;TI7OG@Th<1l+ zAhmM)8Ko!Bfe?(k|BO2zOdqKk`9tbr-O)Vt=XTD2he+@Bs>-)re>|rY(aY5-%ZEZE zc}vTzWLl2^zMZlm|ANuc`>V(;up2WI3dUPNgI$|=gjt1==48<>p46JSmXb$fFmpcW zRx?1xfSD~%QHKg4ptEndZZ23AfBF15vi61UBi)GR{F1>sGF@B_2?;$A<{QM#RwIMB zk-TFgwD%OGWgn#drk9c@(bhwhD(#v8trGOA4AW0@F5f6`WBLAE4 z`5Z3in=9mMrl#-ahAK1wme1zHocD@gQI2i^-?#F;7nEE^`@7ru_A_c^uRoX#5sCX# z^BTTv6p4aB1mcoN^sCOK*%N`REGpi158T6(idS+zj9|4i(Fx@uSa$T)~i!@$JH7-bfoEvMaW zN6A3+Fb;(`|)~yp2|`GfA`HK_HR&TdqiA})gS}E zojI1|$IXkm{nu=wwhU3y_;`4cPk;V~+W>`RDR(-EisMkxm0-y62sI96a+mQxT?e{# zQ@9K&*^awn;lh$IlFNFAoVApPY6xY&Jq{#+5DxL4M0ztZE(5Yd!IlAWAn4QhQX7jS z@e`ZKkH|*uSLG%HoJvx%_z;P91?JrTp-&Otl)-)vDL4bbKwkM z%^FWeqI158!h&_F9wi480x*7Ax)4fi@=eSKkQkDgi>rmU1&7TTvSHuH$=9x|9Mt_qQEZO|q++2K!6_ev*4tq0Qb7!> zmZKva(I@$P`hpV;ffUJ0E}qW38oBq{p69Sn0#E1k2oq{zXqd9LFf>T3jI$)w5-`s2 z58OaiUPAFg)a}IoFL$v`jo_QK4Ozq>f^EUt0GKS_yZBHt)oVSi7a4ahK+pWS!%{w~ zfv-*M0#fPr?D=zfs3tLj*`CHAf?7Q7X?B)MCyKNjM{E^yEL;IO|7PZJXB#^yjZ%n~M7MW}SzjNQUs(u|P?E^xi!>H9Cp-f&8*3Ke?ycJ>#Nhzdq*IKKj}H}=<_~u8YrRiN z`|{Ipca}t?yTJr&YduAgU*5GwYaox2AJKxSZ zp9MO=<+vxj8MW=ue@_N)n$hs&KUywZ{G`?@-u7mJa-q;hZy3fcng(*h?s-q2GTm<^ z4Kl{NroanH;lK+mzvV9OEv}+4A%8p3mNGE&L>NUf@-%Un|{ z7@7Zv-DZ!uXsf^Za}Hnx+UETqX0lcelntyc#VMdmPDttOu8BPR%0D0?vdf2Ag896P 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 literal 0 HcmV?d00001

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